@import url("https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap");

:root{
    --vip-bg:#08090b;
    --vip-bg-deep:#030303;
    --vip-panel:rgba(12,12,13,0.92);
    --vip-panel-soft:rgba(255,255,255,0.025);

    --vip-orange:#ff6a1a;
    --vip-orange-bright:#ff7a2a;
    --vip-orange-dark:#b73f00;

    --vip-white:#f6f6f6;
    --vip-white-soft:rgba(246,246,246,0.74);
    --vip-white-muted:rgba(246,246,246,0.48);

    --vip-border:rgba(255,106,26,0.46);
    --vip-border-soft:rgba(255,106,26,0.22);

    --vip-danger:#ff5353;

    --vip-font:"IBM Plex Mono","Courier New",monospace;
    --vip-heading-font:"Chakra Petch",Arial,sans-serif;

    --vip-radius:12px;
    --vip-radius-sm:8px;

    --vip-max-width:1180px;
    --vip-shadow:0 16px 42px rgba(0,0,0,0.46);
    --vip-orange-glow:0 0 24px rgba(255,106,26,0.12);
}

*{
    box-sizing:border-box;
}

html,
body{
    margin:0;
    min-height:100%;
}

body.vip-site{
    min-width:320px;
    background:
        radial-gradient(
            850px 520px at 50% -100px,
            rgba(255,106,26,0.13),
            transparent 64%
        ),
        radial-gradient(
            520px 420px at 8% 38%,
            rgba(255,106,26,0.055),
            transparent 72%
        ),
        linear-gradient(
            180deg,
            var(--vip-bg) 0%,
            var(--vip-bg-deep) 100%
        );

    color:var(--vip-white);
    font-family:var(--vip-font);
    font-size:15px;
    line-height:1.55;
    letter-spacing:0.025em;
}

.vip-site a{
    color:inherit;
    text-decoration:none;
}

.vip-shell{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

.vip-header{
    position:sticky;
    top:0;
    z-index:50;

    background:rgba(5,5,6,0.94);
    border-bottom:1px solid var(--vip-border-soft);
    backdrop-filter:blur(12px);
}

.vip-header-inner{
    width:min(
        var(--vip-max-width),
        calc(100% - 32px)
    );

    min-height:86px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
}

.vip-brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}

.vip-logo-mark{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;

    width:54px;
    height:54px;

    overflow:hidden;
    border:1px solid var(--vip-border);
    border-radius:10px;

    background:#050505;
    box-shadow:var(--vip-orange-glow);
}

.vip-logo-v,
.vip-logo-p{
    position:absolute;
    font-weight:900;
    line-height:1;
    user-select:none;
}

.vip-logo-v{
    left:7px;
    top:4px;

    color:var(--vip-orange);
    font-size:48px;
    letter-spacing:-0.22em;

    transform:scaleX(0.82);
}

.vip-logo-p{
    left:20px;
    top:6px;

    color:var(--vip-white);
    font-size:38px;
    letter-spacing:-0.16em;

    transform:scaleX(0.9);
}

.vip-brand-text{
    display:flex;
    flex-direction:column;
    line-height:1;
}

.vip-brand-main{
    color:var(--vip-white);
    font-size:20px;
    font-weight:900;
    letter-spacing:0.22em;
}

.vip-brand-sub{
    margin-top:5px;
    color:var(--vip-orange);
    font-size:10px;
    font-weight:bold;
    letter-spacing:0.25em;
}

.vip-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
}

.vip-nav a{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:36px;
    padding:7px 10px;

    color:var(--vip-white-soft);
    border:1px solid transparent;
    border-radius:7px;

    font-size:11px;
    font-weight:bold;
    letter-spacing:0.1em;
    white-space:nowrap;

    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease,
        transform .15s ease;
}

.vip-nav a:hover,
.vip-nav a.is-active{
    color:var(--vip-white);
    background:rgba(255,106,26,0.075);
    border-color:var(--vip-border-soft);
}

.vip-nav a:hover{
    transform:translateY(-1px);
}

.vip-nav .vip-nav-cta{
    color:var(--vip-orange);
    border-color:var(--vip-border);
    background:rgba(255,106,26,0.075);
}

.vip-nav .vip-nav-cta:hover{
    color:#fff;
    border-color:var(--vip-orange);
    background:rgba(255,106,26,0.17);
    box-shadow:0 0 16px rgba(255,106,26,0.18);
}

.vip-main{
    width:100%;
    flex:1;
}

.vip-container{
    width:min(
        var(--vip-max-width),
        calc(100% - 32px)
    );

    margin:0 auto;
}

.vip-hero{
    min-height:calc(100vh - 86px);
    display:flex;
    align-items:center;

    padding:76px 0 58px;
}

.vip-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(320px,0.8fr);
    gap:42px;
    align-items:center;
}

.vip-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin:0 0 17px;
    color:var(--vip-orange);
    font-size:12px;
    font-weight:bold;
    letter-spacing:0.16em;
}

.vip-eyebrow::before{
    content:"";
    width:28px;
    height:1px;
    background:var(--vip-orange);
}

.vip-hero h1{
    max-width:820px;
    margin:0;

    color:var(--vip-white);
    font-size:clamp(34px,5.2vw,72px);
    line-height:0.98;
    letter-spacing:0.03em;
    text-transform:uppercase;
}

.vip-hero h1 span{
    color:var(--vip-orange);
}

.vip-hero-copy{
    max-width:650px;
    margin:24px 0 0;

    color:var(--vip-white-soft);
    font-size:17px;
    line-height:1.75;
}

.vip-action-row{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:30px;
}

.vip-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-height:47px;
    padding:12px 17px;

    border:1px solid var(--vip-border);
    border-radius:8px;

    font-family:var(--vip-font);
    font-size:12px;
    font-weight:bold;
    letter-spacing:0.1em;
    text-transform:uppercase;

    cursor:pointer;

    transition:
        border-color .15s ease,
        background .15s ease,
        color .15s ease,
        box-shadow .15s ease,
        transform .15s ease;
}

.vip-btn:hover{
    transform:translateY(-1px);
}

.vip-btn-primary{
    color:#111;
    background:var(--vip-orange);
    border-color:var(--vip-orange);
}

.vip-btn-primary:hover{
    background:var(--vip-orange-bright);
    box-shadow:0 0 24px rgba(255,106,26,0.26);
}

.vip-btn-secondary{
    color:var(--vip-white);
    background:rgba(0,0,0,0.28);
}

.vip-btn-secondary:hover{
    color:var(--vip-orange);
    border-color:var(--vip-orange);
    background:rgba(255,106,26,0.07);
}

.vip-status-panel{
    position:relative;
    overflow:hidden;

    padding:26px;
    border:1px solid var(--vip-border);
    border-radius:var(--vip-radius);

    background:
        linear-gradient(
            145deg,
            rgba(255,106,26,0.09),
            transparent 58%
        ),
        var(--vip-panel);

    box-shadow:var(--vip-shadow),var(--vip-orange-glow);
}

.vip-status-panel::after{
    content:"";
    position:absolute;
    right:-55px;
    bottom:-55px;

    width:220px;
    height:220px;

    border:1px solid rgba(255,106,26,0.23);
    border-radius:50%;
}

.vip-status-title{
    margin:0;
    color:var(--vip-orange);
    font-size:12px;
    letter-spacing:0.16em;
}

.vip-status-number{
    margin:13px 0 4px;
    color:#fff;
    font-size:46px;
    font-weight:bold;
    letter-spacing:0.03em;
    line-height:1;
}

.vip-status-sub{
    margin:0;
    color:var(--vip-white-muted);
    font-size:12px;
    letter-spacing:0.08em;
}

.vip-status-list{
    display:grid;
    gap:10px;
    margin:25px 0 0;
}

.vip-status-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    padding-top:10px;
    border-top:1px solid rgba(255,106,26,0.17);

    color:var(--vip-white-soft);
    font-size:12px;
}

.vip-status-row strong{
    color:var(--vip-orange);
    font-size:12px;
}

.vip-section{
    padding:72px 0;
    border-top:1px solid rgba(255,106,26,0.11);
}

.vip-section-heading{
    max-width:760px;
    margin:0 auto 34px;
    text-align:center;
}

.vip-section-heading h2{
    margin:0;
    color:var(--vip-white);
    font-size:clamp(24px,3.2vw,38px);
    letter-spacing:0.08em;
    text-transform:uppercase;
}

.vip-section-heading p{
    margin:13px auto 0;
    color:var(--vip-white-soft);
    font-size:15px;
    line-height:1.7;
}

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

.vip-card{
    position:relative;
    min-height:230px;
    padding:20px;

    overflow:hidden;
    border:1px solid var(--vip-border-soft);
    border-radius:10px;

    background:
        linear-gradient(
            155deg,
            rgba(255,106,26,0.065),
            transparent 48%
        ),
        var(--vip-panel-soft);

    transition:
        transform .16s ease,
        border-color .16s ease,
        background .16s ease;
}

.vip-card:hover{
    transform:translateY(-3px);
    border-color:var(--vip-border);
    background:
        linear-gradient(
            155deg,
            rgba(255,106,26,0.11),
            transparent 48%
        ),
        rgba(255,255,255,0.035);
}

.vip-card-code{
    color:var(--vip-orange);
    font-size:11px;
    font-weight:bold;
    letter-spacing:0.13em;
}

.vip-card h3{
    margin:17px 0 10px;
    color:var(--vip-white);
    font-size:21px;
    line-height:1.12;
    letter-spacing:0.06em;
}

.vip-card p{
    margin:0;
    color:var(--vip-white-soft);
    font-size:13px;
    line-height:1.65;
}

.vip-card-meta{
    position:absolute;
    bottom:19px;
    left:20px;
    right:20px;

    display:flex;
    justify-content:space-between;
    gap:10px;

    padding-top:13px;
    border-top:1px solid rgba(255,106,26,0.16);

    color:var(--vip-white-muted);
    font-size:11px;
    letter-spacing:0.08em;
}

.vip-card-meta strong{
    color:var(--vip-orange);
}

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

.vip-language{
    padding:19px;
    border:1px solid var(--vip-border-soft);
    border-radius:10px;
    background:rgba(255,255,255,0.018);
    text-align:center;
}

.vip-language-code{
    color:var(--vip-orange);
    font-size:22px;
    font-weight:bold;
    letter-spacing:0.16em;
}

.vip-language-name{
    margin-top:8px;
    color:var(--vip-white-soft);
    font-size:12px;
    letter-spacing:0.1em;
}

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

.vip-process-item{
    padding:19px;
    border-left:1px solid var(--vip-border);
}

.vip-process-number{
    color:var(--vip-orange);
    font-size:25px;
    font-weight:bold;
    letter-spacing:0.08em;
}

.vip-process-item h3{
    margin:11px 0 8px;
    color:#fff;
    font-size:14px;
    letter-spacing:0.08em;
}

.vip-process-item p{
    margin:0;
    color:var(--vip-white-soft);
    font-size:12px;
    line-height:1.65;
}

.vip-footer{
    margin-top:auto;
    border-top:1px solid var(--vip-border-soft);
    background:#040404;
}

.vip-footer-inner{
    width:min(
        var(--vip-max-width),
        calc(100% - 32px)
    );

    min-height:72px;
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;

    color:var(--vip-white-muted);
    font-size:10px;
    letter-spacing:0.09em;
}

.vip-footer-inner strong{
    color:var(--vip-orange);
}

.vip-footer-separator{
    display:inline-block;
    margin:0 7px;
    color:var(--vip-orange-dark);
}

.vip-footer-meta{
    white-space:nowrap;
}

@media(max-width:900px){
    .vip-header{
        position:relative;
    }

    .vip-header-inner{
        min-height:0;
        padding:14px 0;
        flex-direction:column;
        align-items:stretch;
    }

    .vip-brand{
        justify-content:center;
    }

    .vip-nav{
        justify-content:center;
    }

    .vip-hero{
        min-height:auto;
        padding:62px 0;
    }

    .vip-hero-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .vip-status-panel{
        max-width:620px;
    }

    .vip-card-grid,
    .vip-process{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:620px){
    .vip-header-inner,
    .vip-container,
    .vip-footer-inner{
        width:min(100% - 22px, var(--vip-max-width));
    }

    .vip-nav{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
    }

    .vip-nav a{
        width:100%;
        min-height:40px;
        padding:8px 6px;
        font-size:10px;
    }

    .vip-nav .vip-nav-cta{
        grid-column:1 / -1;
    }

    .vip-hero{
        padding:46px 0;
    }

    .vip-hero h1{
        font-size:38px;
    }

    .vip-hero-copy{
        font-size:15px;
    }

    .vip-action-row{
        flex-direction:column;
    }

    .vip-btn{
        width:100%;
    }

    .vip-card-grid,
    .vip-language-grid,
    .vip-process{
        grid-template-columns:1fr;
    }

    .vip-card{
        min-height:205px;
    }

    .vip-footer-inner{
        min-height:96px;
        padding:16px 0;
        flex-direction:column;
        justify-content:center;
        text-align:center;
    }
}

/* PUBLIC TRAINING SESSION CARD LAYOUT */

.vip-session-card .vip-card-meta{position:static;margin-top:18px;}

.vip-session-card-action{margin-top:18px;}

/* PUBLIC TRAINING HERO FACTS */

.vip-training-facts{

    position:static;

    max-width:650px;

    margin:28px auto 0;

    justify-content:center;

    gap:28px;

    padding:14px 18px;

    border:1px solid rgba(255,106,26,0.22);

    border-radius:8px;

    background:rgba(255,106,26,0.035);

}

@media(max-width:700px){

    .vip-training-facts{

        justify-content:space-between;

        gap:10px;

        margin-top:22px;

    }

}

/* PUBLIC BOOKING PAGE */
.vip-booking-page .vip-container{max-width:920px;}
.vip-booking-session{margin-top:24px;}
.vip-booking-session h2{margin:0 0 16px;color:var(--vip-white);font-size:28px;letter-spacing:.05em;}
.vip-booking-session .muted{margin:0;color:var(--vip-white-soft);font-size:14px;line-height:1.8;}
.vip-booking-form{display:grid;gap:14px;margin-top:20px;padding:28px;border:1px solid var(--vip-border-soft);border-radius:10px;background:var(--vip-panel-soft);}
.vip-booking-form label{display:block;color:var(--vip-orange);font-size:11px;font-weight:bold;letter-spacing:.1em;text-transform:uppercase;}
.vip-booking-form input,.vip-booking-form textarea{width:100%;box-sizing:border-box;padding:13px 14px;color:var(--vip-white);border:1px solid var(--vip-border-soft);border-radius:7px;background:#080808;font-family:var(--vip-font);font-size:14px;}
.vip-booking-form input:focus,.vip-booking-form textarea:focus{outline:0;border-color:var(--vip-orange);box-shadow:0 0 0 3px rgba(255,106,26,.08);}
.vip-booking-form textarea{min-height:110px;resize:vertical;}
.vip-booking-form .muted{margin:6px 0 2px;color:var(--vip-white-muted);font-size:13px;line-height:1.6;}
.vip-booking-error{margin:0 0 20px;border-color:#a94422;}
.vip-booking-error p{margin:8px 0;color:#ff9c78;}
@media(max-width:700px){.vip-booking-form{padding:20px;}.vip-booking-session h2{font-size:24px;}}

.vip-booking-participants{padding:18px;border:1px solid var(--vip-border-soft);border-radius:8px;background:rgba(255,106,26,.025);}

.vip-booking-participants-title{margin:0;color:var(--vip-orange);font-size:12px;font-weight:bold;letter-spacing:.1em;}

.vip-participant-name-row{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 0;border-top:1px solid rgba(255,106,26,.12);}

.vip-participant-name-row label{margin:0;}

@media(max-width:700px){.vip-participant-name-row{grid-template-columns:1fr;}}

/* OPTIONAL PARTICIPANT DETAILS */
.vip-participant-name-row{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:18px;
    padding:18px 0 2px;
    border-top:1px solid rgba(255,106,26,.22);
}
.vip-participant-name-row[hidden]{
    display:none !important;
}
.vip-participant-slot-title{
    margin:0 0 2px;
    color:var(--vip-white);
    font-size:12px;
    font-weight:bold;
    letter-spacing:.11em;
}
.vip-participant-field{
    display:grid;
    gap:7px;
}
.vip-participant-field label{
    margin:0;
}

/* SAFE TEST CHECKOUT */
.vip-test-checkout-page .vip-container{max-width:920px;}
.vip-test-checkout-page .vip-status-panel{margin-top:20px;}
.vip-test-checkout-page h2{margin:0 0 14px;color:var(--vip-white);font-size:24px;letter-spacing:.05em;}
.vip-test-checkout-safe{
    border-color:rgba(65,220,125,.58);
    background:linear-gradient(135deg,rgba(21,84,47,.28),rgba(9,17,12,.55));
}
.vip-test-checkout-safe h2{color:#72f7a6;}
.vip-test-checkout-safe p{margin:0;color:#bbf5d0;line-height:1.7;}
.vip-test-checkout-summary .muted,
.vip-test-checkout-next .muted{
    margin:0;
    color:var(--vip-white-soft);
    font-size:14px;
    line-height:1.8;
}
.vip-test-checkout-next{
    background:rgba(255,106,26,.025);
}
.vip-test-checkout-next p:last-child{margin:20px 0 0;}
.vip-test-checkout-error{
    margin-top:20px;
    border-color:#a94422;
    color:#ffaf92;
}
@media(max-width:700px){
    .vip-test-checkout-page h2{font-size:21px;}
}

/* BOOKING SUCCESS */
.vip-booking-success-page .vip-container{max-width:920px;}
.vip-booking-success-page .vip-status-panel{margin-top:20px;}
.vip-booking-success-page h2{
    margin:0 0 14px;
    color:var(--vip-white);
    font-size:24px;
    letter-spacing:.05em;
}
.vip-booking-success-confirm{
    border-color:rgba(65,220,125,.58);
    background:linear-gradient(135deg,rgba(21,84,47,.28),rgba(9,17,12,.55));
}
.vip-booking-success-confirm h2{color:#72f7a6;}
.vip-booking-success-confirm p{
    margin:0;
    color:#bbf5d0;
    line-height:1.7;
}
.vip-booking-success-next{
    background:rgba(255,106,26,.025);
}
.vip-booking-success-next .muted{
    margin:0;
    color:var(--vip-white-soft);
    font-size:14px;
    line-height:1.7;
}
.vip-booking-success-next p:last-child{margin:20px 0 0;}
.vip-booking-success-error{
    margin-top:20px;
    border-color:#a94422;
    color:#ffaf92;
}
@media(max-width:700px){
    .vip-booking-success-page h2{font-size:21px;}
}

/* PARTICIPANT PORTAL */
.vip-participants-page .vip-container{max-width:920px;}
.vip-participants-page .vip-status-panel{margin-top:20px;}

.vip-participants-page h2{
    margin:0 0 14px;
    color:var(--vip-white);
    font-size:24px;
    letter-spacing:.05em;
}

.vip-participants-summary .muted{
    margin:0;
    color:var(--vip-white-soft);
    font-size:14px;
    line-height:1.8;
}

.vip-participants-form{
    display:grid;
    gap:18px;
    margin-top:20px;
}

.vip-participant-detail-card{
    display:grid;
    gap:14px;
    padding:28px;
    border:1px solid var(--vip-border-soft);
    border-radius:10px;
    background:var(--vip-panel-soft);
}

.vip-participant-detail-card h3{
    margin:0 0 6px;
    color:var(--vip-white);
    font-size:20px;
    letter-spacing:.06em;
}

.vip-participant-detail-card label{
    display:block;
    margin:0;
    color:var(--vip-orange);
    font-size:11px;
    font-weight:bold;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.vip-participant-detail-card input,
.vip-participant-detail-card select{
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    padding:12px 14px;
    color:var(--vip-white);
    border:1px solid var(--vip-border-soft);
    border-radius:7px;
    background:#080808;
    font-family:var(--vip-font);
    font-size:14px;
}

.vip-participant-detail-card input:focus,
.vip-participant-detail-card select:focus{
    outline:0;
    border-color:var(--vip-orange);
    box-shadow:0 0 0 3px rgba(255,106,26,.08);
}

.vip-participants-success{
    border-color:rgba(65,220,125,.58);
    background:linear-gradient(135deg,rgba(21,84,47,.28),rgba(9,17,12,.55));
}

.vip-participants-success p{
    margin:0;
    color:#bbf5d0;
}

.vip-participants-error{
    border-color:#a94422;
    color:#ffaf92;
}

.vip-participants-error p{margin:8px 0;}

.vip-participants-form > .vip-btn{
    justify-self:start;
    margin-top:2px;
}

@media(max-width:700px){
    .vip-participant-detail-card{padding:20px;}
    .vip-participants-page h2{font-size:21px;}
    .vip-participants-form > .vip-btn{width:100%;}
}

/* PUBLIC TRAINING LIST */
.vip-training-list-page .vip-container{max-width:1040px;}
.vip-training-list-notice{
    margin:22px 0 20px;
    background:rgba(255,106,26,.025);
}
.vip-training-list-notice p,
.vip-training-list-empty p{
    margin:0;
    color:var(--vip-white-soft);
    font-size:14px;
    line-height:1.7;
}

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

.vip-training-list-card{
    display:flex;
    min-height:330px;
    flex-direction:column;
}

.vip-training-list-card h3{
    margin:14px 0 16px;
    color:var(--vip-white);
    font-size:25px;
    letter-spacing:.04em;
}

.vip-training-list-info{
    margin:0;
    color:var(--vip-white-soft);
    font-size:13px;
    line-height:1.75;
}

.vip-training-list-price{
    position:static;
    margin-top:auto;
    padding-top:22px;
}

.vip-training-list-price span{
    color:var(--vip-orange);
    font-size:15px;
    font-weight:bold;
}

.vip-training-list-price strong{
    color:var(--vip-orange);
    font-size:10px;
    letter-spacing:.08em;
}

.vip-training-list-travel{
    margin:12px 0 0;
    color:var(--vip-white-muted);
    font-size:12px;
    line-height:1.6;
}

.vip-training-list-card > p:last-child{
    margin:18px 0 0;
}

.vip-training-list-empty{
    margin-top:20px;
}

@media(max-width:900px){
    .vip-training-session-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:650px){
    .vip-training-session-grid{
        grid-template-columns:1fr;
    }

    .vip-training-list-card{
        min-height:0;
    }
}


/* VIP HEADER LOGO IMAGE */
.vip-logo-image{
    display:block;
    width:54px;
    height:54px;
    flex:0 0 54px;
    object-fit:contain;
    border-radius:10px;
}

@media (max-width:768px){
    .vip-logo-image{
        width:48px;
        height:48px;
        flex-basis:48px;
    }
}


/* VIP CROSS-PLATFORM FONT UPGRADE */
h1,
h2,
h3,
.vip-brand-main,
.vip-brand-sub,
.vip-nav a,
.vip-btn,
.vip-status-number,
.vip-card h3,
.vip-process-item h3,
.vip-process-number,
.vip-language-code,
.vip-training-list-price strong,
.vip-booking-form label,
.vip-booking-participants-title,
.vip-participant-slot-title,
.vip-participant-detail-card label,
.vip-eyebrow,
.vip-card-code {
    font-family:var(--vip-heading-font);
    font-weight:700;
}

.vip-site,
.vip-site input,
.vip-site select,
.vip-site textarea,
.vip-site button {
    font-family:var(--vip-font);
}

.vip-btn,
.vip-nav a,
.vip-brand-main,
.vip-brand-sub,
.vip-status-number,
.vip-card h3,
.vip-process-item h3,
.vip-process-number,
.vip-language-code {
    font-family:var(--vip-heading-font);
}

@media (max-width:700px) {
    .vip-brand-main {
        letter-spacing:0.14em;
    }

    .vip-site {
        font-size:14px;
    }
}
