/*!
 * Theme Name: HTML5 Blank
 * Theme URI: http://html5blank.com
 * Description: HTML5 Blank WordPress Starter Theme
 * Version: 1.5.1
 * Author: Robert DeVore
 * Author URI: http://robertdevore.com
 * Tags: HTML5, CSS3, starter, framework
 *
 * License: MIT
 * License URI: http://opensource.org/licenses/mit-license.php
 */

/*
 * Custom component CSS (not Tailwind).
 * Tailwind utilities live in the Alcastromol plugin stylesheet.
 */

.enter-up {
    -webkit-animation:cinUp .8s var(--enter-ease) both;
            animation:cinUp .8s var(--enter-ease) both;
}

.enter-word {
    -webkit-animation:wordin .9s var(--enter-ease) both;
            animation:wordin .9s var(--enter-ease) both;
}

.enter-visual {
    -webkit-animation:visualEnter 1.05s var(--enter-ease) both;
            animation:visualEnter 1.05s var(--enter-ease) both;
}

.enter-d1 {
    -webkit-animation-delay:.1s;
            animation-delay:.1s;
}

.enter-d2 {
    -webkit-animation-delay:.2s;
            animation-delay:.2s;
}

.enter-d3 {
    -webkit-animation-delay:.32s;
            animation-delay:.32s;
}

.enter-d4 {
    -webkit-animation-delay:.44s;
            animation-delay:.44s;
}

.enter-d5 {
    -webkit-animation-delay:.56s;
            animation-delay:.56s;
}

.enter-d6 {
    -webkit-animation-delay:.7s;
            animation-delay:.7s;
}

.enter-d7 {
    -webkit-animation-delay:.84s;
            animation-delay:.84s;
}

.enter-d8 {
    -webkit-animation-delay:.98s;
            animation-delay:.98s;
}

.enter-d9 {
    -webkit-animation-delay:1.12s;
            animation-delay:1.12s;
}

svg.hidden {
    display:none !important;
}

[data-mobile-menu-toggle] svg {
    display:block;
}

[data-mobile-menu-toggle] svg.hidden {
    display:none !important;
}

body.front-page .reveal-title:not(.is-visible),
body.front-page .reveal-card:not(.is-visible),
html.home-reveal body.front-page main h2:not(.is-visible),
html.home-reveal body.front-page main article:not(.is-visible) {
    opacity:0;
    -webkit-transform:translateY(26px);
        -ms-transform:translateY(26px);
            transform:translateY(26px);
}

html.home-reveal body.front-page [data-home-hero] h2:not(.is-visible) {
    opacity:1;
    -webkit-transform:none;
        -ms-transform:none;
            transform:none;
}

body.front-page .reveal-title.is-visible {
    -webkit-animation:cinUp .85s var(--enter-ease) both;
            animation:cinUp .85s var(--enter-ease) both;
    -webkit-animation-delay:var(--reveal-delay,0s);
            animation-delay:var(--reveal-delay,0s);
}

body.front-page .reveal-card.is-visible {
    -webkit-animation:cinUp .75s var(--enter-ease) both;
            animation:cinUp .75s var(--enter-ease) both;
    -webkit-animation-delay:var(--reveal-delay,0s);
            animation-delay:var(--reveal-delay,0s);
}

@media(prefers-reduced-motion:reduce) {
    body.front-page .reveal-title,
    body.front-page .reveal-card {
        opacity:1!important;
        -webkit-transform:none!important;
            -ms-transform:none!important;
                transform:none!important;
        -webkit-animation:none!important;
                animation:none!important;
        -webkit-filter:none!important;
                filter:none!important;
    }
}

.diagnostic-form {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);
    -moz-column-gap:.875rem;
    -webkit-column-gap:.875rem;
            column-gap:.875rem;
    row-gap:22px;
}

@media(max-width:479px) {
    .diagnostic-form {
        grid-template-columns:repeat(1,minmax(0,1fr));
    }
}

.diagnostic-field,.diagnostic-privacy-wrap,.diagnostic-response {
    grid-column:1 / -1;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:.5rem;
}

.diagnostic-whatsapp-wrap {
    grid-column-start:2;
    grid-row-start:6;
}

@media(max-width:479px) {
    .diagnostic-whatsapp-wrap {
        grid-column-start:1;
        grid-row-start:7;
    }
}

.diagnostic-privacy-wrap {
    grid-row-start:7;
}

@media(max-width:479px) {
    .diagnostic-privacy-wrap {
        grid-row-start:8;
    }
}

.diagnostic-footer {
    grid-column-start:1;
    grid-row-start:6;
}

@media(max-width:479px) {
    .diagnostic-footer {
        grid-row-start:7;
    }
}

.diagnostic-captcha-wrap {
    grid-row-start:5;
}

.diagnostic-label {
    font-size:13px;
    font-weight:500;
    line-height:18px;
    --tw-text-opacity: 1;
    color:rgb(244 251 252 / var(--tw-text-opacity, 1));
}

.diagnostic-input {
    height:52px;
    width:100%;
    max-width:560px;
    border-radius:.375rem;
    border-width:1px;
    --tw-border-opacity: 1;
    border-color:rgb(36 55 70 / var(--tw-border-opacity, 1));
    background-color:transparent;
    padding-left:18px;
    padding-right:18px;
    font-size:15px;
    --tw-text-opacity: 1;
    color:rgb(244 251 252 / var(--tw-text-opacity, 1));
    outline:2px solid transparent;
    outline-offset:2px;
    -webkit-transition-property:border-color,-webkit-box-shadow;
    transition-property:border-color,-webkit-box-shadow;
    -o-transition-property:border-color,box-shadow;
    transition-property:border-color,box-shadow;
    transition-property:border-color,box-shadow,-webkit-box-shadow;
    -webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
         -o-transition-timing-function:cubic-bezier(.4,0,.2,1);
            transition-timing-function:cubic-bezier(.4,0,.2,1);
    -webkit-transition-duration:.15s;
         -o-transition-duration:.15s;
            transition-duration:.15s;
}

.diagnostic-input::-moz-placeholder {
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-input::-webkit-input-placeholder {
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-input:-ms-input-placeholder {
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-input::-ms-input-placeholder {
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-input::placeholder {
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-input:focus {
    border-color:#00ffe6b3;
    --tw-shadow: 0 0 0 2px rgba(0,255,230,.12);
    --tw-shadow-colored: 0 0 0 2px var(--tw-shadow-color);
    -webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);
            box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);
}

.diagnostic-hp {
    position:absolute;
    left:-9999px;
    height:0px;
    width:0px;
    overflow:hidden;
    opacity:0;
}

.diagnostic-submit,.diagnostic-whatsapp {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    height:3.5rem;
    width:100%;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
    border-radius:.375rem;
    padding-left:1.75rem;
    padding-right:1.75rem;
    font-size:15px;
    font-weight:600;
    line-height:1;
    -webkit-text-decoration-line:none;
            text-decoration-line:none;
}

.diagnostic-submit {
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
    border-width:0px;
    background-image:-webkit-gradient(linear,left top, right top,from(#00ffe6),to(#00bdff));
    background-image:-o-linear-gradient(left,#00ffe6,#00bdff);
    background-image:linear-gradient(90deg,#00ffe6,#00bdff);
    --tw-text-opacity: 1;
    color:rgb(6 16 24 / var(--tw-text-opacity, 1));
}

.diagnostic-submit:after {
    content:"→";
    font-size:18px;
}

.diagnostic-whatsapp {
    border-width:1px;
    --tw-border-opacity: 1;
    border-color:rgb(36 55 70 / var(--tw-border-opacity, 1));
    background-color:transparent;
    --tw-text-opacity: 1;
    color:rgb(244 251 252 / var(--tw-text-opacity, 1));
}

.diagnostic-whatsapp:hover {
    border-color:#00ffe699;
}

.diagnostic-privacy {
    margin:0;
    font-size:.75rem;
    line-height:1rem;
    --tw-text-opacity: 1;
    color:rgb(113 136 148 / var(--tw-text-opacity, 1));
}

.diagnostic-response {
    font-size:13px;
    --tw-text-opacity: 1;
    color:rgb(168 189 199 / var(--tw-text-opacity, 1));
}

.diagnostic-response.is-ok {
    color:#00ffe6;
}

.diagnostic-response.is-err {
    color:#ff8a8a;
}

.diagnostic-error {
    margin:0;
    color:#ff8a8a;
    font-size:12px;
    line-height:16px;
}

.diagnostic-input.is-invalid {
    border-color:#ff8a8ab3;
}

.diagnostic-captcha {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:10px;
}

.diagnostic-captcha-art {
    -webkit-box-flex:0;
        -ms-flex:none;
            flex:none;
    width:180px;
    height:52px;
    overflow:hidden;
    border:1px solid #243746;
    border-radius:8px;
    background:#061018;
}

.diagnostic-captcha-art svg {
    display:block;
    width:180px;
    height:52px;
}

.diagnostic-captcha-input {
    max-width:140px;
}

.diagnostic-captcha-refresh {
    -webkit-box-flex:0;
        -ms-flex:none;
            flex:none;
    width:52px;
    height:52px;
    border:1px solid #243746;
    border-radius:8px;
    background:transparent;
    color:#00ffe6;
    font-size:20px;
    line-height:1;
    cursor:pointer;
}

.diagnostic-captcha-refresh:hover {
    border-color:#00ffe699;
}

.diagnostic-privacy-check {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
    gap:10px;
    color:#a8bdc7;
    font-size:12px;
    line-height:18px;
    cursor:pointer;
}

.diagnostic-privacy-check input {
    margin-top:3px;
    accent-color:#00ffe6;
}

.diagnostic-submit:disabled {
    opacity:.65;
    cursor:wait;
}

.faq-item {
    border-bottom-width:1px;
    border-color:#97e0e526;
}

.faq-summary {
    position:relative;
    cursor:pointer;
    list-style-type:none;
    padding-top:1.5rem;
    padding-bottom:1.5rem;
    padding-right:3rem;
    font-size:1.25rem;
    font-weight:600;
    line-height:1.75rem;
    --tw-text-opacity: 1;
    color:rgb(244 251 252 / var(--tw-text-opacity, 1));
    outline:2px solid transparent;
    outline-offset:2px;
    -webkit-transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;
    transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;
    -o-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;
    transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;
    -webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
         -o-transition-timing-function:cubic-bezier(.4,0,.2,1);
            transition-timing-function:cubic-bezier(.4,0,.2,1);
    -webkit-transition-duration:.15s;
         -o-transition-duration:.15s;
            transition-duration:.15s;
}

@media(max-width:767px) {
    .faq-summary {
        padding-top:1.25rem;
        padding-bottom:1.25rem;
        font-size:17px;
        line-height:1.5rem;
    }
}

.faq-summary::-webkit-details-marker {
    display:none;
}

.faq-summary:after {
    content:"+";
    position:absolute;
    right:0;
    top:50%;
    --tw-translate-y: -50%;
    -webkit-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
        -ms-transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
            transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    font-size:1.5rem;
    line-height:2rem;
    font-weight:300;
    line-height:1;
    --tw-text-opacity: 1;
    color:rgb(0 255 230 / var(--tw-text-opacity, 1));
}

.faq-item[open] .faq-summary:after {
    content:"−";
}

.faq-item[open] .faq-summary {
    --tw-text-opacity: 1;
    color:rgb(0 255 230 / var(--tw-text-opacity, 1));
}

.faq-answer {
    max-width:760px;
    padding-bottom:1.5rem;
    font-size:15px;
    line-height:1.5rem;
    --tw-text-opacity: 1;
    color:rgb(168 189 199 / var(--tw-text-opacity, 1));
}

/* FAQ Schema For Pages And Posts: visual integration with the Turquesa theme. */
.turquesa-faq-shortcode .wp-faq-schema-items {
    border-top:1px solid rgb(151 224 229 / .15);
}

.turquesa-faq-shortcode .wp-faq-schema-items>h3,
.turquesa-faq-shortcode .wp-faq-schema-items>.ui-accordion-header {
    position:relative;
    margin:0;
    padding:24px 48px 24px 0;
    border:0;
    border-bottom:1px solid rgb(151 224 229 / .15);
    border-radius:0;
    background:transparent;
    color:#f4fbfc;
    font-family:Manrope,sans-serif;
    font-size:20px;
    font-weight:600;
    line-height:28px;
    cursor:pointer;
}

.turquesa-faq-shortcode .wp-faq-schema-items>h3:after,
.turquesa-faq-shortcode .wp-faq-schema-items>.ui-accordion-header:after {
    content:"+";
    position:absolute;
    right:0;
    top:50%;
    color:#00ffe6;
    font-size:24px;
    font-weight:300;
    line-height:1;
    transform:translateY(-50%);
}

.turquesa-faq-shortcode .wp-faq-schema-items>.ui-state-active {
    border-bottom-color:transparent;
    color:#00ffe6;
}

.turquesa-faq-shortcode .wp-faq-schema-items>.ui-state-active:after {
    content:"−";
}

.turquesa-faq-shortcode .wp-faq-schema-items .ui-accordion-header-icon {
    display:none;
}

.wp-faq-schema-accordion .wp-faq-schema-items>h3+div[hidden] {
    display:none !important;
}

.turquesa-faq-shortcode .wp-faq-schema-items>div,
.turquesa-faq-shortcode .wp-faq-schema-items>.ui-accordion-content {
    max-width:none;
    margin:0;
    padding:0 0 24px;
    border:0;
    border-bottom:1px solid rgb(151 224 229 / .15);
    border-radius:0;
    background:transparent;
    color:#a8bdc7;
    font-family:Manrope,sans-serif;
    font-size:15px;
    line-height:24px;
}

.turquesa-faq-shortcode .wp-faq-schema-items>div p {
    max-width:820px;
    margin:0;
}

.turquesa-faq-shortcode .wp-faq-schema-items>div strong {
    color:#f4fbfc;
    font-weight:600;
}

@media(max-width:767px) {
    .turquesa-faq-shortcode .wp-faq-schema-items>h3,
    .turquesa-faq-shortcode .wp-faq-schema-items>.ui-accordion-header {
        padding-top:20px;
        padding-bottom:20px;
        font-size:17px;
        line-height:24px;
    }
}

@media(max-width:767px) {
    .faq-answer {
        padding-bottom:1.25rem;
    }
}

.mega-panel {
    display:none;
    position:absolute;
    left:5vw;
    right:5vw;
    top:100%;
    z-index:70;
    max-height:calc(100dvh - 120px);
    overflow:auto;
    padding-top:8px;
    margin-top:-8px;
}

.mega-panel-inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:28px;
    border:1px solid #243746;
    border-radius:16px;
    background:#0b202b;
    padding:32px;
    -webkit-box-shadow:0 0 60px #00ffe640;
            box-shadow:0 0 60px #00ffe640;
}

.mega-panel-top {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between;
    gap:32px;
}

.mega-panel-top p {
    margin:0;
    font-size:17px;
    line-height:1.5;
    color:#a8bdc7;
}

.mega-panel-top a {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-negative:0;
        flex-shrink:0;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:12px;
    font-size:14px;
    font-weight:600;
    color:#f4fbfc;
}

.mega-panel-top a:hover {
    color:#00ffe6;
}

.mega-panel-top img {
    width:16px;
    height:16px;
}

[data-site-header] {
    position:-webkit-sticky;
    position:sticky;
}

@media(min-width:1120px) {
    [data-site-header]:has([data-services-trigger]:hover) .mega-panel,[data-site-header]:has(.mega-panel:hover) .mega-panel,[data-site-header].is-mega-open .mega-panel {
        display:block;
    }
}

.mega-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:28px 32px;
}

.mega-col {
    min-width:0;
}

.mega-col h3 {
    margin-bottom:12px;
    font-size:11px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#00ffe6;
}

.mega-col nav {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:2px;
}

.mega-link {
    display:block;
    padding:5px 0;
    font-size:14px;
    line-height:1.35;
    color:#a8bdc7;
    -webkit-transition:color .15s ease;
    -o-transition:color .15s ease;
    transition:color .15s ease;
}

.mega-link:hover,.mega-link.is-current {
    color:#00ffe6;
}

@media(max-width:1439px) {
    .mega-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:22px 24px;
    }
}

@media(max-width:1119px) {
    .mega-panel {
        position:static;
        left:auto;
        right:auto;
        max-height:none;
        overflow:visible;
    }
    .mega-panel-inner {
        gap:16px;
        border:0;
        border-radius:0;
        background:transparent;
        padding:0 0 8px;
        -webkit-box-shadow:none;
                box-shadow:none;
    }
    .mega-panel-top {
        display:none;
    }
    [data-site-header].is-mega-open .mega-panel {
        display:block;
    }
    .mega-grid {
        grid-template-columns:1fr;
        gap:18px;
        padding-bottom:8px;
    }
    .mega-col {
        border-bottom:1px solid rgb(151 224 229 / .12);
        padding-bottom:14px;
    }
    .mega-col:last-child {
        border-bottom:0;
        padding-bottom:0;
    }
    .mega-col h3 {
        margin-bottom:8px;
    }
    .mega-link {
        padding:8px 0;
        font-size:17px;
    }
}

:root {
    --enter-ease: cubic-bezier(.2, .7, .2, 1);
}

html {
    background:#061018;
}

picture.opt-img {
    display:contents;
}

body.is-entering {
    -webkit-animation:pageEnter .7s cubic-bezier(.2,.7,.2,1) backwards;
            animation:pageEnter .7s cubic-bezier(.2,.7,.2,1) backwards;
}

body.is-leaving {
    pointer-events:none;
    opacity:0;
    -webkit-transform:translateY(-22px) scale(.985);
        -ms-transform:translateY(-22px) scale(.985);
            transform:translateY(-22px) scale(.985);
    -webkit-filter:blur(5px);
            filter:blur(5px);
    -webkit-transition:opacity .4s cubic-bezier(.4,0,.2,1),-webkit-transform .4s cubic-bezier(.4,0,.2,1),-webkit-filter .4s;
    transition:opacity .4s cubic-bezier(.4,0,.2,1),-webkit-transform .4s cubic-bezier(.4,0,.2,1),-webkit-filter .4s;
    -o-transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),filter .4s;
    transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),filter .4s;
    transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),filter .4s,-webkit-transform .4s cubic-bezier(.4,0,.2,1),-webkit-filter .4s;
}

@-webkit-keyframes pageEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(30px) scale(.99);
                transform:translateY(30px) scale(.99);
        -webkit-filter:blur(7px);
                filter:blur(7px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@keyframes pageEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(30px) scale(.99);
                transform:translateY(30px) scale(.99);
        -webkit-filter:blur(7px);
                filter:blur(7px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@-webkit-keyframes headerEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(-24px);
                transform:translateY(-24px);
        -webkit-filter:blur(6px);
                filter:blur(6px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@keyframes headerEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(-24px);
                transform:translateY(-24px);
        -webkit-filter:blur(6px);
                filter:blur(6px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@-webkit-keyframes wordin {
    0% {
        opacity:0;
        -webkit-transform:translateY(40px) rotate(2deg);
                transform:translateY(40px) rotate(2deg);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
    }
}

@keyframes wordin {
    0% {
        opacity:0;
        -webkit-transform:translateY(40px) rotate(2deg);
                transform:translateY(40px) rotate(2deg);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
    }
}

@-webkit-keyframes cinUp {
    0% {
        opacity:0;
        -webkit-transform:translateY(26px);
                transform:translateY(26px);
        -webkit-filter:blur(6px);
                filter:blur(6px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@keyframes cinUp {
    0% {
        opacity:0;
        -webkit-transform:translateY(26px);
                transform:translateY(26px);
        -webkit-filter:blur(6px);
                filter:blur(6px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@-webkit-keyframes visualEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(30px) scale(.96);
                transform:translateY(30px) scale(.96);
        -webkit-filter:blur(8px);
                filter:blur(8px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

@keyframes visualEnter {
    0% {
        opacity:0;
        -webkit-transform:translateY(30px) scale(.96);
                transform:translateY(30px) scale(.96);
        -webkit-filter:blur(8px);
                filter:blur(8px);
    }
    to {
        opacity:1;
        -webkit-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
}

[data-site-header] {
    background:transparent;
    -webkit-transition:background .4s var(--enter-ease),border-color .4s var(--enter-ease),-webkit-backdrop-filter .4s var(--enter-ease);
    transition:background .4s var(--enter-ease),border-color .4s var(--enter-ease),-webkit-backdrop-filter .4s var(--enter-ease);
    -o-transition:background .4s var(--enter-ease),border-color .4s var(--enter-ease),backdrop-filter .4s var(--enter-ease);
    transition:background .4s var(--enter-ease),border-color .4s var(--enter-ease),backdrop-filter .4s var(--enter-ease);
    transition:background .4s var(--enter-ease),border-color .4s var(--enter-ease),backdrop-filter .4s var(--enter-ease),-webkit-backdrop-filter .4s var(--enter-ease);
}

[data-site-header].is-scrolled,[data-site-header].is-menu-open {
    background:#061018c7;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

#scroll-progress {
    position:fixed;
    top:0;
    left:0;
    z-index:60;
    height:3px;
    width:100%;
    -webkit-transform:scaleX(0);
        -ms-transform:scaleX(0);
            transform:scaleX(0);
    -webkit-transform-origin:left center;
        -ms-transform-origin:left center;
            transform-origin:left center;
    background:-webkit-gradient(linear,left top, right top,from(#00ffe6),to(#00bdff));
    background:-o-linear-gradient(left,#00ffe6,#00bdff);
    background:linear-gradient(90deg,#00ffe6,#00bdff);
    -webkit-box-shadow:0 0 12px #00ffe68c;
            box-shadow:0 0 12px #00ffe68c;
}

@supports (animation-timeline: scroll()) {
    [data-site-header] {
        -webkit-animation:header-scrolled linear both;
                animation:header-scrolled linear both;
        animation-timeline:scroll();
        animation-range:0 48px;
    }
    #scroll-progress {
        -webkit-animation:page-progress linear both;
                animation:page-progress linear both;
        animation-timeline:scroll();
    }
}

@-webkit-keyframes header-scrolled {
    to {
        background:#061018c7;
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
    }
}

@keyframes header-scrolled {
    to {
        background:#061018c7;
        backdrop-filter:blur(14px);
        -webkit-backdrop-filter:blur(14px);
    }
}

@-webkit-keyframes page-progress {
    0% {
        -webkit-transform:scaleX(0);
                transform:scaleX(0);
    }
    to {
        -webkit-transform:scaleX(1);
                transform:scaleX(1);
    }
}

@keyframes page-progress {
    0% {
        -webkit-transform:scaleX(0);
                transform:scaleX(0);
    }
    to {
        -webkit-transform:scaleX(1);
                transform:scaleX(1);
    }
}

.ambient {
    position:fixed;
    inset:0;
    z-index:0;
    overflow:hidden;
    pointer-events:none;
}

.ambient-orb {
    position:absolute;
    border-radius:50%;
    -webkit-filter:blur(100px);
            filter:blur(100px);
}

.ambient-orb-a {
    top:-260px;
    left:-180px;
    width:680px;
    height:680px;
    background:-o-radial-gradient(circle,#00ffe6,transparent 70%);
    background:radial-gradient(circle,#00ffe6,transparent 70%);
    opacity:.22;
    -webkit-animation:drift1 22s ease-in-out infinite;
            animation:drift1 22s ease-in-out infinite;
}

.ambient-orb-b {
    top:30%;
    right:-240px;
    width:600px;
    height:600px;
    background:-o-radial-gradient(circle,#00bdff,transparent 70%);
    background:radial-gradient(circle,#00bdff,transparent 70%);
    opacity:.2;
    -webkit-animation:drift2 26s ease-in-out infinite;
            animation:drift2 26s ease-in-out infinite;
}

.ambient-orb-c {
    bottom:-220px;
    left:34%;
    width:560px;
    height:560px;
    background:-o-radial-gradient(circle,#97e0e5,transparent 70%);
    background:radial-gradient(circle,#97e0e5,transparent 70%);
    opacity:.16;
    -webkit-animation:drift3 30s ease-in-out infinite;
            animation:drift3 30s ease-in-out infinite;
}

.ambient-grain {
    position:fixed;
    inset:0;
    z-index:1;
    pointer-events:none;
    opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

#bg-canvas {
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    opacity:.55;
}

@-webkit-keyframes drift1 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(80px,60px);
                transform:translate(80px,60px);
    }
}

@keyframes drift1 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(80px,60px);
                transform:translate(80px,60px);
    }
}

@-webkit-keyframes drift2 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(-90px,40px);
                transform:translate(-90px,40px);
    }
}

@keyframes drift2 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(-90px,40px);
                transform:translate(-90px,40px);
    }
}

@-webkit-keyframes drift3 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(60px,-70px);
                transform:translate(60px,-70px);
    }
}

@keyframes drift3 {
    0%,to {
        -webkit-transform:translate(0);
                transform:translate(0);
    }
    50% {
        -webkit-transform:translate(60px,-70px);
                transform:translate(60px,-70px);
    }
}

.partners-wrap {
    padding:40px 0;
    border-top:1px solid rgb(151 224 229 / .15);
    border-bottom:1px solid rgb(151 224 229 / .15);
    background:#00ffe604;
}

.partners-label {
    margin-bottom:30px;
    text-align:center;
    font-size:12.5px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#718894;
}

.partners-viewport {
    overflow:hidden;
    -webkit-mask-image:-webkit-gradient(linear,left top, right top,from(transparent),color-stop(7%, #000),color-stop(93%, #000),to(transparent));
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
    mask-image:-webkit-gradient(linear,left top, right top,from(transparent),color-stop(7%, #000),color-stop(93%, #000),to(transparent));
    mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
}

.partners-track {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width:-moz-max-content;
    width:-webkit-max-content;
    width:max-content;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:60px;
    -webkit-animation:partnersScroll 32s linear infinite;
            animation:partnersScroll 32s linear infinite;
}

.partners-wrap:hover .partners-track {
    -webkit-animation-play-state:paused;
            animation-play-state:paused;
}

.partner-name {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    min-width:140px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
    font-size:21px;
    font-weight:700;
    letter-spacing:-.01em;
    white-space:nowrap;
    color:#a8bdc76b;
    -webkit-transition:color .3s var(--enter-ease);
    -o-transition:color .3s var(--enter-ease);
    transition:color .3s var(--enter-ease);
}

.partner-name:hover {
    color:#f4fbfc;
}

@-webkit-keyframes partnersScroll {
    to {
        -webkit-transform:translate(-50%);
                transform:translate(-50%);
    }
}

@keyframes partnersScroll {
    to {
        -webkit-transform:translate(-50%);
                transform:translate(-50%);
    }
}

.engine-card {
    --pc: #00bdff;
    --pct: rgb(0 189 255 / .16);
    --mx: 50%;
    --my: 0%;
    cursor:pointer;
    position:relative;
    overflow:hidden;
    border:1px solid #243746;
    border-top:4px solid var(--pc);
    border-radius:16px;
    padding:34px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
    -webkit-transition:border-color .4s,-webkit-transform .4s var(--enter-ease);
    transition:border-color .4s,-webkit-transform .4s var(--enter-ease);
    -o-transition:transform .4s var(--enter-ease),border-color .4s;
    transition:transform .4s var(--enter-ease),border-color .4s;
    transition:transform .4s var(--enter-ease),border-color .4s,-webkit-transform .4s var(--enter-ease);
}

.engine-card:before {
    content:"";
    position:absolute;
    inset:0;
    background:-o-radial-gradient(var(--mx) var(--my),500px circle,rgb(0 255 230 / .16),transparent 60%);
    background:radial-gradient(500px circle at var(--mx) var(--my),rgb(0 255 230 / .16),transparent 60%);
    opacity:0;
    -webkit-transition:opacity .4s;
    -o-transition:opacity .4s;
    transition:opacity .4s;
    pointer-events:none;
    z-index:0;
}

.engine-card:hover {
    -webkit-transform:translateY(-6px);
        -ms-transform:translateY(-6px);
            transform:translateY(-6px);
    border-color:#97e0e559;
}

.engine-card:hover:before {
    opacity:1;
}

.engine-card:after {
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:45%;
    height:100%;
    background:-o-linear-gradient(345deg,transparent,rgb(255 255 255 / .08),transparent);
    background:linear-gradient(105deg,transparent,rgb(255 255 255 / .08),transparent);
    -webkit-transform:skew(-18deg);
        -ms-transform:skew(-18deg);
            transform:skew(-18deg);
    opacity:0;
    pointer-events:none;
    z-index:1;
}

.engine-card:hover:after {
    opacity:1;
    -webkit-animation:engineCardShine .9s var(--enter-ease);
            animation:engineCardShine .9s var(--enter-ease);
}

@-webkit-keyframes engineCardShine {
    0% {
        left:-60%;
    }
    to {
        left:130%;
    }
}

@keyframes engineCardShine {
    0% {
        left:-60%;
    }
    to {
        left:130%;
    }
}

.engine-card>* {
    position:relative;
    z-index:2;
}

.engine-tag {
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    padding:4px 11px;
    border-radius:7px;
    border:1px solid color-mix(in srgb,var(--pc) 34%,transparent);
    background:color-mix(in srgb,var(--pc) 17%,transparent);
    color:color-mix(in srgb,var(--pc) 64%,#fff);
    font-size:10.5px;
    font-weight:700;
    letter-spacing:.13em;
    line-height:1.35;
    text-transform:uppercase;
    white-space:nowrap;
}

.engine-more {
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:7px;
    color:var(--pc);
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    -webkit-transition:gap .25s;
    -o-transition:gap .25s;
    transition:gap .25s;
}

.engine-card:hover .engine-more {
    gap:12px;
}

.engine-stat {
    border:1px solid color-mix(in srgb,var(--pc) 30%,transparent);
    border-radius:13px;
    background:var(--pct);
    padding:17px 18px;
}

.engine-card.is-module {
    --pc: #5a7a86;
    --pct: rgb(90 122 134 / .12);
}

.page-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.page-stat {
    border:1px solid #243746;
    border-radius:16px;
    padding:22px 20px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.page-steps {
    display:grid;
    max-width:860px;
    margin:0 auto;
}

.page-step {
    position:relative;
    padding:0 0 36px 32px;
    border-left:2px solid rgb(0 255 230 / .28);
}

.page-step:last-child {
    padding-bottom:0;
}

.page-step:before {
    content:"";
    position:absolute;
    left:-6px;
    top:6px;
    width:10px;
    height:10px;
    border-radius:999px;
    background:#00ffe6;
    -webkit-box-shadow:0 0 12px #00ffe673;
            box-shadow:0 0 12px #00ffe673;
}

.page-frows {
    display:grid;
    gap:18px;
}

.page-frow {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:14px;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
}

.page-check {
    display:grid;
    -webkit-box-flex:0;
        -ms-flex:none;
            flex:none;
    width:24px;
    height:24px;
    margin-top:2px;
    place-items:center;
    border:1px solid rgb(0 255 230 / .32);
    border-radius:7px;
    background:#00ffe61a;
    color:#00ffe6;
    font-size:13px;
}

.page-cta {
    border:1px solid #243746;
    border-radius:20px;
    padding:64px 48px;
    text-align:center;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

@media(max-width:1439px) {
    .page-stats {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px) {
    .page-stats {
        grid-template-columns:1fr;
    }
    .page-cta {
        padding:40px 22px;
    }
}

.hub-hero {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:48px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
}

.hub-platform {
    position:relative;
    width:min(470px,100%);
    aspect-ratio:1;
    margin:0 auto;
}

.hub-links {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    overflow:visible;
}

.hub-link {
    fill:none;
    stroke:#00ffe661;
    stroke-width:1.1;
    stroke-dasharray:3 7;
    stroke-linecap:round;
    -webkit-animation:hub-flow 2.8s linear infinite;
            animation:hub-flow 2.8s linear infinite;
}

.hub-link.is-base {
    stroke:#00bdff1f;
    stroke-dasharray:none;
    -webkit-animation:none;
            animation:none;
}

.hub-core {
    position:absolute;
    left:50%;
    top:50%;
    z-index:3;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    width:122px;
    height:122px;
    -webkit-transform:translate(-50%,-50%);
        -ms-transform:translate(-50%,-50%);
            transform:translate(-50%,-50%);
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
    gap:6px;
    border:1px solid rgb(0 255 230 / .4);
    border-radius:26px;
    background:-o-linear-gradient(295deg,#0c2a32,#061018);
    background:linear-gradient(155deg,#0c2a32,#061018);
    -webkit-box-shadow:0 24px 60px -22px #000c,inset 0 1px #ffffff1a;
            box-shadow:0 24px 60px -22px #000c,inset 0 1px #ffffff1a;
}

.hub-core:after {
    content:"";
    position:absolute;
    inset:-1px;
    border-radius:26px;
    -webkit-animation:hub-ring 3.4s ease-out infinite;
            animation:hub-ring 3.4s ease-out infinite;
}

.hub-node {
    position:absolute;
    z-index:2;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-transform:translate(-50%,-50%);
        -ms-transform:translate(-50%,-50%);
            transform:translate(-50%,-50%);
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:9px;
    white-space:nowrap;
    border:1px solid rgb(255 255 255 / .1);
    border-radius:12px;
    background:#061018db;
    padding:9px 14px;
    -webkit-box-shadow:0 12px 30px -16px #000;
            box-shadow:0 12px 30px -16px #000;
    -webkit-animation:hub-node 4.5s ease-in-out infinite;
            animation:hub-node 4.5s ease-in-out infinite;
}

.hub-dot {
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--c, #00ffe6);
    -webkit-box-shadow:0 0 10px var(--c, #00ffe6);
            box-shadow:0 0 10px var(--c, #00ffe6);
}

.ss-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:56px;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:start;
}

.ss-stage {
    position:-webkit-sticky;
    position:sticky;
    top:128px;
}

.ss-frame {
    overflow:hidden;
    border:1px solid #243746;
    border-radius:16px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.ss-bar {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:6px;
    border-bottom:1px solid #243746;
    padding:12px 16px;
}

.ss-bar i {
    display:block;
    width:8px;
    height:8px;
    border-radius:999px;
    background:#243746;
}

.ss-step {
    padding:8px 0 72px 28px;
    border-left:2px solid rgb(0 255 230 / .22);
}

.ss-step:last-child {
    padding-bottom:0;
}

.ss-num {
    display:block;
    margin-bottom:10px;
    color:#00ffe6;
    font-size:13px;
    font-weight:700;
    letter-spacing:.14em;
}

.flexspot {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
}

.flexspot+.flexspot {
    margin-top:80px;
}

.tcmrows {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:80px;
}

.tcmrow {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:48px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
}

.tcmrow.is-rev .tcmshot {
    -webkit-box-ordinal-group:3;
        -ms-flex-order:2;
            order:2;
}

.tcmshot {
    position:relative;
    overflow:hidden;
    border:1px solid #243746;
    border-radius:16px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.tcm-dot {
    position:absolute;
    z-index:2;
    display:grid;
    width:22px;
    height:22px;
    -webkit-transform:translate(-50%,-50%);
        -ms-transform:translate(-50%,-50%);
            transform:translate(-50%,-50%);
    place-items:center;
    border-radius:999px;
    background:#00bdff;
    color:#061018;
    font-size:11px;
    font-weight:800;
    -webkit-box-shadow:0 0 0 2px #f4fbfc;
            box-shadow:0 0 0 2px #f4fbfc;
    -webkit-animation:tcm-dot 2.4s ease-in-out infinite;
            animation:tcm-dot 2.4s ease-in-out infinite;
}

.metric-row {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px;
}

.metric-card {
    border:1px solid #243746;
    border-radius:16px;
    padding:28px 22px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.bzsplit {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
}

.bzstep {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:14px;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
    padding-bottom:22px;
}

.bzic {
    display:grid;
    -webkit-box-flex:0;
        -ms-flex:none;
            flex:none;
    width:44px;
    height:44px;
    place-items:center;
    border:1px solid rgb(0 255 230 / .28);
    border-radius:12px;
    background:#00ffe61a;
    color:#00ffe6;
    font-size:13px;
    font-weight:800;
}

.chip-row {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    gap:10px;
}

.chip {
    border:1px solid #243746;
    border-radius:999px;
    padding:8px 14px;
    background:#0c1c27cc;
    color:#d7e6ea;
    font-size:13px;
    font-weight:600;
}

.cat-kicker {
    margin:40px 0 16px;
    color:#00ffe6;
    font-size:12px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

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

.cat-card {
    border:1px solid #243746;
    border-radius:16px;
    padding:24px 22px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

a.cat-card-link {
    display:block;
    text-decoration:none;
    color:inherit;
    -webkit-transition:border-color .2s ease;
    -o-transition:border-color .2s ease;
    transition:border-color .2s ease;
}

a.cat-card-link:hover {
    border-color:#00ffe6;
}

.proy-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:22px;
}

.proy-card {
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:16px;
    aspect-ratio:464 / 684;
    background:#0b202b;
}

.proy-card img {
    height:100%;
    width:100%;
    -o-object-fit:cover;
    object-fit:cover;
}

.proy-overlay {
    position:absolute;
    bottom:10%;
    left:0;
    width:80%;
    border-radius:10px;
    background:#061018d1;
    padding:20px 22px 18px 28px;
    color:#f4fbfc;
}

.proy-overlay h3 {
    margin:0 0 8px;
    font-size:18px;
    font-weight:800;
    line-height:1.2;
}

.proy-overlay span {
    display:block;
    margin-bottom:14px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.06em;
    color:#00ffe6;
}

.proy-overlay b {
    display:block;
    font-size:36px;
    font-weight:800;
    line-height:1;
    letter-spacing:-.03em;
}

.proy-overlay p {
    margin:8px 0 0;
    font-size:14px;
    line-height:1.45;
    color:#a8bdc7;
}

@media(max-width:1439px) {
    .proy-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px) {
    .proy-grid {
        grid-template-columns:1fr;
    }
    .proy-overlay {
        width:calc(100% - 24px);
        left:12px;
        padding:16px 16px 14px;
    }
    .proy-overlay h3 {
        font-size:20px;
    }
    .proy-overlay b {
        font-size:30px;
    }
}

.intg {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center;
    gap:14px;
}

.intg-node {
    min-width:160px;
    border:1px solid #243746;
    border-radius:14px;
    padding:18px 20px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
    text-align:center;
}

.intg-arrow {
    color:#00ffe6;
    font-size:22px;
}

.usp-trio {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.usp-item {
    border:1px solid #243746;
    border-radius:16px;
    padding:28px 24px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.feat-band {
    border:1px solid rgb(0 255 230 / .16);
    border-radius:20px;
    padding:48px 40px;
    background:-webkit-gradient(linear,left top, left bottom,from(#00ffe60f),to(#061018));
    background:-o-linear-gradient(top,#00ffe60f,#061018);
    background:linear-gradient(180deg,#00ffe60f,#061018);
}

.feat-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
}

.mode-duo {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.mode-card {
    border:1px solid #243746;
    border-radius:16px;
    padding:28px 24px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.cmp-table {
    width:100%;
    border-collapse:collapse;
    overflow:hidden;
    border:1px solid #243746;
    border-radius:16px;
}

.cmp-table th,.cmp-table td {
    border-bottom:1px solid #243746;
    padding:16px 18px;
    text-align:left;
    font-size:15px;
}

.cmp-table th {
    background:#0c1c27;
    color:#f4fbfc;
    font-weight:700;
}

.cmp-table td {
    color:#97e0e5;
}

.cmp-table tr:last-child td {
    border-bottom:0;
}

@-webkit-keyframes hub-flow {
    to {
        stroke-dashoffset:-50;
    }
}

@keyframes hub-flow {
    to {
        stroke-dashoffset:-50;
    }
}

@-webkit-keyframes hub-ring {
    0% {
        -webkit-box-shadow:0 0 #00ffe666;
                box-shadow:0 0 #00ffe666;
    }
    70%,to {
        -webkit-box-shadow:0 0 0 22px #00ffe600;
                box-shadow:0 0 0 22px #00ffe600;
    }
}

@keyframes hub-ring {
    0% {
        -webkit-box-shadow:0 0 #00ffe666;
                box-shadow:0 0 #00ffe666;
    }
    70%,to {
        -webkit-box-shadow:0 0 0 22px #00ffe600;
                box-shadow:0 0 0 22px #00ffe600;
    }
}

@-webkit-keyframes hub-node {
    0%,to {
        -webkit-transform:translate(-50%,-50%);
                transform:translate(-50%,-50%);
    }
    50% {
        -webkit-transform:translate(-50%,calc(-50% - 5px));
                transform:translate(-50%,calc(-50% - 5px));
    }
}

@keyframes hub-node {
    0%,to {
        -webkit-transform:translate(-50%,-50%);
                transform:translate(-50%,-50%);
    }
    50% {
        -webkit-transform:translate(-50%,calc(-50% - 5px));
                transform:translate(-50%,calc(-50% - 5px));
    }
}

@-webkit-keyframes tcm-dot {
    0%,to {
        -webkit-box-shadow:0 0 0 2px #f4fbfc;
                box-shadow:0 0 0 2px #f4fbfc;
    }
    50% {
        -webkit-box-shadow:0 0 0 6px #00bdff38;
                box-shadow:0 0 0 6px #00bdff38;
    }
}

@keyframes tcm-dot {
    0%,to {
        -webkit-box-shadow:0 0 0 2px #f4fbfc;
                box-shadow:0 0 0 2px #f4fbfc;
    }
    50% {
        -webkit-box-shadow:0 0 0 6px #00bdff38;
                box-shadow:0 0 0 6px #00bdff38;
    }
}

@media(max-width:1119px) {
    .hub-hero,.ss-grid,.flexspot,.tcmrow,.bzsplit,.mode-duo {
        grid-template-columns:1fr;
        gap:32px;
    }
    .tcmrow.is-rev .tcmshot {
        -webkit-box-ordinal-group:1;
            -ms-flex-order:0;
                order:0;
    }
    .ss-stage {
        position:static;
    }
    .metric-row,.usp-trio,.feat-grid,.cat-grid {
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:767px) {
    .metric-row,.usp-trio,.feat-grid,.cat-grid {
        grid-template-columns:1fr;
    }
    .feat-band {
        padding:32px 22px;
    }
    .hub-node b {
        font-size:12px;
    }
    .intg-arrow {
        display:none;
    }
}

@media(prefers-reduced-motion:reduce) {
    .hub-link,.hub-core:after,.hub-node,.tcm-dot {
        -webkit-animation:none;
                animation:none;
    }
}

.tilt-scene {
    -webkit-perspective:1400px;
            perspective:1400px;
    -webkit-perspective-origin:50% 40%;
            perspective-origin:50% 40%;
}

.tilt-target {
    -webkit-transform:rotateX(var(--rx, 6deg)) rotateY(var(--ry, 0deg));
            transform:rotateX(var(--rx, 6deg)) rotateY(var(--ry, 0deg));
    -webkit-transform-style:preserve-3d;
            transform-style:preserve-3d;
    -webkit-transition:-webkit-transform .3s var(--enter-ease);
    transition:-webkit-transform .3s var(--enter-ease);
    -o-transition:transform .3s var(--enter-ease);
    transition:transform .3s var(--enter-ease);
    transition:transform .3s var(--enter-ease), -webkit-transform .3s var(--enter-ease);
    will-change:transform;
}

.btn-glow,.btn-ghost {
    position:relative;
    overflow:hidden;
    -webkit-transition:border-color .25s var(--enter-ease),background .25s var(--enter-ease),-webkit-transform .25s var(--enter-ease),-webkit-box-shadow .25s var(--enter-ease),-webkit-filter .25s var(--enter-ease);
    transition:border-color .25s var(--enter-ease),background .25s var(--enter-ease),-webkit-transform .25s var(--enter-ease),-webkit-box-shadow .25s var(--enter-ease),-webkit-filter .25s var(--enter-ease);
    -o-transition:transform .25s var(--enter-ease),box-shadow .25s var(--enter-ease),border-color .25s var(--enter-ease),background .25s var(--enter-ease),filter .25s var(--enter-ease);
    transition:transform .25s var(--enter-ease),box-shadow .25s var(--enter-ease),border-color .25s var(--enter-ease),background .25s var(--enter-ease),filter .25s var(--enter-ease);
    transition:transform .25s var(--enter-ease),box-shadow .25s var(--enter-ease),border-color .25s var(--enter-ease),background .25s var(--enter-ease),filter .25s var(--enter-ease),-webkit-transform .25s var(--enter-ease),-webkit-box-shadow .25s var(--enter-ease),-webkit-filter .25s var(--enter-ease);
}

.btn-glow {
    -webkit-box-shadow:0 10px 30px #00ffe647;
            box-shadow:0 10px 30px #00ffe647;
}

.btn-glow:before {
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:-o-radial-gradient(var(--bx, 50%) var(--by, 50%),120px circle,rgba(255,255,255,.22),transparent 60%);
    background:radial-gradient(120px circle at var(--bx, 50%) var(--by, 50%),rgba(255,255,255,.22),transparent 60%);
    opacity:0;
    pointer-events:none;
    -webkit-transition:opacity .35s;
    -o-transition:opacity .35s;
    transition:opacity .35s;
}

.btn-glow:hover {
    -webkit-transform:translateY(-2px);
        -ms-transform:translateY(-2px);
            transform:translateY(-2px);
    -webkit-box-shadow:0 16px 44px #00ffe66b;
            box-shadow:0 16px 44px #00ffe66b;
}

.btn-glow:hover:before {
    opacity:1;
}

.btn-ghost:hover {
    -webkit-transform:translateY(-2px);
        -ms-transform:translateY(-2px);
            transform:translateY(-2px);
    border-color:#00ffe680;
    background:#00ffe60a;
    -webkit-box-shadow:0 12px 30px #00ffe61f;
            box-shadow:0 12px 30px #00ffe61f;
}

@media(max-width:767px) {
    body.is-entering {
        -webkit-animation:none;
                animation:none;
    }
    .enter-header,.enter-up,.enter-word,.enter-visual {
        -webkit-animation:none!important;
                animation:none!important;
        opacity:1!important;
        -webkit-transform:none!important;
            -ms-transform:none!important;
                transform:none!important;
        -webkit-filter:none!important;
                filter:none!important;
    }
    #bg-canvas {
        display:none;
    }
    .ambient-orb {
        -webkit-filter:blur(80px);
                filter:blur(80px);
    }
    .ambient-orb-a,.ambient-orb-b,.ambient-orb-c {
        width:420px;
        height:420px;
        opacity:.14;
    }
}

@media(prefers-reduced-motion:reduce) {
    body.is-entering {
        -webkit-animation:none;
                animation:none;
    }
    body.is-leaving {
        -webkit-transition:none;
        -o-transition:none;
        transition:none;
        opacity:1;
        -webkit-transform:none;
            -ms-transform:none;
                transform:none;
        -webkit-filter:none;
                filter:none;
    }
    .enter-header,.enter-up,.enter-word,.enter-visual {
        -webkit-animation:none!important;
                animation:none!important;
        opacity:1!important;
        -webkit-transform:none!important;
            -ms-transform:none!important;
                transform:none!important;
        -webkit-filter:none!important;
                filter:none!important;
    }
    .ambient-orb-a,.ambient-orb-b,.ambient-orb-c {
        -webkit-animation:none;
                animation:none;
    }
    #bg-canvas {
        display:none;
    }
    [data-site-header],#scroll-progress {
        -webkit-animation:none;
                animation:none;
    }
    [data-site-header],#scroll-progress,.tilt-target,.btn-glow,.btn-ghost {
        -webkit-transition:none;
        -o-transition:none;
        transition:none;
    }
    .tilt-target,.btn-glow:hover,.btn-ghost:hover {
        -webkit-transform:none;
            -ms-transform:none;
                transform:none;
    }
    .partners-track {
        -webkit-animation:none;
                animation:none;
        -ms-flex-wrap:wrap;
            flex-wrap:wrap;
        -webkit-box-pack:center;
            -ms-flex-pack:center;
                justify-content:center;
        width:100%;
        max-width:920px;
        margin:0 auto;
        row-gap:18px;
    }
    .partners-viewport {
        -webkit-mask-image:none;
        mask-image:none;
        padding:0 24px;
    }
    .engine-card,.engine-card:hover,.engine-more {
        -webkit-transform:none;
            -ms-transform:none;
                transform:none;
        -webkit-transition:none;
        -o-transition:none;
        transition:none;
    }
    .engine-card:hover:after {
        -webkit-animation:none;
                animation:none;
        opacity:0;
    }
}

.blog-hero {
    position:relative;
    z-index:10;
    overflow:hidden;
    padding:88px 5.2vw 72px;
    background:-webkit-gradient(linear,left top, left bottom,from(#06101859),color-stop(92%, #061018)),radial-gradient(ellipse at 20% 20%,rgb(0 255 230 / .16),transparent 46%),radial-gradient(ellipse at 80% 10%,rgb(0 189 255 / .14),transparent 42%);
    background:-o-linear-gradient(top,#06101859,#061018 92%),-o-radial-gradient(20% 20%,ellipse,rgb(0 255 230 / .16),transparent 46%),-o-radial-gradient(80% 10%,ellipse,rgb(0 189 255 / .14),transparent 42%);
    background:linear-gradient(180deg,#06101859,#061018 92%),radial-gradient(ellipse at 20% 20%,rgb(0 255 230 / .16),transparent 46%),radial-gradient(ellipse at 80% 10%,rgb(0 189 255 / .14),transparent 42%);
}

.blog-hero-inner {
    max-width:1680px;
    margin:0 auto;
}

.blog-hero-title {
    max-width:920px;
    font-size:56px;
    font-weight:800;
    line-height:62px;
    letter-spacing:-.03em;
}

.blog-crumb {
    display:-webkit-inline-box;
    display:-ms-inline-flexbox;
    display:inline-flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    gap:8px;
    margin-top:22px;
    padding:10px 16px;
    border:1px solid #00ffe6;
    border-radius:999px;
    color:#a8bdc7;
    font-size:13px;
}

.blog-crumb a {
    color:#f4fbfc;
    -webkit-transition:color .2s;
    -o-transition:color .2s;
    transition:color .2s;
}

.blog-crumb a:hover {
    color:#00ffe6;
}

.blog-shell {
    position:relative;
    z-index:10;
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);
    gap:42px;
    max-width:1680px;
    margin:0 auto;
    padding:48px 5.2vw 96px;
}

.blog-article {
    min-width:0;
}

.blog-section {
    margin:0 0 8px;
}

.blog-section > h2 {
    margin-top:42px;
}

.blog-section:first-child > h2,
.blog-meta + .blog-section > h2 {
    margin-top:0;
}

.blog-section .blog-featured {
    margin:0 0 22px;
}

.blog-section__body > *:first-child {
    margin-top:0;
}

.blog-article .blog-section p,
.blog-article .blog-section__body p {
    margin:0 0 18px;
    max-width:760px;
    color:#a8bdc7;
    font-size:17px;
    line-height:28px;
}

.blog-featured {
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1200 / 640;
    -o-object-fit:cover;
    object-fit:cover;
    border:1px solid #243746;
    border-radius:16px;
    background:#0c1c27;
}

.blog-meta {
    margin:22px 0 28px;
    color:#718894;
    font-size:14px;
}

.blog-meta span+span {
    margin-left:8px;
}

.blog-article>p,.blog-article section p {
    margin:0 0 18px;
    max-width:760px;
    color:#a8bdc7;
    font-size:17px;
    line-height:28px;
}

.blog-article h2 {
    margin:42px 0 16px;
    color:#f4fbfc;
    font-size:34px;
    font-weight:800;
    line-height:40px;
    letter-spacing:-.03em;
}

.blog-article h3 {
    margin:22px 0 12px;
    color:#f4fbfc;
    font-size:22px;
    font-weight:700;
    line-height:28px;
}

.blog-article strong {
    color:#f4fbfc;
    font-weight:700;
}

.blog-article ul {
    margin:0 0 22px;
    padding-left:22px;
    max-width:760px;
    color:#97e0e5;
    font-size:16px;
    line-height:26px;
}

.blog-article li+li {
    margin-top:6px;
}

.blog-table-wrap {
    overflow-x:auto;
    margin:8px 0 24px;
}

.blog-faq {
    margin-top:48px;
}

.blog-cta {
    margin-top:40px;
    padding:28px 26px;
    border:1px solid #243746;
    border-radius:16px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.blog-cta-kicker {
    margin:0 0 8px;
    color:#00ffe6;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.blog-cta-copy {
    margin:0 0 18px;
    max-width:560px;
    color:#a8bdc7;
    font-size:15px;
    line-height:24px;
}

.blog-aside {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:22px;
}

.blog-widget {
    padding:24px 22px;
    border:1px solid #243746;
    border-radius:16px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.blog-widget-title {
    margin:0 0 16px;
    color:#f4fbfc;
    font-size:20px;
    font-weight:800;
}

.blog-widget p {
    margin:0 0 14px;
    color:#a8bdc7;
    font-size:14px;
    line-height:22px;
}

.blog-widget a {
    color:#00ffe6;
    font-size:14px;
    font-weight:600;
}

.blog-recent {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
        -ms-flex-direction:column;
            flex-direction:column;
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}

.blog-recent-item {
    display:grid;
    grid-template-columns:84px minmax(0,1fr);
    gap:12px;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    color:inherit;
}

.blog-recent-item img {
    width:84px;
    height:64px;
    -o-object-fit:cover;
    object-fit:cover;
    border-radius:10px;
    background:#0b202b;
}

.blog-recent-item em {
    display:block;
    color:#718894;
    font-size:12px;
    font-style:normal;
}

.blog-recent-item strong {
    display:block;
    margin-top:4px;
    color:#f4fbfc;
    font-size:14px;
    font-weight:700;
    line-height:18px;
}

.blog-index-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
}

.blog-card {
    overflow:hidden;
    border:1px solid #243746;
    border-radius:16px;
    background:-webkit-gradient(linear,left top, left bottom,from(#0c1c27),to(#061018));
    background:-o-linear-gradient(top,#0c1c27,#061018);
    background:linear-gradient(180deg,#0c1c27,#061018);
}

.blog-card img {
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    -o-object-fit:cover;
    object-fit:cover;
}

.blog-card-body {
    padding:22px 22px 26px;
}

.blog-card-meta {
    margin:0 0 10px;
    color:#718894;
    font-size:13px;
}

.blog-card h2 {
    margin:0 0 10px;
    font-size:26px;
    font-weight:800;
    line-height:32px;
}

.blog-card h2 a {
    color:#f4fbfc;
}

.blog-card h2 a:hover {
    color:#00ffe6;
}

.blog-card p {
    margin:0 0 16px;
    color:#a8bdc7;
    font-size:15px;
    line-height:24px;
}

.blog-card .blog-more {
    color:#00ffe6;
    font-size:14px;
    font-weight:700;
}

@media(max-width:1119px) {
    .blog-hero {
        padding:56px 3vw 48px;
    }
    .blog-hero-title {
        font-size:40px;
        line-height:46px;
    }
    .blog-shell {
        grid-template-columns:1fr;
        padding:32px 3vw 72px;
    }
    .blog-article h2 {
        font-size:28px;
        line-height:34px;
    }
    .blog-index-grid {
        grid-template-columns:1fr;
    }
}

@media(max-width:767px) {
    .blog-hero-title {
        font-size:32px;
        line-height:38px;
    }
    .blog-crumb {
        border-radius:16px;
    }
    .blog-article>p,.blog-article section p {
        font-size:16px;
        line-height:26px;
    }
}

.rank-math-breadcrumb {
    position:relative;
    z-index:10;
}

.rank-math-breadcrumb p {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    margin:0;
    color:#a8bdc7;
    font-size:13px;
    line-height:1.5;
}

.rank-math-breadcrumb a {
    color:#a8bdc7;
    -webkit-transition:color .2s;
    -o-transition:color .2s;
    transition:color .2s;
}

.rank-math-breadcrumb a:hover {
    color:#00ffe6;
}

.rank-math-breadcrumb .separator {
    margin:0 .5rem;
    color:#a8bdc7;
}

.rank-math-breadcrumb .last {
    color:#c5d5dc;
}

.front-page {
    scroll-padding-top:112px;
}

html:has(body.front-page) {
    scroll-padding-top:112px;
}
