.ssl_reveal_card {
    width: 100%;
    min-width: 0;
}

.ssl_reveal_card .ssl-reveal-card {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 5;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    overflow: hidden;
    font-family: inherit;
}

.ssl_reveal_card .ssl-reveal-card--mystery {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 18px 18px;
    background: #242424;
    border: 1px solid #333333;
    color: #ffffff;
}

.ssl_reveal_card .ssl-reveal-card__index {
    display: block;
    margin: 0;
    color: #8b8b8b;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card__question {
    align-self: center;
    margin: auto 0;
    color: #ffffff;
    font-family: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
    font-size: clamp(64px, 6vw, 92px);
    font-weight: 400;
    line-height: .85;
    text-align: center;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card__hint {
    margin: 0;
    color: #dddddd;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card--revealed {
    perspective: 1200px;
    background: transparent;
    cursor: pointer;
    outline: none;
    overflow: visible;
}

.ssl_reveal_card .ssl-reveal-card__flip {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    -webkit-transform-style: preserve-3d;
    transition: transform .72s cubic-bezier(.2,.75,.22,1);
    will-change: transform;
}

.ssl_reveal_card .ssl-reveal-card--revealed.is-flipped .ssl-reveal-card__flip {
    transform: rotateY(180deg);
}

@media (hover:hover) and (pointer:fine) {
    .ssl_reveal_card .ssl-reveal-card--revealed:hover .ssl-reveal-card__flip {
        transform: rotateY(180deg);
    }
}

.ssl_reveal_card .ssl-reveal-card--revealed:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 4px;
}

.ssl_reveal_card .ssl-reveal-card__face {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-sizing: border-box;
    overflow: hidden;
    opacity: 1;
    isolation: isolate;
    transform-origin: center center;
    -webkit-transform-origin: center center;
    will-change: transform;
}

.ssl_reveal_card .ssl-reveal-card__face--front {
    display: flex;
    flex-direction: column;
    padding: 20px 18px 18px;
    background-color: #e30613;
    background-image: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,0) 34%);
    border: 1px solid #e30613;
    color: #ffffff;
    transform: rotateY(0deg) translateZ(1px);
    -webkit-transform: rotateY(0deg) translateZ(1px);
}

.ssl_reveal_card .ssl-reveal-card__face--front::after {
    content: "?";
    position: absolute;
    right: -4px;
    bottom: -42px;
    font-family: "Bebas Neue", Impact, sans-serif;
    font-size: min(18vw, 180px);
    line-height: 1;
    color: rgba(0,0,0,.10);
    pointer-events: none;
}

.ssl_reveal_card .ssl-reveal-card__face--front .ssl-reveal-card__index {
    color: rgba(255,255,255,.72);
}

.ssl_reveal_card .ssl-reveal-card__reveal-kicker {
    margin-top: auto;
    margin-bottom: 6px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card__reveal-title {
    position: relative;
    z-index: 1;
    max-width: 88%;
    font-family: "Bebas Neue", Impact, "Arial Narrow", sans-serif;
    font-size: clamp(38px, 4vw, 58px);
    line-height: .9;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card__reveal-caption {
    position: relative;
    z-index: 1;
    max-width: 84%;
    margin-top: 9px;
    color: rgba(255,255,255,.9);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    text-transform: uppercase;
}

.ssl_reveal_card .ssl-reveal-card__flip-label {
    position: absolute;
    right: 18px;
    top: 18px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
}

.ssl_reveal_card .ssl-reveal-card__face--back {
    transform: rotateY(180deg) translateZ(1px);
    -webkit-transform: rotateY(180deg) translateZ(1px);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f2f2ef;
    background-image: none;
    color: #171717;
    opacity: 1;
}

.ssl_reveal_card .ssl-reveal-card__image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center;
    padding: 18px 18px 42px;
    box-sizing: border-box;
}

.ssl_reveal_card .ssl-reveal-card__image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 20px;
    color: #777;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-align: center;
}

.ssl_reveal_card .ssl-reveal-card__back-bar {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 13px;
    background-color: #171717;
    background-image: none;
    color: #ffffff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
    .ssl_reveal_card .ssl-reveal-card__flip {
        transition: none;
    }
}

@media (max-width: 767px) {
    .ssl_reveal_card .ssl-reveal-card--mystery,
    .ssl_reveal_card .ssl-reveal-card__face--front {
        padding: 17px;
    }

    .ssl_reveal_card .ssl-reveal-card__question {
        font-size: clamp(62px, 19vw, 88px);
    }

    .ssl_reveal_card .ssl-reveal-card__face--front::after {
        font-size: 46vw;
    }
}


/* v1.3 — Safari / WebKit flip compositing fix */
.ssl_reveal_card .ssl-reveal-card--revealed:not(.is-flipped) .ssl-reveal-card__face--back {
    pointer-events: none;
}

.ssl_reveal_card .ssl-reveal-card--revealed.is-flipped .ssl-reveal-card__face--front {
    pointer-events: none;
}

@media (hover:hover) and (pointer:fine) {
    .ssl_reveal_card .ssl-reveal-card--revealed:hover .ssl-reveal-card__face--front {
        pointer-events: none;
    }
}


/* =========================================================
   SSL Registration Progress — Light Theme
   ========================================================= */

.ssl_registration_progress{width:100%;min-width:0}

.ssl-reg-progress{
    position:relative;
    --ssl-red:#e30613;
    --ssl-red-dark:#c71a1a;
    --ssl-text:#191919;
    --ssl-muted:#6f6f6f;
    --ssl-line:#dedede;
    width:100%;
    padding:44px 46px;
    background:#fff;
    color:#191919;
    box-sizing:border-box;
}

.ssl-reg-progress__eyebrow{margin-bottom:8px;font-family:Arial,Helvetica,sans-serif;font-size:10px;font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#e30613}
.ssl-reg-progress__heading{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:clamp(38px,5vw,64px);line-height:.92;text-transform:uppercase;color:#191919}
.ssl-reg-progress__intro{padding-right:300px}
.ssl-reg-progress__subheading{max-width:580px;margin-top:10px;color:#747474;font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55}

.ssl-reg-progress__timeline{position:relative;margin-top:58px;padding-top:46px}

.ssl-reg-progress__active-badge{
    position:absolute;
    top:23px;
    z-index:4;
    display:flex;
    align-items:baseline;
    gap:6px;
    transform:translate(-50%,-100%);
    padding:8px 12px 7px;
    background:#191919;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    line-height:1;
    white-space:nowrap;
    box-shadow:0 8px 20px rgba(0,0,0,.12)
}
.ssl-reg-progress__active-badge strong{
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:23px;
    font-weight:400;
    color:#fff
}
.ssl-reg-progress__active-badge span{
    font-size:8px;
    font-weight:900;
    letter-spacing:.11em;
    color:#bdbdbd
}
.ssl-reg-progress__active-badge::after{
    content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
    border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid #191919
}

.ssl-reg-progress__timeline-line{position:relative;height:5px;background:#dedede;overflow:visible}
.ssl-reg-progress__timeline-fill{position:absolute;inset:0 auto 0 0;background:#e30613}
.ssl-reg-progress__timeline-now{
    position:absolute;top:50%;z-index:3;width:22px;height:22px;border-radius:50%;
    background:#fff;border:6px solid #e30613;transform:translate(-50%,-50%);
    box-sizing:border-box;box-shadow:0 5px 16px rgba(0,0,0,.14)
}



.ssl-reg-progress__phases{position:relative;height:112px;margin-top:-7px}
.ssl-reg-progress__phase{position:absolute;top:0;width:150px;padding-top:32px;text-align:center;transform:translateX(-50%)}
.ssl-reg-progress__phase-dot{
    position:absolute;top:0;left:50%;width:12px;height:12px;border-radius:50%;
    border:3px solid #cfcfcf;background:#fff;transform:translateX(-50%);box-sizing:border-box
}
.ssl-reg-progress__phase.is-past .ssl-reg-progress__phase-dot{
    border-color:#e30613;
    background:#e30613;
}

.ssl-reg-progress__phase.is-active .ssl-reg-progress__phase-dot{
    border-color:#cfcfcf;
    background:#fff;
}

.ssl-reg-progress__phase-price{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:clamp(32px,4vw,48px);line-height:1;color:#191919}
.ssl-reg-progress__phase.is-active .ssl-reg-progress__phase-price{color:#e30613}
.ssl-reg-progress__phase-label{margin-top:7px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;letter-spacing:.12em;color:#191919}
.ssl-reg-progress__phase-date{margin-top:4px;font-family:Arial,Helvetica,sans-serif;font-size:10px;color:#858585;text-transform:uppercase}

.ssl-reg-progress__closing{
    display:grid;
    width:max-content;
    max-width:100%;
    margin:0;
    padding:10px 14px 9px;
    border-left:3px solid #e30613;
    background:#f4f4f2;
    text-align:left
}
.ssl-reg-progress__closing span{
    font-family:Arial,Helvetica,sans-serif;
    font-size:8px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.11em;
    color:#8a8a8a;
    text-transform:uppercase
}
.ssl-reg-progress__closing strong{
    margin-top:3px;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:20px;
    font-weight:400;
    line-height:1;
    color:#191919;
    text-transform:uppercase
}

.ssl-reg-progress__bottom{
    display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:34px;
    margin-top:48px;padding-top:30px;border-top:1px solid #e4e4e4
}
.ssl-reg-progress__bottom-main{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:28px;
    min-width:0
}
.ssl-reg-progress__stats{display:flex;align-items:end;gap:36px;min-width:0}
.ssl-reg-progress__registrations{display:grid;line-height:1}
.ssl-reg-progress__registrations-kicker{margin-bottom:5px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:900;letter-spacing:.14em;color:#e30613}
.ssl-reg-progress__registrations strong{font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:58px;font-weight:400;color:#191919}
.ssl-reg-progress__registrations>span:last-child{margin-top:3px;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:800;letter-spacing:.11em;color:#191919}

.ssl-reg-progress__capacity{width:min(380px,100%);min-width:240px}
.ssl-reg-progress__capacity-top{display:flex;justify-content:space-between;gap:14px;margin-bottom:10px;color:#747474;font-family:Arial,Helvetica,sans-serif;font-size:9px;font-weight:800;letter-spacing:.06em}
.ssl-reg-progress__capacity-bar{position:relative;height:7px;background:#e7e7e7;overflow:visible}
.ssl-reg-progress__capacity-fill{display:block;height:100%;background:#e30613}
.ssl-reg-progress__capacity-marker{
    position:absolute;top:50%;width:12px;height:12px;border-radius:50%;
    background:#e30613;transform:translate(-50%,-50%);
    box-shadow:0 0 0 3px #fff,0 2px 8px rgba(0,0,0,.12)
}

.ssl-reg-progress__button{
    display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;
    background:#e30613;color:#fff!important;text-decoration:none!important;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:18px;line-height:1;text-transform:uppercase;
    transition:background .2s ease,transform .2s ease
}
@media(hover:hover){.ssl-reg-progress__button:hover{background:#c71a1a;transform:translateY(-1px)}}

.ssl-reg-progress__builder-notice{
    margin-top:24px;padding:14px 16px;background:#f4f4f2;border-left:3px solid #e30613;
    color:#666;font:12px/1.5 Arial,Helvetica,sans-serif
}

@media(max-width:767px){
    .ssl-reg-progress{padding:30px 22px}
    .ssl-reg-progress__timeline{margin-top:46px}
    .ssl-reg-progress__active-badge{font-size:8px;padding:7px 8px}
    .ssl-reg-progress__phases{height:126px}
    .ssl-reg-progress__phase{width:105px}
    .ssl-reg-progress__phase-price{font-size:32px}
    .ssl-reg-progress__phase-date{font-size:8px;line-height:1.3}
    .ssl-reg-progress__closing{margin-top:4px}
    .ssl-reg-progress__bottom{grid-template-columns:1fr;gap:24px}
    .ssl-reg-progress__stats{display:grid;gap:24px}
    .ssl-reg-progress__capacity{min-width:0;width:100%}
    .ssl-reg-progress__button{width:100%}
}




/* =========================================================
   Registration modality toggle
   ========================================================= */

.ssl-reg-progress__toggle{
    position:absolute;
    top:34px;
    right:46px;
    display:inline-grid;
    grid-template-columns:1fr 1fr;
    min-width:240px;
    margin:0;
    padding:3px;
    background:#f1f1ef;
    border:1px solid #e1e1df;
    z-index:5
}

.ssl-reg-progress__toggle-button{
    min-height:38px;
    padding:0 18px;
    border:0;
    background:transparent;
    color:#6f6f6f;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9px;
    font-weight:900;
    line-height:1;
    letter-spacing:.11em;
    text-transform:uppercase;
    cursor:pointer;
    transition:
        background-color .2s ease,
        color .2s ease
}

.ssl-reg-progress__toggle-button.is-active{
    background:#191919;
    color:#fff
}

.ssl-reg-progress__toggle-button:focus-visible{
    outline:2px solid #e30613;
    outline-offset:2px
}

@media(hover:hover) and (pointer:fine){
    .ssl-reg-progress__toggle-button:not(.is-active):hover{
        color:#191919
    }
}

@media(max-width:767px){
    .ssl-reg-progress__toggle{
        position:relative;
        top:auto;
        right:auto;
        width:100%;
        min-width:0;
        margin:0 0 24px
    }

    .ssl-reg-progress__intro{
        padding-right:0
    }

    .ssl-reg-progress__toggle-button{
        padding:0 12px
    }
}

/* =========================================================
   SSL Registration Countdown
   ========================================================= */

.ssl-reg-progress--preopen{
    padding-top:48px;
    padding-bottom:44px
}

.ssl-reg-countdown{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin-top:38px;
    border-top:1px solid #e4e4e4;
    border-bottom:1px solid #e4e4e4
}

.ssl-reg-countdown__unit{
    position:relative;
    display:grid;
    justify-items:start;
    padding:26px 24px 24px;
    min-width:0
}

.ssl-reg-countdown__unit+ .ssl-reg-countdown__unit{
    border-left:1px solid #e4e4e4
}

.ssl-reg-countdown__unit strong{
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:clamp(54px,7vw,88px);
    font-weight:400;
    line-height:.85;
    color:#e30613
}

.ssl-reg-countdown__unit span{
    margin-top:8px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    color:#6f6f6f;
    text-transform:uppercase
}

.ssl-reg-countdown__footer{
    display:flex;
    justify-content:flex-end;
    margin-top:18px
}

.ssl-reg-countdown__footer span{
    font-family:Arial,Helvetica,sans-serif;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
    color:#191919;
    text-transform:uppercase
}

@media(max-width:767px){
    .ssl-reg-progress--preopen{padding-top:32px;padding-bottom:30px}
    .ssl-reg-countdown{grid-template-columns:repeat(2,1fr);margin-top:30px}
    .ssl-reg-countdown__unit{padding:22px 18px}
    .ssl-reg-countdown__unit:nth-child(3){border-left:0;border-top:1px solid #e4e4e4}
    .ssl-reg-countdown__unit:nth-child(4){border-top:1px solid #e4e4e4}
    .ssl-reg-countdown__unit strong{font-size:58px}
}


/* =========================================================
   Compact registration summary — structured layout
   ========================================================= */

/* 
 * The phase labels are absolutely positioned, so this area must
 * reserve enough height for price, phase name and deadline date.
 */
.ssl-reg-progress__phases{
    height:138px
}

.ssl-reg-progress__timeline{
    margin-top:30px
}

/* Give the last date label breathing room before the summary row. */
.ssl-reg-progress__phase-date{
    margin-top:7px
}

/* Clean separator below the full timeline content, not through it. */
.ssl-reg-progress__bottom--minimal{
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto auto;
    align-items:center;
    gap:28px;
    width:100%;
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid #e3e3e3
}

.ssl-reg-progress__minimal-count{
    display:flex;
    align-items:baseline;
    gap:7px;
    min-width:0;
    white-space:nowrap
}

.ssl-reg-progress__minimal-count strong{
    color:#191919;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:44px;
    font-weight:400;
    line-height:.85
}

.ssl-reg-progress__minimal-capacity{
    color:#8b8b8b;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:19px;
    font-weight:400;
    line-height:1
}

.ssl-reg-progress__minimal-label{
    margin-left:3px;
    color:#7d7d7d;
    font-family:Arial,Helvetica,sans-serif;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
    line-height:1;
    text-transform:uppercase
}

.ssl-reg-progress__minimal-closing{
    display:flex;
    align-items:baseline;
    justify-content:flex-end;
    gap:9px;
    min-width:0;
    white-space:nowrap
}

.ssl-reg-progress__minimal-closing span{
    color:#999;
    font-family:Arial,Helvetica,sans-serif;
    font-size:8px;
    font-weight:900;
    letter-spacing:.12em;
    line-height:1;
    text-transform:uppercase
}

.ssl-reg-progress__minimal-closing strong{
    color:#191919;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:21px;
    font-weight:400;
    line-height:1
}

.ssl-reg-progress__bottom--minimal .ssl-reg-progress__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:164px;
    min-height:48px;
    margin:0;
    padding:13px 26px;
    font-size:21px;
    line-height:1
}

@media(max-width:980px){
    .ssl-reg-progress__phases{
        height:146px
    }

    .ssl-reg-progress__bottom--minimal{
        grid-template-columns:1fr auto;
        gap:16px 22px
    }

    .ssl-reg-progress__bottom--minimal .ssl-reg-progress__button{
        grid-column:1 / -1;
        width:100%
    }
}

@media(max-width:767px){
    .ssl-reg-progress__phases{
        height:160px
    }

    .ssl-reg-progress__timeline{
        margin-top:26px
    }

    .ssl-reg-progress__bottom--minimal{
        grid-template-columns:1fr;
        gap:12px;
        margin-top:14px;
        padding-top:16px
    }

    .ssl-reg-progress__minimal-count,
    .ssl-reg-progress__minimal-closing{
        justify-content:flex-start;
        white-space:normal
    }

    .ssl-reg-progress__minimal-count strong{
        font-size:42px
    }

    .ssl-reg-progress__bottom--minimal .ssl-reg-progress__button{
        grid-column:auto;
        width:100%
    }
}


/* v3.6 — subtitle removed from registration widget */
.ssl-reg-progress__subheading{
    display:none
}


/* =========================================================
   v4.0 — Mobile horizontal scroll timeline
   ========================================================= */

.ssl-reg-progress__timeline-scroll{
    width:100%;
    overflow:visible
}

@media(max-width:767px){
    .ssl-reg-progress__timeline-scroll{
        width:calc(100% + 40px);
        margin-left:-20px;
        padding:0 20px 8px;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        overscroll-behavior-x:contain;
        scrollbar-width:thin;
        scrollbar-color:#c9c9c9 transparent
    }

    .ssl-reg-progress__timeline-scroll::-webkit-scrollbar{
        height:4px
    }

    .ssl-reg-progress__timeline-scroll::-webkit-scrollbar-track{
        background:transparent
    }

    .ssl-reg-progress__timeline-scroll::-webkit-scrollbar-thumb{
        background:#c9c9c9;
        border-radius:10px
    }

    .ssl-reg-progress__timeline{
        width:760px;
        min-width:760px;
        margin-top:30px
    }

    .ssl-reg-progress__timeline-line{
        position:relative;
        top:auto;
        bottom:auto;
        left:auto;
        width:auto;
        height:5px
    }

    .ssl-reg-progress__timeline-fill{
        width:var(--timeline-progress,0%) !important;
        height:100%;
        inset:auto
    }

    .ssl-reg-progress__timeline-now{
        left:var(--timeline-progress,0%) !important;
        top:50%;
        transform:translate(-50%,-50%)
    }

    .ssl-reg-progress__active-badge{
        left:var(--timeline-progress,0%) !important;
        top:23px;
        transform:translate(-50%,-100%);
        min-width:auto;
        padding:8px 11px 7px
    }

    .ssl-reg-progress__active-badge::after{
        display:block
    }

    .ssl-reg-progress__active-badge strong{
        font-size:22px
    }

    .ssl-reg-progress__active-badge span{
        font-size:7px
    }

    .ssl-reg-progress__phases{
        position:relative;
        width:100%;
        height:138px;
        margin-top:-7px
    }

    .ssl-reg-progress__phase{
        top:auto;
        left:var(--phase-position,0%) !important;
        width:105px;
        padding:0;
        transform:translateX(-50%);
        text-align:center
    }

    .ssl-reg-progress__phase-dot{
        left:50%;
        top:-2px;
        transform:translateX(-50%)
    }

    .ssl-reg-progress__phase-price{
        font-size:34px;
        line-height:1
    }

    .ssl-reg-progress__phase-label{
        margin-top:4px;
        font-size:8px
    }

    .ssl-reg-progress__phase-date{
        margin-top:6px;
        font-size:8px;
        line-height:1.25
    }
}


/* v4.2 — more vertical space between active phase price and timeline on mobile */
@media(max-width:767px){
    .ssl-reg-progress__phase-price{
        margin-top:26px
    }
}


/* =========================================================
   SSL Square Button
   ========================================================= */

.ssl_square_button{
    width:120px;
    max-width:120px;
}

.ssl-square-button{
    display:flex;
    align-items:center;
    justify-content:center;
    width:120px;
    height:120px;
    min-width:120px;
    min-height:120px;
    max-width:120px;
    max-height:120px;
    overflow:hidden;
    background:var(--ssl-square-bg,#e30613);
    color:#fff!important;
    text-decoration:none!important;
    box-sizing:border-box;
    transition:background-color .2s ease,transform .2s ease;
}

.ssl-square-button__content{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    width:100%;
    height:100%;
    padding:14px;
    text-align:center;
    box-sizing:border-box;
}

.ssl-square-button__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:var(--ssl-square-icon-size,48px);
    height:var(--ssl-square-icon-size,48px);
    flex:0 0 auto;
    transition:transform .2s ease;
}

.ssl-square-button__icon-image{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}

.ssl-square-button__icon--svg{
    display:block;
    background-color:var(--ssl-square-icon-color,#fff);
    -webkit-mask-image:var(--ssl-square-icon-url);
    mask-image:var(--ssl-square-icon-url);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-size:contain;
    mask-size:contain;
}

.ssl-square-button__label{
    display:block;
    width:100%;
    max-width:100%;
    color:inherit;
    font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;
    font-size:var(--ssl-square-label-size,18px);
    font-weight:400;
    line-height:1;
    letter-spacing:.02em;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
}

@media(hover:hover) and (pointer:fine){
    .ssl-square-button:hover{
        background:#c71a1a;
        transform:translateY(-1px);
    }

    .ssl-square-button:hover .ssl-square-button__icon{
        transform:translateX(8px);
    }
}

.ssl-square-button:focus-visible{
    outline:3px solid #191919;
    outline-offset:3px;
}

@media(max-width:767px){
    .ssl-square-button__content{
        gap:10px;
        padding:12px;
    }

}
