:root{
    --ink:#0a1220;
    --muted:#5f6c7d;
    --blue:#175edb;
    --blue-dark:#104db8;
    --line:#dce3ec;
    --soft:#f6f8fb;
    --white:#ffffff;
    --navy:#0d1b2e;
    --green:#157347;
    --max:1240px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body.scorestech-public{
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

.scorestech-shell{
    width:min(
        var(--max),
        calc(100% - 42px)
    );
    margin-inline:auto;
}

.public-header-wrap{
    position:sticky;
    top:0;
    z-index:100;
    padding:12px 0;
    background:#fff;
    border-bottom:1px solid #eef2f6;
}

.public-header{
    min-height:62px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.public-brand{
    min-width:225px;
    display:flex;
    align-items:center;
    text-decoration:none;
    color:var(--ink);
    font-weight:950;
    letter-spacing:.01em;
}

/* Platform logo uses an explicit display box so small source images are not rendered tiny. */
.public-brand img{
    display:block;
    width:220px;
    height:54px;
    max-width:100%;
    object-fit:contain;
    object-position:left center;
}

.public-nav{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
}

.public-nav a{
    color:#273244;
    text-decoration:none;
    font-size:14px;
    font-weight:750;
}

.public-nav a:hover{
    color:var(--blue);
}

.public-actions{
    display:flex;
    gap:9px;
    align-items:center;
}

.public-btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:9px 16px;
    border:1px solid transparent;
    border-radius:9px;
    text-decoration:none;
    font-size:14px;
    font-weight:850;
    cursor:pointer;
}

.public-btn.primary{
    background:var(--blue);
    color:#fff;
}

.public-btn.primary:hover{
    background:var(--blue-dark);
}

.public-btn.secondary{
    background:#fff;
    color:var(--ink);
    border-color:#cbd5df;
}

.public-btn.dark{
    background:var(--navy);
    color:#fff;
}

.home-hero{
    min-height:
        calc(
            100vh - 88px
        );
    display:grid;
    grid-template-columns:
        minmax(0,1.02fr)
        minmax(420px,.98fr);
    gap:58px;
    align-items:center;
    padding:54px 0;
}

.hero-copy{
    max-width:710px;
}

.hero-kicker{
    margin-bottom:17px;
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.home-hero h1{
    margin:0;
    max-width:720px;
    font-size:
        clamp(
            48px,
            6vw,
            78px
        );
    line-height:.99;
    letter-spacing:-.055em;
}

.hero-lead{
    max-width:640px;
    margin:22px 0 0;
    color:var(--muted);
    font-size:18px;
    line-height:1.7;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:27px;
}

.hero-small-link{
    display:inline-block;
    margin-top:17px;
    color:#49576a;
    font-size:13px;
    font-weight:750;
    text-decoration:none;
}

.hero-small-link:hover{
    color:var(--blue);
}

.hero-notes{
    display:flex;
    flex-wrap:wrap;
    gap:8px 17px;
    margin-top:23px;
    color:#566477;
    font-size:12px;
    font-weight:700;
}

.hero-note::before{
    content:"✓";
    margin-right:6px;
    color:var(--green);
    font-weight:950;
}

.product-frame{
    border:1px solid #bfcbd9;
    background:#fff;
    padding:15px;
    box-shadow:
        0 20px 48px
        rgba(15,23,42,.10);
}

.product-screen{
    background:var(--navy);
    color:#fff;
    padding:20px;
}

.product-screen-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;
    padding-bottom:18px;
    border-bottom:
        1px solid
        rgba(255,255,255,.12);
}

.product-screen-head strong{
    display:block;
    font-size:16px;
}

.product-screen-head span{
    display:block;
    margin-top:4px;
    color:#aab6c6;
    font-size:12px;
}

.product-status{
    color:#98e0b8 !important;
    font-weight:800;
}

.product-lines{
    display:grid;
    margin-top:8px;
}

.product-line{
    display:grid;
    grid-template-columns:
        145px
        minmax(0,1fr)
        auto;
    gap:12px;
    align-items:center;
    padding:15px 0;
    border-bottom:
        1px solid
        rgba(255,255,255,.09);
}

.product-line:last-child{
    border-bottom:0;
}

.product-line label{
    color:#9eacbe;
    font-size:11px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.product-line strong{
    font-size:14px;
}

.product-line span{
    color:#c7d1dd;
    font-size:12px;
}

.home-second{
    min-height:68vh;
    display:flex;
    align-items:center;
    padding:72px 0;
    background:var(--soft);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.home-second-inner{
    width:100%;
}

.section-kicker{
    color:var(--blue);
    font-size:12px;
    font-weight:900;
    letter-spacing:.075em;
    text-transform:uppercase;
}

.home-second h2,
.plans-hero h1{
    max-width:790px;
    margin:10px 0 0;
    font-size:
        clamp(
            35px,
            4.4vw,
            55px
        );
    line-height:1.08;
    letter-spacing:-.04em;
}

.capability-grid{
    display:grid;
    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );
    margin-top:40px;
    border-top:1px solid #cdd7e3;
    border-left:1px solid #cdd7e3;
}

.capability{
    min-height:92px;
    display:flex;
    align-items:center;
    padding:18px;
    border-right:1px solid #cdd7e3;
    border-bottom:1px solid #cdd7e3;
    background:#fff;
    font-size:15px;
    font-weight:850;
}

.shortcut-row{
    display:grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );
    gap:12px;
    margin-top:25px;
}

.shortcut{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:60px;
    padding:15px 17px;
    border:1px solid #cbd5df;
    background:#fff;
    color:var(--ink);
    text-decoration:none;
    font-size:14px;
    font-weight:850;
}

.shortcut:hover{
    border-color:#8e9db0;
}

.public-footer{
    padding:31px 0;
    background:#fff;
}

.footer-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:25px;
    flex-wrap:wrap;
    color:#647184;
    font-size:12px;
}

.footer-links{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.footer-links a{
    color:#405067;
    text-decoration:none;
    font-weight:750;
}

.plans-main{
    min-height:80vh;
}

.plans-hero{
    padding:68px 0 34px;
}

.plans-hero p{
    max-width:650px;
    margin:16px 0 0;
    color:var(--muted);
    font-size:17px;
    line-height:1.65;
}

.plans-back{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-bottom:28px;
    color:#425066;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.plans-grid{
    display:grid;
    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );
    gap:15px;
    padding:14px 0 70px;
}

.plan-card{
    display:flex;
    flex-direction:column;
    min-height:520px;
    padding:24px;
    border:1px solid var(--line);
    background:#fff;
}

.plan-card.pro{
    border:2px solid var(--blue);
}

.plan-label{
    margin:0;
    font-size:23px;
}

.plan-headline{
    min-height:52px;
    margin-top:8px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
}

.plan-price{
    margin-top:20px;
    color:var(--ink);
    font-size:28px;
    font-weight:950;
}

.plan-cycle{
    margin-top:3px;
    color:#69778a;
    font-size:12px;
}

.plan-rule{
    height:1px;
    background:var(--line);
    margin:20px 0;
}

.plan-features{
    flex:1;
    display:grid;
    align-content:start;
    gap:11px;
    padding:0;
    margin:0 0 23px;
    list-style:none;
}

.plan-features li{
    display:flex;
    gap:8px;
    color:#37465a;
    font-size:13px;
    line-height:1.48;
}

.plan-features li::before{
    content:"✓";
    color:var(--green);
    font-weight:950;
}

.plans-note{
    margin-bottom:55px;
    padding:14px 16px;
    border-left:3px solid var(--blue);
    background:#f4f7fb;
    color:#43536a;
    font-size:13px;
    line-height:1.55;
}

@media(max-width:1050px){

    .public-nav{
        display:none;
    }

    .home-hero{
        min-height:auto;
        grid-template-columns:1fr;
        padding:60px 0;
    }

    .product-frame{
        max-width:700px;
    }

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

    .plans-grid{
        grid-template-columns:1fr;
    }

    .plan-card{
        min-height:auto;
    }

}

@media(max-width:680px){

    .scorestech-shell{
        width:
            calc(
                100% - 24px
            );
    }

    .public-header-wrap{
        padding:7px 0;
    }

    .public-header{
        min-height:54px;
    }

    .public-brand{
        min-width:0;
        font-size:14px;
    }

    .public-brand img{
        width:165px;
        height:40px;
        max-width:100%;
    }

    .public-actions .sign-in{
        display:none;
    }

    .public-actions .public-btn{
        min-height:39px;
        padding:8px 11px;
        font-size:12px;
    }

    .home-hero{
        gap:38px;
        padding:43px 0 50px;
    }

    .home-hero h1{
        font-size:
            clamp(
                43px,
                13vw,
                61px
            );
    }

    .hero-lead{
        font-size:16px;
    }

    .hero-buttons{
        display:grid;
    }

    .hero-buttons .public-btn{
        width:100%;
    }

    .product-frame{
        padding:9px;
    }

    .product-screen{
        padding:15px;
    }

    .product-line{
        grid-template-columns:1fr;
        gap:4px;
    }

    .home-second{
        min-height:auto;
        padding:58px 0;
    }

    .capability-grid{
        grid-template-columns:1fr 1fr;
        margin-top:28px;
    }

    .capability{
        min-height:74px;
        padding:14px;
        font-size:13px;
    }

    .shortcut-row{
        grid-template-columns:1fr;
    }

    .plans-hero{
        padding-top:46px;
    }

}

@media(max-width:420px){

    .capability-grid{
        grid-template-columns:1fr;
    }

}

@media(prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

}
