    :root {
        --fshprimary: #19243A;
        --fshsecondary: #4F329A;
        --fshaccent: #747490;
        --fshlight: #F7FAFA;
        --fshwhite: #FFFFFF;
        --fshtext: #60767B;
        --fshborder: #E6EFF0;
        --fshshadow: 0 18px 45px rgba(0, 53, 63, .08);
        --fshshadow-hover: 0 28px 60px rgba(0, 53, 63, .14);
    }

    /* ============================================================
    GLOBAL & TYPOGRAPHY HELPERS
    ============================================================ */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    main {
        max-width: 100%;
        overflow-x: clip;
    }

    .h2-heading {
        font-size: clamp(22px, 3.8vw, 36px);
        font-weight: 900;
        line-height: 1.25;
        color: var(--fshprimary);
        margin-bottom: 12px;
        letter-spacing: -0.5px;
        word-break: break-word;
    }

    .h4-heading {
        font-size: clamp(16px, 2.2vw, 19px);
        font-weight: 800;
        color: var(--fshprimary);
        margin-bottom: 10px;
        line-height: 1.35;
        word-break: break-word;
    }

    .h5-heading {
        font-size: clamp(14px, 2vw, 16px);
        font-weight: 800;
        color: var(--fshprimary);
        word-break: break-word;
    }

    .h6-heading {
        font-size: clamp(12px, 1.8vw, 14px);
        color: var(--fshtext);
    }

    .p-lg {
        font-size: clamp(14px, 1.9vw, 16px);
        line-height: 1.65;
        color: var(--fshtext);
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 0;
    }

    .p-para {
        font-size: 13.5px;
        line-height: 1.6;
        color: var(--fshtext);
        margin-bottom: 12px;
    }

    /* Header Tags & Badges */
    .fshhero-badge,
    .header-tag,
    .typing-badge,
    .typing-header-tag,
    .ahc-header-tag {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 7px 16px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .92);
        border: 1px solid #E7F0F1;
        color: var(--fshsecondary);
        font-size: clamp(11.5px, 1.8vw, 13.5px);
        font-weight: 800;
        box-shadow: 0 8px 20px rgba(0, 53, 63, .06);
        margin-bottom: 14px;
        max-width: 100%;
        word-break: break-word;
        line-height: 1.3;
    }

    .typing-header-tag,
    .ahc-header-tag {
        background: #EAF8F4;
        border-color: #d1f0e8;
    }

    /* Buttons */
    .fshhero-btn-primary,
    .fshhero-btn-light,
    .site-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 46px;
        padding: 12px 22px;
        border-radius: 999px;
        font-size: 14.5px;
        font-weight: 800;
        text-decoration: none !important;
        transition: all .25s ease;
        cursor: pointer;
        line-height: 1.2;
        text-align: center;
    }

    .fshhero-btn-primary,
    .site-btn {
        color: #ffffff !important;
        background: linear-gradient(135deg, var(--fshsecondary), var(--fshprimary));
        box-shadow: 0 12px 28px rgba(1, 133, 142, .22);
        border: 0;
    }

    .fshhero-btn-primary:hover,
    .site-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 16px 34px rgba(0, 53, 63, .24);
        color: #ffffff !important;
    }

    .fshhero-btn-primary:active,
    .site-btn:active {
        transform: translateY(0);
    }

    .fshhero-btn-light {
        color: var(--fshprimary) !important;
        background: rgba(255, 255, 255, .92);
        border: 1px solid #E7F0F1;
        box-shadow: 0 8px 20px rgba(0, 53, 63, .07);
    }

    .fshhero-btn-light:hover {
        color: var(--fshsecondary) !important;
        transform: translateY(-2px);
        background: #ffffff;
        box-shadow: 0 12px 26px rgba(0, 53, 63, .12);
    }

    .fshhero-btn-light:active {
        transform: translateY(0);
    }

    /* ============================================================
    HERO SECTION
    ============================================================ */
    .fshhero {
        position: relative;
        padding: 68px 0 60px;
        background:
            radial-gradient(circle at 12% 12%, rgba(150, 186, 4, .16), transparent 30%),
            radial-gradient(circle at 88% 20%, rgba(1, 133, 142, .15), transparent 34%),
            linear-gradient(180deg, #F7FAFA 0%, #FFFFFF 100%);
        overflow: hidden;
    }

    .fshhero::before {
        content: "";
        position: absolute;
        width: 520px;
        height: 520px;
        right: -220px;
        top: -170px;
        border-radius: 50%;
        background: rgba(0, 53, 63, .045);
        pointer-events: none;
    }

    .fshhero h1 {
        margin: 14px 0 16px;
        color: var(--fshprimary);
        font-size: clamp(26px, 5vw, 52px);
        line-height: 1.14;
        font-weight: 900;
        letter-spacing: -0.5px;
        word-break: break-word;
    }

    .fshhero h1 span {
        color: var(--fshsecondary);
    }

    .fshhero p {
        max-width: 580px;
        color: #5d7479;
        font-size: clamp(14px, 2vw, 17px);
        line-height: 1.68;
        margin: 0;
    }

    .fshhero-actions {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        margin-top: 26px;
    }

    .fshhero-stats {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 12px;
        max-width: 600px;
        margin-top: 30px;
    }

    .fshhero-stat {
        padding: 12px 10px;
        border-radius: 16px;
        background: rgba(255, 255, 255, .86);
        border: 1px solid #E7F0F1;
        box-shadow: 0 8px 20px rgba(0, 53, 63, .05);
        text-align: center;
        transition: transform .25s ease;
    }

    .fshhero-stat:hover {
        transform: translateY(-2px);
    }

    .fshhero-stat h3 {
        margin: 0;
        color: var(--fshprimary);
        font-size: clamp(18px, 3.8vw, 24px);
        font-weight: 900;
        line-height: 1.15;
    }

    .fshhero-stat span {
        color: #6B7D80;
        font-size: clamp(11px, 1.8vw, 13px);
        font-weight: 700;
        display: block;
        margin-top: 2px;
    }

    /* Hero Slider */
    .fshhero-slider-wrap {
        position: relative;
        padding: 12px;
        border-radius: 28px;
        background: rgba(255, 255, 255, .85);
        border: 1px solid rgba(231, 240, 241, .95);
        box-shadow: 0 20px 50px rgba(0, 53, 63, .12);
    }

    .fshhero-slider-wrap::before {
        content: "";
        position: absolute;
        inset: 12px;
        border-radius: 22px;
        background: linear-gradient(135deg, rgba(1, 133, 142, .16), rgba(150, 186, 4, .12));
        transform: rotate(-2.5deg);
        z-index: 0;
        pointer-events: none;
    }

    .fshhero-slider {
        position: relative;
        z-index: 2;
        border-radius: 20px;
        overflow: hidden;
        background: var(--fshprimary);
        height: 410px;
        min-height: 410px;
    }

    .fshhero-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        animation: fstHeroSlider 20s infinite;
    }

    .fshhero-slide:nth-child(1) { animation-delay: 0s; }
    .fshhero-slide:nth-child(2) { animation-delay: 4s; }
    .fshhero-slide:nth-child(3) { animation-delay: 8s; }
    .fshhero-slide:nth-child(4) { animation-delay: 12s; }
    .fshhero-slide:nth-child(5) { animation-delay: 16s; }

    .fshhero-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
    }

    .fshhero-slide::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, transparent 40%, rgba(0, 53, 63, .8));
    }

    .fshslide-caption {
        position: absolute;
        left: 16px;
        right: 16px;
        bottom: 16px;
        z-index: 3;
        padding: 12px 14px;
        border-radius: 14px;
        background: rgba(0, 35, 42, .7);
        border: 1px solid rgba(255, 255, 255, .2);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .fshslide-caption h4 {
        color: #ffffff;
        font-size: clamp(13.5px, 2.4vw, 16.5px);
        font-weight: 800;
        margin: 0 0 3px;
        line-height: 1.25;
    }

    .fshslide-caption p {
        color: rgba(255, 255, 255, .9);
        font-size: clamp(11px, 1.9vw, 12.5px);
        margin: 0;
        line-height: 1.35;
    }

    .fshfloating-card {
        position: absolute;
        z-index: 4;
        top: 20px;
        left: -10px;
        padding: 9px 14px;
        border-radius: 14px;
        background: #ffffff;
        box-shadow: 0 14px 28px rgba(0, 53, 63, .14);
        color: var(--fshprimary);
        font-weight: 900;
        font-size: 13px;
        border: 1px solid #E7F0F1;
    }

    .fshfloating-card span {
        display: block;
        color: var(--fshsecondary);
        font-size: 11px;
        font-weight: 800;
    }

    .fshfloating-card-2 {
        top: auto;
        left: auto;
        right: -8px;
        bottom: 28px;
    }

    @keyframes fstHeroSlider {
        0% { opacity: 0; transform: scale(1.03); }
        5% { opacity: 1; transform: scale(1); }
        20% { opacity: 1; transform: scale(1); }
        25% { opacity: 0; transform: scale(1.03); }
        100% { opacity: 0; transform: scale(1.03); }
    }

    /* Full-screen home hero */
    .fshhero.fshhero-fullscreen{
        display:flex;
        align-items:center;
        min-height:calc(100vh - 82px);
        padding:72px 0;
        isolation:isolate;
        background:
            linear-gradient(90deg,rgba(25,36,58,.96) 0%,rgba(25,36,58,.89) 42%,rgba(25,36,58,.28) 74%,rgba(25,36,58,.08) 100%),
            url('../images/home-hero-steno-v2.png') center center / cover no-repeat;
    }
    .fshhero.fshhero-fullscreen::before{inset:0;width:auto;height:auto;right:auto;top:auto;border-radius:0;background:linear-gradient(0deg,rgba(15,22,38,.30),transparent 36%);z-index:-1;}
    .fshhero-fullscreen .fshhero-badge{color:#F0E5ED;background:rgba(255,255,255,.11);border-color:rgba(240,229,237,.24);box-shadow:none;}
    .fshhero-fullscreen .fshhero-badge i{color:#F0E5ED;}
    .fshhero-fullscreen h1{max-width:760px;color:#fff;font-size:clamp(39px,5vw,68px);line-height:1.04;letter-spacing:-1.8px;}
    .fshhero-fullscreen h1 span{color:#F0E5ED;}
    .fshhero-fullscreen p{max-width:620px;color:rgba(255,255,255,.83);font-size:clamp(15px,1.8vw,18px);}
    .fshhero-fullscreen .fshhero-btn-primary{color:#19243A!important;background:#F0E5ED;box-shadow:0 14px 30px rgba(0,0,0,.22);}
    .fshhero-fullscreen .fshhero-btn-light{color:#fff!important;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.28);box-shadow:none;}
    .fshhero-fullscreen .fshhero-btn-light:hover{color:#fff!important;background:rgba(255,255,255,.18);}
    .fshhero-fullscreen .fshhero-stats{max-width:650px;gap:10px;}
    .fshhero-fullscreen .fshhero-stat{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18);box-shadow:none;backdrop-filter:blur(8px);}
    .fshhero-fullscreen .fshhero-stat h3{color:#F0E5ED;font-size:20px;}.fshhero-fullscreen .fshhero-stat span{color:rgba(255,255,255,.78);font-size:12px;}

    @media(max-width:991px){
        .fshhero.fshhero-fullscreen{min-height:auto;padding:82px 0 70px;background:linear-gradient(90deg,rgba(25,36,58,.94),rgba(31,41,64,.78)),url('../images/home-hero-steno-v2.png') 68% center / cover no-repeat;}
    }
    @media(max-width:575px){
        .fshhero.fshhero-fullscreen{padding:62px 0 54px;}.fshhero-fullscreen h1{font-size:38px;letter-spacing:-1px;}.fshhero-fullscreen .fshhero-stats{grid-template-columns:repeat(2,1fr);}.fshhero-fullscreen .fshhero-actions{flex-direction:column;}.fshhero-fullscreen .fshhero-btn-primary,.fshhero-fullscreen .fshhero-btn-light{width:100%;}
    }

    /* ============================================================
    1v1 BATTLE PROMO SECTION
    ============================================================ */
    .fshbattle-promo-section {
        position:relative;
        padding:70px 0;
        overflow:hidden;
        background:#FFFFFF;
    }
    .fshbattle-promo-section::before{content:"";position:absolute;width:430px;height:430px;right:-220px;top:-250px;border-radius:50%;background:#F0E5ED;opacity:.8;}
    .fshbattle-promo-section .container{position:relative;z-index:1;}

    .fshbattle-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 16px;
        border-radius: 999px;
        background:#F0E5ED;
        color:#4F329A;
        font-size: clamp(11px, 2vw, 13px);
        font-weight: 800;
        letter-spacing: 0.3px;
        box-shadow:none;
        max-width: 100%;
        margin-bottom: 14px;
        white-space: normal;
        word-break: break-word;
        line-height: 1.3;
    }

    .fshbattle-title {
        font-size: clamp(22px, 4.5vw, 36px);
        font-weight: 900;
        color:#19243A;
        line-height: 1.22;
        margin-bottom: 14px;
        text-shadow:none;
        word-break: break-word;
    }

    .fshbattle-lead {
        max-width:680px;
        color:#60767B !important;
        font-size: clamp(14px, 2vw, 16.5px);
        line-height: 1.65;
        font-weight: 500;
        margin-bottom: 22px;
    }

    .fshbattle-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }

    .fshbattle-actions .btn {
        min-height: 48px;
        padding: 12px 24px;
        font-size: 14.5px;
        font-weight: 800;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-decoration: none !important;
        transition: all .25s ease;
    }
    .fshbattle-primary-btn{color:#fff!important;background:linear-gradient(135deg,#4F329A,#19243A);border:0;box-shadow:0 12px 24px rgba(79,50,154,.20);}
    .fshbattle-secondary-btn{color:#4F329A!important;background:#fff;border:1px solid rgba(79,50,154,.22);}

    .fshbattle-actions .btn:hover {
        transform: translateY(-2px);
    }

    .fshbattle-card {
        display:grid;
        grid-template-columns:58px 1fr;
        gap:12px 16px;
        padding:28px;
        background:#FDFCFD;
        border:1px solid rgba(79,50,154,.13);
        border-radius:24px;
        box-shadow:0 20px 42px rgba(25,36,58,.08);
    }
    .fshbattle-card-icon{grid-row:span 2;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:18px;background:linear-gradient(135deg,#4F329A,#19243A);color:#fff;font-size:22px;box-shadow:0 10px 20px rgba(79,50,154,.20);}
    .fshbattle-card-label{display:block;margin:2px 0 5px;color:#4F329A;font-size:11px;font-weight:900;letter-spacing:1px;}.fshbattle-card h4{margin:0;color:#19243A;font-size:22px;font-weight:900;line-height:1.2;}.fshbattle-card p{grid-column:1 / -1;margin:3px 0 0;color:#60767B;font-size:14px;line-height:1.6;}.fshbattle-offer-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:3px;}.fshbattle-offer-grid div{padding:13px 10px;border-radius:14px;background:#fff;border:1px solid #E6EFF0;}.fshbattle-offer-grid span{display:block;color:#747490;font-size:11px;font-weight:700;}.fshbattle-offer-grid strong{display:block;margin-top:4px;color:#4F329A;font-size:14px;font-weight:900;}
    @media(max-width:575px){.fshbattle-promo-section{padding:56px 0;}.fshbattle-card{padding:22px;}.fshbattle-offer-grid{grid-template-columns:1fr;}.fshbattle-actions .btn{width:100%;}.fshbattle-card-icon{width:52px;height:52px;}}

    /* ============================================================
    PRACTICE CARDS (GENERAL MODULES)
    ============================================================ */
    .fshsection { padding: 60px 0;
        background: #FCFDFD;
    }

    .fshsection-header {
        margin-bottom: 36px;
    }

    .fshfeature-card { position: relative; height: 100%; display: flex; flex-direction: column; padding: 18px 18px 22px; border-radius: 22px; background: #ffffff; border: 1px solid rgba(0, 53, 63, .06); box-shadow: 0 8px 24px rgba(0, 53, 63, .04); transition: all .35s cubic-bezier(0.165, 0.84, 0.44, 1); overflow: hidden; }

    .fshfeature-card::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 4px;
        background: linear-gradient(90deg, var(--fshsecondary), var(--fshaccent));
        transform: scaleX(0);
        transform-origin: left;
        transition: .35s;
    }

    .fshfeature-card:hover { transform: translateY(-5px); border-color: rgba(79, 50, 154, .2); box-shadow: 0 16px 32px rgba(79, 50, 154, .08); }

    .fshfeature-card:hover::before {
        transform: scaleX(1);
    }

    .fshimage-wrapper {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 9;
        overflow: hidden;
        border-radius: 16px;
        background: var(--fshlight);
    }

    .fshimage-wrapper img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        transition: transform .45s ease;
        border-radius: 16px;
    }

    .fshfeature-card:hover img {
        transform: scale(1.04);
    }

    .fshfeature-icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        background: linear-gradient(135deg, var(--fshsecondary), var(--fshprimary));
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-top: -22px;
        margin-left: 12px;
        margin-bottom: 10px;
        position: relative;
        z-index: 5;
        color: #ffffff;
        font-size: 18px;
        box-shadow: 0 10px 22px rgba(1, 133, 142, .32);
        border: 3px solid #ffffff;
        transition: transform .3s ease;
    }

    .fshfeature-card:hover .fshfeature-icon {
        transform: scale(1.08);
    }

    .fshlist {
        padding: 0;
        margin: 5px 0 16px;
        list-style: none;
        flex-grow: 1;
    }

    .fshlist li {
        display: flex;
        align-items: center;
        gap: 9px;
        margin-bottom: 10px;
        color: var(--fshtext);
        font-size: 13.5px;
        font-weight: 500;
    }

    .fshlist li i {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #EAF8F4;
        color: var(--fshsecondary);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 10.5px;
        flex-shrink: 0;
    }

    .fshfeature-card .site-btn {
        margin-top: auto;
        width: 100%;
    }

    /* Practice studio: asymmetric skill deck */
    .fshmodule-showcase{position:relative;padding:70px 0;background:linear-gradient(180deg,#FCFBFC 0%,#FFFFFF 100%);overflow:hidden;}
    .fshmodule-showcase::before{content:"";position:absolute;width:520px;height:520px;right:-230px;top:80px;border-radius:50%;background:rgba(240,229,237,.55);filter:blur(4px);}
    .fshmodule-intro{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px;}.fshmodule-intro .h2-heading{margin:10px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.05;}.fshmodule-intro .p-lg{max-width:390px;margin:0;padding-bottom:4px;}
    .fshskill-deck{position:relative;z-index:1;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;}.fshskill-tile{position:relative;display:flex;min-height:276px;overflow:hidden;border:1px solid rgba(255,255,255,.4);border-radius:28px;background:#19243A;box-shadow:0 18px 38px rgba(25,36,58,.13);transition:transform .35s ease,box-shadow .35s ease;}.fshskill-tile:hover{transform:translateY(-7px);box-shadow:0 26px 52px rgba(25,36,58,.22);}.fshskill-tile-1,.fshskill-tile-4{grid-column:span 7;}.fshskill-tile-2,.fshskill-tile-3{grid-column:span 5;}.fshskill-tile-2,.fshskill-tile-3{flex-direction:column;}.fshskill-tile-2{background:#4F329A;}.fshskill-tile-3{background:#1F2940;}.fshskill-tile-4{background:#F0E5ED;}.fshskill-visual{width:43%;flex:0 0 43%;overflow:hidden;position:relative;}.fshskill-tile-2 .fshskill-visual,.fshskill-tile-3 .fshskill-visual{width:100%;height:126px;flex-basis:126px;}.fshskill-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,36,58,.1),rgba(25,36,58,.72));}.fshskill-tile-2 .fshskill-visual::after,.fshskill-tile-3 .fshskill-visual::after{background:linear-gradient(180deg,rgba(25,36,58,.05),rgba(25,36,58,.62));}.fshskill-tile-4 .fshskill-visual::after{background:linear-gradient(90deg,rgba(79,50,154,.08),rgba(240,229,237,.68));}.fshskill-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}.fshskill-tile:hover .fshskill-visual img{transform:scale(1.06);}.fshskill-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;padding:25px 27px;color:#fff;}.fshskill-tile-2 .fshskill-copy,.fshskill-tile-3 .fshskill-copy{padding:17px 23px 20px;}.fshskill-tile-4 .fshskill-copy{color:#19243A;}.fshskill-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:11px;font-weight:900;letter-spacing:1.4px;}.fshskill-meta i{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:12px;background:rgba(255,255,255,.14);font-size:15px;}.fshskill-tile-4 .fshskill-meta i{background:#fff;color:#4F329A;}.fshskill-copy h3{margin:0 0 8px;font-size:23px;line-height:1.1;font-weight:800;}.fshskill-tile-2 .fshskill-copy h3,.fshskill-tile-3 .fshskill-copy h3{font-size:20px;}.fshskill-copy p{margin:0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.5;}.fshskill-tile-4 .fshskill-copy p{color:#4d596e;}.fshskill-features{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:14px;}.fshskill-features span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-size:10.5px;font-weight:700;}.fshskill-tile-4 .fshskill-features span{background:rgba(79,50,154,.11);color:#4F329A;}.fshskill-link{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:14px;color:#fff;font-size:13px;font-weight:800;text-decoration:none;}.fshskill-link i{font-size:11px;transition:transform .25s ease;}.fshskill-link:hover{color:#fff;}.fshskill-tile-4 .fshskill-link{color:#4F329A;}.fshskill-tile:hover .fshskill-link i{transform:translate(3px,-3px);}
    @media(max-width:991px){.fshskill-tile-1,.fshskill-tile-4,.fshskill-tile-2,.fshskill-tile-3{grid-column:span 6;}.fshskill-tile,.fshskill-tile-2,.fshskill-tile-3{flex-direction:column;}.fshskill-visual,.fshskill-tile-2 .fshskill-visual,.fshskill-tile-3 .fshskill-visual{width:100%;height:145px;flex-basis:145px;}.fshskill-visual::after{background:linear-gradient(180deg,rgba(25,36,58,.05),rgba(25,36,58,.65));}}
    @media(max-width:767px){.fshmodule-showcase{padding:58px 0;}.fshmodule-intro{display:block;margin-bottom:28px;}.fshmodule-intro .p-lg{margin-top:14px;}.fshskill-deck{grid-template-columns:1fr;gap:14px;}.fshskill-tile-1,.fshskill-tile-4,.fshskill-tile-2,.fshskill-tile-3{grid-column:auto;}.fshskill-tile{min-height:0;flex-direction:row;}.fshskill-visual,.fshskill-tile-2 .fshskill-visual,.fshskill-tile-3 .fshskill-visual{width:38%;height:auto;flex-basis:38%;}.fshskill-copy,.fshskill-tile-2 .fshskill-copy,.fshskill-tile-3 .fshskill-copy{padding:18px;}.fshskill-meta{margin-bottom:8px;}.fshskill-copy h3,.fshskill-tile-2 .fshskill-copy h3,.fshskill-tile-3 .fshskill-copy h3{font-size:18px;}.fshskill-copy p{font-size:12px;}.fshskill-features{display:none;}.fshskill-link{margin-top:12px;}}

    /* ============================================================
    WHY SECTION
    ============================================================ */
    .fshwhy-section { padding: 60px 0;
        background: #ffffff;
    }

    .fshwhy-actions {
        margin-top: 22px;
    }

    .fshwhy-card {
        height: 100%;
        padding: 22px;
        border-radius: 22px;
        background: var(--fshlight);
        border: 1px solid var(--fshborder);
        transition: all .35s ease;
    }

    .fshwhy-card:hover {
        transform: translateY(-6px);
        background: #ffffff;
        box-shadow: var(--fshshadow-hover);
        border-color: var(--fshsecondary);
    }

    .fshwhy-card i {
        width: 50px;
        height: 50px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, var(--fshsecondary), var(--fshprimary));
        color: #ffffff;
        font-size: 20px;
        margin-bottom: 14px;
    }

    .fshwhy-card h5 {
        color: var(--fshprimary);
        font-weight: 800;
        font-size: clamp(15px, 2.2vw, 18px);
        margin-bottom: 8px;
    }

    .fshwhy-card p {
        color: var(--fshtext);
        margin: 0;
        font-size: 13.5px;
        line-height: 1.65;
    }

    /* ============================================================
    LEADERBOARD SECTION
    ============================================================ */
    .fshleader-section { padding: 58px 0;
        background: linear-gradient(180deg, #FAFCFC 0%, #F5FBF9 100%);
    }

    .fshleaderboard {
        position: relative;
        background: #ffffff;
        border: 1px solid rgba(1, 133, 142, .2);
        border-radius: 18px;
        padding: 16px 10px 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        transition: all .35s ease;
        box-shadow: 0 10px 26px rgba(0, 53, 63, .05);
        overflow: hidden;
        margin-bottom: 16px;
        height: calc(100% - 16px);
    }

    .fshleaderboard:hover {
        transform: translateY(-6px);
        border-color: var(--fshsecondary);
        box-shadow: 0 16px 36px rgba(0, 53, 63, .12);
    }

    .fshleader-img {
        width: 64px; height: 64px;
        border-radius: 50%;
        overflow: hidden;
        border: 3.5px solid var(--fshsecondary);
        margin-bottom: 10px;
        box-shadow: 0 8px 20px rgba(1, 133, 142, .18);
        flex-shrink: 0;
    }

    .fshleader-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform .35s ease;
    }

    .fshleaderboard:hover .fshleader-img img {
        transform: scale(1.08);
    }

    .fshleaderboard .h5-heading {
        margin-bottom: 3px;
        color: var(--fshprimary);
        font-weight: 700;
        font-size: clamp(13px, 2vw, 15px);
        word-break: break-word;
        line-height: 1.25;
    }

    .fshleaderboard .h6-heading {
        color: var(--fshtext);
        font-size: clamp(11px, 1.8vw, 13px);
        margin-bottom: 10px;
        font-weight: 500;
    }

    .fshwpm {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 5px 12px;
        border-radius: 50px;
        background: #EAF8F4;
        color: var(--fshsecondary);
        font-size: 12px;
        font-weight: 800;
    }

    .fshrank {
        position: absolute;
        top: 8px;
        right: 8px;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background: var(--fshprimary);
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 800;
    }

    /* ============================================================
    LEARNING PROCESS SECTION
    ============================================================ */
    .fshprocess-section {
        padding: 70px 0;
        background: #ffffff;
    }

    .fshprocess-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 14px;
    }

    .fshprocess-step {
        flex: 1 1 200px;
        max-width: 240px;
        background: #ffffff;
        border-radius: 22px;
        padding: 22px 16px;
        text-align: center;
        border: 1px solid var(--fshborder);
        box-shadow: 0 10px 26px rgba(0, 53, 63, .05);
        transition: all .35s ease;
    }

    .fshprocess-step:hover {
        transform: translateY(-6px);
        border-color: var(--fshsecondary);
    }

    .fshprocess-icon {
        width: 56px;
        height: 56px;
        border-radius: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 14px;
        background: linear-gradient(135deg, var(--fshsecondary), var(--fshprimary));
        color: #ffffff;
        font-size: 22px;
        box-shadow: 0 10px 20px rgba(1, 133, 142, .2);
    }

    .fshprocess-step h5 {
        color: var(--fshprimary);
        font-weight: 800;
        font-size: 15px;
        margin-bottom: 6px;
    }

    .fshprocess-step p {
        color: var(--fshtext);
        margin: 0;
        font-size: 12.5px;
        line-height: 1.55;
    }

    .fshprocess-arrow {
        color: var(--fshaccent);
        font-size: 22px;
        flex-shrink: 0;
    }

    .fshprocess-step.success {
        background: linear-gradient(135deg, var(--fshsecondary), var(--fshprimary));
    }

    .fshprocess-step.success h5,
    .fshprocess-step.success p {
        color: #ffffff;
    }

    .fshprocess-step.success .fshprocess-icon {
        background: var(--fshaccent);
        color: var(--fshprimary);
    }

    /* ============================================================
    STATS COUNTER SECTION
    ============================================================ */
    .fshcounter-section {
        padding: 0 0 70px;
        background: #ffffff;
    }

    .fshcounter-box {
        border-radius: 26px;
        padding: 36px 18px;
        background: linear-gradient(135deg, var(--fshprimary), var(--fshsecondary));
        box-shadow: 0 22px 50px rgba(0, 53, 63, .16);
    }

    .fshcounter-box h3 {
        color: #ffffff;
        font-size: clamp(24px, 4.5vw, 38px);
        font-weight: 900;
        margin: 0 0 4px;
        line-height: 1.15;
    }

    .fshcounter-box span {
        color: rgba(255, 255, 255, .86);
        font-size: clamp(12px, 1.8vw, 14px);
        font-weight: 700;
        display: block;
    }

    /* ============================================================
    DICTATION SECTION
    ============================================================ */
    .fshdictation-list-section {
        padding: 70px 0;
        background: #F7FAFA;
    }

    .fshdictation-card {
        background: #ffffff;
        border: 1px solid #E7EFF1;
        border-radius: 22px;
        padding: 20px;
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: all .35s ease;
        position: relative;
        overflow: hidden;
        box-shadow: 0 10px 28px rgba(0, 53, 63, .06);
    }

    .fshdictation-card::before {
        content: "";
        position: absolute;
        width: 130px;
        height: 130px;
        right: -50px;
        top: -50px;
        border-radius: 50%;
        background: rgba(1, 133, 142, .07);
        pointer-events: none;
    }

    .fshdictation-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 45px rgba(0, 53, 63, .12);
    }

    .fshcard-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 14px;
    }

    .fshcard-category {
        padding: 6px 11px;
        border-radius: 999px;
        background: #EAF8F4;
        color: #4F329A;
        font-size: 11px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    .fshcard-meta {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }

    .fshcard-meta span {
        background: #F7FAFA;
        border-radius: 999px;
        padding: 6px 12px;
        font-size: 12px;
        font-weight: 700;
        color: #19243A;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

    .fshcard-meta i {
        color: #4F329A;
    }

    .fshcard-meta .paid,
    .fshcard-meta .free {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
    }

    .fshcard-meta .paid {
        background: #FFF3E2;
        color: #D97706;
    }

    .fshcard-meta .free {
        background: #EAF8F4;
        color: #16A34A;
    }

    .fshdictation-card .site-btn {
        margin-top: auto;
    }

    /* ============================================================
    PITMAN EXERCISE SECTION
    ============================================================ */
    .fshpitman-list-section {
        padding: 70px 0;
        background: #ffffff;
    }

    .fshpitman-card {
        background: #ffffff;
        border: 1px solid #E7EFF1;
        border-radius: 22px;
        padding: 20px;
        height: 100%;
        display: flex;
        flex-direction: column;
        transition: all .35s ease;
        position: relative;
        overflow: hidden;
        box-shadow: 0 10px 28px rgba(0, 53, 63, .06);
    }

    .fshpitman-card::before {
        content: "";
        position: absolute;
        width: 130px;
        height: 130px;
        right: -50px;
        top: -50px;
        border-radius: 50%;
        background: rgba(1, 133, 142, .07);
        pointer-events: none;
    }

    .fshpitman-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 45px rgba(0, 53, 63, .12);
    }

    .fshcard-level {
        padding: 5px 11px;
        border-radius: 50px;
        font-size: 11px;
        font-weight: 800;
    }

    .fshcard-level.beginner { background: #EAF8F4; color: #16A34A; }
    .fshcard-level.intermediate { background: #FFF4D8; color: #D97706; }
    .fshcard-level.advanced { background: #FEECEC; color: #DC2626; }
    .fshcard-level.expert { background: #EEF2FF; color: #4F46E5; }

    .fshpitman-card .site-btn {
        margin-top: auto;
    }

    /* ============================================================
    TYPING TEST SECTION
    ============================================================ */
    .typing-test-list {
        padding: 70px 0;
        background: var(--fshlight);
    }

    .typing-test-card {
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--fshborder);
        border-radius: 22px;
        padding: 20px;
        box-shadow: 0 12px 32px rgba(0, 53, 63, .06);
        transition: all .35s ease;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .typing-test-card::before {
        content: "";
        position: absolute;
        width: 130px;
        height: 130px;
        right: -50px;
        top: -50px;
        border-radius: 50%;
        background: rgba(1, 133, 142, .07);
        pointer-events: none;
    }

    .typing-test-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 45px rgba(0, 53, 63, .12);
    }

    .typing-card-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
    }

    .typing-card-head span,
    .typing-card-head b {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 800;
    }

    .typing-card-head span {
        background: #EAF8F4;
        color: var(--fshsecondary);
    }

    .typing-card-head .free {
        background: #EAF8F4;
        color: #16A34A;
    }

    .typing-card-head .paid {
        background: #FFF3E2;
        color: #D97706;
    }

    .typing-card-meta {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 12px;
        margin-bottom: 14px;
    }

    .typing-card-meta span {
        background: var(--fshlight);
        border-radius: 999px;
        padding: 6px 12px;
        color: var(--fshprimary);
        font-size: 12px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

    .typing-card-meta i {
        color: var(--fshsecondary);
    }

    .typing-test-card .site-btn {
        margin-top: auto;
    }

    /* ============================================================
    TYPING CATEGORY SECTION
    ============================================================ */
    .typing-cat-list {
        padding: 70px 0;
        background: #ffffff;
    }

    .typing-cat-list .fshfeature-card { position: relative; height: 100%; display: flex; flex-direction: column; padding: 18px 18px 22px; border-radius: 22px; background: #ffffff; border: 1px solid rgba(0, 53, 63, .06); box-shadow: 0 8px 24px rgba(0, 53, 63, .04); transition: all .35s cubic-bezier(0.165, 0.84, 0.44, 1); overflow: hidden; }

    .typing-cat-list .fshfeature-icon {
        margin-left: 0;
    }

    .typing-cat-list .h4-heading {
        font-size: clamp(16px, 2.2vw, 19px);
        font-weight: 800;
        color: var(--fshprimary);
        margin: 4px 0 14px;
    }

    /* ============================================================
    AHC FORMATTING SECTION
    ============================================================ */
    .ahc-practice-list {
        padding: 70px 0;
        background: var(--fshlight);
    }

    .ahc-practice-card {
        height: 100%;
        background: #ffffff;
        border: 1px solid var(--fshborder);
        border-radius: 22px;
        padding: 20px;
        box-shadow: 0 12px 32px rgba(0, 53, 63, .06);
        transition: all .35s ease;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .ahc-practice-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 45px rgba(0, 53, 63, .12);
    }

    .ahc-card-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        margin-bottom: 16px;
    }

    .ahc-card-head span,
    .ahc-card-head b {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 800;
    }

    .ahc-card-head span {
        background: #EAF8F4;
        color: var(--fshsecondary);
    }

    .ahc-card-head .free {
        background: #EAF8F4;
        color: #16A34A;
    }

    .ahc-card-head .paid {
        background: #FFF3E2;
        color: #D97706;
    }

    .doz-free {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 6px 12px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 800;
    }

    /* Clamped Headings for cards */
    .ahc-practice-card .h4-heading,
    .typing-test-card .h4-heading,
    .fshpitman-card .h4-heading,
    .fshdictation-card .h4-heading {
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        line-height: 1.4;
        max-height: 2.8em;
        min-height: 2.8em;
        word-break: break-word;
        font-size: clamp(15.5px, 2.2vw, 18px);
        margin-bottom: 8px;
    }

    .ahc-card-meta {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
        margin-top: 12px;
        margin-bottom: 14px;
    }

    .ahc-card-meta span {
        background: var(--fshlight);
        border-radius: 999px;
        padding: 6px 12px;
        color: var(--fshprimary);
        font-size: 12px;
        font-weight: 700;
        display: inline-flex;
        align-items: center;
        gap: 4px;
    }

    .ahc-card-meta i {
        color: var(--fshsecondary);
    }

    .ahc-practice-card .site-btn {
        margin-top: auto;
    }

    /* ============================================================
    RESPONSIVE MEDIA QUERIES
    ============================================================ */

    /* Large Tablets & Small Desktops (max-width: 991px) */
    @media (max-width: 991px) {
        .fshhero,
        .fshsection,
        .fshwhy-section,
        .fshleader-section,
        .fshprocess-section,
        .fshdictation-list-section,
        .fshpitman-list-section,
        .typing-test-list,
        .typing-cat-list,
        .ahc-practice-list,
        .fshbattle-promo-section {
            padding: 45px 0;
        }

        .fshhero {
            text-align: center;
        }

        .fshhero p {
            margin-left: auto;
            margin-right: auto;
        }

        .fshhero-actions,
        .fshwhy-actions {
            justify-content: center;
        }

        .fshhero-stats {
            margin: 24px auto 0;
            max-width: 500px;
        }

        .fshhero-slider {
            height: 330px;
            min-height: 330px;
        }

        .fshfloating-card {
            left: 10px;
            top: 14px;
        }

        .fshfloating-card-2 {
            right: 10px;
            bottom: 18px;
        }

        .fshprocess-wrap {
            gap: 12px;
        }

        .fshprocess-arrow {
            display: none;
        }
    }

    /* Small Tablets & Mobile Devices (max-width: 767px) */
    @media (max-width: 767px) {
        .fshhero,
        .fshsection,
        .fshwhy-section,
        .fshleader-section,
        .fshprocess-section,
        .fshdictation-list-section,
        .fshpitman-list-section,
        .typing-test-list,
        .typing-cat-list,
        .ahc-practice-list,
        .fshbattle-promo-section,
        .fshcounter-section {
            padding: 36px 0;
        }

        .fshcounter-section {
            padding-top: 0;
        }

        .fshhero-slider {
            height: 270px;
            min-height: 270px;
        }

        .fshprocess-wrap {
            flex-direction: column;
            align-items: stretch;
        }

        .fshprocess-step {
            max-width: 100%;
            width: 100%;
        }

        .fshprocess-arrow {
            display: flex;
            justify-content: center;
            transform: rotate(90deg);
            margin: -6px 0;
        }
    }

    /* Standard Mobile Devices (max-width: 575px) */
    @media (max-width: 575px) {
        .fshhero-actions,
        .fshbattle-actions {
            flex-direction: column;
            width: 100%;
        }

        .fshhero-btn-primary,
        .fshhero-btn-light,
        .fshbattle-actions .btn {
            width: 100%;
        }

        .fshhero-stats {
            grid-template-columns: repeat(2, 1fr);
            gap: 8px;
            max-width: 100%;
        }

        .fshhero-stat {
            padding: 10px 8px;
        }

        .fshhero-slider {
            height: 230px;
            min-height: 230px;
        }

        .fshfloating-card,
        .fshfloating-card-2 {
            font-size: 11px;
            padding: 5px 10px;
            border-radius: 10px;
        }

        .fshslide-caption {
            left: 8px;
            right: 8px;
            bottom: 8px;
            padding: 8px 10px;
            border-radius: 10px;
        }

        .fshbattle-card {
            padding: 16px;
            border-radius: 18px;
            margin-top: 8px;
        }

        .fshcounter-box {
            padding: 22px 12px;
            border-radius: 20px;
        }

        .fshfeature-card,
        .fshdictation-card,
        .fshpitman-card,
        .typing-test-card,
        .ahc-practice-card {
            padding: 16px;
            border-radius: 18px;
        }

        .fshwhy-card {
            padding: 16px;
            border-radius: 18px;
        }

        .fshwhy-card i {
            width: 44px;
            height: 44px;
            font-size: 18px;
            margin-bottom: 12px;
        }

        .fshleader-img {
            width: 66px;
            height: 66px;
        }
    }

    /* Homepage-only fixed quick contact rail */
    .fsh-home-contact-rail {
        position: fixed;
        z-index: 1060;
        top: 50%;
        left: 20px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        transform: translateY(-50%);
    }
    .fsh-home-contact-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        color: #fff !important;
        border-radius: 50%;
        box-shadow: 0 6px 16px rgba(18, 45, 73, .22);
        font-size: 18px;
        text-decoration: none;
        transition: transform .2s ease, box-shadow .2s ease;
    }
    .fsh-home-contact-link:hover,
    .fsh-home-contact-link:focus-visible {
        color: #fff !important;
        transform: translateX(4px) scale(1.06);
        box-shadow: 0 10px 22px rgba(18, 45, 73, .28);
    }
    .fsh-home-contact-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
    .fsh-home-contact-instagram { background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045); }
    .fsh-home-contact-email { background: #007f86; }
    .fsh-home-contact-support { background: #4f329a; }
    .fsh-home-contact-link::after {
        position: absolute;
        top: 50%;
        left: calc(100% + 10px);
        padding: 6px 9px;
        color: #fff;
        border-radius: 7px;
        background: #19243a;
        box-shadow: 0 4px 14px rgba(25, 36, 58, .18);
        content: attr(data-tooltip);
        font-size: 12px;
        font-weight: 700;
        line-height: 1;
        opacity: 0;
        pointer-events: none;
        transform: translate(-5px, -50%);
        transition: opacity .2s ease, transform .2s ease;
        white-space: nowrap;
    }
    .fsh-home-contact-link:hover::after,
    .fsh-home-contact-link:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
    .fsh-home-contact-toggle { display: none; }
    .fsh-home-contact-dialog { border: 0; border-radius: 18px; padding: 20px; max-width: calc(100% - 32px); }
    .fsh-home-contact-dialog::backdrop { background: rgba(15, 23, 42, .45); }
    .fsh-home-contact-dialog nav { display: flex; gap: 14px; margin-top: 16px; }
    .fsh-home-contact-dialog button { border: 0; border-radius: 8px; padding: 6px 12px; margin-left: 20px; }
    @media (max-width: 576px) {
        .fsh-home-contact-rail { display: none; }
        /* The sticky header provides a safe floating slot without covering page content. */
        .fsh-home-contact-toggle {
            display: inline-flex; align-items: center; justify-content: center;
            width: 40px; height: 40px; flex: 0 0 40px; margin-left: auto; margin-right: 10px;
            border: 0; border-radius: 50%; background: #4f329a; color: #fff;
            box-shadow: 0 3px 10px rgba(18, 45, 73, .18);
        }
        .fsh-home-contact-toggle + .fshtoggler { margin-left: 0 !important; }
        .fsh-home-contact-dialog .fsh-home-contact-link { width: 44px; height: 44px; }
        .fsh-home-contact-dialog .fsh-home-contact-link::after { display: none; }
    }

    /* Extra Small Phones (max-width: 375px) */
    @media (max-width: 375px) {
        .fshhero-badge,
        .header-tag,
        .typing-header-tag,
        .ahc-header-tag,
        .fshbattle-badge {
            font-size: 11px;
            padding: 6px 12px;
        }

        .fshhero-slider {
            height: 200px;
            min-height: 200px;
        }

        .fshfloating-card,
        .fshfloating-card-2 {
            display: none;
        }

        .fshhero-stat h3 {
            font-size: 17px;
        }

        .fshhero-stat span {
            font-size: 10.5px;
        }

        .fshleaderboard {
            padding: 14px 4px 10px;
        }

        .fshleader-img {
            width: 56px;
            height: 56px;
            border-width: 2.5px;
        }

        .fshwpm {
            font-size: 10.5px;
            padding: 4px 7px;
        }
    }


    /* =====================================================================
    FREESTENOHUB HOMEPAGE REDESIGN — LOGO PALETTE
    Palette sampled/matched to the supplied FSH logo:
    Navy #1B2943 | Purple #5A39B6 | Pink #EC3F7A | Soft #F7F8FC
    ===================================================================== */

    :root{
        --fshprimary:#1B2943;
        --fshsecondary:#5A39B6;
        --fshpurple:#5A39B6;
        --fshpink:#EC3F7A;
        --fshaccent:#EC3F7A;
        --fshlight:#F7F8FC;
        --fshwhite:#FFFFFF;
        --fshtext:#526077;
        --fshmuted:#758098;
        --fshborder:#E8E8F2;
        --fshsoft-purple:#F2EEFF;
        --fshsoft-pink:#FFF0F5;
        --fshshadow:0 18px 55px rgba(27,41,67,.09);
        --fshshadow-hover:0 28px 70px rgba(27,41,67,.15);
    }

    main{
        background:#fff;
        overflow-x:clip;
    }

    .h2-heading{
        color:var(--fshprimary);
        font-size:clamp(28px,3.4vw,44px);
        line-height:1.12;
        letter-spacing:-1px;
    }

    .h4-heading,.h5-heading{
        color:var(--fshprimary);
    }

    .p-lg,.p-para{
        color:var(--fshtext);
    }

    .header-tag,
    .typing-header-tag,
    .ahc-header-tag{
        color:var(--fshpurple);
        background:var(--fshsoft-purple);
        border:1px solid rgba(90,57,182,.12);
        box-shadow:none;
    }

    .site-btn,
    .fshhero-btn-primary{
        background:linear-gradient(135deg,var(--fshpurple),#44309A);
        color:#fff!important;
        border:0;
        box-shadow:0 12px 26px rgba(90,57,182,.22);
    }

    .site-btn:hover,
    .fshhero-btn-primary:hover{
        background:linear-gradient(135deg,#4B2CA7,var(--fshpurple));
        box-shadow:0 18px 36px rgba(90,57,182,.28);
        transform:translateY(-2px);
    }

    /* ---------------- HERO ---------------- */
    .fshhero.fshhome-hero{
        position:relative;
        min-height:auto;
        padding:72px 0 34px;
        isolation:isolate;
        overflow:hidden;
        background:
            radial-gradient(circle at 9% 18%, rgba(236,63,122,.08), transparent 27%),
            radial-gradient(circle at 91% 13%, rgba(90,57,182,.12), transparent 32%),
            linear-gradient(180deg,#FCFBFF 0%,#FFFFFF 88%);
    }

    .fshhome-hero::before{
        content:"";
        position:absolute;
        z-index:-1;
        width:420px;
        height:420px;
        right:-170px;
        top:-170px;
        border-radius:50%;
        border:1px solid rgba(90,57,182,.10);
        box-shadow:
            0 0 0 70px rgba(90,57,182,.025),
            0 0 0 140px rgba(236,63,122,.018);
    }

    .fshhome-hero::after{
        content:"";
        position:absolute;
        z-index:-1;
        width:260px;
        height:260px;
        left:-150px;
        bottom:40px;
        border-radius:50%;
        background:rgba(236,63,122,.035);
    }

    .fshhome-hero-copy{
        position:relative;
        z-index:2;
        padding-right:18px;
    }

    .fshhome-hero .fshhero-badge{
        display:inline-flex;
        align-items:center;
        gap:9px;
        margin:0 0 20px;
        padding:9px 15px;
        border-radius:999px;
        color:var(--fshpurple);
        background:#fff;
        border:1px solid rgba(90,57,182,.13);
        box-shadow:0 10px 28px rgba(27,41,67,.07);
        font-size:13px;
        font-weight:800;
    }

    .fshhome-hero .fshhero-badge i{
        color:var(--fshpink);
    }

    .fshhome-hero h1{
        margin:0;
        max-width:720px;
        color:var(--fshprimary);
        font-size:clamp(43px,4.7vw,70px);
        line-height:1.02;
        letter-spacing:-2.6px;
        font-weight:900;
    }

    .fshhome-hero h1 span{
        color:var(--fshpurple);
        position:relative;
    }

    .fshhome-hero h1 span::after{
        content:"";
        position:absolute;
        left:0;
        bottom:1px;
        width:34%;
        height:5px;
        border-radius:999px;
        background:linear-gradient(90deg,var(--fshpink),rgba(236,63,122,0));
        opacity:.7;
    }

    .fshhome-hero p{
        max-width:650px;
        margin:24px 0 0;
        color:var(--fshtext);
        font-size:clamp(15px,1.3vw,18px);
        line-height:1.75;
    }

    .fshhome-hero .fshhero-actions{
        display:flex;
        flex-wrap:wrap;
        gap:12px;
        margin-top:30px;
    }

    .fshhome-hero .fshhero-btn-primary,
    .fshhome-hero .fshhero-btn-light{
        min-height:52px;
        padding:14px 24px;
        border-radius:15px;
        font-size:14px;
        font-weight:850;
    }

    .fshhome-hero .fshhero-btn-light{
        color:var(--fshprimary)!important;
        background:#fff;
        border:1px solid var(--fshborder);
        box-shadow:0 10px 26px rgba(27,41,67,.07);
    }

    .fshhome-hero .fshhero-btn-light:hover{
        color:var(--fshpurple)!important;
        border-color:rgba(90,57,182,.22);
        box-shadow:0 16px 32px rgba(27,41,67,.10);
    }

    .fshhome-trust-row{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:18px;
        margin-top:22px;
        color:#6B7488;
        font-size:12.5px;
        font-weight:700;
    }

    .fshhome-trust-row span{
        display:inline-flex;
        align-items:center;
        gap:7px;
    }

    .fshhome-trust-row i{
        color:var(--purple, #5A39B6);
        color:var(--fshpurple);
    }

    /* Right hero visual */
    .fshhome-visual-shell{
        position:relative;
        max-width:680px;
        margin-left:auto;
        padding:14px;
        border-radius:34px;
        background:rgba(255,255,255,.82);
        border:1px solid rgba(90,57,182,.10);
        box-shadow:0 30px 80px rgba(27,41,67,.14);
    }

    .fshhome-visual-shell::before{
        content:"";
        position:absolute;
        inset:30px -20px -24px 32px;
        z-index:-1;
        border-radius:34px;
        background:linear-gradient(135deg,rgba(90,57,182,.15),rgba(236,63,122,.10));
        filter:blur(26px);
    }

    .fshhome-visual-card{
        position:relative;
        overflow:visible;
        min-height:500px;
        border-radius:25px;
        background:var(--fshprimary);
    }

    .fshhome-hero-image{
        display:block;
        width:100%;
        height:500px;
        object-fit:cover;
        object-position:center;
        border-radius:25px;
    }

    .fshhome-visual-card::after{
        content:"";
        position:absolute;
        inset:0;
        border-radius:25px;
        pointer-events:none;
        background:linear-gradient(180deg,transparent 54%,rgba(17,27,48,.38) 72%,rgba(17,27,48,.78) 100%);
    }

    .fshhome-float-card{
        position:absolute;
        z-index:5;
        display:flex;
        align-items:center;
        gap:10px;
        min-width:180px;
        padding:12px 14px;
        border-radius:16px;
        background:rgba(255,255,255,.96);
        border:1px solid rgba(255,255,255,.92);
        box-shadow:0 16px 38px rgba(27,41,67,.17);
        backdrop-filter:blur(10px);
    }

    .fshhome-float-card strong{
        display:block;
        color:var(--fshprimary);
        font-size:13px;
        line-height:1.2;
    }

    .fshhome-float-card span{
        display:block;
        margin-top:3px;
        color:var(--fshmuted);
        font-size:10.5px;
        font-weight:700;
    }

    .fshhome-float-icon{
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        border-radius:11px;
        color:#fff;
        background:linear-gradient(135deg,var(--fshpurple),var(--fshpink));
    }

    .fshhome-float-top{
        top:25px;
        left:-28px;
    }

    .fshhome-float-bottom{
        right:-28px;
        bottom:92px;
    }

    .fshhome-image-caption{
        position:absolute;
        z-index:4;
        left:16px;
        right:16px;
        bottom:16px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:20px;
        padding:16px 18px;
        border-radius:18px;
        color:#fff;
        background:rgba(27,41,67,.90);
        border:1px solid rgba(255,255,255,.12);
        backdrop-filter:blur(12px);
    }

    .fshhome-image-caption small{
        display:block;
        margin-bottom:4px;
        color:#D9CFFF;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.2px;
    }

    .fshhome-image-caption h4{
        margin:0 0 4px;
        color:#fff;
        font-size:18px;
        font-weight:850;
    }

    .fshhome-image-caption p{
        margin:0;
        color:rgba(255,255,255,.76);
        font-size:12px;
        line-height:1.4;
    }

    .fshhome-image-caption a{
        width:44px;
        height:44px;
        flex:0 0 44px;
        display:grid;
        place-items:center;
        border-radius:14px;
        color:#fff;
        background:linear-gradient(135deg,var(--fshpurple),var(--fshpink));
        text-decoration:none;
    }

    /* Capability strip */
    .fshhome-capabilities{
        position:relative;
        z-index:6;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:12px;
        margin-top:48px;
        padding:11px;
        border-radius:22px;
        background:#fff;
        border:1px solid var(--fshborder);
        box-shadow:0 16px 50px rgba(27,41,67,.08);
    }

    .fshhome-capability{
        display:flex;
        align-items:center;
        gap:12px;
        min-width:0;
        padding:13px 14px;
        border-radius:16px;
        color:inherit;
        text-decoration:none!important;
        transition:.22s ease;
    }

    .fshhome-capability:not(:last-child){
        border-right:1px solid #EFF0F5;
    }

    .fshhome-capability:hover{
        background:var(--fshsoft-purple);
        transform:translateY(-2px);
    }

    .fshhome-capability-icon{
        width:42px;
        height:42px;
        flex:0 0 42px;
        display:grid;
        place-items:center;
        border-radius:13px;
        color:var(--fshpurple);
        background:var(--fshsoft-purple);
    }

    .fshhome-capability:nth-child(4) .fshhome-capability-icon{
        color:var(--fshpink);
        background:var(--fshsoft-pink);
    }

    .fshhome-capability strong{
        display:block;
        color:var(--fshprimary);
        font-size:13px;
        font-weight:850;
    }

    .fshhome-capability small{
        display:block;
        margin-top:2px;
        color:var(--fshmuted);
        font-size:10.5px;
    }

    /* ---------------- SECTION RHYTHM ---------------- */
    .fshsection,
    .fshmodule-showcase,
    .fshbattle-promo-section,
    .fshdictation-list-section,
    .fshpitman-list-section,
    .typing-cat-list,
    .typing-test-list,
    .ahc-practice-list,
    .fshwhy-section,
    .fshprocess-section,
    .fshcounter-section{
        padding-top:92px;
        padding-bottom:92px;
    }

    .fshmodule-showcase{
        background:#fff;
    }

    .fshmodule-intro{
        margin-bottom:38px;
    }

    /* skill tiles */
    .fshskill-tile{
        background:#fff!important;
        border:1px solid var(--fshborder)!important;
        box-shadow:0 16px 46px rgba(27,41,67,.07)!important;
    }

    .fshskill-tile:hover{
        border-color:rgba(90,57,182,.20)!important;
        box-shadow:0 24px 60px rgba(27,41,67,.12)!important;
    }

    .fshskill-meta i,
    .fshskill-link{
        color:var(--fshpurple)!important;
    }
    /* Compact Practice Skill Cards */
    .fshskill-deck{
        gap: 16px;
    }

    .fshskill-tile{
        grid-template-columns: 250px minmax(0, 1fr) !important;
        min-height: 220px !important;
        border-radius: 20px !important;
    }

    .fshskill-visual{
        min-height: 220px !important;
    }

    .fshskill-visual img{
        min-height: 220px !important;
        height: 220px !important;
        object-fit: cover !important;
    }

    .fshskill-copy{
        padding: 20px 22px !important;
    }

    .fshskill-meta{
        margin-bottom: 12px !important;
    }

    .fshskill-meta i{
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
    }

    .fshskill-copy h3{
        font-size: 19px !important;
        margin-bottom: 7px !important;
    }

    .fshskill-copy > p{
        font-size: 12.5px !important;
        line-height: 1.5 !important;
        margin-top: 6px !important;
    }

    .fshskill-features{
        margin-top: 11px !important;
        gap: 6px !important;
    }

    .fshskill-features span{
        padding: 5px 8px !important;
        font-size: 9px !important;
    }

    .fshskill-link{
        padding-top: 13px !important;
        font-size: 11.5px !important;
    }

    /* Section spacing slightly tighter */
    .fshmodule-showcase{
        padding: 72px 0 !important;
    }

    .fshmodule-showcase .fshmodule-intro{
        margin-bottom: 28px !important;
    }

    /* Tablet */
    @media (max-width: 1199.98px){
        .fshskill-tile{
            grid-template-columns: 210px minmax(0,1fr) !important;
            min-height: 210px !important;
        }

        .fshskill-visual,
        .fshskill-visual img{
            min-height: 210px !important;
            height: 210px !important;
        }
    }

    /* Mobile */
    @media (max-width: 767.98px){
        .fshskill-tile{
            grid-template-columns: 180px minmax(0,1fr) !important;
        }
    }

    @media (max-width: 575.98px){
        .fshskill-tile{
            grid-template-columns: 1fr !important;
        }

        .fshskill-visual,
        .fshskill-visual img{
            min-height: 185px !important;
            height: 185px !important;
        }

        .fshskill-copy{
            padding: 18px !important;
        }
    }
    .fshskill-link{
        margin-top: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 8px;

        width: fit-content;
        min-height: 38px;
        padding: 9px 14px;

        border-radius: 12px;
        background: linear-gradient(135deg, #5A39B6, #4A2FA1);

        color: #fff !important;
        font-size: 12px !important;
        font-weight: 800;

        text-decoration: none !important;
        box-shadow: 0 8px 20px rgba(90, 57, 182, 0.18);

        transition: all .25s ease;
    }

    .fshskill-link:hover{
        background: linear-gradient(135deg, #4A2FA1, #EC3F7A);
        color: #fff !important;

        transform: translateY(-2px);

        box-shadow: 0 12px 26px rgba(90, 57, 182, 0.28);
    }

    .fshskill-link i{
        font-size: 10px;
        transition: transform .25s ease;
    }

    .fshskill-link:hover i{
        transform: translate(2px, -2px);
    }
    /* battle */
    .fshbattle-promo-section{
        background:
            radial-gradient(circle at 90% 10%,rgba(236,63,122,.08),transparent 30%),
            linear-gradient(180deg,#FBFAFF,#fff);
    }

    .fshbattle-promo-section::before{
        background:var(--fshsoft-purple)!important;
    }

    .fshbattle-badge{
        color:var(--fshpurple)!important;
        background:var(--fshsoft-purple)!important;
    }

    .fshbattle-title{
        color:var(--fshprimary)!important;
    }

    .fshbattle-primary-btn{
        background:linear-gradient(135deg,var(--fshpurple),#44309A)!important;
    }

    .fshbattle-secondary-btn{
        color:var(--fshpurple)!important;
        border-color:rgba(90,57,182,.22)!important;
    }

    .fshbattle-card{
        border:1px solid rgba(90,57,182,.12)!important;
        background:#fff!important;
        box-shadow:0 20px 55px rgba(27,41,67,.09)!important;
    }

    /* data-driven content sections */
    .fshdictation-list-section,
    .typing-test-list{
        background:#F9FAFD;
    }

    .fshpitman-list-section,
    .ahc-practice-list{
        background:#fff;
    }

    .typing-cat-list{
        background:linear-gradient(180deg,#fff,#FBFAFF);
    }

    .fshdictation-card,
    .fshpitman-card,
    .typing-test-card,
    .ahc-practice-card,
    .fshfeature-card,
    .fshwhy-card{
        border:1px solid var(--fshborder)!important;
        box-shadow:0 10px 34px rgba(27,41,67,.06)!important;
        background:#fff!important;
    }

    .fshdictation-card:hover,
    .fshpitman-card:hover,
    .typing-test-card:hover,
    .ahc-practice-card:hover,
    .fshfeature-card:hover,
    .fshwhy-card:hover{
        border-color:rgba(90,57,182,.20)!important;
        box-shadow:0 20px 48px rgba(27,41,67,.11)!important;
        transform:translateY(-4px);
    }

    .fshcard-category,
    .typing-card-head > span,
    .ahc-card-head > span{
        color:var(--fshpurple)!important;
    }

    .paid{
        color:var(--fshpink)!important;
    }

    .free,
    .doz-free{
        color:var(--fshpurple)!important;
    }

    /* why */
    .fshwhy-section{
        background:
            radial-gradient(circle at 6% 80%,rgba(236,63,122,.07),transparent 24%),
            linear-gradient(180deg,#FBFAFF,#fff);
    }

    .fshwhy-card > i{
        color:var(--fshpurple)!important;
    }

    /* process */
    .fshprocess-section{
        background:#fff;
    }

    .fshprocess-icon{
        color:#fff!important;
        background:linear-gradient(135deg,var(--fshpurple),var(--fshpink))!important;
        box-shadow:0 12px 28px rgba(90,57,182,.18)!important;
    }

    /* counters */
    .fshcounter-section{
        padding-top:32px;
    }

    .fshcounter-box{
        color:#fff!important;
        background:
            radial-gradient(circle at 80% 0%,rgba(236,63,122,.35),transparent 30%),
            linear-gradient(135deg,var(--fshprimary),#2B315F 55%,var(--fshpurple))!important;
        border:0!important;
        box-shadow:0 24px 60px rgba(27,41,67,.18)!important;
    }

    .fshcounter-box h3{
        color:#fff!important;
    }

    .fshcounter-box span{
        color:rgba(255,255,255,.75)!important;
    }

    /* modal logo palette */
    .fshoffer-modal .modal-content{
        border:1px solid rgba(90,57,182,.10)!important;
        box-shadow:0 30px 90px rgba(27,41,67,.24)!important;
    }

    /* ---------------- RESPONSIVE ---------------- */
    @media (max-width:1199.98px){
        .fshhome-hero h1{
            font-size:clamp(42px,5vw,58px);
        }
        .fshhome-visual-card,
        .fshhome-hero-image{
            height:460px;
            min-height:460px;
        }
    }

    @media (max-width:991.98px){
        .fshhero.fshhome-hero{
            padding:58px 0 28px;
        }

        .fshhome-hero-copy{
            padding-right:0;
            text-align:center;
            max-width:760px;
            margin:0 auto;
        }

        .fshhome-hero .fshhero-badge{
            margin-left:auto;
            margin-right:auto;
        }

        .fshhome-hero p{
            margin-left:auto;
            margin-right:auto;
        }

        .fshhome-hero .fshhero-actions,
        .fshhome-trust-row{
            justify-content:center;
        }

        .fshhome-visual-shell{
            max-width:720px;
            margin:12px auto 0;
        }

        .fshhome-capabilities{
            grid-template-columns:repeat(2,1fr);
        }

        .fshhome-capability:nth-child(2){
            border-right:0;
        }
    }

    @media (max-width:767.98px){
        .fshsection,
        .fshmodule-showcase,
        .fshbattle-promo-section,
        .fshdictation-list-section,
        .fshpitman-list-section,
        .typing-cat-list,
        .typing-test-list,
        .ahc-practice-list,
        .fshwhy-section,
        .fshprocess-section,
        .fshcounter-section{
            padding-top:64px;
            padding-bottom:64px;
        }

        .fshhome-hero h1{
            font-size:clamp(38px,10vw,50px);
            letter-spacing:-1.6px;
        }

        .fshhome-visual-card,
        .fshhome-hero-image{
            height:420px;
            min-height:420px;
        }

        .fshhome-float-top{
            left:12px;
            top:12px;
        }

        .fshhome-float-bottom{
            right:12px;
            bottom:98px;
        }
    }

    @media (max-width:575.98px){
        .fshhero.fshhome-hero{
            padding:42px 0 24px;
        }

        .fshhome-hero .fshhero-badge{
            padding:8px 12px;
            font-size:11.5px;
        }

        .fshhome-hero h1{
            font-size:clamp(35px,11.2vw,44px);
            line-height:1.06;
        }

        .fshhome-hero p{
            font-size:15px;
            line-height:1.65;
        }

        .fshhome-hero .fshhero-actions{
            flex-direction:column;
        }

        .fshhome-hero .fshhero-btn-primary,
        .fshhome-hero .fshhero-btn-light{
            width:100%;
        }

        .fshhome-trust-row{
            gap:10px 14px;
            font-size:11.5px;
        }

        .fshhome-visual-shell{
            padding:8px;
            border-radius:25px;
        }

        .fshhome-visual-card,
        .fshhome-hero-image{
            height:340px;
            min-height:340px;
            border-radius:19px;
        }

        .fshhome-visual-card::after{
            border-radius:19px;
        }

        .fshhome-float-card{
            min-width:0;
            padding:9px 10px;
            border-radius:13px;
        }

        .fshhome-float-icon{
            width:30px;
            height:30px;
            flex-basis:30px;
        }

        .fshhome-float-card strong{
            font-size:11.5px;
        }

        .fshhome-float-card span{
            font-size:9px;
        }

        .fshhome-float-bottom{
            display:none;
        }

        .fshhome-image-caption{
            left:10px;
            right:10px;
            bottom:10px;
            padding:12px 13px;
            border-radius:14px;
        }

        .fshhome-image-caption h4{
            font-size:15px;
        }

        .fshhome-image-caption p{
            font-size:10.5px;
        }

        .fshhome-image-caption a{
            width:38px;
            height:38px;
            flex-basis:38px;
        }

        .fshhome-capabilities{
            grid-template-columns:1fr;
            margin-top:24px;
            gap:4px;
            padding:7px;
        }

        .fshhome-capability{
            border-right:0!important;
            border-bottom:1px solid #EFF0F5;
        }

        .fshhome-capability:last-child{
            border-bottom:0;
        }
    }

    @media (prefers-reduced-motion:reduce){
        *,
        *::before,
        *::after{
            scroll-behavior:auto!important;
            animation-duration:.001ms!important;
            animation-iteration-count:1!important;
            transition-duration:.001ms!important;
        }
    }


    /* =====================================================================
    HOMEPAGE V2 — ORIGINAL HERO + FIXED PRACTICE STUDIO
    ===================================================================== */

    /* Hero no longer uses left-copy/right-image composition */
    .fshhome-hero-v2{
        position:relative;
        overflow:hidden;
        padding:72px 0 56px!important;
        background:
            radial-gradient(ellipse 70% 50% at 50% -10%,rgba(79,50,154,.13),transparent 75%),
            radial-gradient(circle 380px at 8% 22%,rgba(236,63,122,.08),transparent 60%),
            radial-gradient(circle 380px at 92% 18%,rgba(79,50,154,.10),transparent 60%),
            linear-gradient(180deg,#FAF8FE 0%,#FFFFFF 100%)!important;
    }

    .fshhome-hero-v2 .container{
        position:relative;
        z-index:2;
    }

    .fshhome-hero-v2-copy{
        max-width:940px;
        margin:0 auto;
        text-align:center;
    }

    .fshhome-hero-v2 .fshhero-badge{
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:8px 18px;
        border-radius:999px;
        background:rgba(255,255,255,.94);
        border:1px solid rgba(79,50,154,.16);
        box-shadow:0 6px 20px rgba(79,50,154,.08);
        color:#4F329A;
        font-size:12px;
        font-weight:850;
        letter-spacing:.02em;
        margin:0 auto 20px!important;
        backdrop-filter:blur(10px);
        transition:transform .25s ease,box-shadow .25s ease;
    }

    .fshhome-hero-v2 .fshhero-badge:hover{
        transform:translateY(-2px);
        box-shadow:0 10px 24px rgba(79,50,154,.12);
    }

    .fshhome-hero-v2 .fshhero-badge i{
        color:#EC2677;
        font-size:13px;
    }

    .fshhome-hero-v2 h1{
        max-width:940px;
        margin:0 auto!important;
        font-size:clamp(40px,5.2vw,72px)!important;
        line-height:1.06!important;
        letter-spacing:-0.035em!important;
        font-weight:900!important;
        color:#19243A;
    }

    .fshhome-hero-v2 h1 span{
        display:inline!important;
        font-size:inherit!important;
        font-weight:inherit!important;
        line-height:inherit!important;
        letter-spacing:inherit!important;
        background:linear-gradient(110deg,#4F329A 15%,#6B3CB8 55%,#EC2677 100%);
        -webkit-background-clip:text;
        background-clip:text;
        -webkit-text-fill-color:transparent;
        color:transparent!important;
    }

    .fshhome-hero-v2 h1 span::after{
        display:none!important;
    }

    .fshhome-hero-v2 p{
        max-width:700px!important;
        margin:20px auto 0!important;
        font-size:clamp(15.5px,1.3vw,18px)!important;
        line-height:1.68!important;
        color:#555770!important;
        font-weight:500;
    }

    .fshhome-hero-v2 .fshhero-actions{
        display:flex;
        align-items:center;
        justify-content:center!important;
        gap:14px;
        margin-top:28px;
        flex-wrap:wrap;
    }

    .fshhome-hero-v2 .fshhero-btn-primary{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        min-height:52px;
        padding:0 28px;
        border-radius:14px;
        font-weight:850;
        font-size:15px;
        background:linear-gradient(135deg,#4F329A 0%,#683EBA 50%,#EC2677 100%)!important;
        color:#fff!important;
        text-decoration:none!important;
        box-shadow:0 12px 30px rgba(79,50,154,.28);
        transition:all .25s ease;
        border:none;
    }

    .fshhome-hero-v2 .fshhero-btn-primary:hover{
        transform:translateY(-3px);
        box-shadow:0 18px 42px rgba(79,50,154,.38);
        color:#fff!important;
    }

    .fshhome-hero-v2 .fshhero-btn-primary i{
        transition:transform .25s ease;
    }

    .fshhome-hero-v2 .fshhero-btn-primary:hover i{
        transform:translateX(4px);
    }

    .fshhome-hero-v2 .fshhero-btn-light{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:10px;
        min-height:52px;
        padding:0 24px;
        border-radius:14px;
        font-weight:850;
        font-size:14.5px;
        background:#FFFFFF!important;
        border:1.5px solid #E2DDF0!important;
        color:#19243A!important;
        text-decoration:none!important;
        box-shadow:0 6px 18px rgba(25,36,58,.05);
        transition:all .25s ease;
    }

    .fshhome-hero-v2 .fshhero-btn-light:hover{
        border-color:#4F329A!important;
        color:#4F329A!important;
        background:#FAF8FD!important;
        transform:translateY(-2px);
        box-shadow:0 12px 28px rgba(79,50,154,.10);
    }

    .fshhome-hero-v2 .fshhero-btn-light i{
        transition:transform .25s ease;
    }

    .fshhome-hero-v2 .fshhero-btn-light:hover i{
        transform:translateX(3px);
    }

    .fshhome-hero-v2 .fshhome-trust-row{
        display:flex;
        align-items:center;
        justify-content:center!important;
        flex-wrap:wrap;
        gap:10px 16px;
        margin-top:26px;
    }

    .fshhome-hero-v2 .fshhome-trust-row span{
        display:inline-flex;
        align-items:center;
        gap:7px;
        padding:6px 14px;
        border-radius:999px;
        background:rgba(255,255,255,.88);
        border:1px solid #ECE7F4;
        color:#555770;
        font-size:12.5px;
        font-weight:750;
        box-shadow:0 4px 12px rgba(25,36,58,.03);
    }

    .fshhome-hero-v2 .fshhome-trust-row span i{
        color:#059669;
        font-size:13px;
    }

    .fshhome-workspace{
        display:grid;
        grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
        gap:14px;
        margin-top:48px;
        padding:12px;
        border:1px solid rgba(90,57,182,.10);
        border-radius:30px;
        background:rgba(255,255,255,.86);
        box-shadow:0 30px 90px rgba(27,41,67,.13);
    }

    .fshhome-workspace-media{
        position:relative;
        min-height:360px;
        max-height:380px;
        overflow:hidden;
        border-radius:20px;
        background:#1B2943;
    }

    .fshhome-workspace-media img{
        width:100%;
        height:100%;
        min-height:360px;
        max-height:380px;
        display:block;
        object-fit:cover;
        object-position:center 46%;
    }

    .fshhome-workspace-media::after{
        content:"";
        position:absolute;
        inset:0;
        background:
            linear-gradient(180deg,transparent 50%,rgba(27,41,67,.76) 100%),
            linear-gradient(90deg,rgba(27,41,67,.05),transparent 55%);
    }

    .fshhome-workspace-label{
        position:absolute;
        z-index:2;
        left:22px;
        bottom:22px;
        max-width:480px;
        padding:15px 17px;
        color:#fff;
        border:1px solid rgba(255,255,255,.16);
        border-radius:16px;
        background:rgba(27,41,67,.82);
        backdrop-filter:blur(12px);
    }

    .fshhome-workspace-label span{
        display:block;
        margin-bottom:4px;
        color:#DCCFFF;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.15px;
    }

    .fshhome-workspace-label strong{
        display:block;
        font-size:17px;
        line-height:1.25;
    }

    .fshhome-workspace-panel{
        display:flex;
        flex-direction:column;
        min-height:440px;
        padding:28px;
        border-radius:22px;
        background:
            radial-gradient(circle at 100% 0%,rgba(236,63,122,.14),transparent 38%),
            linear-gradient(145deg,#1B2943 0%,#24294E 52%,#51359A 100%);
        color:#fff;
    }

    .fshhome-panel-kicker{
        display:inline-block;
        margin-bottom:10px;
        color:#F1DDF0;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.3px;
    }

    .fshhome-panel-top h3{
        margin:0;
        color:#fff;
        font-size:clamp(24px,2.3vw,34px);
        line-height:1.08;
        letter-spacing:-.8px;
        font-weight:900;
    }

    .fshhome-panel-top p{
        margin:12px 0 0!important;
        color:rgba(255,255,255,.67)!important;
        font-size:13px!important;
        line-height:1.6!important;
    }

    .fshhome-panel-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:9px;
        margin-top:24px;
    }

    .fshhome-panel-grid a{
        min-width:0;
        display:flex;
        align-items:center;
        gap:10px;
        padding:12px;
        color:#fff!important;
        text-decoration:none!important;
        border:1px solid rgba(255,255,255,.10);
        border-radius:14px;
        background:rgba(255,255,255,.075);
        transition:.22s ease;
    }

    .fshhome-panel-grid a:hover{
        transform:translateY(-2px);
        background:rgba(255,255,255,.13);
        border-color:rgba(255,255,255,.18);
    }

    .fshhome-panel-grid i{
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        border-radius:10px;
        color:#fff;
        background:linear-gradient(135deg,#7252CF,#EC3F7A);
    }

    .fshhome-panel-grid strong,
    .fshhome-panel-grid small{
        display:block;
    }

    .fshhome-panel-grid strong{
        font-size:11.5px;
        line-height:1.2;
    }

    .fshhome-panel-grid small{
        margin-top:3px;
        color:rgba(255,255,255,.58);
        font-size:9px;
        line-height:1.2;
    }

    .fshhome-panel-progress{
        margin-top:auto;
        padding-top:22px;
    }

    .fshhome-panel-progress > div:first-child{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:12px;
    }

    .fshhome-panel-progress span{
        display:block;
        color:rgba(255,255,255,.56);
        font-size:10px;
    }

    .fshhome-panel-progress strong{
        display:block;
        color:#fff;
        font-size:11px;
    }

    .fshhome-progress-track{
        height:7px;
        margin-top:10px;
        overflow:hidden;
        border-radius:99px;
        background:rgba(255,255,255,.12);
    }

    .fshhome-progress-track span{
        width:72%;
        height:100%;
        border-radius:inherit;
        background:linear-gradient(90deg,#9B83EE,#EC3F7A);
    }

    /* Hide old capability strip if an older generated copy remains */
    .fshhome-hero-v2 .fshhome-capabilities{
        display:none!important;
    }

    /* ---------------------------------------------------------------------
    FIXED PRACTICE STUDIO
    The markup uses fshskill-* classes, so style those classes explicitly.
    --------------------------------------------------------------------- */

    .fshmodule-showcase{
        padding:92px 0!important;
        background:#F8F9FD!important;
    }

    .fshmodule-showcase .fshmodule-intro{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:40px;
        margin-bottom:34px!important;
    }

    .fshmodule-showcase .fshmodule-intro > div{
        max-width:640px;
    }

    .fshmodule-showcase .fshmodule-intro .p-lg{
        max-width:400px!important;
        margin:0!important;
        text-align:left;
    }

    .fshskill-deck{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px;
    }

    .fshskill-tile{
        display:grid!important;
        grid-template-columns:minmax(190px,.82fr) minmax(0,1.18fr);
        min-height:270px;
        overflow:hidden;
        border:1px solid #E8E8F2!important;
        border-radius:24px!important;
        background:#fff!important;
        box-shadow:0 14px 42px rgba(27,41,67,.07)!important;
        transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
    }

    .fshskill-tile:hover{
        transform:translateY(-5px);
        border-color:rgba(90,57,182,.20)!important;
        box-shadow:0 22px 55px rgba(27,41,67,.12)!important;
    }

    .fshskill-visual{
        position:relative;
        min-height:270px;
        overflow:hidden;
        background:#EEF0F7;
    }

    .fshskill-visual::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(180deg,transparent 62%,rgba(27,41,67,.18));
        pointer-events:none;
    }

    .fshskill-visual img{
        display:block;
        width:100%!important;
        height:100%!important;
        min-height:270px;
        object-fit:cover!important;
        object-position:center!important;
        transition:transform .45s ease;
    }

    .fshskill-tile:hover .fshskill-visual img{
        transform:scale(1.035);
    }

    .fshskill-copy{
        display:flex;
        flex-direction:column;
        min-width:0;
        padding:24px;
    }

    .fshskill-meta{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        margin-bottom:18px;
    }

    .fshskill-meta span{
        color:#9A91B4;
        font-size:10px;
        font-weight:900;
        letter-spacing:1px;
    }

    .fshskill-meta i{
        width:38px;
        height:38px;
        display:grid;
        place-items:center;
        border-radius:12px;
        color:#5A39B6!important;
        background:#F2EEFF;
        font-size:15px;
    }

    .fshskill-copy h3{
        margin:0;
        color:#1B2943;
        font-size:21px;
        line-height:1.15;
        font-weight:900;
        letter-spacing:-.45px;
    }

    .fshskill-copy > p{
        margin:10px 0 0;
        color:#657086;
        font-size:13px;
        line-height:1.58;
    }

    .fshskill-features{
        display:flex;
        flex-wrap:wrap;
        gap:7px;
        margin-top:15px;
    }

    .fshskill-features span{
        padding:6px 9px;
        border-radius:999px;
        color:#5A39B6;
        background:#F4F1FF;
        border:1px solid rgba(90,57,182,.08);
        font-size:9.5px;
        font-weight:800;
    }

    .fshskill-link{
        display:inline-flex;
        align-items:center;
        gap:8px;
        width:max-content;
        margin-top:auto;
        padding-top:18px;
        color:#5A39B6!important;
        font-size:12px;
        font-weight:900;
        text-decoration:none!important;
    }

    .fshskill-link i{
        font-size:10px;
        transition:transform .2s ease;
    }

    .fshskill-link:hover i{
        transform:translate(2px,-2px);
    }

    /* Alternating subtle identity without turning cards into rainbow UI */
    .fshskill-tile-2 .fshskill-meta i,
    .fshskill-tile-4 .fshskill-meta i{
        color:#EC3F7A!important;
        background:#FFF0F5;
    }

    .fshskill-tile-2 .fshskill-features span,
    .fshskill-tile-4 .fshskill-features span{
        color:#C72E68;
        background:#FFF2F6;
    }

    /* Desktop/tablet/mobile corrections */
    @media(max-width:1199.98px){
        .fshhome-workspace{
            grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);
        }

        .fshskill-tile{
            grid-template-columns:1fr;
        }

        .fshskill-visual,
        .fshskill-visual img{
            min-height:220px;
            height:220px!important;
        }
    }

    @media(max-width:991.98px){
        .fshhome-hero-v2{
            padding-top:52px!important;
        }

        .fshhome-workspace{
            grid-template-columns:1fr;
        }

        .fshhome-workspace-panel{
            min-height:0;
        }

        .fshhome-panel-progress{
            margin-top:22px;
        }

        .fshmodule-showcase .fshmodule-intro{
            display:block;
        }

        .fshmodule-showcase .fshmodule-intro .p-lg{
            max-width:600px!important;
            margin-top:14px!important;
        }
    }

    @media(max-width:767.98px){
        .fshhome-hero-v2 h1{
            font-size:clamp(40px,11vw,56px)!important;
            letter-spacing:-2px!important;
        }

        .fshhome-workspace{
            margin-top:34px;
            padding:8px;
            border-radius:23px;
        }

        .fshhome-workspace-media,
        .fshhome-workspace-media img{
            min-height:340px;
            height:340px!important;
            border-radius:17px;
        }

        .fshhome-workspace-label{
            left:12px;
            right:12px;
            bottom:12px;
            max-width:none;
        }

        .fshhome-workspace-panel{
            padding:22px;
            border-radius:17px;
        }

        .fshskill-deck{
            grid-template-columns:1fr;
        }

        .fshskill-tile{
            grid-template-columns:220px minmax(0,1fr);
            min-height:230px;
        }

        .fshskill-visual,
        .fshskill-visual img{
            min-height:230px;
            height:230px!important;
        }
    }

    @media(max-width:575.98px){
        .fshhome-hero-v2{
            padding:42px 0 44px!important;
        }

        .fshhome-hero-v2 h1{
            font-size:clamp(36px,11.5vw,46px)!important;
            line-height:1.03!important;
            letter-spacing:-1.5px!important;
        }

        .fshhome-panel-grid{
            grid-template-columns:1fr;
        }

        .fshhome-workspace-media,
        .fshhome-workspace-media img{
            min-height:290px;
            height:290px!important;
        }

        .fshhome-workspace-label strong{
            font-size:14px;
        }

        .fshmodule-showcase{
            padding:62px 0!important;
        }

        .fshskill-tile{
            grid-template-columns:1fr;
            min-height:0;
            border-radius:20px!important;
        }

        .fshskill-visual,
        .fshskill-visual img{
            min-height:205px;
            height:205px!important;
        }

        .fshskill-copy{
            padding:20px;
        }

        .fshskill-copy h3{
            font-size:19px;
        }
    }


    /* =====================================================================
    HERO WORKSPACE CAROUSEL + LARGER PRACTICE HUB TYPOGRAPHY
    ===================================================================== */

    /* Slider media */
    .fshhome-workspace-slider{
        position:relative;
        isolation:isolate;
    }

    .fshhome-slider-track{
        position:absolute;
        inset:0;
        overflow:hidden;
        border-radius:22px;
        background:#10182E;
    }

    .fshhome-slide{
        position:absolute;
        inset:0;
        opacity:0;
        visibility:hidden;
        transform:scale(1.035);
        transition:
            opacity .55s ease,
            visibility .55s ease,
            transform 1.1s cubic-bezier(.2,.7,.2,1);
    }

    .fshhome-slide.is-active{
        opacity:1;
        visibility:visible;
        transform:scale(1);
        z-index:1;
    }

    .fshhome-slide img{
        width:100%!important;
        height:100%!important;
        min-height:360px!important;
        max-height:380px!important;
        display:block;
        object-fit:cover!important;
        object-position:center!important;
        border-radius:20px;
    }

    .fshhome-workspace-slider::after{
        content:"";
        position:absolute;
        inset:0;
        z-index:2;
        pointer-events:none;
        border-radius:22px;
        background:
            linear-gradient(180deg,rgba(10,16,34,.02) 38%,rgba(17,27,48,.30) 68%,rgba(17,27,48,.84) 100%),
            linear-gradient(90deg,rgba(17,27,48,.10),transparent 50%);
    }

    /* Caption */
    .fshhome-workspace-slider .fshhome-workspace-label{
        z-index:5;
        left:24px;
        right:auto;
        bottom:24px;
        max-width:min(580px,72%);
        padding:17px 18px;
        border-radius:17px;
        background:rgba(27,41,67,.86);
        border:1px solid rgba(255,255,255,.16);
        box-shadow:0 16px 36px rgba(8,13,29,.18);
        backdrop-filter:blur(12px);
    }

    .fshhome-workspace-slider .fshhome-workspace-label span{
        font-size:10.5px!important;
        letter-spacing:1.25px;
    }

    .fshhome-workspace-slider .fshhome-workspace-label strong{
        font-size:clamp(17px,1.45vw,22px)!important;
        line-height:1.25;
    }

    .fshhome-workspace-label a{
        display:inline-flex;
        align-items:center;
        gap:7px;
        margin-top:10px;
        color:#fff!important;
        font-size:12px;
        font-weight:850;
        text-decoration:none!important;
    }

    .fshhome-workspace-label a i{
        font-size:10px;
        transition:transform .2s ease;
    }

    .fshhome-workspace-label a:hover i{
        transform:translateX(3px);
    }

    /* Slider controls */
    .fshhome-slider-arrow{
        position:absolute;
        z-index:7;
        top:50%;
        width:42px;
        height:42px;
        display:grid;
        place-items:center;
        border:1px solid rgba(255,255,255,.18);
        border-radius:14px;
        color:#fff;
        background:rgba(27,41,67,.60);
        box-shadow:0 10px 26px rgba(0,0,0,.18);
        backdrop-filter:blur(9px);
        transform:translateY(-50%);
        transition:.2s ease;
    }

    .fshhome-slider-arrow:hover{
        background:rgba(90,57,182,.88);
        transform:translateY(-50%) scale(1.06);
    }

    .fshhome-slider-prev{
        left:18px;
    }

    .fshhome-slider-next{
        right:18px;
    }

    .fshhome-slider-dots{
        position:absolute;
        z-index:7;
        right:22px;
        bottom:26px;
        display:flex;
        align-items:center;
        gap:7px;
        padding:7px 9px;
        border-radius:999px;
        background:rgba(27,41,67,.55);
        backdrop-filter:blur(8px);
    }

    .fshhome-slider-dots button{
        width:7px;
        height:7px;
        padding:0;
        border:0;
        border-radius:999px;
        background:rgba(255,255,255,.42);
        transition:.25s ease;
    }

    .fshhome-slider-dots button.is-active{
        width:22px;
        background:linear-gradient(90deg,#A88AFF,#EC3F7A);
    }

    /* Compact & Sleek right-panel typography */
    .fshhome-workspace-panel{
        padding:26px 28px!important;
        min-height:360px!important;
        max-height:380px!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        overflow:hidden!important;
        border-radius:20px!important;
    }

    .fshhome-panel-kicker{
        font-size:10px!important;
        letter-spacing:1.3px!important;
        margin-bottom:6px!important;
    }

    .fshhome-panel-top h3{
        font-size:clamp(22px,1.9vw,28px)!important;
        line-height:1.15!important;
        letter-spacing:-.6px!important;
    }

    .fshhome-panel-top p{
        margin-top:6px!important;
        font-size:13px!important;
        line-height:1.45!important;
        color:rgba(255,255,255,.72)!important;
    }

    .fshhome-panel-grid{
        gap:8px!important;
        margin-top:14px!important;
    }

    .fshhome-panel-grid a{
        gap:10px!important;
        min-height:56px!important;
        padding:8px 12px!important;
        border-radius:12px!important;
    }

    .fshhome-panel-grid i{
        width:34px!important;
        height:34px!important;
        flex:0 0 34px!important;
        border-radius:10px!important;
        font-size:13px!important;
    }

    .fshhome-panel-grid strong{
        font-size:13px!important;
        line-height:1.2!important;
    }

    .fshhome-panel-grid small{
        margin-top:2px!important;
        font-size:10px!important;
        line-height:1.2!important;
    }



    .fshhome-panel-progress > div:first-child span{
        font-size:12px!important;
    }

    .fshhome-panel-progress > div:first-child strong{
        font-size:13px!important;
    }

    /* Responsive */
    @media(max-width:1199.98px){
        .fshhome-workspace-panel{
            padding:26px!important;
        }

        .fshhome-panel-top h3{
            font-size:clamp(27px,3vw,36px)!important;
        }

        .fshhome-panel-grid a{
            min-height:74px;
        }
    }

    @media(max-width:991.98px){
        .fshhome-workspace-slider,
        .fshhome-slider-track,
        .fshhome-slide img{
            min-height:420px!important;
            height:420px!important;
        }

        .fshhome-workspace-panel{
            min-height:0!important;
            padding:28px!important;
        }

        .fshhome-panel-top h3{
            font-size:32px!important;
        }
    }

    @media(max-width:767.98px){
        .fshhome-workspace-slider,
        .fshhome-slider-track,
        .fshhome-slide img{
            min-height:350px!important;
            height:350px!important;
            border-radius:17px!important;
        }

        .fshhome-workspace-slider::after,
        .fshhome-slider-track{
            border-radius:17px;
        }

        .fshhome-workspace-slider .fshhome-workspace-label{
            left:14px;
            right:14px;
            bottom:14px;
            max-width:none;
            padding:14px 15px;
        }

        .fshhome-slider-dots{
            right:16px;
            top:15px;
            bottom:auto;
        }

        .fshhome-slider-arrow{
            width:38px;
            height:38px;
            border-radius:12px;
        }

        .fshhome-slider-prev{
            left:12px;
        }

        .fshhome-slider-next{
            right:12px;
        }
    }

    @media(max-width:575.98px){
        .fshhome-workspace-slider,
        .fshhome-slider-track,
        .fshhome-slide img{
            min-height:300px!important;
            height:300px!important;
        }

        .fshhome-slider-arrow{
            top:43%;
            width:34px;
            height:34px;
        }

        .fshhome-workspace-slider .fshhome-workspace-label{
            padding:10px 12px;
            left:10px;
            right:10px;
            bottom:10px;
            border-radius:12px;
        }

        .fshhome-workspace-slider .fshhome-workspace-label span{
            font-size:9px!important;
        }

        .fshhome-workspace-slider .fshhome-workspace-label strong{
            font-size:13.5px!important;
        }

        .fshhome-workspace-label a{
            margin-top:5px;
            font-size:10px;
        }

        .fshhome-workspace-panel{
            padding:18px 14px!important;
            border-radius:14px!important;
            min-height:auto!important;
            overflow:visible!important;
        }

        .fshhome-panel-top h3{
            font-size:20px!important;
            line-height:1.25!important;
        }

        .fshhome-panel-top p{
            font-size:12px!important;
            margin-top:4px!important;
            line-height:1.4!important;
        }

        .fshhome-panel-grid{
            grid-template-columns:1fr 1fr!important;
            gap:8px!important;
            margin-top:12px!important;
        }

        .fshhome-panel-grid a{
            min-height:52px!important;
            padding:9px 8px!important;
            border-radius:10px!important;
            gap:7px!important;
        }

        .fshhome-panel-grid i{
            width:28px!important;
            height:28px!important;
            flex:0 0 28px!important;
            font-size:12px!important;
            border-radius:8px!important;
        }

        .fshhome-panel-grid strong{
            font-size:12px!important;
            line-height:1.2!important;
            display:block!important;
        }

        .fshhome-panel-grid small{
            font-size:9.5px!important;
            line-height:1.2!important;
            display:block!important;
        }
    }

    @media(prefers-reduced-motion:reduce){
        .fshhome-slide{
            transition:none!important;
            transform:none!important;
        }
    }


    /* =====================================================================
    FINAL SKILL CARD ACTION BUTTONS — FreeStenoHub
    ===================================================================== */
    a.fshskill-link,
    .fshskill-copy a.fshskill-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        width: fit-content !important;
        min-height: 38px !important;
        margin-top: auto !important;
        padding: 10px 16px !important;
        background: linear-gradient(135deg, #5A39B6 0%, #4A2FA1 100%) !important;
        border: 1px solid #5A39B6 !important;
        border-radius: 10px !important;
        color: #FFFFFF !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        box-shadow: 0 7px 18px rgba(90, 57, 182, .20) !important;
        transition: transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease !important;
    }

    a.fshskill-link:link,
    a.fshskill-link:visited,
    a.fshskill-link:focus,
    a.fshskill-link:active,
    .fshskill-copy a.fshskill-link:link,
    .fshskill-copy a.fshskill-link:visited,
    .fshskill-copy a.fshskill-link:focus,
    .fshskill-copy a.fshskill-link:active {
        color: #FFFFFF !important;
        text-decoration: none !important;
    }

    a.fshskill-link i,
    a.fshskill-link svg,
    .fshskill-copy a.fshskill-link i,
    .fshskill-copy a.fshskill-link svg {
        color: #FFFFFF !important;
        fill: currentColor;
        font-size: 11px !important;
    }

    a.fshskill-link:hover,
    .fshskill-copy a.fshskill-link:hover {
        background: linear-gradient(135deg, #EC3F7A 0%, #D92F6B 100%) !important;
        border-color: #EC3F7A !important;
        color: #FFFFFF !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 10px 24px rgba(236, 63, 122, .25) !important;
    }

    a.fshskill-link:hover i,
    a.fshskill-link:hover svg,
    .fshskill-copy a.fshskill-link:hover i,
    .fshskill-copy a.fshskill-link:hover svg {
        color: #FFFFFF !important;
    }

    /* Keep the practice studio cards in the intended two-column deck.
    Earlier asymmetric-deck rules use span 5/span 7 and flex image widths,
    which create oversized cards with an empty right side. */
    .fshskill-deck > .fshskill-tile,
    .fshskill-deck > .fshskill-tile-1,
    .fshskill-deck > .fshskill-tile-2,
    .fshskill-deck > .fshskill-tile-3,
    .fshskill-deck > .fshskill-tile-4 {
        grid-column: auto !important;
    }

    .fshskill-deck .fshskill-visual,
    .fshskill-deck .fshskill-tile-2 .fshskill-visual,
    .fshskill-deck .fshskill-tile-3 .fshskill-visual {
        width: auto !important;
        height: auto !important;
        flex: none !important;
        flex-basis: auto !important;
    }

    @media (max-width: 575.98px) {
        a.fshskill-link,
        .fshskill-copy a.fshskill-link {
            min-height: 36px !important;
            padding: 9px 14px !important;
            font-size: 11.5px !important;
        }
    }

    /* ============================================================
    NEW TYPING CATEGORY UI
    ============================================================ */

    .typing-cat-list{
        padding: 88px 0;
        background:
            radial-gradient(circle at 10% 10%, rgba(236,63,122,.045), transparent 27%),
            radial-gradient(circle at 90% 12%, rgba(90,57,182,.065), transparent 30%),
            #FAFAFD !important;
    }

    .fshtyping-category-header{
        max-width: 760px;
        margin: 0 auto 38px;
    }

    .fshtyping-category-header .h2-heading{
        margin-top: 8px;
        margin-bottom: 12px;
    }

    .fshtyping-category-grid{
        display: grid;
        grid-template-columns: repeat(3, minmax(0,1fr));
        gap: 18px;
    }

    .fshtyping-category-card{
        overflow: hidden;
        border: 1px solid #E8E8F2;
        border-radius: 22px;
        background: #fff;
        box-shadow: 0 14px 42px rgba(27,41,67,.07);
        transition:
            transform .28s ease,
            box-shadow .28s ease,
            border-color .28s ease;
    }

    .fshtyping-category-card:hover{
        transform: translateY(-5px);
        border-color: rgba(90,57,182,.22);
        box-shadow: 0 24px 58px rgba(27,41,67,.12);
    }

    .fshtyping-category-media{
        position: relative;
        display: block;
        overflow: hidden;
        height: 235px;
        background: #EEF0F7;
    }

    .fshtyping-category-media::after{
        content: "";
        position: absolute;
        inset: 0;
        background:
            linear-gradient(
                180deg,
                rgba(27,41,67,0) 48%,
                rgba(27,41,67,.28) 100%
            );
        pointer-events: none;
    }

    .fshtyping-category-media img{
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        transition: transform .45s ease;
    }

    .fshtyping-category-card:hover
    .fshtyping-category-media img{
        transform: scale(1.04);
    }

    .fshtyping-category-badge{
        position: absolute;
        z-index: 3;
        left: 16px;
        top: 16px;

        display: inline-flex;
        align-items: center;
        gap: 7px;

        padding: 7px 11px;

        border-radius: 999px;
        border: 1px solid rgba(255,255,255,.4);

        background: rgba(27,41,67,.78);
        backdrop-filter: blur(9px);

        color: #fff;
        font-size: 10px;
        font-weight: 850;
        letter-spacing: .2px;
    }

    .fshtyping-category-badge i{
        color: #F3C7DA;
    }

    .fshtyping-category-body{
        display: flex;
        flex-direction: column;
        min-height: 190px;
        padding: 20px;
    }

    .fshtyping-category-body h3{
        margin: 0;

        color: #1B2943;

        font-size: 21px;
        line-height: 1.2;
        font-weight: 900;
        letter-spacing: -.35px;
    }

    .fshtyping-category-body p{
        margin: 8px 0 0;

        color: #657086;

        font-size: 13px;
        line-height: 1.55;
    }

    .fshtyping-category-action{
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        min-height: 44px;

        margin-top: auto;
        padding: 11px 14px;

        border-radius: 12px;

        background: #F2EEFF;

        color: #5A39B6 !important;

        font-size: 12px;
        font-weight: 850;

        text-decoration: none !important;

        transition: all .25s ease;
    }

    .fshtyping-category-action i{
        width: 30px;
        height: 30px;

        display: grid;
        place-items: center;

        border-radius: 9px;

        background: #5A39B6;
        color: #fff;

        transition: transform .25s ease;
    }

    .fshtyping-category-card:hover
    .fshtyping-category-action{
        background: linear-gradient(
            135deg,
            #5A39B6,
            #4B2FA6
        );

        color: #fff !important;
    }

    .fshtyping-category-card:hover
    .fshtyping-category-action i{
        background: #EC3F7A;
        transform: translateX(2px);
    }

    /* Tablet */
    @media (max-width: 991.98px){

        .fshtyping-category-grid{
            grid-template-columns: repeat(2, minmax(0,1fr));
        }

        .fshtyping-category-media{
            height: 220px;
        }

    }

    /* Mobile */
    @media (max-width: 575.98px){

        .typing-cat-list{
            padding: 60px 0 !important;
        }

        .fshtyping-category-header{
            margin-bottom: 28px;
        }

        .fshtyping-category-grid{
            grid-template-columns: 1fr;
            gap: 14px;
        }

        .fshtyping-category-card{
            border-radius: 18px;
        }

        .fshtyping-category-media{
            height: 200px;
        }

        .fshtyping-category-body{
            min-height: 170px;
            padding: 17px;
        }

        .fshtyping-category-body h3{
            font-size: 19px;
        }

    }


    /* =====================================================================
    UNIQUE HOMEPAGE V2 SECTIONS
    Better readability, compact cards, no empty vertical space
    ===================================================================== */

    /* ---------- Shared ---------- */

    .fshinsight-v2-kicker,
    .fshflow-v2-kicker{
        display:inline-flex;
        align-items:center;
        gap:8px;
        padding:8px 13px;
        border-radius:999px;
        color:#5A39B6;
        background:#F2EEFF;
        border:1px solid rgba(90,57,182,.12);
        font-size:11px;
        line-height:1;
        font-weight:900;
        letter-spacing:.3px;
    }

    /* =====================================================================
    SKILL INSIGHT
    ===================================================================== */

    .fshinsight-v2{
        position:relative;
        padding:90px 0;
        overflow:hidden;
        background:
            radial-gradient(circle at 0% 0%,rgba(236,63,122,.055),transparent 26%),
            radial-gradient(circle at 100% 100%,rgba(90,57,182,.065),transparent 30%),
            #FAFAFD;
    }

    .fshinsight-v2-grid{
        display:grid;
        grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);
        gap:22px;
        align-items:stretch;
    }

    .fshinsight-v2-copy{
        padding:12px 6px 12px 0;
        align-self:center;
    }

    .fshinsight-v2-copy h2{
        max-width:760px;
        margin:18px 0 0;
        color:#1B2943;
        font-size:clamp(38px,4.2vw,58px);
        line-height:1.03;
        letter-spacing:-2px;
        font-weight:900;
    }

    .fshinsight-v2-copy h2 span{
        color:#5A39B6;
    }

    .fshinsight-v2-lead{
        max-width:700px;
        margin:20px 0 0;
        color:#5F6C82;
        font-size:15px;
        line-height:1.72;
    }

    .fshinsight-v2-points{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin-top:28px;
    }

    .fshinsight-v2-points > div{
        display:flex;
        gap:12px;
        align-items:flex-start;
        padding:16px;
        border:1px solid #E8E8F2;
        border-radius:17px;
        background:#fff;
        box-shadow:0 10px 26px rgba(27,41,67,.045);
    }

    .fshinsight-v2-points i{
        width:38px;
        height:38px;
        flex:0 0 38px;
        display:grid;
        place-items:center;
        border-radius:11px;
        color:#5A39B6;
        background:#F2EEFF;
        font-size:14px;
    }

    .fshinsight-v2-points strong,
    .fshinsight-v2-points small{
        display:block;
    }

    .fshinsight-v2-points strong{
        color:#1B2943;
        font-size:13px;
        line-height:1.25;
        font-weight:900;
    }

    .fshinsight-v2-points small{
        margin-top:4px;
        color:#6B7488;
        font-size:11px;
        line-height:1.45;
    }

    .fshinsight-v2-btn{
        display:inline-flex;
        align-items:center;
        gap:9px;
        margin-top:24px;
        padding:12px 17px;
        border-radius:12px;
        color:#fff!important;
        background:linear-gradient(135deg,#5A39B6,#4A2FA1);
        font-size:12px;
        font-weight:900;
        text-decoration:none!important;
        box-shadow:0 10px 24px rgba(90,57,182,.20);
        transition:.22s ease;
    }

    .fshinsight-v2-btn:hover{
        transform:translateY(-2px);
        background:linear-gradient(135deg,#4A2FA1,#EC3F7A);
    }

    .fshinsight-v2-board{
        display:flex;
        flex-direction:column;
        justify-content:flex-start;
        min-height:0;
        padding:30px;
        border-radius:28px;
        color:#fff;
        background:
            radial-gradient(circle at 100% 0%,rgba(236,63,122,.24),transparent 33%),
            linear-gradient(145deg,#1B2943 0%,#262B58 58%,#5A39B6 100%);
        box-shadow:0 24px 65px rgba(27,41,67,.17);
    }

    .fshinsight-v2-board-head{
        display:flex;
        align-items:flex-start;
        justify-content:space-between;
        gap:18px;
    }

    .fshinsight-v2-board-head span{
        display:block;
        color:#D9CFFF;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.2px;
    }

    .fshinsight-v2-board-head h3{
        max-width:380px;
        margin:7px 0 0;
        color:#fff;
        font-size:clamp(24px,2.4vw,34px);
        line-height:1.08;
        letter-spacing:-.8px;
        font-weight:900;
    }

    .fshinsight-v2-board-icon{
        width:50px;
        height:50px;
        flex:0 0 50px;
        display:grid;
        place-items:center;
        border-radius:15px;
        color:#fff;
        background:linear-gradient(135deg,#7D60DD,#EC3F7A);
        font-size:18px;
        box-shadow:0 12px 28px rgba(0,0,0,.15);
    }

    .fshinsight-v2-meter-list{
        display:grid;
        gap:17px;
        margin-top:30px;
    }

    .fshinsight-v2-meter-top{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:12px;
        margin-bottom:7px;
    }

    .fshinsight-v2-meter-top span{
        color:#fff;
        font-size:12px;
        font-weight:800;
    }

    .fshinsight-v2-meter-top small{
        color:rgba(255,255,255,.55);
        font-size:10px;
    }

    .fshinsight-v2-track{
        height:8px;
        overflow:hidden;
        border-radius:99px;
        background:rgba(255,255,255,.11);
    }

    .fshinsight-v2-track i{
        display:block;
        height:100%;
        border-radius:inherit;
        background:linear-gradient(90deg,#A58CF0,#EC3F7A);
    }

    .fshinsight-v2-note{
        display:flex;
        align-items:flex-start;
        gap:12px;
        margin-top:26px;
        padding:15px;
        border-radius:16px;
        background:rgba(255,255,255,.08);
        border:1px solid rgba(255,255,255,.10);
    }

    .fshinsight-v2-note > i{
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        border-radius:10px;
        color:#fff;
        background:rgba(255,255,255,.10);
    }

    .fshinsight-v2-note strong,
    .fshinsight-v2-note small{
        display:block;
    }

    .fshinsight-v2-note strong{
        color:#fff;
        font-size:12px;
        line-height:1.3;
    }

    .fshinsight-v2-note small{
        margin-top:4px;
        color:rgba(255,255,255,.62);
        font-size:10.5px;
        line-height:1.45;
    }

    /* =====================================================================
    PRACTICE FLOW
    ===================================================================== */

    .fshflow-v2{
        padding:88px 0;
        background:#fff;
    }

    .fshflow-v2-header{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:40px;
        margin-bottom:34px;
    }

    .fshflow-v2-header > div{
        max-width:820px;
    }

    .fshflow-v2-header h2{
        margin:16px 0 0;
        color:#1B2943;
        font-size:clamp(38px,4.2vw,56px);
        line-height:1.04;
        letter-spacing:-1.8px;
        font-weight:900;
    }

    .fshflow-v2-header h2 span{
        color:#5A39B6;
    }

    .fshflow-v2-header > p{
        max-width:430px;
        margin:0 0 4px;
        color:#5F6C82;
        font-size:14px;
        line-height:1.65;
    }

    .fshflow-v2-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:14px;
    }

    .fshflow-v2-card{
        display:flex;
        flex-direction:column;
        min-height:285px;
        padding:22px;
        border-radius:22px;
        border:1px solid #E8E8F2;
        background:#F9F9FD;
        box-shadow:0 10px 28px rgba(27,41,67,.045);
        transition:.24s ease;
    }

    .fshflow-v2-card:hover{
        transform:translateY(-5px);
        background:#fff;
        border-color:rgba(90,57,182,.19);
        box-shadow:0 20px 46px rgba(27,41,67,.09);
    }

    .fshflow-v2-card-main{
        color:#fff;
        border-color:transparent;
        background:
            radial-gradient(circle at 100% 0%,rgba(236,63,122,.25),transparent 35%),
            linear-gradient(145deg,#1B2943,#38306F 65%,#5A39B6);
        box-shadow:0 20px 48px rgba(27,41,67,.14);
    }

    .fshflow-v2-top{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .fshflow-v2-num{
        color:#AAA2C2;
        font-size:10px;
        font-weight:900;
        letter-spacing:1px;
    }

    .fshflow-v2-card-main .fshflow-v2-num{
        color:rgba(255,255,255,.48);
    }

    .fshflow-v2-icon{
        width:46px;
        height:46px;
        display:grid;
        place-items:center;
        border-radius:14px;
        color:#5A39B6;
        background:#F0ECFF;
        font-size:16px;
    }

    .fshflow-v2-card-main .fshflow-v2-icon{
        color:#fff;
        background:linear-gradient(135deg,#7D60DD,#EC3F7A);
    }

    .fshflow-v2-card h3{
        margin:42px 0 0;
        color:#1B2943;
        font-size:18px;
        line-height:1.2;
        font-weight:900;
    }

    .fshflow-v2-card p{
        margin:10px 0 0;
        color:#657086;
        font-size:12.5px;
        line-height:1.58;
    }

    .fshflow-v2-card-main h3{
        color:#fff;
    }

    .fshflow-v2-card-main p{
        color:rgba(255,255,255,.70);
    }

    .fshflow-v2-tag{
        width:max-content;
        margin-top:auto;
        padding-top:18px;
        color:#9A91B4;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.2px;
    }

    .fshflow-v2-card-main .fshflow-v2-tag{
        color:#D9CFFF;
    }

    /* =====================================================================
    CORE PLATFORM STRIP
    ===================================================================== */

    .fshplatform-v2{
        padding:0 0 82px;
        background:#fff;
    }

    .fshplatform-v2-shell{
        display:grid;
        grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
        align-items:center;
        gap:30px;
        padding:28px;
        border-radius:26px;
        background:
            radial-gradient(circle at 95% 0%,rgba(236,63,122,.22),transparent 31%),
            linear-gradient(135deg,#1B2943 0%,#2B2F5C 55%,#5A39B6 100%);
        box-shadow:0 22px 56px rgba(27,41,67,.17);
    }

    .fshplatform-v2-copy > span{
        color:#D9CFFF;
        font-size:9px;
        font-weight:900;
        letter-spacing:1.2px;
    }

    .fshplatform-v2-copy h2{
        max-width:520px;
        margin:8px 0 0;
        color:#fff;
        font-size:clamp(25px,2.8vw,38px);
        line-height:1.08;
        letter-spacing:-1px;
        font-weight:900;
    }

    .fshplatform-v2-links{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:9px;
    }

    .fshplatform-v2-links a{
        display:flex;
        align-items:center;
        gap:10px;
        min-width:0;
        padding:13px;
        border-radius:15px;
        color:#fff!important;
        text-decoration:none!important;
        background:rgba(255,255,255,.08);
        border:1px solid rgba(255,255,255,.10);
        transition:.22s ease;
    }

    .fshplatform-v2-links a:hover{
        transform:translateY(-3px);
        background:rgba(255,255,255,.14);
    }

    .fshplatform-v2-links a > i{
        width:38px;
        height:38px;
        flex:0 0 38px;
        display:grid;
        place-items:center;
        border-radius:11px;
        color:#fff;
        background:linear-gradient(135deg,#7D60DD,#EC3F7A);
        font-size:14px;
    }

    .fshplatform-v2-links strong,
    .fshplatform-v2-links small{
        display:block;
    }

    .fshplatform-v2-links strong{
        color:#fff;
        font-size:11.5px;
        line-height:1.2;
    }

    .fshplatform-v2-links small{
        margin-top:3px;
        color:rgba(255,255,255,.58);
        font-size:9px;
        line-height:1.2;
    }

    /* =====================================================================
    RESPONSIVE
    ===================================================================== */

    @media(max-width:1199.98px){
        .fshinsight-v2-grid{
            grid-template-columns:1fr 1fr;
        }

        .fshflow-v2-card{
            min-height:270px;
        }

        .fshplatform-v2-shell{
            grid-template-columns:1fr;
        }
    }

    @media(max-width:991.98px){
        .fshinsight-v2,
        .fshflow-v2{
            padding:68px 0;
        }

        .fshinsight-v2-grid{
            grid-template-columns:1fr;
        }

        .fshinsight-v2-copy{
            padding-right:0;
        }

        .fshflow-v2-header{
            display:block;
        }

        .fshflow-v2-header > p{
            max-width:650px;
            margin-top:16px;
        }

        .fshflow-v2-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .fshplatform-v2-links{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    @media(max-width:767.98px){
        .fshinsight-v2-points{
            grid-template-columns:1fr;
        }

        .fshinsight-v2-board{
            padding:24px;
            border-radius:22px;
        }

        .fshflow-v2-grid{
            grid-template-columns:1fr 1fr;
        }

        .fshflow-v2-card{
            min-height:250px;
        }

        .fshplatform-v2{
            padding-bottom:62px;
        }

        .fshplatform-v2-shell{
            padding:22px;
            border-radius:22px;
        }
    }

    @media(max-width:575.98px){
        .fshinsight-v2,
        .fshflow-v2{
            padding:56px 0;
        }

        .fshinsight-v2-copy h2,
        .fshflow-v2-header h2{
            font-size:34px;
            letter-spacing:-1.2px;
        }

        .fshinsight-v2-lead,
        .fshflow-v2-header > p{
            font-size:13.5px;
        }

        .fshinsight-v2-board{
            padding:20px;
        }

        .fshinsight-v2-meter-top{
            align-items:flex-start;
            flex-direction:column;
            gap:3px;
        }

        .fshflow-v2-grid{
            grid-template-columns:1fr;
        }

        .fshflow-v2-card{
            min-height:0;
        }

        .fshflow-v2-card h3{
            margin-top:30px;
        }

        .fshplatform-v2-links{
            grid-template-columns:1fr;
        }
    }

    /* =========================================
    FLOW CARD HOVER FIX
    ========================================= */

    /* Normal cards */
    .fshflow-v2-card:hover{
        transform: translateY(-5px);
        background: #FFFFFF !important;
        border-color: rgba(90,57,182,.20) !important;
        box-shadow: 0 20px 46px rgba(27,41,67,.10) !important;
    }

    .fshflow-v2-card:hover h3{
        color: #1B2943 !important;
    }

    .fshflow-v2-card:hover p{
        color: #657086 !important;
    }

    .fshflow-v2-card:hover .fshflow-v2-tag{
        color: #8F82B4 !important;
    }

    /* FEATURED / PURPLE CARD */
    .fshflow-v2-card-main,
    .fshflow-v2-card-main:hover{
        background:
            radial-gradient(
                circle at 100% 0%,
                rgba(236,63,122,.28),
                transparent 36%
            ),
            linear-gradient(
                145deg,
                #1B2943 0%,
                #38306F 62%,
                #5A39B6 100%
            ) !important;

        border-color: transparent !important;

        box-shadow:
            0 22px 52px rgba(27,41,67,.20) !important;
    }

    /* Keep featured-card content visible on hover */
    .fshflow-v2-card-main h3,
    .fshflow-v2-card-main:hover h3{
        color: #FFFFFF !important;
    }

    .fshflow-v2-card-main p,
    .fshflow-v2-card-main:hover p{
        color: rgba(255,255,255,.76) !important;
    }

    .fshflow-v2-card-main .fshflow-v2-tag,
    .fshflow-v2-card-main:hover .fshflow-v2-tag{
        color: #E2D8FF !important;
    }

    .fshflow-v2-card-main .fshflow-v2-num,
    .fshflow-v2-card-main:hover .fshflow-v2-num{
        color: rgba(255,255,255,.58) !important;
    }

    .fshflow-v2-card-main .fshflow-v2-icon,
    .fshflow-v2-card-main:hover .fshflow-v2-icon{
        color: #FFFFFF !important;

        background: linear-gradient(
            135deg,
            #7D60DD,
            #EC3F7A
        ) !important;
    }

    /* Better hover feel */
    .fshflow-v2-card-main:hover{
        transform: translateY(-6px) scale(1.01);
    }

    /* Index readability baseline: text should never render below 15px.
    The page contains several older compact-card rules (9–13px) which are
    too small at desktop and laptop scale. */
    body{
        font-size:15px;
    }

    :root body :is(p, a, span, li, small, button, label, input, select, textarea):not(h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, h4 *, h5 *, h6 *, #fshfont-floor-exception){
        font-size:15px !important;
    }

    :root body :is(h1, h2, h3, h4, h5, h6) :is(span, strong, em, b, i, a, small){
        font-size:inherit !important;
        font-weight:inherit !important;
        line-height:inherit !important;
    }


    /* ========================================================================
    HOMEPAGE V3 — STUDENT-FIRST CONTENT LAYER
    Keeps the existing hero / module / typing-category design and adds
    student utility, exam practice, mistake-driven learning and plan context.
    ======================================================================== */

    .fshquick-start{
        padding:0 0 22px;
        background:#fff;
    }

    .fshquick-start-shell{
        display:grid;
        grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);
        gap:24px;
        align-items:center;
        padding:18px 20px;
        margin-top:-12px;
        border:1px solid rgba(79,50,154,.13);
        border-radius:22px;
        background:#fff;
        box-shadow:0 18px 42px rgba(25,36,58,.08);
        position:relative;
        z-index:5;
    }

    .fshquick-start-kicker{
        display:block;
        margin-bottom:4px;
        color:#E72D76;
        font-size:11px;
        font-weight:900;
        letter-spacing:.12em;
    }

    .fshquick-start-copy strong{
        display:block;
        color:#19243A;
        font-size:18px;
        line-height:1.3;
    }

    .fshquick-start-links{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:8px;
    }

    .fshquick-start-links a{
        min-width:0;
        display:flex;
        align-items:center;
        gap:10px;
        padding:11px 12px;
        border-radius:14px;
        background:#F8F6FA;
        border:1px solid #ECE6F1;
        text-decoration:none;
        transition:.2s ease;
    }

    .fshquick-start-links a:hover{
        transform:translateY(-2px);
        border-color:#D7CBE5;
        background:#F3EDF8;
    }

    .fshquick-start-links i{
        width:34px;
        height:34px;
        flex:0 0 34px;
        display:grid;
        place-items:center;
        border-radius:10px;
        background:#fff;
        color:#4F329A;
    }

    .fshquick-start-links span,
    .fshquick-start-links strong,
    .fshquick-start-links small{
        display:block;
        min-width:0;
    }

    .fshquick-start-links strong{
        color:#19243A;
        font-size:13px;
    }

    .fshquick-start-links small{
        margin-top:2px;
        overflow:hidden;
        color:#747490;
        font-size:10.5px;
        white-space:nowrap;
        text-overflow:ellipsis;
    }

    /* Student progress */
    .fshstudent-progress{
        position:relative;
        padding:86px 0;
        overflow:hidden;
        background:
            radial-gradient(circle at 95% 5%,rgba(79,50,154,.08),transparent 28%),
            #fff;
    }

    .fshstudent-progress-grid{
        display:grid;
        grid-template-columns:minmax(0,.93fr) minmax(440px,1.07fr);
        gap:56px;
        align-items:center;
    }

    .fshstudent-kicker,
    .fshexam-home-kicker,
    .fshmistake-home-kicker,
    .fshimprove-flow-kicker{
        display:inline-flex;
        align-items:center;
        gap:8px;
        margin-bottom:14px;
        padding:7px 12px;
        border-radius:999px;
        background:#F4EFF9;
        color:#4F329A;
        font-size:12px;
        font-weight:900;
    }

    .fshstudent-progress-copy h2,
    .fshmistake-home-copy h2{
        margin:0 0 16px;
        color:#19243A;
        font-size:clamp(34px,4vw,50px);
        line-height:1.04;
        letter-spacing:-1.2px;
        font-weight:900;
    }

    .fshstudent-progress-copy h2 span,
    .fshmistake-home-copy h2 span{
        color:#4F329A;
    }

    .fshstudent-progress-copy>p,
    .fshmistake-home-copy>p{
        max-width:650px;
        margin:0;
        color:#667086;
        font-size:16px;
        line-height:1.75;
    }

    .fshprogress-benefits{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        margin-top:24px;
    }

    .fshprogress-benefits>div{
        display:flex;
        gap:10px;
        padding:13px;
        border:1px solid #EAE4EF;
        border-radius:14px;
        background:#fff;
    }

    .fshprogress-benefits i{
        width:36px;
        height:36px;
        flex:0 0 36px;
        display:grid;
        place-items:center;
        border-radius:10px;
        background:#F4EFF9;
        color:#4F329A;
    }

    .fshprogress-benefits span,
    .fshprogress-benefits strong,
    .fshprogress-benefits small{
        display:block;
    }

    .fshprogress-benefits strong{
        color:#19243A;
        font-size:14px;
    }

    .fshprogress-benefits small{
        margin-top:2px;
        color:#747490;
        font-size:11px;
        line-height:1.4;
    }

    .fshprogress-btn{
        display:inline-flex;
        align-items:center;
        gap:9px;
        margin-top:24px;
        min-height:48px;
        padding:0 18px;
        border-radius:12px;
        background:#19243A;
        color:#fff!important;
        text-decoration:none!important;
        font-size:14px;
        font-weight:850;
    }

    .fshstudent-progress-board{
        padding:26px;
        border-radius:26px;
        background:linear-gradient(145deg,#19243A,#29264D 63%,#4F329A);
        color:#fff;
        box-shadow:0 25px 62px rgba(25,36,58,.16);
    }

    .fshprogress-board-head{
        display:flex;
        justify-content:space-between;
        gap:20px;
        align-items:flex-start;
    }

    .fshprogress-board-head span{
        display:block;
        color:#CFC1E7;
        font-size:10px;
        font-weight:900;
        letter-spacing:.12em;
    }

    .fshprogress-board-head h3{
        max-width:420px;
        margin:6px 0 0;
        color:#fff;
        font-size:28px;
        line-height:1.12;
        font-weight:900;
    }

    .fshprogress-board-icon{
        width:50px;
        height:50px;
        display:grid;
        place-items:center;
        border-radius:14px;
        background:linear-gradient(135deg,#7A59D0,#E72D76);
    }

    .fshprogress-preview{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:10px;
        margin-top:22px;
    }

    .fshprogress-preview article{
        display:flex;
        gap:11px;
        padding:16px;
        border:1px solid rgba(255,255,255,.09);
        border-radius:16px;
        background:rgba(255,255,255,.07);
    }

    .fshprogress-preview-main{
        grid-column:1/-1;
    }

    .fshprogress-preview-icon{
        width:38px;
        height:38px;
        flex:0 0 38px;
        display:grid;
        place-items:center;
        border-radius:11px;
        background:rgba(255,255,255,.10);
        color:#fff;
    }

    .fshprogress-preview small,
    .fshprogress-preview strong,
    .fshprogress-preview p{
        display:block;
    }

    .fshprogress-preview small{
        color:#BFB5D3;
        font-size:10px;
    }

    .fshprogress-preview strong{
        margin-top:3px;
        color:#fff;
        font-size:15px;
    }

    .fshprogress-preview p{
        margin:5px 0 0;
        color:rgba(255,255,255,.67);
        font-size:11.5px;
        line-height:1.5;
    }

    /* Exam practice */
    .fshexam-home{
        padding:86px 0;
        background:#F8F6FA;
    }

    .fshexam-home-head,
    .fshimprove-flow-head{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(320px,.65fr);
        gap:50px;
        align-items:end;
        margin-bottom:28px;
    }

    .fshexam-home-head h2,
    .fshimprove-flow-head h2{
        margin:0;
        max-width:760px;
        color:#19243A;
        font-size:clamp(32px,4vw,46px);
        line-height:1.07;
        font-weight:900;
        letter-spacing:-1px;
    }

    .fshexam-home-head>p,
    .fshimprove-flow-head>p{
        margin:0;
        color:#747490;
        font-size:15px;
        line-height:1.7;
    }

    .fshexam-chip-grid{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:11px;
    }

    .fshexam-chip-grid a{
        display:grid;
        grid-template-columns:42px 1fr auto;
        gap:13px;
        align-items:center;
        min-height:76px;
        padding:14px 16px;
        border:1px solid #E8E2ED;
        border-radius:16px;
        background:#fff;
        text-decoration:none;
        transition:.2s ease;
    }

    .fshexam-chip-grid a:hover{
        transform:translateY(-2px);
        border-color:#D6C9E3;
        box-shadow:0 12px 28px rgba(25,36,58,.06);
    }

    .fshexam-chip-grid>a>span{
        width:40px;
        height:40px;
        display:grid;
        place-items:center;
        border-radius:11px;
        background:#F2EDF8;
        color:#4F329A;
        font-size:12px;
        font-weight:900;
    }

    .fshexam-chip-grid strong,
    .fshexam-chip-grid small{
        display:block;
    }

    .fshexam-chip-grid strong{
        color:#19243A;
        font-size:15px;
    }

    .fshexam-chip-grid small{
        margin-top:3px;
        color:#747490;
        font-size:11.5px;
    }

    .fshexam-chip-grid>a>i{
        color:#A39AAB;
        font-size:12px;
    }

    .fshexam-home-footer{
        display:flex;
        justify-content:space-between;
        gap:20px;
        align-items:center;
        margin-top:15px;
        padding:13px 15px;
        border-radius:13px;
        background:#EEE8F7;
        color:#675D77;
        font-size:12px;
    }

    .fshexam-home-footer a{
        color:#4F329A;
        text-decoration:none;
        font-weight:850;
    }

    /* Mistake Book */
    .fshmistake-home{
        padding:90px 0;
        background:#fff;
    }

    .fshmistake-home-shell{
        display:grid;
        grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);
        gap:58px;
        align-items:center;
    }

    .fshmistake-home-actions{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
        margin-top:25px;
    }

    .fshmistake-primary,
    .fshmistake-secondary{
        min-height:48px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:9px;
        padding:0 17px;
        border-radius:12px;
        text-decoration:none!important;
        font-size:14px;
        font-weight:850;
    }

    .fshmistake-primary{
        background:linear-gradient(135deg,#4F329A,#E72D76);
        color:#fff!important;
    }

    .fshmistake-secondary{
        border:1px solid #E4DDE9;
        background:#fff;
        color:#19243A!important;
    }

    .fshmistake-home-board{
        padding:25px;
        border:1px solid #E8E2ED;
        border-radius:24px;
        background:#FAF8FB;
        box-shadow:0 18px 44px rgba(25,36,58,.06);
    }

    .fshmistake-board-top{
        display:flex;
        justify-content:space-between;
        gap:16px;
        align-items:flex-start;
        padding-bottom:18px;
        border-bottom:1px solid #E8E2ED;
    }

    .fshmistake-board-top span{
        display:block;
        color:#4F329A;
        font-size:10px;
        font-weight:900;
        letter-spacing:.12em;
    }

    .fshmistake-board-top h3{
        margin:5px 0 0;
        color:#19243A;
        font-size:25px;
        font-weight:900;
    }

    .fshmistake-board-top>i{
        width:46px;
        height:46px;
        display:grid;
        place-items:center;
        border-radius:13px;
        background:#FFF0F5;
        color:#E72D76;
    }

    .fshmistake-list>div{
        display:grid;
        grid-template-columns:42px 1fr auto;
        gap:12px;
        align-items:center;
        padding:15px 0;
        border-bottom:1px solid #ECE6F0;
    }

    .fshmistake-list>div:last-child{
        border-bottom:0;
    }

    .fshmistake-list-icon{
        width:40px;
        height:40px;
        display:grid;
        place-items:center;
        border-radius:11px;
        background:#fff;
        color:#4F329A;
    }

    .fshmistake-list strong,
    .fshmistake-list small{
        display:block;
    }

    .fshmistake-list strong{
        color:#19243A;
        font-size:14px;
    }

    .fshmistake-list small{
        margin-top:3px;
        color:#747490;
        font-size:11px;
    }

    .fshmistake-status{
        padding:6px 8px;
        border-radius:999px;
        background:#F2EDF8;
        color:#4F329A;
        font-size:9px;
        font-weight:900;
    }

    .fshmistake-board-note{
        display:flex;
        gap:10px;
        align-items:center;
        margin-top:15px;
        padding:12px 13px;
        border-radius:12px;
        background:#19243A;
        color:#fff;
        font-size:12px;
    }

    .fshmistake-board-note i{
        color:#F0C8DA;
    }

    /* Improvement loop */
    .fshimprove-flow{
        padding:86px 0;
        background:linear-gradient(180deg,#F8F6FA,#fff);
    }

    .fshimprove-flow-grid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:12px;
    }

    .fshimprove-flow-grid article{
        min-height:230px;
        display:flex;
        flex-direction:column;
        padding:20px;
        border:1px solid #E9E3EE;
        border-radius:18px;
        background:#fff;
    }

    .fshimprove-flow-grid article.is-featured{
        background:linear-gradient(145deg,#19243A,#4F329A);
        color:#fff;
    }

    .fshimprove-flow-grid article>span{
        color:#AAA1B2;
        font-size:10px;
        font-weight:900;
        letter-spacing:.12em;
    }

    .fshimprove-flow-grid article>i{
        width:42px;
        height:42px;
        display:grid;
        place-items:center;
        margin:20px 0;
        border-radius:12px;
        background:#F2EDF8;
        color:#4F329A;
    }

    .fshimprove-flow-grid .is-featured>i{
        background:rgba(255,255,255,.12);
        color:#fff;
    }

    .fshimprove-flow-grid h3{
        margin:0 0 7px;
        color:#19243A;
        font-size:18px;
        font-weight:900;
    }

    .fshimprove-flow-grid p{
        margin:0;
        color:#747490;
        font-size:12px;
        line-height:1.55;
    }

    .fshimprove-flow-grid .is-featured h3,
    .fshimprove-flow-grid .is-featured p{
        color:#fff;
    }

    .fshimprove-flow-grid .is-featured p{
        color:rgba(255,255,255,.70);
    }

    /* Membership teaser */
    .fshhome-membership {
        padding:40px 0 100px;
        background:#ffffff;
    }

    .fshhome-membership-shell {
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(420px,1fr) auto;
        align-items: center;
        gap:28px;
        align-items:center;
        padding:28px 30px;
        border-radius:24px;
        background:linear-gradient(120deg,#19243A,#302852 64%,#4F329A);
        color:#fff;
    }

    .fshhome-membership-copy>span{
        display:block;
        color:#CDBFE5;
        font-size:10px;
        font-weight:900;
        letter-spacing:.12em;
    }

    .fshhome-membership-copy h2{
        margin:6px 0 6px;
        color:#fff;
        font-size:25px;
        line-height:1.15;
        font-weight:900;
    }

    .fshhome-membership-copy p{
        margin:0;
        color:rgba(255,255,255,.65);
        font-size:12px;
        line-height:1.55;
    }

    .fshhome-plan-row{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:7px;
    }

    .fshhome-plan-row>div{
        min-width:0;
        padding:12px 10px;
        border:1px solid rgba(255,255,255,.10);
        border-radius:12px;
        background:rgba(255,255,255,.07);
        text-align:center;
    }

    .fshhome-plan-row>div.is-popular{
        background:rgba(231,45,118,.20);
        border-color:rgba(244,167,198,.25);
    }

    .fshhome-plan-row span,
    .fshhome-plan-row strong,
    .fshhome-plan-row small{
        display:block;
    }

    .fshhome-plan-row span{
        color:#e2e8f0;
        font-size:11.5px;
        font-weight:700;
        text-transform:uppercase;
        letter-spacing:0.03em;
    }

    .fshhome-plan-row strong{
        margin-top:3px;
        color:#ffffff;
        font-size:20px;
        font-weight:900;
    }

    .fshhome-plan-row small{
        margin-top:2px;
        color:#cbd5e1;
        font-size:11px;
        font-weight:600;
    }

    .fshhome-membership-btn{
        min-height:46px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        padding:0 16px;
        border-radius:12px;
        background:#fff;
        color:#4F329A!important;
        text-decoration:none!important;
        font-size:13px;
        font-weight:900;
        white-space:nowrap;
    }

    @media(max-width:1199px){
        .fshquick-start-shell,
        .fshstudent-progress-grid,
        .fshmistake-home-shell,
        .fshhome-membership-shell{
            grid-template-columns:1fr;
        }

        .fshhome-membership-btn{
            justify-self:start;
        }
    }

    @media(max-width:991px){
        .fshquick-start-links{
            grid-template-columns:1fr 1fr;
        }

        .fshstudent-progress-grid,
        .fshmistake-home-shell{
            gap:34px;
        }

        .fshexam-home-head,
        .fshimprove-flow-head{
            grid-template-columns:1fr;
            gap:12px;
        }

        .fshimprove-flow-grid{
            grid-template-columns:1fr 1fr;
        }
    }

    @media(max-width:767px){
        .fshstudent-progress,
        .fshexam-home,
        .fshmistake-home,
        .fshimprove-flow{
            padding:62px 0;
        }

        .fshprogress-benefits,
        .fshprogress-preview,
        .fshexam-chip-grid {
            grid-template-columns:1fr;
        }

        .fshhome-plan-row {
            grid-template-columns:repeat(2, minmax(0, 1fr));
            gap: 10px;
        }

        .fshprogress-preview-main{
            grid-column:auto;
        }

        .fshexam-home-footer{
            align-items:flex-start;
            flex-direction:column;
        }
    }

    @media(max-width:575px){
        .fshquick-start{
            padding-bottom:8px;
        }

        .fshquick-start-shell{
            margin-top:0;
            padding:15px;
            border-radius:18px;
        }

        .fshquick-start-links{
            grid-template-columns:1fr;
        }

        .fshstudent-progress-copy h2,
        .fshmistake-home-copy h2{
            font-size:34px;
        }

        .fshstudent-progress-board,
        .fshmistake-home-board,
        .fshhome-membership-shell{
            padding:20px;
            border-radius:20px;
        }

        .fshprogress-board-head h3{
            font-size:24px;
        }

        .fshimprove-flow-grid{
            grid-template-columns:1fr;
        }

        .fshexam-chip-grid a{
            grid-template-columns:40px 1fr;
        }

        .fshexam-chip-grid>a>i{
            display:none;
        }
    }


    /* ===== Simplified homepage sections ===== */
    .fshhome-why-simple{position:relative;padding:82px 0;background:#fff}
    .fshhome-simple-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);align-items:end;gap:36px;margin-bottom:32px}
    .fshhome-simple-kicker{display:inline-flex;align-items:center;gap:8px;color:#4F329A;font-size:11px;font-weight:900;letter-spacing:1.15px}
    .fshhome-simple-head h2{margin:10px 0 0;color:#19243A;font-size:clamp(32px,4vw,48px);line-height:1.02;font-weight:900;letter-spacing:-1.2px}
    .fshhome-simple-head p{margin:0;color:#747490;font-size:14px;line-height:1.7}
    .fshhome-why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
    .fshhome-why-grid article{min-height:190px;padding:24px;border:1px solid #E7E5EE;border-radius:22px;background:#FDFCFD;transition:.25s ease}
    .fshhome-why-grid article:hover{transform:translateY(-4px);background:#fff;border-color:rgba(79,50,154,.24);box-shadow:0 18px 38px rgba(25,36,58,.08)}
    .fshhome-why-grid article>span{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:#19243A;color:#fff;font-size:16px;margin-bottom:28px}
    .fshhome-why-grid article:nth-child(2)>span,.fshhome-why-grid article:nth-child(4)>span{background:#4F329A}
    .fshhome-why-grid h3{margin:0 0 7px;color:#19243A;font-size:17px;font-weight:850}
    .fshhome-why-grid p{margin:0;color:#747490;font-size:12.5px;line-height:1.6}

    .fshhome-trial-cta{padding:0 0 84px;background:#fff}
    .fshhome-trial-shell{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);gap:36px;align-items:center;padding:38px 42px;border-radius:28px;background:linear-gradient(125deg,#19243A 0%,#252A58 48%,#4F329A 100%);box-shadow:0 24px 54px rgba(25,36,58,.18)}
    .fshhome-trial-shell::after{content:"";position:absolute;width:300px;height:300px;right:-120px;top:-170px;border-radius:50%;border:50px solid rgba(255,255,255,.05)}
    .fshhome-trial-copy,.fshhome-trial-action{position:relative;z-index:1}
    .fshhome-trial-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#F0E5ED;font-size:10px;font-weight:900;letter-spacing:1.2px}
    .fshhome-trial-copy h2{margin:9px 0 8px;color:#fff;font-size:clamp(30px,4vw,46px);line-height:1.05;font-weight:900;letter-spacing:-1px}
    .fshhome-trial-copy>p{margin:0;color:rgba(255,255,255,.72);font-size:13.5px}
    .fshhome-trial-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
    .fshhome-trial-features span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.9);font-size:11px;font-weight:700}
    .fshhome-trial-features i{color:#F0E5ED}
    .fshhome-trial-action{display:flex;flex-direction:column;align-items:stretch;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
    .fshhome-trial-price{text-align:center;color:#fff;margin-bottom:17px}
    .fshhome-trial-price small{display:block;color:#F0E5ED;font-size:9px;font-weight:900;letter-spacing:1.4px}
    .fshhome-trial-price strong{display:block;margin:3px 0 0;font-size:44px;line-height:1;font-weight:900}
    .fshhome-trial-price span{display:block;margin-top:5px;color:rgba(255,255,255,.68);font-size:11px}
    .fshhome-trial-primary{min-height:44px;display:flex;align-items:center;justify-content:center;gap:9px;padding:11px 16px;border-radius:12px;background:#fff;color:#19243A!important;text-decoration:none!important;font-size:12px;font-weight:900}
    .fshhome-trial-secondary{margin-top:11px;color:rgba(255,255,255,.78)!important;text-align:center;text-decoration:none!important;font-size:11px;font-weight:700}
    .fshhome-trial-secondary:hover{color:#fff!important}
    @media(max-width:991px){.fshhome-simple-head{grid-template-columns:1fr;gap:12px}.fshhome-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fshhome-trial-shell{grid-template-columns:1fr}.fshhome-trial-action{max-width:360px}}
    @media(max-width:575px){.fshhome-why-simple{padding:58px 0}.fshhome-why-grid{grid-template-columns:1fr}.fshhome-why-grid article{min-height:auto}.fshhome-trial-cta{padding-bottom:58px}.fshhome-trial-shell{padding:28px 20px;border-radius:22px}.fshhome-trial-action{max-width:none}}


    /* ============================================================
    PRACTICE CATEGORIES — COMPACT 4-CARD ROW
    2026-09-05
    ============================================================ */
    .fshmodule-showcase-compact{
        position:relative !important;
        padding:62px 0 66px !important;
        background:#FFFFFF !important;
        overflow:hidden;
    }

    .fshmodule-showcase-compact::before{
        display:none !important;
    }

    .fshmodule-compact-head{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:28px;
        margin-bottom:24px;
    }

    .fshmodule-compact-head .header-tag{
        margin-bottom:9px;
    }

    .fshmodule-compact-head .h2-heading{
        margin:0 !important;
        max-width:680px;
        font-size:clamp(28px,3.2vw,42px) !important;
        line-height:1.06 !important;
        letter-spacing:-1px;
    }

    .fshmodule-compact-head > p{
        width:min(100%,360px);
        margin:0 0 4px;
        color:#747490;
        font-size:13px;
        line-height:1.55;
        text-align:right;
    }

    .fshskill-compact-grid{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:16px;
    }

    .fshskill-compact-card{
        position:relative;
        min-width:0;
        overflow:hidden;
        display:flex;
        flex-direction:column;
        border:1px solid #E7E5EE;
        border-radius:20px;
        background:#FFFFFF;
        box-shadow:0 8px 24px rgba(25,36,58,.065);
        color:#19243A !important;
        text-decoration:none !important;
        transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
    }

    .fshskill-compact-card:hover{
        transform:translateY(-5px);
        border-color:rgba(79,50,154,.25);
        box-shadow:0 15px 35px rgba(25,36,58,.08);
        color:#19243A !important;
    }

    .fshskill-compact-media{
        position:relative;
        width:100%;
        aspect-ratio:16/10;
        overflow:hidden;
        background:#F5F2F8;
    }

    .fshskill-compact-media::after{
        content:"";
        position:absolute;
        inset:0;
        background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 50%);
        pointer-events:none;
    }

    .fshskill-compact-media img{
        width:100%;
        height:100%;
        display:block;
        object-fit:cover;
        object-position:center;
        transition:transform .4s ease;
    }

    .fshskill-compact-card:hover .fshskill-compact-media img{
        transform:scale(1.035);
    }

    .fshskill-compact-icon{
        position:absolute;
        z-index:2;
        left:20px;
        bottom:16px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        background:transparent;
        color:#fff !important;
        box-shadow:none;
        font-size:20px;
    }

    .fshskill-compact-card:nth-child(2) .fshskill-compact-icon,
    .fshskill-compact-card:nth-child(4) .fshskill-compact-icon{
        color:#fff !important;
    }

    .fshskill-compact-body{
        display:flex;
        flex:1;
        flex-direction:column;
        padding:18px 20px 24px;
    }

    .fshskill-compact-title-row{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:10px;
    }

    .fshskill-compact-title-row h3{
        min-width:0;
        margin:0 0 6px 0;
        color:#111;
        font-size:18px;
        line-height:1.3;
        font-weight:600;
    }

    .fshskill-compact-arrow{
        display:none !important;
    }

    .fshskill-compact-body p{
        display:none;
    }

    .fshskill-compact-action{
        margin-top:12px;
        min-height:auto;
        padding:10px 16px;
        border-radius:8px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        background:#4F329A;
        color:#fff !important;
        text-decoration:none !important;
        box-shadow:0 4px 12px rgba(79,50,154,0.2);
        transition:all 0.25s ease;
    }

    .fshskill-compact-action span{
        display:block;
        min-width:0;
        text-align:left;
    }

    .fshskill-compact-action b{
        display:block;
        color:#fff !important;
        font-size:13px;
        font-weight:700;
        letter-spacing:normal;
        text-transform:none;
    }

    .fshskill-compact-action>i{
        display:inline-block;
        margin-left:8px;
        font-size:11px;
    }

    .fshskill-compact-card:hover .fshskill-compact-action{
        background:#392273;
        box-shadow:0 6px 15px rgba(79,50,154,0.3);
        transform:translateY(-2px);
    }

    /* Tablet: 2 x 2 */
    @media(max-width:991px){
        .fshmodule-showcase-compact{
            padding:54px 0 58px !important;
        }
        .fshmodule-compact-head{
            align-items:flex-start;
            flex-direction:column;
            gap:8px;
        }
        .fshmodule-compact-head > p{
            width:auto;
            text-align:left;
        }
        .fshskill-compact-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }
    }

    /* Mobile: horizontal swipe, category-strip feel */
    @media(max-width:575px){
        .fshmodule-showcase-compact{
            padding:46px 0 50px !important;
        }
        .fshmodule-compact-head{
            margin-bottom:18px;
        }
        .fshmodule-compact-head .h2-heading{
            font-size:28px !important;
        }
        .fshskill-compact-grid{
            display:flex;
            gap:12px;
            overflow-x:auto;
            padding:2px 2px 12px;
            scroll-snap-type:x mandatory;
            scrollbar-width:none;
            -webkit-overflow-scrolling:touch;
        }
        .fshskill-compact-grid::-webkit-scrollbar{
            display:none;
        }
        .fshskill-compact-card{
            flex:0 0 78%;
            scroll-snap-align:start;
            border-radius:18px;
        }
        .fshskill-compact-body{
            padding:14px;
        }
    }

    /* ============================================================
    SHOWCASE SECTIONS (TYPING, AUDIO LAB, PITMAN, AHC)
    ============================================================ */
    .fshshowcase-section {
        padding: 40px 0;
        background: #FFFFFF;
        position: relative;
    }

    .fshshowcase-section.bg-alt {
        background: #F8F6FB;
        border-top: 1px solid #ECE7F2;
        border-bottom: 1px solid #ECE7F2;
    }

    .fshshowcase-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 24px;
        margin-bottom: 28px;
    }

    .fshshowcase-head-info {
        max-width: 720px;
    }

    .fshshowcase-head-info .header-tag {
        margin-bottom: 9px;
    }

    .fshshowcase-head-info .h2-heading {
        margin: 0 0 8px !important;
        font-size: clamp(26px, 3vw, 38px) !important;
        line-height: 1.12 !important;
        letter-spacing: -0.8px;
        color: #19243A;
        font-weight: 900;
    }

    .fshshowcase-head-info p {
        margin: 0;
        color: #747490;
        font-size: 14px;
        line-height: 1.55;
    }

    .fshview-all-btn {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 10px 20px;
        border-radius: 999px;
        background: #FFFFFF;
        border: 1.5px solid #4F329A;
        color: #4F329A !important;
        font-weight: 850;
        font-size: 13px;
        text-decoration: none !important;
        box-shadow: 0 4px 14px rgba(79, 50, 154, 0.08);
        transition: all .25s ease;
    }

    .fshview-all-btn:hover {
        background: #4F329A;
        color: #FFFFFF !important;
        transform: translateY(-2px);
        box-shadow: 0 8px 22px rgba(79, 50, 154, 0.22);
    }

    .fshview-all-btn i {
        font-size: 11px;
        transition: transform .25s ease;
    }

    .fshview-all-btn:hover i {
        transform: translateX(3px);
    }

    .fshshowcase-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 18px;
    }

    /* V8 Test Card System (Unified Across All 4 Sections) */
    .fshv8-test-card {
        min-height: 230px;
        padding: 18px;
        display: flex;
        flex-direction: column;
        position: relative;
        overflow: hidden;
        background: #FFFFFF;
        border: 1px solid #E7E2ED;
        border-radius: 22px;
        box-shadow: 0 10px 28px rgba(25, 36, 58, 0.06);
        transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
    }

    .fshv8-test-card::before {
        content: "";
        position: absolute;
        width: 120px;
        height: 120px;
        right: -54px;
        top: -54px;
        border-radius: 50%;
        background: linear-gradient(135deg, rgba(79, 50, 154, .10), rgba(236, 38, 119, .08));
        pointer-events: none;
    }

    .fshv8-test-card:hover {
        transform: translateY(-6px);
        border-color: #CFC0E3;
        box-shadow: 0 20px 42px rgba(79, 50, 154, 0.12);
    }

    .fshv8-card-head {
        position: relative;
        z-index: 1;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 10px;
    }

    .fshv8-mode-mark {
        min-width: 0;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .fshv8-number {
        min-width: 30px;
        height: 30px;
        padding: 0 6px;
        border-radius: 9px;
        display: grid;
        place-items: center;
        background: #19243A;
        color: #fff !important;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .06em;
    }

    .fshv8-icon {
        width: 32px;
        height: 32px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        background: #F2ECFA;
        color: #4F329A !important;
        font-size: 12px;
    }

    .fshv8-mode-mark small,
    .fshv8-mode-mark strong {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .fshv8-mode-mark small {
        color: #9A92A8 !important;
        font-size: 8px;
        line-height: 1;
        font-weight: 900;
        letter-spacing: .12em;
    }

    .fshv8-mode-mark strong {
        margin-top: 4px;
        color: #4F329A !important;
        font-size: 10px;
        line-height: 1.2;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: .045em;
    }

    .fshv8-access {
        flex: 0 0 auto;
        min-height: 28px;
        padding: 0 10px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        font-size: 9px;
        font-weight: 900;
    }

    .fshv8-access.free {
        background: #EDF8F3;
        color: #147A52 !important;
    }

    .fshv8-access.premium {
        background: #FFF0F5;
        color: #C43A6D !important;
    }

    .fshv8-card-body {
        position: relative;
        z-index: 1;
        padding: 16px 0 12px;
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .fshv8-card-body h3 {
        margin: 0;
        min-height: 44px;
        color: #19243A !important;
        font-size: 17px;
        line-height: 1.32;
        font-weight: 900;
        letter-spacing: -.2px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .fshv8-meta-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: auto;
        padding-top: 12px;
        border-top: 1px solid #EEE9F2;
    }

    .fshv8-meta-row span {
        min-height: 28px;
        padding: 0 9px;
        border-radius: 8px;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: #F8F5FB;
        border: 1px solid #EEE8F3;
        color: #19243A !important;
        font-size: 10px;
    }

    .fshv8-meta-row i {
        color: #4F329A !important;
        font-size: 10px;
    }

    .fshv8-meta-row b {
        color: #19243A !important;
        font-size: 10px;
        font-weight: 850;
        text-transform: capitalize;
    }

    .fshv8-start-btn {
        margin-top: 12px;
        min-height: 48px;
        padding: 5px 6px 5px 14px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        background: linear-gradient(135deg, #19243A 0%, #222E49 100%);
        color: #fff !important;
        text-decoration: none !important;
        box-shadow: 0 8px 20px rgba(25, 36, 58, .16);
        transition: .25s ease;
    }

    .fshv8-start-btn span {
        display: block;
        min-width: 0;
    }

    .fshv8-start-btn b {
        display: block;
        color: #fff !important;
        font-size: 13px;
        font-weight: 900;
        letter-spacing: .02em;
    }

    .fshv8-start-btn > i {
        flex: 0 0 36px;
        width: 36px;
        height: 36px;
        border-radius: 10px;
        display: grid;
        place-items: center;
        background: linear-gradient(135deg, #4F329A, #EC2677);
        color: #fff !important;
        font-size: 12px;
        transition: transform .25s ease;
    }

    .fshv8-start-btn:hover {
        background: #111A2C;
        color: #fff !important;
        transform: translateY(-1px);
        box-shadow: 0 12px 26px rgba(25, 36, 58, .22);
    }

    .fshv8-start-btn:hover > i {
        transform: translateX(3px);
    }

    /* Section Specific Icons */
    .fshcard-audio .fshv8-icon {
        background: #FCEBF2;
        color: #EC2677 !important;
    }

    .fshcard-pitman .fshv8-icon {
        background: #EFF6FF;
        color: #2563EB !important;
    }

    .fshcard-ahc .fshv8-icon {
        background: #ECFDF5;
        color: #059669 !important;
    }

    /* Responsive adjustments */
    @media(max-width: 1199px) {
        .fshshowcase-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
        }
    }

    @media(max-width: 767px) {
        .fshshowcase-section {
            padding: 32px 0;
        }
        .fshshowcase-head {
            flex-direction: column;
            align-items: flex-start;
            gap: 14px;
            margin-bottom: 20px;
        }
        .fshshowcase-grid {
            grid-template-columns: 1fr;
        }
        .fshv8-test-card {
            min-height: auto;
            padding: 16px;
            border-radius: 20px;
        }
    }

    /* ==========================================================================
    LIVE LEADERBOARD & PERFORMANCE SHOWDOWN (FreeStenoHub Brand Theme)
    ========================================================================== */
    .fshleaderboard-section {
        padding: 64px 0 76px;
        background: linear-gradient(180deg, #F8F6FB 0%, #FFFFFF 50%, #F5F1FA 100%);
        position: relative;
        border-top: 1px solid #EBE6F3;
        border-bottom: 1px solid #EBE6F3;
    }

    .fshlb-header {
        text-align: center;
        max-width: 760px;
        margin: 0 auto 44px;
    }

    .fshlb-badge {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 7px 18px;
        border-radius: 999px;
        background: rgba(79, 50, 154, 0.08);
        color: #4F329A;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        margin-bottom: 14px;
        border: 1px solid rgba(79, 50, 154, 0.16);
    }

    .fshlb-badge i {
        color: #EC2677;
    }

    .fshlb-header h2 {
        font-size: clamp(26px, 3.4vw, 36px);
        line-height: 1.25;
        font-weight: 800;
        color: #19243A;
        margin: 0 0 12px;
        letter-spacing: -0.02em;
    }

    .fshlb-header p {
        font-size: 15px;
        line-height: 1.6;
        color: #5A6578;
        margin: 0;
    }

    /* Grid Layout */
    .fshlb-grid {
        display: grid;
        grid-template-columns: 1.15fr 0.85fr;
        gap: 28px;
        align-items: stretch;
    }

    .fshlb-card {
        background: #FFFFFF;
        border-radius: 24px;
        border: 1px solid #E7E2ED;
        box-shadow: 0 16px 36px -12px rgba(25, 36, 58, 0.07);
        padding: 26px 28px;
        position: relative;
        overflow: hidden;
    }

    .fshlb-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        padding-bottom: 16px;
        border-bottom: 1px solid #F0ECF6;
    }

    .fshlb-card-title {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 0;
        font-size: 18px;
        font-weight: 800;
        color: #19243A;
    }

    .fshlb-card-title i {
        color: #4F329A;
    }

    .fshlb-live-status {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 12px;
        font-weight: 700;
        color: #0E9F6E;
        background: rgba(14, 159, 110, 0.08);
        padding: 5px 12px;
        border-radius: 999px;
        border: 1px solid rgba(14, 159, 110, 0.2);
    }

    .fshlb-pulse {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #0E9F6E;
        box-shadow: 0 0 0 0 rgba(14, 159, 110, 0.6);
        animation: fstPulse 1.8s infinite;
    }

    @keyframes fstPulse {
        0% {
            box-shadow: 0 0 0 0 rgba(14, 159, 110, 0.6);
        }
        70% {
            box-shadow: 0 0 0 7px rgba(14, 159, 110, 0);
        }
        100% {
            box-shadow: 0 0 0 0 rgba(14, 159, 110, 0);
        }
    }

    /* Performer List */
    .fshlb-performer-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 28px;
    }

    .fshlb-performer-row {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 12px 16px;
        border-radius: 16px;
        background: #FBF9FD;
        border: 1px solid #ECE7F3;
        transition: all 0.25s ease;
    }

    .fshlb-performer-row:hover {
        background: #FFFFFF;
        border-color: #4F329A;
        box-shadow: 0 8px 20px -6px rgba(79, 50, 154, 0.12);
        transform: translateX(4px);
    }

    .fshlb-rank {
        width: 32px;
        height: 32px;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        font-size: 13px;
        flex-shrink: 0;
    }

    .fshlb-rank.rank-1 {
        background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
        color: #5B3B00;
        box-shadow: 0 4px 10px rgba(255, 165, 0, 0.35);
    }

    .fshlb-rank.rank-2 {
        background: linear-gradient(135deg, #E2E8F0 0%, #94A3B8 100%);
        color: #1E293B;
    }

    .fshlb-rank.rank-3 {
        background: linear-gradient(135deg, #FDE68A 0%, #D97706 100%);
        color: #78350F;
    }

    .fshlb-rank.rank-other {
        background: #EBE6F3;
        color: #5A6578;
    }

    .fshlb-avatar {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        object-fit: cover;
        border: 2px solid #FFFFFF;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
        flex-shrink: 0;
        background: #EBE6F3;
    }

    .fshlb-info {
        flex-grow: 1;
        min-width: 0;
    }

    .fshlb-name {
        font-size: 15px;
        font-weight: 700;
        color: #19243A;
        margin: 0 0 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .fshlb-state {
        font-size: 12px;
        color: #727D90;
        display: flex;
        align-items: center;
        gap: 4px;
        margin: 0;
    }

    .fshlb-state i {
        color: #EC2677;
        font-size: 11px;
    }

    .fshlb-metrics {
        text-align: right;
        flex-shrink: 0;
    }

    .fshlb-wpm {
        font-size: 17px;
        font-weight: 800;
        color: #4F329A;
        line-height: 1.2;
    }

    .fshlb-wpm small {
        font-size: 11px;
        font-weight: 600;
        color: #727D90;
        margin-left: 2px;
    }

    .fshlb-acc {
        font-size: 11px;
        font-weight: 600;
        color: #0E9F6E;
        margin-top: 2px;
    }

    /* Podium section */
    .fshlb-podium-wrap {
        background: linear-gradient(180deg, #F9F6FC 0%, #F1ECF8 100%);
        border-radius: 20px;
        padding: 24px 20px 16px;
        border: 1px solid #E6DFEE;
    }

    .fshlb-podium-title {
        font-size: 14px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: #4F329A;
        text-align: center;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }

    .fshlb-podium {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        gap: 14px;
    }

    .fshpodium-col {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex: 1;
        max-width: 140px;
        text-align: center;
    }

    .fshpodium-avatar-wrap {
        position: relative;
        margin-bottom: 10px;
    }

    .fshpodium-avatar {
        width: 54px;
        height: 54px;
        border-radius: 50%;
        object-fit: cover;
        border: 3px solid #FFFFFF;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
        background: #EBE6F3;
    }

    .fshpodium-col.first .fshpodium-avatar {
        width: 68px;
        height: 68px;
        border-color: #FFD700;
        box-shadow: 0 8px 20px rgba(255, 165, 0, 0.35);
    }

    .fshpodium-crown {
        position: absolute;
        top: -14px;
        left: 50%;
        transform: translateX(-50%);
        color: #FFA500;
        font-size: 18px;
        filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
        animation: fstFloat 2.5s ease-in-out infinite;
    }

    @keyframes fstFloat {
        0%, 100% { transform: translate(-50%, 0); }
        50% { transform: translate(-50%, -4px); }
    }

    .fshpodium-badge {
        position: absolute;
        bottom: -6px;
        left: 50%;
        transform: translateX(-50%);
        width: 22px;
        height: 22px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 11px;
        font-weight: 800;
        color: #FFFFFF;
        border: 2px solid #FFFFFF;
    }

    .fshpodium-col.first .fshpodium-badge {
        background: linear-gradient(135deg, #FFD700 0%, #D97706 100%);
        width: 24px;
        height: 24px;
        font-size: 12px;
    }

    .fshpodium-col.second .fshpodium-badge {
        background: linear-gradient(135deg, #94A3B8 0%, #64748B 100%);
    }

    .fshpodium-col.third .fshpodium-badge {
        background: linear-gradient(135deg, #D97706 0%, #92400E 100%);
    }

    .fshpodium-name {
        font-size: 13px;
        font-weight: 700;
        color: #19243A;
        margin: 0 0 2px;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .fshpodium-col.first .fshpodium-name {
        font-size: 14px;
        font-weight: 800;
    }

    .fshpodium-speed {
        font-size: 13px;
        font-weight: 800;
        color: #4F329A;
        margin-bottom: 8px;
    }

    .fshpodium-base {
        width: 100%;
        border-radius: 14px 14px 6px 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 14px;
        font-weight: 800;
        color: rgba(255, 255, 255, 0.9);
        letter-spacing: 0.05em;
        box-shadow: 0 6px 14px rgba(79, 50, 154, 0.12);
    }

    .fshpodium-col.first .fshpodium-base {
        height: 72px;
        background: linear-gradient(180deg, #4F329A 0%, #341B72 100%);
    }

    .fshpodium-col.second .fshpodium-base {
        height: 52px;
        background: linear-gradient(180deg, #6B52B3 0%, #4F329A 100%);
    }

    .fshpodium-col.third .fshpodium-base {
        height: 40px;
        background: linear-gradient(180deg, #8770C8 0%, #6347AC 100%);
    }

    /* Right Column Components */
    .fshlb-right-col {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .fshstat-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }

    .fshstat-tile {
        background: #FFFFFF;
        border-radius: 18px;
        border: 1px solid #E7E2ED;
        padding: 16px 18px;
        box-shadow: 0 10px 24px -8px rgba(25, 36, 58, 0.05);
        display: flex;
        align-items: center;
        gap: 14px;
    }

    .fshstat-icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        flex-shrink: 0;
    }

    .fshstat-tile:nth-child(1) .fshstat-icon {
        background: rgba(79, 50, 154, 0.09);
        color: #4F329A;
    }

    .fshstat-tile:nth-child(2) .fshstat-icon {
        background: rgba(14, 159, 110, 0.09);
        color: #0E9F6E;
    }

    .fshstat-tile:nth-child(3) .fshstat-icon {
        background: rgba(236, 38, 119, 0.09);
        color: #EC2677;
    }

    .fshstat-tile:nth-child(4) .fshstat-icon {
        background: rgba(59, 130, 246, 0.09);
        color: #2563EB;
    }

    .fshstat-content h3 {
        font-size: 20px;
        font-weight: 800;
        color: #19243A;
        margin: 0 0 2px;
        line-height: 1.2;
    }

    .fshstat-content p {
        font-size: 12px;
        font-weight: 600;
        color: #727D90;
        margin: 0;
    }

    /* Live Competition CTA Card */
    .fshlb-cta-card {
        background: linear-gradient(135deg, #19243A 0%, #2A1C50 60%, #4F329A 100%);
        border-radius: 24px;
        padding: 28px;
        color: #FFFFFF;
        position: relative;
        overflow: hidden;
        box-shadow: 0 16px 36px -10px rgba(79, 50, 154, 0.3);
    }

    .fshlb-cta-card::after {
        content: "";
        position: absolute;
        top: -40%;
        right: -20%;
        width: 240px;
        height: 240px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(236, 38, 119, 0.25) 0%, rgba(236, 38, 119, 0) 70%);
        pointer-events: none;
    }

    .fshlb-cta-top {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 16px;
    }

    .fshlb-cta-icon {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(8px);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 24px;
        color: #FFD700;
        flex-shrink: 0;
        border: 1px solid rgba(255, 255, 255, 0.15);
    }

    .fshlb-cta-top h3 {
        font-size: 19px;
        font-weight: 800;
        color: #FFFFFF;
        margin: 0 0 4px;
    }

    .fshlb-cta-top p {
        font-size: 13px;
        color: rgba(255, 255, 255, 0.75);
        margin: 0;
        line-height: 1.4;
    }

    .fshlb-cta-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        padding: 14px 20px;
        border-radius: 14px;
        background: linear-gradient(135deg, #EC2677 0%, #D41A66 100%);
        color: #FFFFFF;
        font-size: 14px;
        font-weight: 700;
        text-decoration: none;
        transition: all 0.25s ease;
        box-shadow: 0 8px 18px rgba(236, 38, 119, 0.35);
        border: none;
    }

    .fshlb-cta-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 24px rgba(236, 38, 119, 0.45);
        color: #FFFFFF;
    }

    /* Achievement Tiers Card */
    .fshlb-tiers-card {
        background: #FFFFFF;
        border-radius: 20px;
        border: 1px solid #E7E2ED;
        padding: 22px 24px;
        box-shadow: 0 10px 24px -8px rgba(25, 36, 58, 0.05);
    }

    .fshlb-tiers-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 15px;
        font-weight: 800;
        color: #19243A;
        margin: 0 0 16px;
    }

    .fshlb-tiers-title i {
        color: #EC2677;
    }

    .fshlb-tiers-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .fshtier-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 10px 14px;
        border-radius: 12px;
        background: #FAF8FD;
        border: 1px solid #EFEAF5;
        transition: all 0.2s ease;
    }

    .fshtier-row:hover {
        background: #F4EFFC;
        border-color: #D9CCE8;
    }

    .fshtier-left {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .fshtier-icon {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 13px;
    }

    .tier-gold .fshtier-icon {
        background: rgba(255, 165, 0, 0.12);
        color: #D97706;
    }

    .tier-purple .fshtier-icon {
        background: rgba(79, 50, 154, 0.1);
        color: #4F329A;
    }

    .tier-pink .fshtier-icon {
        background: rgba(236, 38, 119, 0.1);
        color: #EC2677;
    }

    .fshtier-info strong {
        display: block;
        font-size: 13px;
        color: #19243A;
        font-weight: 700;
        line-height: 1.2;
    }

    .fshtier-info span {
        font-size: 11px;
        color: #727D90;
    }

    .fshtier-count {
        font-size: 13px;
        font-weight: 800;
        color: #4F329A;
        background: rgba(79, 50, 154, 0.08);
        padding: 4px 10px;
        border-radius: 999px;
    }

    .fsharcade-strip{padding:25px 0 30px;background:linear-gradient(180deg,#fff 0%,#faf9fc 100%);overflow:hidden}.fsharcade-strip-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.fsharcade-strip-kicker{display:inline-flex;align-items:center;gap:7px;color:#4f329a;font-size:10.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.fsharcade-strip h2{margin:5px 0 0;color:#19243a;font-size:clamp(23px,3vw,30px);font-weight:900;letter-spacing:-.03em}.fsharcade-slider-controls{display:flex;gap:8px}.fsharcade-scroll{width:36px;height:36px;border:1px solid #e3dcef;border-radius:50%;background:#fff;color:#4f329a;box-shadow:0 4px 12px rgba(25,36,58,.08);transition:.2s}.fsharcade-scroll:hover:not(:disabled){background:#4f329a;color:#fff;transform:translateY(-2px)}.fsharcade-scroll:disabled{opacity:.36;cursor:not-allowed}.fsharcade-game-slider{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 4px 40px}.fsharcade-game-slider::-webkit-scrollbar{display:none}

    .fshcard-arcade.is-purple .fshv8-icon{background:#f3f0fa;color:#4f329a}.fshcard-arcade.is-violet .fshv8-icon{background:#f1ecff;color:#7047c5}.fshcard-arcade.is-green .fshv8-icon{background:#e6f8f1;color:#11a878}.fshcard-arcade.is-pink .fshv8-icon{background:#fff0f5;color:#e72d76}.fshcard-arcade.is-amber .fshv8-icon{background:#fff6df;color:#d99500}.fshcard-arcade.is-cyan .fshv8-icon{background:#e8f9fb;color:#159cae}.fshcard-arcade.is-indigo .fshv8-icon{background:#ebeeff;color:#526bc9}.fshcard-arcade.is-slate .fshv8-icon{background:#edf1f4;color:#374151}.fshcard-arcade.is-teal .fshv8-icon{background:#e5f8f3;color:#159b78}.fshcard-arcade.is-blue .fshv8-icon{background:#e8f2ff;color:#3175c9}

    .fshcard-arcade.is-purple:hover .fshv8-start-btn{background:#4f329a;color:#fff;border-color:#4f329a}
    .fshcard-arcade.is-violet:hover .fshv8-start-btn{background:#7047c5;color:#fff;border-color:#7047c5}
    .fshcard-arcade.is-green:hover .fshv8-start-btn{background:#11a878;color:#fff;border-color:#11a878}
    .fshcard-arcade.is-pink:hover .fshv8-start-btn{background:#e72d76;color:#fff;border-color:#e72d76}
    .fshcard-arcade.is-amber:hover .fshv8-start-btn{background:#d99500;color:#fff;border-color:#d99500}
    .fshcard-arcade.is-cyan:hover .fshv8-start-btn{background:#159cae;color:#fff;border-color:#159cae}
    .fshcard-arcade.is-indigo:hover .fshv8-start-btn{background:#526bc9;color:#fff;border-color:#526bc9}
    .fshcard-arcade.is-slate:hover .fshv8-start-btn{background:#374151;color:#fff;border-color:#374151}
    .fshcard-arcade.is-teal:hover .fshv8-start-btn{background:#159b78;color:#fff;border-color:#159b78}
    .fshcard-arcade.is-blue:hover .fshv8-start-btn{background:#3175c9;color:#fff;border-color:#3175c9}

    @media(max-width:767px){.fsharcade-strip{padding:24px 0 30px}.fsharcade-game-slider{gap:14px;padding-right:18px}.fshcard-arcade{flex-basis:calc((100vw - 60px)/1.15) !important}.fsharcade-scroll{width:33px;height:33px}}

    @media(max-width: 991px) {
        .fshlb-grid {
            grid-template-columns: 1fr;
            gap: 24px;
        }
    }

    @media(max-width: 991px) {
        .fshlb-grid {
            grid-template-columns: 1fr;
            gap: 24px;
        }
    }

    @media(max-width: 575px) {
        /* Keep every leaderboard component inside the narrow mobile grid track. */
        .fshleaderboard-section *,
        .fshleaderboard-section *::before,
        .fshleaderboard-section *::after {
            box-sizing: border-box;
        }
        .fshlb-grid {
            grid-template-columns: minmax(0, 1fr);
        }
        .fshlb-left-col,
        .fshlb-right-col,
        .fshlb-card,
        .fshlb-podium-wrap,
        .fshstat-tile,
        .fshlb-cta-card,
        .fshlb-tiers-card,
        .fshtier-row,
        .fshpodium-col {
            min-width: 0;
            max-width: 100%;
        }
        .fshleaderboard-section {
            padding: 48px 0 54px;
        }
        .fshlb-card {
            padding: 20px 16px;
            border-radius: 20px;
            overflow: hidden;
        }
        /* Fix card header - wrap on small screens */
        .fshlb-card-head {
            flex-wrap: wrap;
            gap: 10px;
        }
        .fshlb-card-title {
            font-size: 15px;
        }
        .fshlb-live-status {
            font-size: 11px;
            padding: 4px 10px;
        }
        /* Fix performer row overflow */
        .fshlb-performer-row {
            padding: 10px 12px;
            gap: 10px;
            overflow: hidden;
        }
        .fshlb-name {
            font-size: 13px;
        }
        .fshlb-wpm {
            font-size: 14px;
        }
        .fshlb-acc {
            font-size: 10px;
        }
        /* Fix podium - stack vertically or shrink */
        .fshpodium {
            gap: 6px;
        }
        .fshpodium-avatar {
            width: 44px;
            height: 44px;
        }
        .fshpodium-col.first .fshpodium-avatar {
            width: 56px;
            height: 56px;
        }
        .fshpodium-col {
            max-width: 100px;
        }
        .fshpodium-name {
            font-size: 11px;
        }
        .fshpodium-speed {
            font-size: 11px;
        }
        /* Fix stat grid */
        .fshstat-grid {
            grid-template-columns: 1fr;
        }
        /* Fix CTA card overflow */
        .fshlb-cta-card {
            padding: 20px 18px;
        }
        .fshlb-cta-top {
            flex-wrap: wrap;
            gap: 12px;
        }
        .fshlb-cta-top h3 {
            font-size: 16px;
        }
        .fshlb-cta-top p {
            font-size: 12px;
        }
        .fshlb-cta-icon {
            width: 44px;
            height: 44px;
            font-size: 20px;
        }
        /* Fix tier rows */
        .fshtier-row {
            flex-wrap: wrap;
            gap: 6px;
        }
        .fshtier-count {
            font-size: 11px;
            padding: 3px 8px;
        }
    }

    /* ============================================================
    HOMEPAGE FEATURE ADDITIONS:
    - Exam Shortcuts
    - Mock Test Exam Showcase
    - Preparation Guides
    - Support Box
    - Direct Free Practice CTA
    ============================================================ */

    /* 1. Exam Shortcuts */
    .fshhome-exam-shortcuts {
        margin-top: 24px;
        padding-top: 18px;
        border-top: 1px solid rgba(25, 36, 58, 0.08);
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
    }
    .fshshortcut-label {
        font-size: 13px;
        font-weight: 800;
        color: #19243A;
        display: inline-flex;
        align-items: center;
    }
    .fshshortcut-pills {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
    }
    .fshshortcut-pill {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 6px 14px;
        background: #FFFFFF;
        border: 1px solid #E2DCED;
        border-radius: 999px;
        font-size: 12.5px;
        font-weight: 700;
        color: #4F329A;
        text-decoration: none !important;
        transition: all 0.25s ease;
        box-shadow: 0 2px 8px rgba(79, 50, 154, 0.06);
    }
    .fshshortcut-pill:hover {
        background: linear-gradient(135deg, #4F329A 0%, #EC2677 100%);
        color: #FFFFFF !important;
        border-color: transparent;
        transform: translateY(-2px);
        box-shadow: 0 6px 16px rgba(79, 50, 154, 0.22);
    }

    /* 2. Mock Test Exam Showcase */
    .fsh-exam-cat-strip {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px;
    }
    .fsh-exam-cat-pill {
        display: inline-flex;
        align-items: center;
        padding: 8px 16px;
        background: #FFFFFF;
        border: 1px solid #E2DCED;
        border-radius: 999px;
        font-size: 13px;
        font-weight: 700;
        color: #4A5568;
        text-decoration: none !important;
        transition: all 0.2s ease;
    }
    .fsh-exam-cat-pill:hover {
        border-color: #4F329A;
        color: #4F329A !important;
        background: #F8F7FC;
    }
    .fsh-exam-cat-pill.active {
        background: #4F329A;
        color: #FFFFFF !important;
        border-color: #4F329A;
        box-shadow: 0 4px 12px rgba(79, 50, 154, 0.25);
    }

    .fsh-home-exam-card {
        background: #FFFFFF;
        border: 1px solid #EAE6F2;
        border-radius: 18px;
        overflow: hidden;
        height: 100%;
        display: flex;
        flex-direction: column;
        box-shadow: 0 6px 20px rgba(25, 36, 58, 0.04);
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
    }
    .fsh-home-exam-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 36px rgba(79, 50, 154, 0.12);
        border-color: #D8CEF0;
    }
    .fsh-home-exam-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 16/9;
        background: #0B0F19;
        overflow: hidden;
    }
    .fsh-home-exam-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }
    .fsh-home-exam-card:hover .fsh-home-exam-thumb img {
        transform: scale(1.04);
    }
    .fsh-home-exam-badge {
        position: absolute;
        top: 10px;
        left: 10px;
        background: #EC2677;
        color: #FFFFFF;
        font-size: 11px;
        font-weight: 800;
        padding: 4px 10px;
        border-radius: 8px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }
    .fsh-home-exam-body {
        padding: 18px 20px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .fsh-home-exam-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 10px;
    }
    .fsh-home-exam-tags span {
        font-size: 11px;
        font-weight: 800;
        color: #4F329A;
        background: #F4F0FD;
        border: 1px solid #E4DCF5;
        border-radius: 6px;
        padding: 2px 8px;
    }
    .fsh-home-exam-body h3 {
        font-size: 17px;
        font-weight: 800;
        line-height: 1.35;
        margin-bottom: 8px;
    }
    .fsh-home-exam-body h3 a {
        color: #19243A;
        text-decoration: none !important;
        transition: color 0.2s ease;
    }
    .fsh-home-exam-body h3 a:hover {
        color: #4F329A;
    }
    .fsh-home-exam-body p {
        font-size: 13.5px;
        color: #64748B;
        line-height: 1.55;
        margin-bottom: 16px;
        flex-grow: 1;
    }
    .fsh-home-exam-footer {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-top: 14px;
        border-top: 1px solid #F1EDF7;
        margin-top: auto;
    }
    .fsh-exam-count-chip {
        font-size: 12.5px;
        font-weight: 700;
        color: #19243A;
    }
    .fsh-exam-view-btn {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: linear-gradient(135deg, #4F329A 0%, #6941C6 100%);
        color: #FFFFFF !important;
        padding: 7px 14px;
        border-radius: 10px;
        font-size: 12.5px;
        font-weight: 750;
        text-decoration: none !important;
        transition: all 0.2s ease;
    }
    .fsh-exam-view-btn:hover {
        box-shadow: 0 4px 14px rgba(79, 50, 154, 0.28);
        transform: translateY(-1px);
    }

    /* 3. Preparation Guides Cards */
    .fsh-article-home-card {
        background: #FFFFFF;
        border: 1px solid #EAE6F2;
        border-radius: 18px;
        overflow: hidden;
        height: 100%;
        display: flex;
        flex-direction: column;
        box-shadow: 0 6px 20px rgba(25, 36, 58, 0.04);
        transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
    }
    .fsh-article-home-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 36px rgba(79, 50, 154, 0.12);
        border-color: #D8CEF0;
    }
    .fsh-article-home-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 16/10;
        background: #19243A;
        overflow: hidden;
        display: block;
    }
    .fsh-article-home-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }
    .fsh-article-home-card:hover .fsh-article-home-thumb img {
        transform: scale(1.05);
    }
    .fsh-article-home-cat {
        position: absolute;
        top: 10px;
        left: 10px;
        background: rgba(25, 36, 58, 0.85);
        backdrop-filter: blur(6px);
        color: #FFFFFF;
        font-size: 11px;
        font-weight: 800;
        padding: 4px 10px;
        border-radius: 999px;
        letter-spacing: 0.3px;
    }
    .fsh-article-home-body {
        padding: 18px 20px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }
    .fsh-article-home-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        font-size: 12px;
        color: #8B899E;
        font-weight: 600;
        margin-bottom: 8px;
    }
    .fsh-article-home-body h3 {
        font-size: 17px;
        font-weight: 800;
        line-height: 1.38;
        margin-bottom: 8px;
    }
    .fsh-article-home-body h3 a {
        color: #19243A;
        text-decoration: none !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        transition: color 0.2s ease;
    }
    .fsh-article-home-body h3 a:hover {
        color: #4F329A;
    }
    .fsh-article-home-body p {
        font-size: 13.5px;
        color: #64748B;
        line-height: 1.55;
        margin-bottom: 14px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        flex-grow: 1;
    }
    .fsh-article-home-read {
        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 6px;
        color: #4F329A;
        font-size: 13px;
        font-weight: 800;
        text-decoration: none !important;
        padding-top: 12px;
        border-top: 1px solid #F1EDF7;
        margin-top: auto;
        transition: gap 0.2s ease;
    }
    .fsh-article-home-read:hover {
        color: #EC2677;
        gap: 10px;
    }

    /* 4. Student Support Section */
    .fshsupport-section {
        padding: 60px 0;
        background: #FFFFFF;
    }
    .fshsupport-shell {
        background: linear-gradient(135deg, #19243A 0%, #2A1F4D 100%);
        border-radius: 24px;
        padding: 44px 48px;
        color: #FFFFFF;
        position: relative;
        overflow: hidden;
        box-shadow: 0 16px 40px rgba(25, 36, 58, 0.12);
    }
    .fshsupport-badge {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        background: rgba(236, 38, 119, 0.2);
        color: #FF85B3;
        border: 1px solid rgba(236, 38, 119, 0.4);
        padding: 6px 14px;
        border-radius: 999px;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 14px;
    }
    .fshsupport-title {
        font-size: clamp(22px, 2.8vw, 32px);
        font-weight: 900;
        line-height: 1.25;
        color: #FFFFFF;
        margin-bottom: 12px;
    }
    .fshsupport-desc {
        font-size: 15px;
        line-height: 1.65;
        color: #D1CFE2;
        margin-bottom: 20px;
        max-width: 600px;
    }
    .fshsupport-features {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .fshsupport-feat-item {
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 13.5px;
        color: #E2DFED;
    }
    .fshsupport-card {
        background: #FFFFFF;
        border-radius: 18px;
        padding: 28px;
        color: #19243A;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    }
    .fshsupport-card-header {
        display: flex;
        align-items: center;
        gap: 14px;
        margin-bottom: 16px;
    }
    .fshsupport-card-icon {
        width: 50px;
        height: 50px;
        border-radius: 14px;
        background: linear-gradient(135deg, #F4F0FD 0%, #EAE6F2 100%);
        color: #4F329A;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        flex-shrink: 0;
    }
    .fshsupport-card-header small {
        display: block;
        font-size: 12px;
        font-weight: 700;
        color: #64748B;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .fshsupport-email {
        font-size: 18px;
        font-weight: 850;
        color: #4F329A;
        text-decoration: none !important;
        word-break: break-all;
        transition: color 0.2s ease;
    }
    .fshsupport-email:hover {
        color: #EC2677;
    }
    .fshsupport-response-note {
        display: flex;
        align-items: center;
        gap: 8px;
        background: #F8F7FC;
        padding: 10px 14px;
        border-radius: 10px;
        font-size: 13px;
        color: #52526B;
        margin-bottom: 20px;
        border: 1px solid #ECE7F5;
    }
    .fshsupport-response-note i {
        color: #4F329A;
    }
    .fshsupport-btn-primary {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 12px 20px;
        background: linear-gradient(135deg, #4F329A 0%, #EC2677 100%);
        color: #FFFFFF !important;
        border-radius: 12px;
        font-size: 14.5px;
        font-weight: 800;
        text-decoration: none !important;
        transition: all 0.25s ease;
        box-shadow: 0 6px 18px rgba(79, 50, 154, 0.25);
    }
    .fshsupport-btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(79, 50, 154, 0.35);
        color: #FFFFFF !important;
    }

    /* 5. Dedicated Start Free Practice CTA */
    .fshdirect-cta-section {
        padding: 50px 0 20px;
        background: #FFFFFF;
    }
    .fshdirect-cta-shell {
        background: linear-gradient(135deg, #F8F7FC 0%, #FFFFFF 100%);
        border: 2px solid #EAE6F2;
        border-radius: 24px;
        padding: 36px 40px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 30px;
        flex-wrap: wrap;
        box-shadow: 0 10px 30px rgba(79, 50, 154, 0.05);
    }
    .fshdirect-cta-kicker {
        display: inline-flex;
        align-items: center;
        font-size: 12px;
        font-weight: 850;
        color: #EC2677;
        letter-spacing: 0.8px;
        margin-bottom: 8px;
    }
    .fshdirect-cta-content h2 {
        font-size: clamp(22px, 2.6vw, 30px);
        font-weight: 900;
        color: #19243A;
        margin-bottom: 6px;
    }
    .fshdirect-cta-content p {
        font-size: 14.5px;
        color: #64748B;
        margin-bottom: 0;
        max-width: 580px;
    }
    .fshdirect-cta-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }
    .fshcta-btn {
        display: inline-flex;
        align-items: center;
        padding: 12px 22px;
        border-radius: 999px;
        font-size: 14px;
        font-weight: 800;
        text-decoration: none !important;
        transition: all 0.25s ease;
    }
    .fshcta-audio {
        background: linear-gradient(135deg, #4F329A 0%, #6941C6 100%);
        color: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(79, 50, 154, 0.25);
    }
    .fshcta-audio:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(79, 50, 154, 0.35);
    }
    .fshcta-typing {
        background: linear-gradient(135deg, #EC2677 0%, #D81B60 100%);
        color: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(236, 38, 119, 0.25);
    }
    .fshcta-typing:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 28px rgba(236, 38, 119, 0.35);
    }

    @media (max-width: 991px) {
        .fshsupport-shell {
            padding: 32px 24px;
        }
        .fshdirect-cta-shell {
            padding: 28px 20px;
        }
    }

    /* ============================================================
    TYPING SUBCATEGORY MODERN CARDS & BUTTON ENHANCEMENT
    ============================================================ */
    .fshsubcat-card {
        background: #FFFFFF;
        border: 1px solid #EAE6F2;
        border-radius: 18px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        height: 100%;
        text-decoration: none !important;
        transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        box-shadow: 0 6px 20px rgba(25, 36, 58, 0.05);
    }
    .fshsubcat-card:hover {
        transform: translateY(-6px);
        border-color: #D8CEF0;
        box-shadow: 0 16px 36px rgba(79, 50, 154, 0.14) !important;
    }
    .fshsubcat-thumb {
        position: relative;
        width: 100%;
        aspect-ratio: 16 / 10;
        background: #F4F0FD;
        overflow: hidden;
    }
    .fshsubcat-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.35s ease;
    }
    .fshsubcat-card:hover .fshsubcat-thumb img {
        transform: scale(1.05);
    }
    .fshsubcat-body {
        padding: 16px 16px 18px;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        text-align: center;
        background: #FFFFFF;
    }
    .fshsubcat-title {
        font-size: 15px;
        font-weight: 800;
        color: #19243A;
        margin-bottom: 12px;
        line-height: 1.35;
        transition: color 0.2s ease;
    }
    .fshsubcat-card:hover .fshsubcat-title {
        color: #4F329A;
    }
    .fshsubcat-btn-wrap {
        width: 100%;
        margin-top: auto;
    }
    .fshsubcat-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 9px 16px;
        background: linear-gradient(135deg, #4F329A 0%, #6941C6 100%);
        color: #FFFFFF !important;
        border-radius: 12px;
        font-size: 13.5px;
        font-weight: 800;
        letter-spacing: 0.2px;
        transition: all 0.25s ease;
        box-shadow: 0 4px 12px rgba(79, 50, 154, 0.2);
    }
    .fshsubcat-card:hover .fshsubcat-btn {
        background: linear-gradient(135deg, #EC2677 0%, #4F329A 100%);
        box-shadow: 0 6px 18px rgba(236, 38, 119, 0.35);
        transform: translateY(-1px);
        color: #FFFFFF !important;
    }

    @media (max-width: 575px) {
        .fshsubcat-body {
            padding: 12px 10px 14px;
        }
        .fshsubcat-title {
            font-size: 13px;
            margin-bottom: 8px;
        }
        .fshsubcat-btn {
            padding: 7px 10px;
            font-size: 12px;
            border-radius: 8px;
        }
    }


    /* SUPERCHARGED V8 CARDS OVERRIDE */
    .fshv8-test-card {
        background: #ffffff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 20px;
        display: flex;
        flex-direction: column;
        transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
        text-decoration: none !important;
        box-shadow: 0 8px 16px -4px rgba(15,23,42,0.03);
        min-height: auto;
    }
    .fshv8-test-card::before { display: none !important; }

    /* Gradients & Top Borders */
    .fshv8-test-card.fshcard-typing { background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%); border-top: 3px solid #60a5fa; }
    .fshv8-test-card.fshcard-audio { background: linear-gradient(135deg, #ffffff 0%, #faf5ff 100%); border-top: 3px solid #c084fc; }
    .fshv8-test-card.fshcard-pitman { background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%); border-top: 3px solid #34d399; }
    .fshv8-test-card.fshcard-ahc { background: linear-gradient(135deg, #ffffff 0%, #fff7ed 100%); border-top: 3px solid #fbbf24; }

    /* Buttons inside the cards */
    .fshv8-start-btn {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        height: 44px;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 700;
        transition: all 0.2s ease;
        margin-top: auto;
        text-decoration: none !important;
    }

    /* Typing Button */
    .fshv8-test-card.fshcard-typing .fshv8-start-btn { background: #2563eb; color: #fff; box-shadow: 0 2px 8px rgba(37,99,235,0.2); border: none; }
    .fshv8-test-card.fshcard-typing:hover .fshv8-start-btn { background: #1d4ed8; color: #fff; box-shadow: 0 4px 12px rgba(37,99,235,0.3); }

    /* Audio Button */
    .fshv8-test-card.fshcard-audio .fshv8-start-btn { background: #c026d3; color: #fff; box-shadow: 0 2px 8px rgba(192,38,211,0.2); border: none; }
    .fshv8-test-card.fshcard-audio:hover .fshv8-start-btn { background: #a21caf; color: #fff; box-shadow: 0 4px 12px rgba(192,38,211,0.3); }

    /* Pitman Button */
    .fshv8-test-card.fshcard-pitman .fshv8-start-btn { background: #059669; color: #fff; box-shadow: 0 2px 8px rgba(5,150,105,0.2); border: none; }
    .fshv8-test-card.fshcard-pitman:hover .fshv8-start-btn { background: #047857; color: #fff; box-shadow: 0 4px 12px rgba(5,150,105,0.3); }

    /* AHC Button */
    .fshv8-test-card.fshcard-ahc .fshv8-start-btn { background: #ea580c; color: #fff; box-shadow: 0 2px 8px rgba(234,88,12,0.2); border: none; }
    .fshv8-test-card.fshcard-ahc:hover .fshv8-start-btn { background: #c2410c; color: #fff; box-shadow: 0 4px 12px rgba(234,88,12,0.3); }

    .fshv8-test-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -8px rgba(15,23,42,0.08); }


    /* =======================================
    FSH CARD DESIGN (SYNCED FROM INDEX)
    ======================================= */
    .fsh-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px; display: flex; flex-direction: column; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; text-decoration: none !important; box-shadow: 0 8px 16px -4px rgba(15,23,42,0.03); }
    .fsh-card.cb-typing { background: linear-gradient(135deg, #ffffff 0%, #eff6ff 100%); border-top: 3px solid #60a5fa; }
    .fsh-card.cb-dict { background: linear-gradient(135deg, #ffffff 0%, #faf5ff 100%); border-top: 3px solid #c084fc; }
    .fsh-card.cb-pitman { background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%); border-top: 3px solid #34d399; }
    .fsh-card.cb-ahc { background: linear-gradient(135deg, #ffffff 0%, #fff7ed 100%); border-top: 3px solid #fbbf24; }
    .fsh-card.fsh-mock-card { background: #ffffff; }
    .fsh-card:hover { transform: translateY(-3px); box-shadow: 0 12px 24px -8px rgba(15, 23, 42, 0.08); }
    .fsh-card:hover.cb-typing { border-color: #bfdbfe; }
    .fsh-card:hover.cb-dict { border-color: #f5d0fe; }
    .fsh-card:hover.cb-pitman { border-color: #a7f3d0; }
    .fsh-card:hover.cb-ahc { border-color: #fed7aa; }
    .fsh-card-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; }
    .fsh-card-num { font-size: 13px; font-weight: 800; color: #64748b; background: #f1f5f9; padding: 4px 10px; border-radius: 12px; }
    .fsh-card-badge { font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: 12px; text-transform: uppercase; }
    .bg-free { background: #ecfdf5; color: #059669; }
    .bg-status { background: #fff1f2; color: #e11d48; }
    .fsh-card-title { font-size: 16px; font-weight: 700; color: #0f172a; line-height: 1.4; margin: 0 0 12px 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 44px; }
    .fsh-card-meta { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
    .fsh-card-meta span { font-size: 13px; font-weight: 600; color: #64748b; display: flex; align-items: center; gap: 6px; }
    .fsh-card-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 44px; border-radius: 10px; font-size: 14px; font-weight: 700; transition: background 0.2s ease, color 0.2s ease; margin-top: auto; }
    .btn-typing { background: #2563eb; color: #fff; box-shadow: 0 2px 8px rgba(37,99,235,0.2); } .fsh-card:hover .btn-typing { background: #1d4ed8; color: #fff; box-shadow: 0 4px 12px rgba(37,99,235,0.3); }
    .btn-dict { background: #c026d3; color: #fff; box-shadow: 0 2px 8px rgba(192,38,211,0.2); } .fsh-card:hover .btn-dict { background: #a21caf; color: #fff; box-shadow: 0 4px 12px rgba(192,38,211,0.3); }
    .btn-pitman { background: #059669; color: #fff; box-shadow: 0 2px 8px rgba(5,150,105,0.2); } .fsh-card:hover .btn-pitman { background: #047857; color: #fff; box-shadow: 0 4px 12px rgba(5,150,105,0.3); }
    .btn-ahc { background: #ea580c; color: #fff; box-shadow: 0 2px 8px rgba(234,88,12,0.2); } .fsh-card:hover .btn-ahc { background: #c2410c; color: #fff; box-shadow: 0 4px 12px rgba(234,88,12,0.3); }


    /* PC-CARD DESIGN OVERRIDE (Synced from index.php) */
    .fsh-pc-card {
                    background: #ffffff;
                    border-radius: 20px;
                    border: 1px solid #e2e8f0;
                    padding: 24px;
                    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03);
                    text-decoration: none !important;
                    display: flex;
                    flex-direction: column;
                    color: #0f172a;
                    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
                }
                .fsh-pc-card:hover {
                    transform: translateY(-4px);
                    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
                }
                
                .fsh-pc-card.shorthand:hover { border-color: #d8b4fe; }
                .fsh-pc-card.typing:hover { border-color: #bfdbfe; }
                .fsh-pc-card.pitman:hover { border-color: #bbf7d0; }
                .fsh-pc-card.ahc:hover { border-color: #fed7aa; }
                
                .fsh-pc-label {
                    display: inline-flex;
                    align-items: center;
                    gap: 6px;
                    font-size: 11.5px;
                    font-weight: 800;
                    padding: 5px 10px;
                    border-radius: 8px;
                    margin-bottom: 16px;
                    text-transform: uppercase;
                    letter-spacing: 0.05em;
                    align-self: flex-start;
                }
                .fsh-pc-label.lb-shorthand { background: #faf5ff; color: #9333ea; }
                .fsh-pc-label.lb-typing { background: #eff6ff; color: #2563eb; }
                .fsh-pc-label.lb-pitman { background: #f0fdf4; color: #16a34a; }
                .fsh-pc-label.lb-ahc { background: #fff7ed; color: #ea580c; }
                
                .fsh-pc-title {
                    font-size: 19px;
                    font-weight: 800;
                    margin: 0 0 8px 0;
                    color: #0f172a;
                }
                .fsh-pc-desc {
                    font-size: 14px;
                    color: #64748b;
                    line-height: 1.5;
                    margin: 0 0 16px 0;
                    flex-grow: 1;
                }
                
                .fsh-pc-meta {
                    font-size: 12.5px;
                    font-weight: 600;
                    color: #475569;
                    margin-bottom: 20px;
                    display: flex;
                    align-items: center;
                    gap: 8px;
                }
                .fsh-pc-meta .dot {
                    color: #cbd5e1;
                    font-size: 10px;
                }

                .fsh-pc-img-wrap {
                    width: 100%;
                    aspect-ratio: 16/9;
                    border-radius: 12px;
                    overflow: hidden;
                    margin-bottom: 16px;
                    position: relative;
                    background: #f8fafc;
                    flex-shrink: 0;
                }
                .fsh-pc-img-wrap img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    transition: transform 0.25s ease;
                }
                .fsh-pc-card:hover .fsh-pc-img-wrap img {
                    transform: scale(1.02);
                }
                .fsh-pop-badge {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                    background: rgba(15, 23, 42, 0.85);
                    backdrop-filter: blur(4px);
                    color: #fff;
                    font-size: 10.5px;
                    font-weight: 700;
                    padding: 4px 10px;
                    border-radius: 8px;
                    z-index: 2;
                    letter-spacing: 0.02em;
                }
                
                .fsh-pc-cta {
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    width: 100%;
                    padding: 12px;
                    border-radius: 12px;
                    font-size: 14px;
                    font-weight: 700;
                    color: #ffffff;
                    transition: filter 0.2s ease;
                    flex-shrink: 0;
                }
                .fsh-pc-cta.cta-shorthand { background: #9333ea; }
                .fsh-pc-cta.cta-typing { background: #2563eb; }
                .fsh-pc-cta.cta-pitman { background: #16a34a; }
                .fsh-pc-cta.cta-ahc { background: #ea580c; }
                
                .fsh-pc-card:hover .fsh-pc-cta {
                    filter: brightness(1.08);
                }
    /* Homepage mobile navigation: full-size items must not add horizontal margins. */
    @media (max-width: 576px) {
        .fshsite-header .fshmain-menu > .nav-item { margin-inline: 0; }
    }

    /* Keep the existing footer groups, compact only on the homepage's phone layout. */
    @media (max-width: 576px) {
        #fsh-home-page ~ .fshfooter .col-md-3.col-sm-6 { width: 50%; }
        #fsh-home-page ~ .fshfooter .fshfooter-links a { font-size: 13px !important; line-height: 1.5; }
        #fsh-home-page ~ .fshfooter .fshfooter-legal { display: flex !important; gap: 6px !important; }
        #fsh-home-page ~ .fshfooter .fshfooter-legal a {
            width: auto !important; padding: 6px 8px !important; font-size: 12px !important;
        }
    }

    @media (max-width: 576px) {
        #exam-mock-tests-section .fsh-mock-meta-head { flex-wrap: wrap; gap: 6px; }
    }

    /* ============================================================
    SIMPLIFIED HOME — 2026-09-23
    Keeps existing brand palette while reducing homepage clutter.
    ============================================================ */
    .fsh-simple-hero{
        position:relative;
        padding:72px 0 64px;
        overflow:hidden;
        background:linear-gradient(135deg,#fff 0%,#fbf9fe 55%,#f5edff 100%);
        border-bottom:1px solid #eee8f6;
    }
    .fsh-simple-hero::before{
        content:"";position:absolute;width:420px;height:420px;border-radius:50%;
        right:-170px;top:-220px;background:rgba(124,58,237,.08);filter:blur(10px);pointer-events:none;
    }
    .fsh-simple-hero-inner{position:relative;z-index:1;max-width:850px;margin:0 auto;text-align:center;}
    .fsh-simple-kicker{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid #e9ddfb;border-radius:999px;background:#fff;color:#6d28d9;font-size:12px;font-weight:800;margin-bottom:18px;}
    .fsh-simple-hero h1{margin:0 auto 18px;max-width:820px;color:#0f172a;font-size:clamp(34px,5vw,58px);line-height:1.08;font-weight:900;letter-spacing:-.035em;}
    .fsh-simple-hero h1 span{background:linear-gradient(135deg,#7c3aed,#db2777);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
    .fsh-simple-hero p{max-width:700px;margin:0 auto;color:#64748b;font-size:clamp(15px,2vw,17px);line-height:1.7;font-weight:500;}
    .fsh-simple-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;}
    .fsh-simple-primary,.fsh-simple-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 23px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none!important;transition:.2s ease;}
    .fsh-simple-primary{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#db2777);box-shadow:0 10px 24px rgba(124,58,237,.22);}
    .fsh-simple-secondary{color:#4f329a!important;background:#fff;border:1px solid #e5e7eb;}
    .fsh-simple-primary:hover,.fsh-simple-secondary:hover{transform:translateY(-2px);}
    .fsh-simple-trust{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:24px;color:#64748b;font-size:12.5px;font-weight:700;}
    .fsh-simple-trust span{display:inline-flex;align-items:center;gap:6px;}
    .fsh-simple-trust i{color:#7c3aed;}
    #practice-hub-section .fsh-ph-header{margin-bottom:30px;}
    #practice-hub-section .fsh-ph-title{font-size:clamp(28px,3.5vw,38px);}
    #practice-hub-section .fsh-pc-card{padding:18px;}
    #practice-hub-section .fsh-pc-desc{min-height:42px;}
    #practice-hub-section .fsh-ph-footer{margin-top:26px;}
    #exam-mock-tests-section,#preparation-guides-section,#home-faq-section,#start-free-practice-cta{scroll-margin-top:90px;}
    @media(max-width:767px){
        .fsh-simple-hero{padding:48px 0 44px;}
        .fsh-simple-hero h1{font-size:34px;}
        .fsh-simple-actions{flex-direction:column;align-items:stretch;padding:0 12px;}
        .fsh-simple-primary,.fsh-simple-secondary{width:100%;}
        .fsh-simple-trust{gap:10px 14px;}
    }
/* Unified Search Controls UI */
.fsh-unified-controls { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; max-width: 800px; margin: 0 auto 40px; }
.fsh-unified-search { flex: 1 1 350px; position: relative; }
.fsh-unified-search i { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); color: #4F329A; font-size: 18px; z-index: 2; }
.fsh-unified-search input { width: 100%; height: 60px; padding: 0 24px 0 54px; border: 2px solid #E8E5ED; border-radius: 30px; background: #fff; font-weight: 700; font-size: 15px; color: #19243A; box-shadow: 0 15px 40px rgba(25,36,58,0.06); transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.fsh-unified-search input:focus { border-color: rgba(79,50,154,0.4); box-shadow: 0 20px 50px rgba(79,50,154,0.12); outline: none; transform: translateY(-2px); }
.fsh-unified-search input::placeholder { color: #928B9D; font-weight: 600; }
.fsh-unified-select { flex: 0 1 250px; height: 60px; border: 2px solid #E8E5ED; border-radius: 30px; background: #fff; font-weight: 700; font-size: 14.5px; color: #19243A; padding: 0 45px 0 24px; box-shadow: 0 15px 40px rgba(25,36,58,0.06); transition: 0.3s cubic-bezier(0.16, 1, 0.3, 1); cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234F329A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 22px center; background-size: 14px; }
.fsh-unified-select:focus { border-color: rgba(79,50,154,0.4); box-shadow: 0 20px 50px rgba(79,50,154,0.12); outline: none; transform: translateY(-2px); }

/* Force search bar UI across all pages */
.fsh-unified-search input, #liveSearchInput, #practiceSearch {
    width: 100% !important;
    height: 60px !important;
    padding: 0 24px 0 54px !important;
    border: 2px solid #E8E5ED !important;
    border-radius: 30px !important;
    background: #fff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #19243A !important;
    box-shadow: 0 15px 40px rgba(25,36,58,0.06) !important;
}
.fsh-unified-search input:focus, #liveSearchInput:focus, #practiceSearch:focus {
    border-color: rgba(79,50,154,0.4) !important;
    box-shadow: 0 20px 50px rgba(79,50,154,0.12) !important;
    outline: none !important;
}

/* Force search container centered */
.fsh-unified-search {
    max-width: 600px !important;
    margin: 0 auto !important;
    width: 100% !important;
}
