/*
|--------------------------------------------------------------------------
| HYRO ONE Experience
|--------------------------------------------------------------------------
| Product : HYRO ONE SPA
| File    : spa.css
|--------------------------------------------------------------------------
*/

.spa-product-hero{
    position:relative;
    overflow:hidden;
    padding:96px 0 110px;
    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(236,72,153,.16),
            transparent 32%
        ),
        radial-gradient(
            circle at 87% 18%,
            rgba(192,132,252,.22),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            var(--hyro-soft-background) 100%
        );
}

.spa-product-hero::before{
    content:"";
    position:absolute;
    width:440px;
    height:440px;
    left:-260px;
    bottom:-300px;
    border-radius:50%;
    background:rgba(236,72,153,.08);
}

.spa-product-hero::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-300px;
    top:-310px;
    border-radius:50%;
    background:rgba(139,92,246,.08);
}

.spa-product-hero-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:72px;
}

.spa-product-badge{
    width:fit-content;
    padding:9px 14px;
    border:1px solid var(--hyro-border);
    border-radius:999px;
    color:var(--hyro-primary);
    background:rgba(255,255,255,.88);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
}

.spa-product-hero h1{
    margin:22px 0 18px;
    color:var(--hyro-text);
    font-size:clamp(43px,5.7vw,72px);
    line-height:1.06;
    letter-spacing:-2.8px;
}

.spa-product-hero h1 span{
    display:block;
    color:transparent;
    background:var(--hyro-gradient);
    background-clip:text;
    -webkit-background-clip:text;
}

.spa-product-subtitle{
    margin:0;
    max-width:650px;
    color:var(--hyro-muted);
    font-size:18px;
    line-height:1.8;
}

.spa-product-actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:32px;
}

.spa-product-proof{
    display:flex;
    flex-wrap:wrap;
    gap:10px 21px;
    margin-top:25px;
    color:var(--hyro-muted);
    font-size:13px;
}

/* SPA application preview */

.spa-app-preview{
    position:relative;
    padding:20px;
    border:1px solid rgba(243,232,255,.95);
    border-radius:28px;
    background:rgba(255,255,255,.9);
    box-shadow:0 30px 90px rgba(139,92,246,.18);
    backdrop-filter:blur(18px);
}

.spa-preview-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:16px;
}

.spa-preview-brand{
    color:var(--hyro-text);
    font-size:14px;
    font-weight:700;
}

.spa-preview-online{
    padding:7px 10px;
    border-radius:999px;
    color:#15803d;
    background:#f0fdf4;
    font-size:9px;
    font-weight:700;
}

.spa-preview-welcome{
    padding:22px;
    border-radius:19px;
    color:#ffffff;
    background:var(--hyro-gradient);
}

.spa-preview-welcome small,
.spa-preview-welcome strong,
.spa-preview-welcome span{
    display:block;
}

.spa-preview-welcome small{
    font-size:11px;
    opacity:.85;
}

.spa-preview-welcome strong{
    margin-top:8px;
    font-size:25px;
}

.spa-preview-welcome span{
    margin-top:7px;
    font-size:11px;
    opacity:.88;
}

.spa-preview-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
    margin-top:14px;
}

.spa-preview-stat{
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:15px;
    background:#ffffff;
}

.spa-preview-stat span,
.spa-preview-stat strong,
.spa-preview-stat small{
    display:block;
}

.spa-preview-stat span{
    color:var(--hyro-muted);
    font-size:9px;
}

.spa-preview-stat strong{
    margin-top:8px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-preview-stat small{
    margin-top:5px;
    color:var(--hyro-primary);
    font-size:8px;
}

.spa-preview-content{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:12px;
    margin-top:12px;
}

.spa-preview-panel{
    min-height:205px;
    padding:17px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    background:#ffffff;
}

.spa-preview-panel-title{
    color:var(--hyro-text);
    font-size:11px;
    font-weight:700;
}

.spa-preview-bars{
    height:135px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:8px;
    margin-top:22px;
}

.spa-preview-bars span{
    width:100%;
    border-radius:7px 7px 2px 2px;
    background:linear-gradient(
        180deg,
        var(--hyro-secondary),
        var(--hyro-primary)
    );
}

.spa-preview-appointment{
    margin-top:13px;
    padding:11px;
    border-radius:10px;
    background:var(--hyro-soft-background);
}

.spa-preview-appointment span,
.spa-preview-appointment strong{
    display:block;
}

.spa-preview-appointment span{
    color:var(--hyro-primary);
    font-size:8px;
}

.spa-preview-appointment strong{
    margin-top:4px;
    color:var(--hyro-text);
    font-size:9px;
}

/* Quick benefits strip */

.spa-quick-benefits{
    padding:34px 0;
    border-top:1px solid var(--hyro-border);
    border-bottom:1px solid var(--hyro-border);
    background:#ffffff;
}

.spa-quick-benefits-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.spa-quick-benefit{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    background:#ffffff;
}

.spa-quick-benefit-icon{
    width:43px;
    height:43px;
    flex:0 0 43px;
    border-radius:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:20px;
}

.spa-quick-benefit strong,
.spa-quick-benefit span{
    display:block;
}

.spa-quick-benefit strong{
    color:var(--hyro-text);
    font-size:13px;
}

.spa-quick-benefit span{
    margin-top:4px;
    color:var(--hyro-muted);
    font-size:10px;
    line-height:1.5;
}

@media(max-width:960px){

    .spa-product-hero-grid{
        grid-template-columns:1fr;
    }

    .spa-product-hero-content{
        text-align:center;
    }

    .spa-product-badge{
        margin:0 auto;
    }

    .spa-product-subtitle{
        margin:0 auto;
    }

    .spa-product-actions,
    .spa-product-proof{
        justify-content:center;
    }

    .spa-quick-benefits-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){

    .spa-product-hero{
        padding:68px 0 75px;
    }

    .spa-product-hero h1{
        letter-spacing:-1.6px;
    }

    .spa-product-actions{
        flex-direction:column;
    }

    .spa-product-actions .hyro-button{
        width:100%;
    }

    .spa-preview-stats,
    .spa-preview-content{
        grid-template-columns:1fr;
    }

    .spa-preview-panel:first-child{
        display:none;
    }

    .spa-quick-benefits-grid{
        grid-template-columns:1fr;
    }
}


/* ==========================================
   HYRO ONE SPA Core Features
========================================== */

.spa-features-section{
    padding:105px 0;
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        var(--hyro-soft-background) 100%
    );
}

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

.spa-feature-card{
    padding:28px;
    border:1px solid var(--hyro-border);
    border-radius:24px;
    display:flex;
    align-items:flex-start;
    gap:20px;
    background:#ffffff;
    box-shadow:0 14px 45px rgba(139,92,246,.06);
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.spa-feature-card:hover{
    transform:translateY(-5px);
    border-color:rgba(236,72,153,.34);
    box-shadow:var(--hyro-shadow);
}

.spa-feature-card.featured{
    border-color:rgba(236,72,153,.38);
    box-shadow:0 18px 55px rgba(236,72,153,.11);
}

.spa-feature-icon{
    width:62px;
    height:62px;
    flex:0 0 62px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:29px;
}

.spa-feature-content{
    flex:1;
}

.spa-feature-content h3{
    margin:2px 0 11px;
    color:var(--hyro-text);
    font-size:21px;
}

.spa-feature-content p{
    margin:0;
    color:var(--hyro-muted);
    font-size:13px;
    line-height:1.75;
}

.spa-feature-content ul{
    margin:20px 0 0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 15px;
    list-style:none;
}

.spa-feature-content li{
    position:relative;
    padding-left:20px;
    color:var(--hyro-text);
    font-size:12px;
    line-height:1.5;
}

.spa-feature-content li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--hyro-primary);
    font-weight:700;
}

.spa-features-cta{
    margin-top:35px;
    padding:24px 27px;
    border:1px solid var(--hyro-border);
    border-radius:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    background:#ffffff;
}

.spa-features-cta span,
.spa-features-cta strong{
    display:block;
}

.spa-features-cta span{
    color:var(--hyro-primary);
    font-size:11px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.spa-features-cta strong{
    margin-top:6px;
    color:var(--hyro-text);
    font-size:18px;
    line-height:1.4;
}

@media(max-width:900px){

    .spa-features-grid{
        grid-template-columns:1fr;
    }

    .spa-features-cta{
        flex-direction:column;
        align-items:flex-start;
    }

}

@media(max-width:560px){

    .spa-features-section{
        padding:70px 0;
    }

    .spa-feature-card{
        flex-direction:column;
        padding:22px;
    }

    .spa-feature-content ul{
        grid-template-columns:1fr;
    }

    .spa-features-cta{
        padding:22px;
    }

    .spa-features-cta .hyro-button{
        width:100%;
    }

}


/* ==========================================
   HYRO ONE SPA Daily Workflow
========================================== */

.spa-workflow-section{
    padding:110px 0;
    overflow:hidden;
    background:#ffffff;
}

.spa-workflow-layout{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    align-items:center;
    gap:75px;
}

.spa-workflow-content h2{
    margin:14px 0 20px;
    color:var(--hyro-text);
    font-size:clamp(35px,4.4vw,56px);
    line-height:1.12;
    letter-spacing:-2px;
}

.spa-workflow-content > p{
    margin:0;
    color:var(--hyro-muted);
    font-size:16px;
    line-height:1.85;
}

.spa-workflow-steps{
    margin-top:34px;
    display:flex;
    flex-direction:column;
    gap:21px;
}

.spa-workflow-step{
    display:flex;
    align-items:flex-start;
    gap:15px;
}

.spa-workflow-number{
    width:38px;
    height:38px;
    flex:0 0 38px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ffffff;
    background:var(--hyro-gradient);
    font-size:13px;
    font-weight:700;
    box-shadow:0 10px 25px rgba(236,72,153,.18);
}

.spa-workflow-step h3{
    margin:1px 0 6px;
    color:var(--hyro-text);
    font-size:16px;
}

.spa-workflow-step p{
    margin:0;
    color:var(--hyro-muted);
    font-size:12px;
    line-height:1.65;
}

/* Workflow dashboard */

.spa-workflow-visual{
    position:relative;
}

.spa-workflow-visual::before{
    content:"";
    position:absolute;
    width:470px;
    height:470px;
    top:50%;
    left:50%;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(192,132,252,.19),
        rgba(236,72,153,.05) 58%,
        transparent 72%
    );
    transform:translate(-50%,-50%);
}

.spa-workflow-dashboard{
    position:relative;
    z-index:2;
    padding:30px;
    border:1px solid var(--hyro-border);
    border-radius:28px;
    background:#ffffff;
    box-shadow:0 30px 90px rgba(139,92,246,.16);
}

.spa-workflow-dashboard-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-bottom:22px;
    border-bottom:1px solid var(--hyro-border);
}

.spa-workflow-dashboard-header small,
.spa-workflow-dashboard-header strong{
    display:block;
}

.spa-workflow-dashboard-header small{
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-workflow-dashboard-header strong{
    margin-top:5px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-workflow-dashboard-header > span{
    padding:8px 12px;
    border-radius:999px;
    color:#15803d;
    background:#f0fdf4;
    font-size:10px;
    font-weight:700;
}

.spa-workflow-progress{
    margin-top:25px;
    display:flex;
    flex-direction:column;
    gap:17px;
}

.spa-progress-row{
    padding:16px;
    border:1px solid var(--hyro-border);
    border-radius:16px;
    display:flex;
    align-items:center;
    gap:14px;
    background:#ffffff;
}

.spa-progress-icon{
    width:47px;
    height:47px;
    flex:0 0 47px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--hyro-soft-background);
    font-size:21px;
}

.spa-progress-details{
    flex:1;
}

.spa-progress-details strong,
.spa-progress-details span{
    display:block;
}

.spa-progress-details strong{
    color:var(--hyro-text);
    font-size:13px;
}

.spa-progress-details span{
    margin-top:4px;
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-progress-bar{
    height:7px;
    margin-top:10px;
    border-radius:999px;
    overflow:hidden;
    background:#f3e8ff;
}

.spa-progress-bar i{
    display:block;
    height:100%;
    border-radius:999px;
    background:var(--hyro-gradient);
}

.spa-workflow-summary{
    margin-top:17px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:13px;
}

.spa-workflow-summary > div{
    padding:17px;
    border-radius:16px;
    background:var(--hyro-soft-background);
}

.spa-workflow-summary span,
.spa-workflow-summary strong{
    display:block;
}

.spa-workflow-summary span{
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-workflow-summary strong{
    margin-top:7px;
    color:var(--hyro-text);
    font-size:20px;
}

.spa-workflow-status{
    margin-top:17px;
    padding:13px 15px;
    border-radius:13px;
    color:#166534;
    background:#f0fdf4;
    font-size:11px;
    font-weight:600;
}

.spa-workflow-status span{
    width:8px;
    height:8px;
    margin-right:8px;
    border-radius:50%;
    display:inline-block;
    background:#22c55e;
}

@media(max-width:960px){

    .spa-workflow-layout{
        grid-template-columns:1fr;
    }

}

@media(max-width:600px){

    .spa-workflow-section{
        padding:72px 0;
    }

    .spa-workflow-dashboard{
        padding:20px;
    }

    .spa-workflow-summary{
        grid-template-columns:1fr;
    }

}


/* ==========================================
   HYRO ONE SPA Pricing
========================================== */

.spa-pricing-section{
    padding:105px 0;
    background:linear-gradient(
        180deg,
        var(--hyro-soft-background) 0%,
        #ffffff 100%
    );
}

.spa-pricing-toolbar{
    margin-bottom:28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.spa-pricing-country{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 16px;
    border:1px solid var(--hyro-border);
    border-radius:15px;
    background:#ffffff;
}

.spa-pricing-country > span{
    font-size:25px;
}

.spa-pricing-country small,
.spa-pricing-country strong{
    display:block;
}

.spa-pricing-country small{
    color:var(--hyro-muted);
    font-size:10px;
}

.spa-pricing-country strong{
    margin-top:3px;
    color:var(--hyro-text);
    font-size:13px;
}

.spa-pricing-billing{
    padding:5px;
    border:1px solid var(--hyro-border);
    border-radius:14px;
    display:flex;
    background:#ffffff;
}

.spa-billing-button{
    min-height:40px;
    padding:0 17px;
    border:0;
    border-radius:10px;
    color:var(--hyro-muted);
    background:transparent;
    font-family:var(--hyro-font);
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}

.spa-billing-button span{
    margin-left:5px;
    color:var(--hyro-primary);
    font-size:9px;
}

.spa-billing-button.active{
    color:#ffffff;
    background:var(--hyro-gradient);
}

.spa-billing-button.active span{
    color:#ffffff;
}

.spa-pricing-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    gap:22px;
}

.spa-price-card{
    position:relative;
    padding:31px;
    border:1px solid var(--hyro-border);
    border-radius:26px;
    display:flex;
    flex-direction:column;
    background:#ffffff;
    box-shadow:0 15px 50px rgba(139,92,246,.07);
    transition:.25s ease;
}

.spa-price-card:hover{
    transform:translateY(-6px);
    box-shadow:var(--hyro-shadow);
}

.spa-price-card.featured{
    border-color:rgba(236,72,153,.48);
    box-shadow:0 24px 70px rgba(236,72,153,.14);
}

.spa-price-popular{
    position:absolute;
    top:0;
    right:25px;
    padding:8px 13px;
    border-radius:0 0 11px 11px;
    color:#ffffff;
    background:var(--hyro-gradient);
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
}

.spa-price-plan{
    color:var(--hyro-primary);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.spa-price-card h3{
    min-height:60px;
    margin:13px 0 20px;
    color:var(--hyro-text);
    font-size:23px;
    line-height:1.3;
}

.spa-price-amount{
    display:flex;
    align-items:baseline;
    gap:6px;
}

.spa-price-amount > span{
    color:var(--hyro-muted);
    font-size:13px;
    font-weight:700;
}

.spa-price-value{
    color:var(--hyro-text);
    font-size:48px;
    line-height:1;
    letter-spacing:-2px;
}

.spa-price-period{
    color:var(--hyro-muted);
    font-size:11px;
}

.spa-price-card > p{
    min-height:73px;
    margin:19px 0 0;
    color:var(--hyro-muted);
    font-size:13px;
    line-height:1.75;
}

.spa-price-card ul{
    margin:23px 0 28px;
    padding:0;
    list-style:none;
}

.spa-price-card li{
    position:relative;
    margin:12px 0;
    padding-left:24px;
    color:var(--hyro-text);
    font-size:13px;
}

.spa-price-card li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:var(--hyro-primary);
    font-weight:700;
}

.spa-price-card .hyro-button{
    width:100%;
    margin-top:auto;
}

.spa-pricing-message{
    margin-top:28px;
    padding:19px 22px;
    border:1px solid var(--hyro-border);
    border-radius:18px;
    display:flex;
    align-items:center;
    gap:15px;
    background:#ffffff;
}

.spa-pricing-message-icon{
    font-size:27px;
}

.spa-pricing-message > div:nth-child(2){
    flex:1;
}

.spa-pricing-message strong{
    color:var(--hyro-text);
    font-size:13px;
}

.spa-pricing-message p{
    margin:5px 0 0;
    color:var(--hyro-muted);
    font-size:12px;
    line-height:1.65;
}

.spa-pricing-message a{
    color:var(--hyro-accent);
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    white-space:nowrap;
}

@media(max-width:960px){

    .spa-pricing-grid{
        grid-template-columns:1fr;
    }

    .spa-price-card h3,
    .spa-price-card > p{
        min-height:auto;
    }

}

@media(max-width:650px){

    .spa-pricing-section{
        padding:70px 0;
    }

    .spa-pricing-toolbar,
    .spa-pricing-message{
        flex-direction:column;
        align-items:stretch;
    }

    .spa-pricing-billing{
        width:100%;
    }

    .spa-billing-button{
        flex:1;
    }

    .spa-pricing-message{
        text-align:center;
    }

}



/* ==========================================
   HYRO ONE SPA FAQ
========================================== */

.spa-faq-section{
    padding:105px 0;
    background:#ffffff;
}

.spa-faq-layout{
    display:grid;
    grid-template-columns:.72fr 1.28fr;
    align-items:start;
    gap:72px;
}

.spa-faq-intro{
    position:sticky;
    top:110px;
}

.spa-faq-intro h2{
    margin:14px 0 18px;
    color:var(--hyro-text);
    font-size:clamp(35px,4vw,53px);
    line-height:1.13;
    letter-spacing:-1.8px;
}

.spa-faq-intro p{
    margin:0 0 29px;
    color:var(--hyro-muted);
    font-size:15px;
    line-height:1.8;
}

.spa-faq-list{
    display:flex;
    flex-direction:column;
    gap:13px;
}

.spa-faq-item{
    overflow:hidden;
    border:1px solid var(--hyro-border);
    border-radius:18px;
    background:#ffffff;
    transition:
        border-color .22s ease,
        box-shadow .22s ease;
}

.spa-faq-item[open]{
    border-color:rgba(236,72,153,.35);
    box-shadow:0 16px 45px rgba(139,92,246,.09);
}

.spa-faq-item summary{
    position:relative;
    padding:21px 60px 21px 23px;
    color:var(--hyro-text);
    font-size:15px;
    font-weight:700;
    line-height:1.5;
    cursor:pointer;
    list-style:none;
}

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

.spa-faq-item summary::after{
    content:"+";
    position:absolute;
    top:50%;
    right:21px;
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--hyro-primary);
    background:var(--hyro-soft-background);
    font-size:20px;
    font-weight:400;
    transform:translateY(-50%);
}

.spa-faq-item[open] summary::after{
    content:"−";
    color:#ffffff;
    background:var(--hyro-gradient);
}

.spa-faq-answer{
    padding:0 23px 23px;
    color:var(--hyro-muted);
    font-size:13px;
    line-height:1.8;
}

@media(max-width:900px){

    .spa-faq-layout{
        grid-template-columns:1fr;
        gap:42px;
    }

    .spa-faq-intro{
        position:static;
        text-align:center;
    }

}

@media(max-width:560px){

    .spa-faq-section{
        padding:70px 0;
    }

    .spa-faq-item summary{
        padding:18px 54px 18px 18px;
        font-size:14px;
    }

    .spa-faq-answer{
        padding:0 18px 18px;
    }

}

/* ==========================================
   HYRO ONE SPA Interactive Showcase
========================================== */

.spa-showcase{
    padding:110px 0;
    overflow:hidden;
    background:linear-gradient(
        180deg,
        #ffffff 0%,
        var(--hyro-soft-background) 100%
    );
}

.spa-showcase .section-heading{
    max-width:800px;
    margin:0 auto 52px;
    text-align:center;
}

.spa-showcase .section-heading h2{
    margin:14px 0 17px;
    color:var(--hyro-text);
    font-size:clamp(34px,4.5vw,56px);
    line-height:1.12;
    letter-spacing:-2px;
}

.spa-showcase .section-heading p{
    margin:0;
    color:var(--hyro-muted);
    font-size:16px;
    line-height:1.85;
}

.spa-showcase-wrapper{
    display:grid;
    grid-template-columns:250px minmax(0,1fr);
    align-items:start;
    gap:32px;
}

/* Left menu */

.spa-menu{
    position:sticky;
    top:105px;
    padding:12px;
    border:1px solid var(--hyro-border);
    border-radius:22px;
    background:rgba(255,255,255,.88);
    box-shadow:0 18px 50px rgba(139,92,246,.08);
    backdrop-filter:blur(14px);
}

.spa-item{
    position:relative;
    margin:5px 0;
    padding:16px 17px;
    border-radius:14px;
    color:var(--hyro-muted);
    background:transparent;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:
        color .22s ease,
        background .22s ease,
        transform .22s ease,
        box-shadow .22s ease;
}

.spa-item:hover{
    color:var(--hyro-primary);
    background:var(--hyro-soft-background);
    transform:translateX(3px);
}

.spa-item.active{
    color:#ffffff;
    background:var(--hyro-gradient);
    box-shadow:0 14px 28px rgba(236,72,153,.20);
}

/* Preview */

.spa-preview{
    min-width:0;
}

.browser-frame{
    overflow:hidden;
    border:1px solid var(--hyro-border);
    border-radius:25px;
    background:#ffffff;
    box-shadow:0 30px 90px rgba(139,92,246,.16);
}

.browser-header{
    min-height:54px;
    padding:0 17px;
    display:flex;
    align-items:center;
    gap:18px;
    border-bottom:1px solid var(--hyro-border);
    background:#ffffff;
}

.browser-dots{
    display:flex;
    gap:7px;
}

.browser-dots span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#f9a8d4;
}

.browser-dots span:nth-child(2){
    background:#ddd6fe;
}

.browser-dots span:nth-child(3){
    background:#c4b5fd;
}

.browser-url{
    flex:1;
    max-width:330px;
    margin:0 auto;
    padding:8px 14px;
    border-radius:999px;
    color:var(--hyro-muted);
    background:var(--hyro-soft-background);
    font-size:10px;
    text-align:center;
}

.browser-frame img{
    display:block;
    width:100%;
    height:auto;
    max-height:620px;
    object-fit:contain;
    background:#f8f8fb;
    opacity:1;
    transform:scale(1);
    transition:
        opacity .25s ease,
        transform .25s ease;
}

.browser-frame img.is-changing{
    opacity:0;
    transform:scale(.985);
}

/* Description area */

.preview-info{
    margin-top:24px;
    padding:26px;
    border:1px solid var(--hyro-border);
    border-radius:21px;
    background:#ffffff;
    box-shadow:0 14px 42px rgba(139,92,246,.06);
}

.preview-info h3{
    margin:0;
    color:var(--hyro-text);
    font-size:24px;
}

.preview-info > p{
    margin:11px 0 0;
    color:var(--hyro-muted);
    font-size:14px;
    line-height:1.75;
}

.preview-features{
    margin-top:22px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.preview-features span{
    padding:9px 12px;
    border:1px solid var(--hyro-border);
    border-radius:999px;
    color:var(--hyro-text);
    background:var(--hyro-soft-background);
    font-size:11px;
    font-weight:700;
}

/* Responsive */

@media(max-width:920px){

    .spa-showcase-wrapper{
        grid-template-columns:1fr;
    }

    .spa-menu{
        position:static;
        display:flex;
        overflow-x:auto;
        gap:8px;
        padding:9px;
    }

    .spa-item{
        flex:0 0 auto;
        margin:0;
        white-space:nowrap;
    }

}

@media(max-width:600px){

    .spa-showcase{
        padding:72px 0;
    }

    .spa-showcase .section-heading{
        margin-bottom:35px;
    }

    .browser-header{
        min-height:46px;
    }

    .browser-url{
        max-width:200px;
    }

    .preview-info{
        padding:21px;
    }

    .preview-info h3{
        font-size:21px;
    }

    .preview-features{
        flex-direction:column;
    }

}


/*====================================
WHY HYRO ONE
====================================*/

.spa-why{

padding:120px 0;

background:#fff;

}

.spa-why-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:30px;

margin-top:70px;

}

.spa-why-card{

padding:35px;

background:#fff;

border-radius:24px;

border:1px solid var(--hyro-border);

transition:.3s;

}

.spa-why-card:hover{

transform:translateY(-8px);

box-shadow:var(--hyro-shadow);

border-color:#ec4899;

}

.why-icon{

width:70px;

height:70px;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

border-radius:20px;

background:var(--hyro-soft-background);

margin-bottom:25px;

}

.spa-why-card h3{

margin-bottom:15px;

font-size:24px;

color:var(--hyro-text);

}

.spa-why-card p{

color:var(--hyro-muted);

line-height:1.8;

}

.spa-promise{

margin-top:80px;

padding:60px;

border-radius:30px;

background:linear-gradient(
135deg,
#ec4899,
#c084fc,
#8b5cf6
);

display:flex;

justify-content:space-between;

align-items:center;

color:#fff;

gap:60px;

}

.spa-promise h2{

font-size:48px;

line-height:1.15;

margin-bottom:20px;

}

.spa-promise p{

opacity:.95;

line-height:1.8;

}

.spa-promise-right{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.spa-promise-right div{

background:rgba(255,255,255,.12);

padding:16px;

border-radius:14px;

backdrop-filter:blur(12px);

font-weight:600;

}

@media(max-width:991px){

.spa-why-grid{

grid-template-columns:1fr;

}

.spa-promise{

flex-direction:column;

}

.spa-promise-right{

grid-template-columns:1fr;

width:100%;

}

}