html {
    box-sizing: border-box
}

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

body {
    margin: 0;
    overscroll-behavior: contain;
    overflow-x: hidden;
    font-family: 'JetBrains Mono', monospace
}

.topband {
    background: #81000B;
    padding: 8px 0
}

.topbandshell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 32px
}

.topbandshell a {
    color: #FDFDFE;
    font-size: 15px;
    line-height: 1.6;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.topbandshell a:hover {
    color: #00D0C7
}

.topbandshell a:focus {
    outline: none;
    position: relative
}

.topbandshell a:focus::before {
    content: "Link";
    position: absolute;
    top: -18px;
    left: 0;
    font-size: 15px;
    color: #FDFDFE;
    background: #81000B;
    padding: 0 8px;
    border-radius: 1px;
    white-space: nowrap
}

.topbandshell span {
    color: #FDFDFE;
    font-size: 15px;
    line-height: 1.6
}

.sitehead {
    background: linear-gradient(135deg, #FDFDFE 0%, #e8fffe 60%, #c0f7f5 100%);
    border-bottom: 2px solid #00D0C7;
    position: relative
}

.siteheadshell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 32px 32px 0;
    display: flex;
    flex-direction: column;
    gap: 0
}

.headtop {
    display: flex;
    align-items: center;
    gap: 32px;
    padding-bottom: 32px
}

.logomount {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FDFDFE;
    border-radius: 22px;
    padding: 8px 16px;
    border: 2px solid #00D0C7;
    box-shadow: 0 1px 3px -2px #00d0c70d 0 7px 14px -2px #00d0c714;
    flex-shrink: 0;
    text-decoration: none
}

.logomount img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    display: block
}

.headdivider {
    width: 2px;
    height: 56px;
    background: linear-gradient(to bottom, transparent, #00D0C7, transparent);
    flex-shrink: 0
}

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

.brandname {
    font-family: 'JetBrains Mono', monospace;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #1b0002;
    letter-spacing: 0;
    margin: 0
}

.brandtag {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #81000B;
    margin: 0
}

.statusbadge {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    background: #FDFDFE;
    border: 1px solid #00D0C7;
    border-radius: 22px;
    padding: 8px 16px;
    box-shadow: 0 1px 3px -2px #00d0c70d
}

.statusdot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #00D0C7;
    flex-shrink: 0
}

.statustext {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #1b0002
}

.headnav {
    display: flex;
    align-items: stretch;
    gap: 0;
    flex-wrap: wrap;
    border-top: 1px solid #00d0c74d
}

.headnav a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #1b0002;
    text-decoration: none;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 3px solid transparent;
    transition: color .35s ease-in-out, border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1);
    white-space: nowrap;
    min-height: 44px
}

.headnav a:hover {
    color: #81000B;
    border-bottom-color: #81000B
}

.headnav a[aria-current="page"] {
    color: #00D0C7;
    border-bottom-color: #00D0C7
}

.headnav a:focus {
    outline: none;
    position: relative
}

.headnav a:focus::before {
    content: "Seite";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    font-size: 15px;
    color: #FDFDFE;
    background: #81000B;
    padding: 0 8px;
    border-radius: 1px;
    white-space: nowrap;
    z-index: 10
}

.sitefooter {
    background: linear-gradient(160deg, #81000B 0%, #4a0007 100%)
}

.footershell {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 32px 48px
}

.footergrid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px;
    padding-bottom: 48px;
    border-bottom: 1px solid #fdfdfe26
}

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

.footerlogomount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #FDFDFE;
    border-radius: 22px;
    padding: 8px 16px;
    border: 2px solid #00d0c766;
    box-shadow: 0 1px 3px -2px #81000b0d 0 7px 14px -2px #81000b14;
    width: fit-content
}

.footerlogomount img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    display: block
}

.footercolhead {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    color: #00D0C7;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0
}

.footerdesc {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfebf;
    margin: 0
}

.footeraddress {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfebf;
    font-style: normal;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.footeraddress span {
    display: flex;
    align-items: flex-start;
    gap: 8px
}

.footercontactlink {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfebf;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color .38s ease-in-out
}

.footercontactlink:hover {
    color: #00D0C7
}

.footercontactlink:focus {
    outline: none;
    position: relative
}

.footercontactlink:focus::before {
    content: "Link";
    position: absolute;
    top: -18px;
    left: 0;
    font-size: 15px;
    color: #1b0002;
    background: #00D0C7;
    padding: 0 8px;
    border-radius: 1px;
    white-space: nowrap
}

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

.footernav a {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfebf;
    text-decoration: none;
    transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1);
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 44px
}

.footernav a:hover {
    color: #00D0C7
}

.footernav a:focus {
    outline: none;
    position: relative
}

.footernav a:focus::before {
    content: "Seite";
    position: absolute;
    top: -18px;
    left: 0;
    font-size: 15px;
    color: #1b0002;
    background: #00D0C7;
    padding: 0 8px;
    border-radius: 1px;
    white-space: nowrap
}

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

.footercopy {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfe73;
    margin: 0
}

.footersvgicon {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    vertical-align: middle
}

.consentstrip {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 860px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2000;
    background: #FDFDFE;
    border-bottom: 2px solid #00D0C7;
    border-radius: 0 0 22px 22px;
    box-shadow: 0 9px 52px -2px #00d0c71f;
    padding: 16px 32px
}

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

.consentdesc {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #1b0002;
    margin: 0
}

.consentheadline {
    font-family: 'JetBrains Mono', monospace;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
    color: #81000B;
    margin: 0
}

.consentactions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 8px
}

.consentbtn {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 32px;
    border-radius: 1px;
    border: 2px solid #00D0C7;
    background: #00D0C7;
    color: #1b0002;
    cursor: pointer;
    min-height: 44px;
    min-width: 120px;
    transition: background .36s ease-in-out, color .36s ease-in-out, width .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.consentbtn:hover {
    background: #1b0002;
    color: #00D0C7;
    width: auto;
    padding: 8px 48px
}

.consentbtn:focus {
    outline: 2px solid #81000B;
    outline-offset: 2px
}

.consentreject {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    padding: 8px 32px;
    border-radius: 1px;
    border: 2px solid #81000B;
    background: transparent;
    color: #81000B;
    cursor: pointer;
    min-height: 44px;
    min-width: 120px;
    transition: background .36s ease-in-out, color .36s ease-in-out, width .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.consentreject:hover {
    background: #81000B;
    color: #FDFDFE;
    padding: 8px 48px
}

.consentreject:focus {
    outline: 2px solid #00D0C7;
    outline-offset: 2px
}

.consentdetailstoggle {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #81000B;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    min-height: 44px
}

.consentdetailstoggle:focus {
    outline: 2px solid #00D0C7;
    outline-offset: 2px
}

.consentpanel {
    margin-top: 16px;
    padding: 16px;
    background: #00d0c70f;
    border-radius: 1px;
    border: 1px solid #00d0c733
}

.consenttogglerow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px
}

.consenttogglename {
    font-family: 'JetBrains Mono', monospace;
    font-size: 15px;
    line-height: 1.6;
    color: #1b0002
}

.consenttoggleswitch {
    width: 40px;
    height: 22px;
    border-radius: 22px;
    border: 2px solid #00D0C7;
    background: #FDFDFE;
    cursor: pointer;
    position: relative;
    appearance: none;
    transition: background .35s ease-in-out
}

.consenttoggleswitch:checked {
    background: #00D0C7
}

.consenttoggleswitch:focus {
    outline: 2px solid #81000B;
    outline-offset: 2px
}

@media (max-width: 960px) {
    .footergrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px
    }

    .headnav a {
        padding: 16px
    }

    .topbandshell {
        gap: 16px;
        padding: 0 16px
    }

    .siteheadshell {
        padding: 16px 16px 0
    }
}

@media (max-width: 480px) {
    .footergrid {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .headtop {
        flex-wrap: wrap;
        gap: 16px
    }

    .statusbadge {
        margin-left: 0
    }

    .headnav a {
        padding: 16px 8px;
        font-size: 15px
    }

    .footershell {
        padding: 48px 16px 32px
    }

    .consentstrip {
        border-radius: 0 0 1px 1px;
        padding: 16px
    }
}

.terms-box {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 48px;
    color: #2a2a2e
}

.terms-box h1 {
    font-size: 58px;
    line-height: 1.1;
    margin-bottom: 48px;
    color: #1b1b20
}

.terms-box h2 {
    font-size: 42px;
    line-height: 1.1;
    margin-top: 96px;
    margin-bottom: 32px;
    color: #1b1b20
}

.terms-box h3 {
    font-size: 30px;
    line-height: 1.1;
    margin-top: 48px;
    margin-bottom: 16px;
    color: #1b1b20
}

.terms-box h4 {
    font-size: 22px;
    line-height: 1.6;
    margin-top: 32px;
    margin-bottom: 16px;
    color: #1b1b20
}

.terms-box h5 {
    font-size: 18px;
    line-height: 1.6;
    margin-top: 32px;
    margin-bottom: 8px;
    color: #2a2a2e;
    text-transform: uppercase;
    letter-spacing: .08em
}

.terms-box h6 {
    font-size: 15px;
    line-height: 1.6;
    margin-top: 16px;
    margin-bottom: 8px;
    color: #2a2a2e;
    text-transform: uppercase;
    letter-spacing: .1em
}

.terms-box div {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 16px
}

.terms-box ul {
    margin: 16px 0 32px;
    padding-left: 32px;
    list-style: none
}

.terms-box ol {
    margin: 16px 0 32px;
    padding-left: 32px;
    list-style: decimal
}

.terms-box ul li {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
    padding-left: 16px;
    position: relative;
    color: #2a2a2e
}

.terms-box ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 6px;
    height: 6px;
    border-radius: 1px;
    background-color: #00D0C7;
    transform: rotate(45deg)
}

.terms-box ol li {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 8px;
    padding-left: 8px;
    color: #2a2a2e
}

.terms-box ol li::marker {
    color: #00D0C7;
    font-size: 15px
}

.terms-box ul ul,
.terms-box ol ol,
.terms-box ul ol,
.terms-box ol ul {
    margin: 8px 0 8px 16px
}

.terms-box a {
    color: #81000B;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color .35s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .4s ease-in-out
}

.terms-box a:hover {
    color: #00D0C7;
    text-decoration-color: #00D0C7
}

.terms-box table {
    width: 100%;
    border-collapse: collapse;
    margin: 32px 0 48px;
    font-size: 15px;
    line-height: 1.6;
    border-radius: 1px;
    overflow: hidden;
    box-shadow: 0 1px 3px -2px #00d0c70d 0 7px 14px -2px #00d0c714
}

.terms-box thead {
    background-color: #00D0C7
}

.terms-box thead th {
    color: #FDFDFE;
    font-size: 15px;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: .07em;
    padding: 16px;
    text-align: left;
    font-weight: 700
}

.terms-box tbody tr {
    border-bottom: 1px solid #00d0c726;
    transition: background-color .38s ease-in-out
}

.terms-box tbody tr:last-child {
    border-bottom: none
}

.terms-box tbody tr:nth-child(even) {
    background-color: #00d0c70a
}

.terms-box tbody tr:hover {
    background-color: #00d0c717
}

.terms-box td {
    padding: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: #2a2a2e;
    vertical-align: top
}

.terms-box th {
    padding: 16px;
    vertical-align: top
}

@media (max-width: 960px) {
    .terms-box {
        padding: 48px 32px
    }

    .terms-box h1 {
        font-size: 42px;
        margin-bottom: 32px
    }

    .terms-box h2 {
        font-size: 30px;
        margin-top: 48px;
        margin-bottom: 16px
    }

    .terms-box h3 {
        font-size: 22px;
        margin-top: 32px
    }

    .terms-box table {
        display: block;
        overflow-x: auto
    }
}

@media (max-width: 480px) {
    .terms-box {
        padding: 32px 16px
    }

    .terms-box h1 {
        font-size: 30px
    }

    .terms-box h2 {
        font-size: 22px;
        margin-top: 32px
    }

    .terms-box h3 {
        font-size: 18px
    }

    .terms-box h4 {
        font-size: 18px
    }

    .terms-box ul li,
    .terms-box ol li,
    .terms-box div,
    .terms-box td {
        font-size: 15px
    }
}

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

.start .pageframe {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.start .titlearea {
    position: relative;
    background: #FDFDFE;
    padding: 96px 0 0
}

.start .titlearea .imagepart {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    max-height: 520px;
    overflow: hidden;
    border-radius: 1px
}

.start .titlearea .imagepart img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    mix-blend-mode: multiply;
    filter: saturate(0.7) contrast(1.1)
}

.start .titlearea .imageoverlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #00d0c738 0%, transparent 45%, #81000b2e 100%);
    pointer-events: none
}

.start .titlearea .shapeleft {
    position: absolute;
    top: 32px;
    left: -16px;
    width: 80px;
    height: 80px;
    border: 3px solid #00d0c759;
    border-radius: 22px;
    transform: rotate(18deg);
    pointer-events: none
}

.start .titlearea .shaperight {
    position: absolute;
    bottom: 48px;
    right: 32px;
    width: 48px;
    height: 48px;
    background: #81000b1f;
    border-radius: 22px;
    transform: rotate(-12deg);
    pointer-events: none
}

.start .titlearea .textpart {
    background: #FDFDFE;
    padding: 48px 0 96px;
    max-width: 700px
}

.start .titlearea .textpart h1 {
    font-size: 72px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 32px
}

.start .titlearea .textpart h1 .accent {
    color: #00D0C7
}

.start .titlearea .quotetext {
    font-size: 22px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0;
    padding-left: 16px;
    border-left: none;
    position: relative
}

.start .titlearea .quotetext::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    background: linear-gradient(180deg, #00D0C7 0%, transparent 50%, #81000B 100%);
    border-radius: 1px
}

.start .titlearea .punctmark {
    position: absolute;
    bottom: 80px;
    right: 0;
    font-size: 220px;
    line-height: 1.1;
    color: #00d0c712;
    font-style: normal;
    pointer-events: none;
    user-select: none
}

.start .divider1 {
    height: 6px;
    background: linear-gradient(90deg, #00D0C7 0%, #00d0c74d 40%, transparent 60%, #81000b4d 80%, #81000B 100%)
}

.start .investsection {
    background: #f4fffe;
    padding: 96px 0;
    position: relative
}

.start .investsection .splitgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.start .investsection .labelstrip {
    display: inline-block;
    background: #00D0C7;
    color: #FDFDFE;
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 1px;
    margin-bottom: 32px
}

.start .investsection h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 32px
}

.start .investsection .bodytext {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 32px
}

.start .barsgroup {
    display: flex;
    flex-direction: column;
    gap: 16px
}

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

.start .barlabel {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    color: #2e2e2e
}

.start .bartrack {
    height: 10px;
    background: #00d0c71f;
    border-radius: 1px;
    overflow: hidden;
    box-shadow: inset 0 1px 3px -2px #00d0c70d
}

.start .barfill {
    height: 100%;
    border-radius: 1px;
    background: linear-gradient(90deg, #00D0C7, #00d0c799);
    transform-origin: left;
    animation: barexpand .45s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

@keyframes barexpand {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

.start .barfill.secondary {
    background: linear-gradient(90deg, #81000B, #81000b80)
}

.start .investsection .imagecolumn {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 9px 52px -2px #00d0c71f
}

.start .investsection .imagecolumn img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block
}

.start .divider2 {
    height: 4px;
    background: linear-gradient(90deg, #81000B 0%, transparent 50%, #00D0C7 100%);
    opacity: .4
}

.start .experiencesection {
    padding: 96px 0;
    position: relative;
    background: #FDFDFE;
    animation: bgshift 12s ease-in-out infinite alternate
}

@keyframes bgshift {
    0% {
        background-color: #FDFDFE
    }

    50% {
        background-color: #f8fffe
    }

    100% {
        background-color: #fff8f8
    }
}

.start .experiencesection .labelstrip {
    display: inline-block;
    background: #81000B;
    color: #FDFDFE;
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 1px;
    margin-bottom: 32px
}

.start .experiencesection h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 48px
}

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

.start .phasecard {
    background: #FDFDFE;
    border-radius: 22px;
    padding: 32px;
    box-shadow: inset 0 1px 3px -2px #00d0c70d 0 7px 14px -2px #00d0c714;
    position: relative
}

.start .phasecard.even {
    background: #81000b0a;
    box-shadow: inset 0 1px 3px -2px #81000b0d 0 7px 14px -2px #81000b14
}

.start .phasenumber {
    font-size: 58px;
    line-height: 1.1;
    color: #00d0c72e;
    font-weight: 900;
    margin-bottom: 16px;
    display: block
}

.start .phasecard.even .phasenumber {
    color: #81000b26
}

.start .phasecard h4 {
    font-size: 22px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 16px
}

.start .phasecard p {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0
}

.start .experiencesection .imagerow {
    display: grid;
    grid-template-columns: 5fr 3fr;
    gap: 32px;
    align-items: center
}

.start .experiencesection .imagerow .imagewrap {
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 7px 14px -2px #00d0c714
}

.start .experiencesection .imagerow .imagewrap img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block
}

.start .experiencesection .imagerow .sidetext {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e
}

.start .divider3 {
    height: 8px;
    background: linear-gradient(90deg, transparent 0%, #00D0C7 30%, #00d0c766 50%, #81000B 70%, transparent 100%)
}

.start .conditionsection {
    position: relative;
    padding: 96px 0;
    overflow: hidden
}

.start .conditionsection::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(160deg, #00d0c714 0%, #FDFDFE 50%);
    pointer-events: none
}

.start .conditionsection::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 45%;
    height: 100%;
    background: #81000b0a;
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0% 100%);
    pointer-events: none
}

.start .conditionsection .relframe {
    position: relative;
    z-index: 1
}

.start .conditionsection h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 16px
}

.start .conditionsection .subline {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 48px;
    max-width: 560px
}

.start .condlist {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 640px
}

.start .conditem {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 22px;
    background: #FDFDFE;
    box-shadow: 0 1px 3px -2px #00d0c70d 0 7px 14px -2px #00d0c714
}

.start .conditem.alt {
    background: #81000b08;
    box-shadow: 0 1px 3px -2px #81000b0d 0 7px 14px -2px #81000b14
}

.start .condicon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 1px;
    display: flex;
    align-items: center;
    justify-content: center
}

.start .condicon svg {
    width: 18px;
    height: 18px
}

.start .conditem h5 {
    font-size: 18px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 8px
}

.start .conditem p {
    font-size: 15px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0
}

.start .divider4 {
    height: 5px;
    background: linear-gradient(90deg, #81000B 0%, #81000b33 35%, #00d0c733 65%, #00D0C7 100%)
}

.start .distinctsection {
    background: #1b1b1b;
    padding: 96px 0;
    position: relative;
    overflow: hidden
}

.start .distinctsection .bgpunct {
    position: absolute;
    bottom: -32px;
    right: 32px;
    font-size: 320px;
    line-height: 1.1;
    color: #00d0c70d;
    pointer-events: none;
    user-select: none
}

.start .distinctsection .labelstrip {
    display: inline-block;
    background: #00d0c726;
    color: #00D0C7;
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 8px 16px;
    border-radius: 1px;
    margin-bottom: 32px
}

.start .distinctsection h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #FDFDFE;
    margin: 0 0 16px;
    max-width: 600px
}

.start .distinctsection .leadtext {
    font-size: 18px;
    line-height: 1.6;
    color: #fdfdfebf;
    margin: 0 0 48px;
    max-width: 560px
}

.start .distinctgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px
}

.start .distinctcard {
    padding: 32px;
    border-radius: 22px;
    background: #00d0c712;
    box-shadow: inset 0 1px 3px -2px #00d0c70d;
    transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.start .distinctcard:hover {
    background: #00d0c721
}

.start .distinctcard.alt {
    background: #81000b1f;
    box-shadow: inset 0 1px 3px -2px #81000b0d
}

.start .distinctcard.alt:hover {
    background: #81000b33
}

.start .distinctcard h4 {
    font-size: 22px;
    line-height: 1.1;
    color: #FDFDFE;
    margin: 0 0 16px
}

.start .distinctcard p {
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfeb8;
    margin: 0
}

.start .distinctcard .accentline {
    width: 40px;
    height: 3px;
    background: #00D0C7;
    border-radius: 1px;
    margin-bottom: 16px
}

.start .distinctcard.alt .accentline {
    background: #81000B
}

.start .linkbtn {
    display: inline-block;
    font-size: 18px;
    color: #00D0C7;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 1px;
    border: 2px solid #00D0C7;
    transition: padding .42s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s ease-in-out;
    margin-top: 32px
}

.start .linkbtn:hover {
    padding: 8px 32px;
    background: #00d0c714
}

@media (max-width: 960px) {
    .start .titlearea .textpart h1 {
        font-size: 42px
    }

    .start .investsection .splitgrid {
        grid-template-columns: 1fr
    }

    .start .phasegrid {
        grid-template-columns: 1fr 1fr
    }

    .start .experiencesection .imagerow {
        grid-template-columns: 1fr
    }

    .start .distinctgrid {
        grid-template-columns: 1fr
    }

    .start .conditionsection::after {
        display: none
    }
}

@media (max-width: 480px) {
    .start .titlearea {
        padding: 48px 0 0
    }

    .start .titlearea .textpart {
        padding: 32px 0 48px
    }

    .start .titlearea .textpart h1 {
        font-size: 30px
    }

    .start .titlearea .quotetext {
        font-size: 18px
    }

    .start .investsection {
        padding: 48px 0
    }

    .start .investsection h2 {
        font-size: 30px
    }

    .start .experiencesection {
        padding: 48px 0
    }

    .start .experiencesection h2 {
        font-size: 30px
    }

    .start .phasegrid {
        grid-template-columns: 1fr
    }

    .start .conditionsection {
        padding: 48px 0
    }

    .start .conditionsection h2 {
        font-size: 30px
    }

    .start .distinctsection {
        padding: 48px 0
    }

    .start .distinctsection h2 {
        font-size: 30px
    }

    .start .pageframe {
        padding: 0 16px
    }
}

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

.aboutuspage .pagewrap {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.aboutuspage .titleblock {
    background: #f0fffe;
    padding: 96px 0 48px;
    position: relative
}

.aboutuspage .titlebg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.aboutuspage .titlebg::before {
    content: '';
    position: absolute;
    top: -40px;
    right: -60px;
    width: 420px;
    height: 420px;
    border: 2px solid #00d0c72e;
    border-radius: 22px;
    transform: rotate(18deg)
}

.aboutuspage .titlebg::after {
    content: '';
    position: absolute;
    bottom: 20px;
    right: 80px;
    width: 220px;
    height: 220px;
    border: 2px solid #81000b1a;
    border-radius: 1px;
    transform: rotate(6deg)
}

.aboutuspage .titlenoise {
    position: absolute;
    inset: 0;
    opacity: .03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    pointer-events: none
}

.aboutuspage .titlerow {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 48px
}

.aboutuspage .titleleft {
    flex: 1 1 0;
    min-width: 0
}

.aboutuspage .titleeyebrow {
    font-size: 15px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #00D0C7;
    margin-bottom: 16px;
    display: block
}

.aboutuspage .titleh1 {
    font-size: 58px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0 0 32px
}

.aboutuspage .titleh1 .accent {
    color: #00D0C7
}

.aboutuspage .titledesc {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d3a;
    max-width: 480px;
    margin: 0
}

.aboutuspage .titleimgwrap {
    flex: 0 0 420px;
    width: 420px;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 4/3;
    position: relative
}

.aboutuspage .titleimgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: saturate(0.7) contrast(1.1) brightness(0.95);
    transition: filter .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.aboutuspage .titleimgwrap:hover img {
    filter: saturate(1.1) contrast(1.05) brightness(1.0)
}

.aboutuspage .dividerline {
    height: 2px;
    background: linear-gradient(135deg, #00D0C7, transparent 60%, #81000B);
    margin: 0
}

.aboutuspage .storyblock {
    padding: 96px 0;
    background: #fff
}

.aboutuspage .storyrow {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start
}

.aboutuspage .storyleft {
    flex: 1 1 0;
    min-width: 0
}

.aboutuspage .storyheadingwrap {
    display: inline-block;
    background: #00d0c71f;
    border-radius: 1px;
    padding: 8px 16px;
    margin-bottom: 32px
}

.aboutuspage .storyheading {
    font-size: 30px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0
}

.aboutuspage .storybar {
    width: 3px;
    background: #00D0C7;
    border-radius: 1px;
    flex-shrink: 0;
    align-self: stretch;
    min-height: 80px;
    margin-top: 8px
}

.aboutuspage .storycontent {
    flex: 2 1 0;
    min-width: 0
}

.aboutuspage .storypara {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d3a;
    margin: 0 0 16px
}

.aboutuspage .numberedlist {
    list-style: none;
    padding: 0;
    margin: 32px 0 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.aboutuspage .numberedlist li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 1px;
    background: #f0fffe;
    box-shadow: inset 0 1px 3px -2px #00d0c70d;
    transition: background .41s ease-in-out
}

.aboutuspage .numberedlist li:nth-child(even) {
    background: #81000b0a
}

.aboutuspage .numberedlist li:hover {
    background: #00d0c726
}

.aboutuspage .listnum {
    font-size: 42px;
    line-height: 1.1;
    color: #00D0C7;
    font-weight: 700;
    flex-shrink: 0;
    width: 48px;
    text-align: center;
    opacity: .5
}

.aboutuspage .listnum.odd {
    color: #00D0C7
}

.aboutuspage .listnum.even {
    color: #81000B
}

.aboutuspage .listtext {
    flex: 1 1 0;
    min-width: 0
}

.aboutuspage .listitemtitle {
    font-size: 18px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0 0 8px
}

.aboutuspage .listitemdesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d3a;
    margin: 0
}

.aboutuspage .teamblock {
    padding: 96px 0;
    background: #e8f9f8;
    position: relative
}

.aboutuspage .teambg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none
}

.aboutuspage .teambg::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -80px;
    transform: translateY(-50%);
    width: 300px;
    height: 300px;
    border: 2px solid #81000b14;
    border-radius: 22px;
    transform: translateY(-50%) rotate(-12deg)
}

.aboutuspage .teamheadingwrap {
    display: inline-block;
    background: #81000b14;
    border-radius: 1px;
    padding: 8px 16px;
    margin-bottom: 48px
}

.aboutuspage .teamheading {
    font-size: 30px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0
}

.aboutuspage .teamgrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px
}

.aboutuspage .teamcard {
    background: #fff;
    border-radius: 22px;
    padding: 32px;
    box-shadow: 0 7px 14px -2px #00d0c714;
    transition: box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1), background .35s ease-in-out;
    position: relative
}

.aboutuspage .teamcard:hover {
    box-shadow: 0 9px 52px -2px #00d0c71f;
    background: #f5fffe
}

.aboutuspage .teamcardaccent {
    width: 32px;
    height: 3px;
    background: #00D0C7;
    border-radius: 1px;
    margin-bottom: 16px
}

.aboutuspage .teamcard:nth-child(even) .teamcardaccent {
    background: #81000B
}

.aboutuspage .teamname {
    font-size: 18px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0 0 8px
}

.aboutuspage .teamrole {
    font-size: 15px;
    line-height: 1.1;
    color: #00D0C7;
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.aboutuspage .teamcard:nth-child(even) .teamrole {
    color: #81000B
}

.aboutuspage .teamdesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d3a;
    margin: 0
}

.aboutuspage .visualblock {
    padding: 96px 0;
    background: #fff
}

.aboutuspage .visualrow {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center
}

.aboutuspage .visualleft {
    position: relative
}

.aboutuspage .visualimgwrap {
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 4/3;
    box-shadow: 0 9px 52px -2px #00d0c71f
}

.aboutuspage .visualimgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.aboutuspage .visualimgwrap2 {
    border-radius: 1px;
    overflow: hidden;
    aspect-ratio: 4/3;
    margin-top: 32px;
    box-shadow: 0 7px 14px -2px #81000b14
}

.aboutuspage .visualimgwrap2 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.aboutuspage .visualright {
    min-width: 0
}

.aboutuspage .visualheadingwrap {
    display: inline-block;
    background: #00d0c71f;
    border-radius: 1px;
    padding: 8px 16px;
    margin-bottom: 32px
}

.aboutuspage .visualheading {
    font-size: 30px;
    line-height: 1.1;
    color: #1b1b2e;
    margin: 0
}

.aboutuspage .visualpara {
    font-size: 18px;
    line-height: 1.6;
    color: #2d2d3a;
    margin: 0 0 16px
}

.aboutuspage .visualpara .accent {
    color: #00D0C7;
    font-weight: 600
}

.aboutuspage .visualstats {
    display: flex;
    flex-direction: row;
    gap: 32px;
    margin-top: 32px
}

.aboutuspage .statitem {
    flex: 1 1 0;
    border-radius: 1px;
    padding: 16px;
    background: #f0fffe;
    box-shadow: inset 0 1px 3px -2px #00d0c70d;
    transition: background .43s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.aboutuspage .statitem:hover {
    background: #00d0c726
}

.aboutuspage .statitem:nth-child(even) {
    background: #81000b0a
}

.aboutuspage .statitem:nth-child(even):hover {
    background: #81000b1a
}

.aboutuspage .statnumber {
    font-size: 42px;
    line-height: 1.1;
    color: #00D0C7;
    font-weight: 700;
    display: block
}

.aboutuspage .statitem:nth-child(even) .statnumber {
    color: #81000B
}

.aboutuspage .statlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #2d2d3a;
    display: block;
    margin-top: 8px
}

.aboutuspage .linkbtn {
    display: inline-block;
    margin-top: 32px;
    font-size: 15px;
    color: #1b1b2e;
    text-decoration: none;
    border-bottom: 2px solid #00D0C7;
    padding: 8px 16px;
    border-radius: 1px;
    background: transparent;
    transition: padding .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s ease-in-out
}

.aboutuspage .linkbtn:hover {
    padding: 8px 32px;
    background: #00d0c714
}

@keyframes gradientshift {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0 50%
    }
}

.aboutuspage .animatedbg {
    background: linear-gradient(135deg, #e8f9f8, #f0fffe, #81000b0a, #e8f9f8);
    background-size: 300% 300%;
    animation: gradientshift 12s linear infinite
}

@media (max-width: 960px) {
    .aboutuspage .titlerow {
        flex-direction: column;
        gap: 32px
    }

    .aboutuspage .titleimgwrap {
        flex: none;
        width: 100%
    }

    .aboutuspage .titleh1 {
        font-size: 42px
    }

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

    .aboutuspage .storybar {
        display: none
    }

    .aboutuspage .teamgrid {
        grid-template-columns: 1fr 1fr
    }

    .aboutuspage .visualrow {
        grid-template-columns: 1fr;
        gap: 32px
    }

    .aboutuspage .visualstats {
        gap: 16px
    }
}

@media (max-width: 480px) {
    .aboutuspage .pagewrap {
        padding: 0 16px
    }

    .aboutuspage .titleblock {
        padding: 48px 0 32px
    }

    .aboutuspage .titleh1 {
        font-size: 30px
    }

    .aboutuspage .storyblock,
    .aboutuspage .teamblock,
    .aboutuspage .visualblock {
        padding: 48px 0
    }

    .aboutuspage .teamgrid {
        grid-template-columns: 1fr
    }

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

    .aboutuspage .numberedlist li {
        flex-direction: column;
        gap: 8px
    }

    .aboutuspage .listnum {
        width: auto;
        text-align: left;
        font-size: 30px
    }
}

.certifications {
    background-color: #FDFDFE;
    overflow-x: clip
}

.certifications .titleblock {
    background: linear-gradient(157deg, #00D0C7 0%, #FDFDFE 48%, #81000B 100%);
    padding: 96px 32px 48px;
    animation: contrastpulse 6s ease-in-out infinite
}

@keyframes contrastpulse {

    0%,
    100% {
        filter: contrast(1)
    }

    50% {
        filter: contrast(1.07)
    }
}

.certifications .titlegrid {
    max-width: 1170px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.certifications .titleleft {
    flex: 1 1 55%
}

.certifications .titleright {
    flex: 0 0 38%;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 16px
}

.certifications .dotpath {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px
}

.certifications .dot {
    width: 8px;
    height: 8px;
    border-radius: 22px;
    background-color: #00D0C7;
    flex-shrink: 0
}

.certifications .dot.small {
    width: 5px;
    height: 5px;
    opacity: .5
}

.certifications .dot.tiny {
    width: 3px;
    height: 3px;
    opacity: .25
}

.certifications .dotline {
    width: 32px;
    height: 1px;
    background-color: #00D0C7;
    opacity: .4
}

.certifications .pagelabel {
    font-size: 15px;
    line-height: 1.6;
    color: #81000B;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 16px
}

.certifications .pageheading {
    font-size: 58px;
    line-height: 1.1;
    color: #1a1a1a;
    margin: 0 0 16px;
    color: #0d2b2a
}

.certifications .pageheading span {
    color: #00D0C7
}

.certifications .manifestotext {
    font-size: 18px;
    line-height: 1.6;
    color: #2a3a39;
    max-width: 520px
}

.certifications .statpill {
    background-color: #FDFDFE;
    border: 1px solid #00d0c740;
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 7px 14px -2px #00d0c714
}

.certifications .statpill .statnum {
    font-size: 42px;
    line-height: 1.1;
    color: #00D0C7;
    display: block
}

.certifications .statpill .statlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #2a3a39
}

.certifications .credentialsgrid {
    max-width: 1170px;
    margin: 0 auto;
    padding: 96px 32px
}

.certifications .sectionlabel {
    font-size: 15px;
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: #81000B;
    margin-bottom: 8px
}

.certifications .stripheading {
    display: inline-block;
    background-color: #00d0c71f;
    padding: 8px 16px;
    border-radius: 1px;
    font-size: 30px;
    line-height: 1.1;
    color: #0d2b2a;
    margin-bottom: 32px
}

.certifications .cardsrow {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 16px;
    align-items: start
}

.certifications .credcard {
    background-color: #FDFDFE;
    border-radius: 22px;
    padding: 32px;
    box-shadow: inset 0 1px 3px -2px #00d0c70d 0 7px 14px -2px #00d0c714;
    border: 1px solid #00d0c726;
    transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.certifications .credcard:hover {
    box-shadow: 0 9px 52px -2px #00d0c71f
}

.certifications .credcard.featured {
    background: linear-gradient(157deg, #00d0c714 0%, #FDFDFE 100%)
}

.certifications .credicon {
    width: 40px;
    height: 40px;
    margin-bottom: 16px
}

.certifications .credtitle {
    font-size: 22px;
    line-height: 1.1;
    color: #0d2b2a;
    margin: 0 0 8px
}

.certifications .credissuer {
    font-size: 15px;
    line-height: 1.6;
    color: #81000B;
    margin-bottom: 16px;
    font-weight: 600
}

.certifications .creddesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2a3a39
}

.certifications .credtag {
    display: inline-block;
    background-color: #81000b14;
    color: #81000B;
    font-size: 15px;
    border-radius: 1px;
    padding: 4px 8px;
    margin-top: 16px
}

.certifications .imageannotation {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px 96px
}

.certifications .annotationframe {
    display: flex;
    flex-direction: row;
    gap: 48px;
    align-items: flex-start;
    background: linear-gradient(157deg, #0d2b2a 0%, #1a3d3b 60%, #2a1a1c 100%);
    border-radius: 22px;
    padding: 48px;
    overflow: hidden
}

.certifications .imageside {
    flex: 0 0 52%;
    position: relative
}

.certifications .imagewrap {
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 4/3
}

.certifications .imagewrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.certifications .annotationside {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.certifications .annotationheading {
    font-size: 30px;
    line-height: 1.1;
    color: #FDFDFE;
    margin: 0 0 8px
}

.certifications .annotationheading span {
    color: #00D0C7
}

.certifications .annotationlead {
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfebf
}

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

.certifications .annotationlist li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px
}

.certifications .annotationlist li:nth-child(odd) {
    background-color: #00d0c712;
    border-radius: 1px;
    padding: 8px
}

.certifications .annotationlist li:nth-child(even) {
    background-color: #81000b12;
    border-radius: 1px;
    padding: 8px
}

.certifications .annotationnumber {
    font-size: 30px;
    line-height: 1.1;
    color: #00D0C7;
    font-weight: 700;
    flex-shrink: 0;
    min-width: 40px
}

.certifications .annotationtext {
    font-size: 15px;
    line-height: 1.6;
    color: #fdfdfecc
}

.certifications .tabletblock {
    background: linear-gradient(157deg, #00d0c70a 0%, #FDFDFE 50%, #81000b0a 100%);
    padding: 96px 32px
}

.certifications .tablecontent {
    max-width: 1170px;
    margin: 0 auto
}

.certifications .tableintro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 48px
}

.certifications .tableintrodesc {
    font-size: 18px;
    line-height: 1.6;
    color: #2a3a39
}

.certifications .compliancetable {
    width: 100%;
    border-collapse: separate;
    border-spacing: 4px
}

.certifications .compliancetable th {
    font-size: 15px;
    line-height: 1.6;
    color: #FDFDFE;
    background-color: #0d2b2a;
    padding: 16px;
    text-align: left;
    border-radius: 1px
}

.certifications .compliancetable td {
    font-size: 15px;
    line-height: 1.6;
    color: #0d2b2a;
    padding: 16px;
    border-radius: 1px;
    vertical-align: top
}

.certifications .compliancetable tr:nth-child(odd) td {
    background-color: #00d0c71a
}

.certifications .compliancetable tr:nth-child(even) td {
    background-color: #81000b0f
}

.certifications .compliancetable td.cellemphasis {
    background-color: #00d0c740;
    font-weight: 600;
    color: #0d2b2a
}

.certifications .compliancetable td.cellwarn {
    background-color: #81000b26;
    color: #81000B;
    font-weight: 600
}

.certifications .compliancetable td.cellneutral {
    background-color: #00d0c70f;
    color: #2a3a39
}

@media (max-width: 960px) {
    .certifications .titlegrid {
        flex-direction: column;
        gap: 32px
    }

    .certifications .titleright {
        flex-direction: row;
        flex-wrap: wrap;
        padding-top: 0
    }

    .certifications .statpill {
        flex: 1 1 140px
    }

    .certifications .cardsrow {
        grid-template-columns: 1fr 1fr
    }

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

    .certifications .imageside {
        flex: none;
        width: 100%
    }

    .certifications .tableintro {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

@media (max-width: 480px) {
    .certifications .pageheading {
        font-size: 42px
    }

    .certifications .cardsrow {
        grid-template-columns: 1fr
    }

    .certifications .titlegrid,
    .certifications .credentialsgrid,
    .certifications .imageannotation,
    .certifications .tabletblock {
        padding-left: 16px;
        padding-right: 16px
    }

    .certifications .annotationframe {
        padding: 32px 16px
    }

    .certifications .compliancetable th,
    .certifications .compliancetable td {
        padding: 8px;
        font-size: 15px
    }
}

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

.contactus .pagewrap {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

.contactus .titlesection {
    padding: 96px 0 48px;
    position: relative
}

.contactus .titlesection .pagewrap {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 48px
}

.contactus .textside {
    flex: 1 1 55%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    position: relative;
    z-index: 1
}

.contactus .decorside {
    flex: 0 0 38%;
    position: relative;
    min-height: 340px
}

.contactus .filmbox {
    width: 100%;
    height: 100%;
    min-height: 340px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #1b0a0d 0%, #2a1a0e 30%, #0d2a28 60%, #081a19 100%);
    box-shadow: 0 9px 52px -2px #00d0c71f
}

.contactus .filmbox::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(0deg, transparent, transparent 3px, #00d0c70a 3px, #00d0c70a 4px);
    border-radius: 22px
}

.contactus .filmbox::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 40% 40%, #00d0c72e 0%, transparent 65%), radial-gradient(ellipse at 70% 70%, #81000b38 0%, transparent 55%);
    border-radius: 22px
}

.contactus .filmgrain {
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.18'/%3E%3C/svg%3E");
    opacity: .35;
    border-radius: 22px
}

.contactus .filmtext {
    position: absolute;
    bottom: 32px;
    left: 32px;
    right: 32px;
    z-index: 2;
    color: #fdfdfeb3;
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: .08em;
    text-transform: uppercase
}

.contactus .cornerdeco {
    position: absolute;
    pointer-events: none
}

.contactus .cornerdeco.topleft {
    top: 0;
    left: 0;
    width: 60px;
    height: 60px
}

.contactus .cornerdeco.bottomright {
    bottom: 0;
    right: 0;
    width: 60px;
    height: 60px
}

.contactus .dashlabel {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.contactus .dashlabel .dash {
    width: 32px;
    height: 2px;
    background: #00D0C7;
    border-radius: 1px;
    flex-shrink: 0
}

.contactus .dashlabel .labeltext {
    font-size: 15px;
    line-height: 1.6;
    color: #00D0C7;
    text-transform: uppercase;
    letter-spacing: .12em
}

.contactus .mainheading {
    font-size: 58px;
    line-height: 1.1;
    color: #1a0508;
    margin: 0
}

.contactus .mainheading .accent {
    color: #00D0C7
}

.contactus .subtext {
    font-size: 18px;
    line-height: 1.6;
    color: #2d1a1d;
    margin: 0;
    max-width: 480px
}

.contactus .rotateshape {
    position: absolute;
    top: 50%;
    right: -80px;
    transform: translateY(-50%);
    width: 320px;
    height: 320px;
    pointer-events: none;
    z-index: 0;
    animation: rotateslow 28s linear infinite
}

@keyframes rotateslow {
    from {
        transform: translateY(-50%) rotate(0deg)
    }

    to {
        transform: translateY(-50%) rotate(360deg)
    }
}

.contactus .titlesection .pagewrap {
    position: relative
}

.contactus .elasticload {
    animation: elasticin .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

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

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

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

.contactus .elasticload2 {
    animation: elasticin2 .44s cubic-bezier(0.34, 1.2, 0.64, 1) .1s both
}

@keyframes elasticin2 {
    0% {
        opacity: 0;
        transform: translateX(20px) scale(0.97)
    }

    60% {
        opacity: 1;
        transform: translateX(-3px) scale(1.01)
    }

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

.contactus .divider1 {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #00D0C7 30%, transparent 70%, #81000B 85%, transparent 100%);
    margin: 0;
    opacity: .3
}

.contactus .formsection {
    padding: 96px 0;
    background: radial-gradient(ellipse at 50% 50%, #fdfdfe 0%, #e8f9f8 55%, #d6f5f4 100%);
    position: relative
}

.contactus .formsection .pagewrap {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 48px
}

.contactus .formcolumn {
    flex: 1 1 58%
}

.contactus .infocolumn {
    flex: 0 0 36%;
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-top: 8px;
    border-left: none;
    position: relative
}

.contactus .infocolumn::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 0;
    bottom: 0;
    width: 1px;
    background: linear-gradient(180deg, transparent, #00D0C7 30%, #81000B 70%, transparent);
    opacity: .4
}

.contactus .formtitle {
    font-size: 30px;
    line-height: 1.1;
    color: #1a0508;
    margin: 0 0 32px;
    padding: 8px 16px;
    background: linear-gradient(90deg, #00d0c726 0%, transparent 100%);
    border-radius: 1px;
    display: inline-block
}

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

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

.contactus .fieldlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #2d1a1d;
    font-weight: 600
}

.contactus .fieldinput {
    padding: 16px;
    border: 1px solid #00d0c759;
    border-radius: 1px;
    background: #fdfdfee6;
    font-size: 18px;
    line-height: 1.6;
    color: #1a0508;
    width: 100%;
    box-sizing: border-box;
    transition: border-color .35s ease-in-out, box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: inset 0 1px 3px -2px #00d0c70d
}

.contactus .fieldinput::placeholder {
    color: #1a050866
}

.contactus .fieldinput:focus {
    outline: none;
    border-color: #00D0C7;
    box-shadow: inset 0 1px 3px -2px #00d0c714 0 0 0 3px #00d0c71f
}

.contactus .fieldselect {
    padding: 16px;
    border: 1px solid #00d0c759;
    border-radius: 1px;
    background: #fdfdfee6;
    font-size: 18px;
    line-height: 1.6;
    color: #1a0508;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='%2300D0C7' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 48px;
    transition: border-color .35s ease-in-out, box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
    box-shadow: inset 0 1px 3px -2px #00d0c70d
}

.contactus .fieldselect:focus {
    outline: none;
    border-color: #00D0C7;
    box-shadow: inset 0 1px 3px -2px #00d0c714 0 0 0 3px #00d0c71f
}

.contactus .fieldselect option {
    color: #1a0508;
    background: #fdfdfe
}

.contactus .matrixblock {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 8px;
    margin: 8px 0
}

.contactus .matrixcell {
    padding: 16px;
    border-radius: 1px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    cursor: pointer;
    transition: transform .36s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out;
    position: relative
}

.contactus .matrixcell:nth-child(odd) {
    background: #00d0c71a;
    border: 1px solid #00d0c740
}

.contactus .matrixcell:nth-child(even) {
    background: #81000b12;
    border: 1px solid #81000b33
}

.contactus .matrixcell:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 14px -2px #00d0c714
}

.contactus .matrixcell input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.contactus .matrixcell .celltitle {
    font-size: 15px;
    line-height: 1.1;
    font-weight: 700;
    color: #1a0508
}

.contactus .matrixcell .celldesc {
    font-size: 15px;
    line-height: 1.6;
    color: #2d1a1d
}

.contactus .matrixcell input[type="radio"]:checked+.celltitle {
    color: #00D0C7
}

.contactus .matrixlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #2d1a1d;
    font-weight: 600;
    margin-bottom: 8px;
    display: block
}

.contactus .privacyrow {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    background: #00d0c70f;
    border-radius: 1px;
    border: 1px solid #00d0c733
}

.contactus .privacycheck {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #00D0C7;
    cursor: pointer
}

.contactus .privacytext {
    font-size: 15px;
    line-height: 1.6;
    color: #2d1a1d;
    margin: 0
}

.contactus .privacytext a {
    color: #00D0C7;
    text-decoration: underline;
    transition: color .34s ease-in-out
}

.contactus .privacytext a:hover {
    color: #81000B
}

.contactus .submitbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 48px;
    background: #00D0C7;
    color: #1a0508;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 700;
    border: none;
    border-radius: 1px;
    cursor: pointer;
    transition: padding .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .34s ease-in-out, box-shadow .36s ease-in-out;
    box-shadow: 0 7px 14px -2px #00d0c714;
    align-self: flex-start
}

.contactus .submitbtn:hover {
    padding: 16px 64px;
    background: #00bbb3;
    box-shadow: 0 9px 52px -2px #00d0c71f
}

.contactus .submitbtn:focus {
    outline: 3px solid #00d0c780;
    outline-offset: 2px
}

.contactus .submitbtn:active {
    background: #009e97
}

.contactus .infotitle {
    font-size: 22px;
    line-height: 1.1;
    color: #1a0508;
    margin: 0 0 16px;
    padding: 8px 16px;
    background: linear-gradient(90deg, #81000b1a 0%, transparent 100%);
    border-radius: 1px;
    display: inline-block
}

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

.contactus .contactitem .itemlabel {
    font-size: 15px;
    line-height: 1.6;
    color: #00D0C7;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600
}

.contactus .contactitem .itemvalue {
    font-size: 18px;
    line-height: 1.6;
    color: #1a0508;
    margin: 0
}

.contactus .contactitem a {
    color: #1a0508;
    text-decoration: none;
    transition: color .34s ease-in-out
}

.contactus .contactitem a:hover {
    color: #81000B
}

.contactus .infodivider {
    height: 1px;
    background: linear-gradient(90deg, #00d0c766, transparent)
}

.contactus .stepssection {
    padding: 96px 0;
    background: #1a0508;
    position: relative;
    overflow: hidden
}

.contactus .stepssection::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 50% 50%, #00d0c712 0%, transparent 65%);
    pointer-events: none
}

.contactus .stepssection .pagewrap {
    position: relative;
    z-index: 1
}

.contactus .stepstitle {
    font-size: 42px;
    line-height: 1.1;
    color: #fdfdfe;
    margin: 0 0 48px;
    padding: 8px 16px;
    background: linear-gradient(90deg, #00d0c733 0%, transparent 100%);
    border-radius: 1px;
    display: inline-block
}

.contactus .stepslist {
    display: flex;
    flex-direction: column;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0
}

.contactus .stepitem {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
    padding: 32px;
    border-radius: 22px;
    transition: transform .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s ease-in-out
}

.contactus .stepitem:nth-child(odd) {
    background: #00d0c712;
    border: 1px solid #00d0c72e
}

.contactus .stepitem:nth-child(even) {
    background: #81000b1f;
    border: 1px solid #81000b40
}

.contactus .stepitem:hover {
    transform: translateX(8px);
    box-shadow: 0 7px 14px -2px #00d0c714
}

.contactus .stepnumber {
    font-size: 72px;
    line-height: 1.1;
    font-weight: 900;
    flex-shrink: 0;
    width: 80px;
    text-align: center
}

.contactus .stepitem:nth-child(odd) .stepnumber {
    color: #00d0c759
}

.contactus .stepitem:nth-child(even) .stepnumber {
    color: #81000b73
}

.contactus .stepcontent {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1
}

.contactus .stepheading {
    font-size: 22px;
    line-height: 1.1;
    color: #fdfdfe;
    margin: 0
}

.contactus .steptext {
    font-size: 18px;
    line-height: 1.6;
    color: #fdfdfebf;
    margin: 0
}

.contactus .divider2 {
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, #81000B 20%, transparent 50%, #00D0C7 80%, transparent 100%);
    opacity: .25
}

@media (max-width: 960px) {
    .contactus .titlesection {
        padding: 48px 0 32px
    }

    .contactus .titlesection .pagewrap {
        flex-direction: column;
        gap: 32px
    }

    .contactus .textside {
        flex: none
    }

    .contactus .decorside {
        flex: none;
        min-height: 220px
    }

    .contactus .mainheading {
        font-size: 42px
    }

    .contactus .rotateshape {
        display: none
    }

    .contactus .formsection .pagewrap {
        flex-direction: column;
        gap: 48px
    }

    .contactus .infocolumn::before {
        display: none
    }

    .contactus .stepssection {
        padding: 48px 0
    }

    .contactus .stepslist {
        gap: 16px
    }

    .contactus .stepnumber {
        font-size: 42px;
        width: 48px
    }
}

@media (max-width: 480px) {
    .contactus .pagewrap {
        padding: 0 16px
    }

    .contactus .mainheading {
        font-size: 30px
    }

    .contactus .formtitle {
        font-size: 22px
    }

    .contactus .matrixblock {
        grid-template-columns: 1fr
    }

    .contactus .stepitem {
        padding: 16px;
        gap: 16px
    }

    .contactus .stepnumber {
        font-size: 30px;
        width: 32px
    }

    .contactus .stepstitle {
        font-size: 30px
    }

    .contactus .formsection {
        padding: 48px 0
    }
}

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

.methodology .methodologypagewrap {
    max-width: 1170px;
    margin: 0 auto;
    padding: 0 32px
}

@keyframes drawline {
    from {
        width: 0
    }

    to {
        width: 100%
    }
}

.methodology .titlegrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
    padding: 96px 0 48px;
    gap: 48px;
    align-items: center
}

.methodology .titleleft {
    padding: 48px 0;
    position: relative
}

.methodology .titleleft h1 {
    font-size: 58px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 32px;
    font-weight: 800
}

.methodology .titleleft h1 span {
    color: #00D0C7
}

.methodology .titledrawline {
    height: 3px;
    background: linear-gradient(90deg, #00D0C7, transparent, #81000B);
    border-radius: 1px;
    width: 0;
    animation: drawline .44s cubic-bezier(0.34, 1.2, 0.64, 1) .2s forwards;
    margin-bottom: 32px
}

.methodology .titleleft p {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0
}

.methodology .titleimgwrap {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    aspect-ratio: 4/3
}

.methodology .titleimgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 22px;
    filter: blur(0px)
}

.methodology .titleimgwrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 50%, transparent 40%, #00d0c71f 100%);
    border-radius: 22px;
    pointer-events: none
}

.methodology .titledecor {
    position: absolute;
    top: 16px;
    left: -16px;
    width: 80px;
    height: 80px;
    border-radius: 22px;
    background: #00d0c714;
    pointer-events: none
}

.methodology .stepsarea {
    background: linear-gradient(180deg, #f4fffe 0%, #fff9f9 50%, #FDFDFE 100%);
    padding: 96px 0
}

.methodology .stepsgrid {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 48px;
    align-items: start
}

.methodology .stepsside {
    position: sticky;
    top: 32px
}

.methodology .stepsside h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 16px
}

.methodology .stepsside h2 span {
    color: #00D0C7
}

.methodology .stepssidedesc {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3a;
    margin: 0
}

.methodology .stepslist {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.methodology .stepcard {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    background: #fff;
    border-radius: 22px;
    padding: 32px;
    box-shadow: 0 7px 14px -2px #00d0c714;
    transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.methodology .stepcard:hover {
    box-shadow: 0 9px 52px -2px #00d0c71f;
    transform: translateY(-2px)
}

.methodology .stepcard.even {
    background: #fff8f8
}

.methodology .stepnum {
    font-size: 30px;
    font-weight: 800;
    color: #00D0C7;
    line-height: 1.1;
    padding-top: 4px
}

.methodology .stepcard.even .stepnum {
    color: #81000B
}

.methodology .stepcardtext h3 {
    font-size: 22px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 8px;
    background: #00d0c71a;
    display: inline-block;
    padding: 4px 8px;
    border-radius: 1px
}

.methodology .stepcard.even .stepcardtext h3 {
    background: #81000b14
}

.methodology .stepcardtext p {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3a;
    margin: 0
}

.methodology .rankedarea {
    padding: 96px 0;
    background: #FDFDFE
}

.methodology .rankedinner {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 48px;
    align-items: start
}

.methodology .rankedleft h2 {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 16px
}

.methodology .rankedleft h2 span {
    color: #00D0C7
}

.methodology .rankeddesc {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 48px
}

.methodology .rankedlist {
    display: flex;
    flex-direction: column;
    gap: 16px
}

.methodology .rankeditem {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px
}

.methodology .rankeditem.odd {
    background: #00d0c70d;
    border-radius: 1px;
    padding: 8px
}

.methodology .rankeditem.evn {
    background: #81000b0a;
    border-radius: 1px;
    padding: 8px
}

.methodology .rankpos {
    font-size: 22px;
    font-weight: 800;
    color: #00D0C7;
    min-width: 32px;
    line-height: 1.1
}

.methodology .rankeditem.evn .rankpos {
    color: #81000B
}

.methodology .rankbarlabel {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.methodology .ranklabel {
    font-size: 15px;
    color: #1b1b1b;
    font-weight: 600;
    line-height: 1.1
}

.methodology .rankbartrack {
    height: 6px;
    background: #00000012;
    border-radius: 1px;
    overflow: hidden
}

.methodology .rankbarfill {
    height: 100%;
    border-radius: 1px;
    background: linear-gradient(90deg, #00D0C7, #00d0c766);
    transition: width .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.methodology .rankeditem.evn .rankbarfill {
    background: linear-gradient(90deg, #81000B, #81000b66)
}

.methodology .arrowmetric {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 48px 32px;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 7px 14px -2px #00d0c714
}

.methodology .metricnum {
    font-size: 72px;
    font-weight: 800;
    color: #00D0C7;
    line-height: 1.1
}

.methodology .metricarrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px
}

.methodology .arrowsvg {
    width: 32px;
    height: 48px
}

.methodology .metricnum2 {
    font-size: 42px;
    font-weight: 800;
    color: #81000B;
    line-height: 1.1
}

.methodology .metriclabel {
    font-size: 15px;
    color: #3a3a3a;
    line-height: 1.6;
    text-align: center
}

.methodology .quotemark {
    font-size: 72px;
    line-height: 1.1;
    color: #00d0c72e;
    font-weight: 900;
    margin-bottom: 8px;
    display: block
}

.methodology .quotetext {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    font-style: italic;
    margin: 0
}

@media (max-width: 960px) {
    .methodology .titlegrid {
        grid-template-columns: 1fr;
        padding: 48px 0 32px;
        gap: 32px
    }

    .methodology .titleleft h1 {
        font-size: 42px
    }

    .methodology .stepsgrid {
        grid-template-columns: 1fr
    }

    .methodology .stepsside {
        position: static
    }

    .methodology .rankedinner {
        grid-template-columns: 1fr
    }

    .methodology .arrowmetric {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center
    }
}

@media (max-width: 480px) {
    .methodology .methodologypagewrap {
        padding: 0 16px
    }

    .methodology .titleleft h1 {
        font-size: 30px
    }

    .methodology .stepsside h2,
    .methodology .rankedleft h2 {
        font-size: 30px
    }

    .methodology .stepcard {
        grid-template-columns: 1fr;
        padding: 16px
    }

    .methodology .stepsarea,
    .methodology .rankedarea {
        padding: 48px 0
    }

    .methodology .metricnum {
        font-size: 42px
    }

    .methodology .metricnum2 {
        font-size: 30px
    }
}

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

.successPage .successCard {
    max-width: 560px;
    width: 100%;
    background: #fff;
    border-radius: 22px;
    padding: 48px;
    box-shadow: 0 9px 52px -2px #00d0c71f;
    text-align: left
}

.successPage .successCard .iconWrapper {
    width: 56px;
    height: 56px;
    border-radius: 22px;
    background: #00D0C7;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px
}

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

.successPage .successCard .successHeading {
    font-size: 42px;
    line-height: 1.1;
    color: #1b1b1b;
    margin: 0 0 16px
}

.successPage .successCard .successHeading span {
    color: #00D0C7
}

.successPage .successCard .successText {
    font-size: 18px;
    line-height: 1.6;
    color: #2e2e2e;
    margin: 0 0 32px
}

.successPage .successCard .successDivider {
    height: 1px;
    background: linear-gradient(90deg, #00D0C7, transparent, #81000B);
    margin-bottom: 32px;
    border: none;
    border-radius: 1px
}

.successPage .successCard .successMeta {
    font-size: 15px;
    line-height: 1.6;
    color: #3a3a3a;
    margin: 0 0 32px
}

.successPage .successCard .successMeta strong {
    color: #81000B
}

.successPage .successCard .backLink {
    display: inline-block;
    font-size: 15px;
    line-height: 1.6;
    color: #FDFDFE;
    background: #00D0C7;
    padding: 8px 32px;
    border-radius: 22px;
    text-decoration: none;
    transition: padding .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .42s ease-in-out
}

.successPage .successCard .backLink:hover {
    padding: 8px 48px;
    background: #81000B
}

.successPage .successCard .backLink:focus {
    outline: 2px solid #81000B;
    outline-offset: 3px
}

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

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

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