.sps-portal-front { background: #f3f7fb !important; }
.sps-portal-front .sps-company-front { background: linear-gradient(180deg, #edf6fb 0, #f3f7fb 470px, #f3f7fb 100%) !important; color: #10243e; }

.sps-portal-front .sps-company-header { border-bottom: 1px solid rgba(185, 204, 221, .76); background: rgba(255, 255, 255, .92); box-shadow: 0 8px 28px rgba(28, 57, 90, .055); backdrop-filter: blur(18px); }
.sps-portal-front .sps-company-brand { color: #10243e !important; font-size: 14px; font-weight: 800; }
.sps-portal-front .sps-company-logo { padding: 4px; border: 1px solid #d5e2ed; border-radius: 12px; background: #fff; box-shadow: 0 6px 16px rgba(28, 57, 90, .08); }
.sps-portal-front .sps-company-link { border: 1px solid transparent; border-radius: 10px; color: #435a70 !important; font-size: 11.5px; font-weight: 680; }
.sps-portal-front .sps-company-link:hover { border-color: #d3e0ea; background: #f3f8fb; color: #0c4f9f !important; }
.sps-portal-front .sps-company-link.is-primary { border-color: #1769d2; background: #1769d2; color: #fff !important; }
.sps-portal-front .sps-public-menu-toggle { border-color: #cbd9e5 !important; background: #fff !important; color: #0c4f9f !important; box-shadow: none !important; }

.sps-portal-front .sps-company-hero-copy {
    position: relative;
    overflow: hidden;
    min-height: 430px;
    padding: clamp(28px, 4.5vw, 60px);
    border: 1px solid #cdddea;
    border-radius: 27px;
    background:
        radial-gradient(circle at 95% 8%, rgba(11, 140, 168, .13), transparent 26%),
        linear-gradient(135deg, #fff 0%, #edf6fb 100%);
    box-shadow: 0 22px 54px rgba(28, 57, 90, .10);
}
.sps-portal-front .sps-company-hero-copy::after { content: ""; position: absolute; right: -75px; bottom: -105px; width: 280px; height: 280px; border: 46px solid rgba(23, 105, 210, .055); border-radius: 50%; pointer-events: none; }
.sps-portal-front .sps-company-kicker { display: inline-flex; width: max-content; max-width: 100%; padding: 6px 10px; border: 1px solid #c6dceb; border-radius: 999px; background: rgba(255, 255, 255, .68); color: #0c4f9f !important; font-size: 9.5px; font-weight: 800 !important; letter-spacing: .12em !important; text-transform: uppercase; }
.sps-portal-front .sps-company-title { position: relative; z-index: 1; max-width: 850px; color: #10243e !important; font-size: clamp(40px, 5vw, 67px) !important; line-height: 1.01 !important; font-weight: 820 !important; letter-spacing: -.045em !important; }
.sps-portal-front .sps-company-summary { position: relative; z-index: 1; max-width: 760px; color: #526a7f !important; font-size: clamp(14px, 1.25vw, 16px); line-height: 1.72; }
.sps-portal-front .sps-company-actions { position: relative; z-index: 2; }
.sps-portal-front :is(.sps-company-button, .sps-company-featured-button, .sps-company-archive-button, .sps-company-more-link) { border-radius: 11px !important; font-size: 11.5px; font-weight: 740 !important; }
.sps-portal-front .sps-company-button.ghost { border: 1px solid #bfd2e2 !important; background: #fff !important; color: #0c4f9f !important; box-shadow: 0 7px 18px rgba(28, 57, 90, .055) !important; }

.sps-portal-front .sps-company-report-card {
    padding: 18px;
    border: 1px solid #d1dfeb;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(28, 57, 90, .10);
}
.sps-portal-front .sps-company-report-visual { border: 1px solid #d9e5ee; border-radius: 18px; background: linear-gradient(145deg, #f7fbfd, #e9f4fa); }
.sps-portal-front .sps-company-report-visual::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 10%, rgba(23, 105, 210, .11), transparent 30%); }
.sps-portal-front .sps-company-report-visual img { position: relative; filter: drop-shadow(0 14px 18px rgba(28, 57, 90, .14)); }
.sps-portal-front .sps-company-report-visual span { padding: 6px 9px; border: 1px solid #d3e1eb; border-radius: 999px; background: rgba(255, 255, 255, .88); color: #405a71; font-size: 9.5px; font-weight: 700; }
.sps-portal-front .sps-company-report-visual i { background: #0b8ca8; box-shadow: 0 0 0 4px rgba(11, 140, 168, .11); }
.sps-portal-front .sps-company-report-card > strong { color: #10243e !important; font-size: clamp(38px, 4vw, 56px); line-height: 1; font-variant-numeric: tabular-nums; }
.sps-portal-front .sps-company-report-card > p { color: #607286 !important; font-size: 12px; line-height: 1.5; }
.sps-portal-front .sps-company-report-bars progress { overflow: hidden; border: 0; border-radius: 999px; background: #e8eff5; accent-color: #1769d2; }
.sps-portal-front .sps-company-report-bars progress::-webkit-progress-bar { border-radius: 999px; background: #e8eff5; }
.sps-portal-front .sps-company-report-bars progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #1769d2, #0b8ca8); }
.sps-portal-front .sps-company-report-bars em { color: #65788b; font-size: 9.5px; }

.sps-portal-front :is(.sps-company-report-section, .sps-company-featured-strip, .sps-company-validation, .sps-company-submission) { padding: clamp(22px, 3.1vw, 36px); border: 1px solid #d8e3ec; border-radius: 22px; background: #fff; box-shadow: 0 12px 34px rgba(28, 57, 90, .065); }
.sps-portal-front .sps-company-section-head h2, .sps-portal-front .sps-company-validation h2, .sps-portal-front .sps-company-submission-copy h2, .sps-portal-front .sps-company-legal h2 { color: #10243e !important; font-size: clamp(24px, 3vw, 36px) !important; line-height: 1.15 !important; }
.sps-portal-front .sps-company-section-head p, .sps-portal-front .sps-company-validation p, .sps-portal-front .sps-company-legal p { max-width: 740px; color: #607286 !important; font-size: 12.5px; line-height: 1.7; }
.sps-portal-front .sps-company-more-link { border: 1px solid #cad9e5 !important; background: #f7fafc !important; color: #0c4f9f !important; box-shadow: none !important; }

.sps-portal-front .sps-company-ledger-item { min-height: 112px; padding: 16px; border: 1px solid #d9e4ed; border-radius: 15px; background: #f7fafc; }
.sps-portal-front .sps-company-ledger-item::after { content: ""; position: absolute; right: -28px; bottom: -34px; width: 86px; height: 86px; border-radius: 50%; background: rgba(23, 105, 210, .07); }
.sps-portal-front .sps-company-ledger-item span { color: #64778a; font-size: 9.5px; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.sps-portal-front .sps-company-ledger-item strong { position: relative; z-index: 1; color: #1769d2 !important; font-size: 30px; font-variant-numeric: tabular-nums; }
.sps-portal-front .sps-company-report-note { padding: 13px 14px; border: 1px solid #e0e8ef; border-radius: 13px; background: #fbfcfd; }
.sps-portal-front .sps-company-report-note strong { color: #40586e !important; font-size: 10px; text-transform: uppercase; letter-spacing: .045em; }
.sps-portal-front .sps-company-report-note span { color: #10243e; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }

.sps-portal-front .sps-company-featured { padding: 18px; border: 1px solid #cfe0ec; border-radius: 17px; background: linear-gradient(135deg, #f7fbfd, #edf6fb); }
.sps-portal-front .sps-company-featured-main > span { color: #0b7890; font-size: 9.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sps-portal-front .sps-company-featured-main h3 { max-width: 830px; color: #10243e !important; font-size: clamp(19px, 2.2vw, 27px) !important; line-height: 1.25 !important; }
.sps-portal-front .sps-company-featured-main dl div { padding: 10px 11px; border: 1px solid #dce6ee; border-radius: 11px; background: rgba(255, 255, 255, .78); }
.sps-portal-front .sps-company-featured-main dt { color: #6b7d8e; font-size: 8.5px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.sps-portal-front .sps-company-featured-main dd { margin-top: 3px; color: #2c455c; font-size: 11.5px; font-weight: 680; }
.sps-portal-front .sps-company-featured-button { white-space: nowrap; }
.sps-portal-front .sps-company-featured-empty { padding: 30px; border: 1px dashed #c5d5e2; border-radius: 16px; background: #f8fbfd; }
.sps-portal-front .sps-company-featured-empty strong { color: #10243e !important; }

.sps-portal-front .sps-company-archive-row { padding: 13px 14px; border: 1px solid #e0e8ef; border-radius: 14px; background: #fbfcfd; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.sps-portal-front .sps-company-archive-row:hover { border-color: #bcd2e2; background: #f4f9fc; transform: translateY(-1px); }
.sps-portal-front .sps-company-row-number { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #eaf3fb; color: #0c4f9f; font-size: 10px; font-weight: 800; }
.sps-portal-front .sps-company-row-main em { color: #0b7890; font-size: 8.5px; font-style: normal; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.sps-portal-front .sps-company-row-main h3 { color: #10243e !important; font-size: 13.5px !important; line-height: 1.35 !important; }
.sps-portal-front .sps-company-row-main p, .sps-portal-front .sps-company-row-meta small { color: #718296 !important; font-size: 10.5px; }
.sps-portal-front .sps-company-row-meta > span { color: #334d64; font-size: 11px; font-weight: 700; }
.sps-portal-front .sps-public-visibility-chip { width: max-content; min-height: 22px; padding: 3px 7px; font-size: 8.5px; }
.sps-portal-front .sps-company-archive-button { min-height: 36px !important; padding: 7px 11px !important; border: 1px solid #c5d8e7 !important; background: #fff !important; color: #0c4f9f !important; box-shadow: none !important; white-space: nowrap; }

.sps-portal-front .sps-company-validation { border-color: #bcd7e6; background: linear-gradient(135deg, #eaf6fb, #f8fcfd); }
.sps-portal-front .sps-company-verify-form { padding: 15px; border: 1px solid #cbdde9; border-radius: 15px; background: rgba(255, 255, 255, .82); }
.sps-portal-front .sps-company-verify-form label { color: #334f67; font-size: 10.5px; font-weight: 750; }
.sps-portal-front .sps-company-verify-form input { padding: 10px 12px; border: 1px solid #cbd9e5; border-radius: 10px; background: #fff; color: #10243e; }
.sps-portal-front .sps-company-verify-form button { padding: 9px 15px; border: 0; border-radius: 10px; background: #1769d2; color: #fff; font-size: 11px; font-weight: 740; cursor: pointer; }

.sps-portal-front .sps-company-submission-steps li { min-height: 94px; padding: 13px; border: 1px solid #dce5ed; border-radius: 14px; background: #f7fafc; }
.sps-portal-front .sps-company-submission-steps strong { border-radius: 9px; background: #1769d2; color: #fff !important; font-size: 10px; }
.sps-portal-front .sps-company-submission-steps span { color: #40586e; font-size: 10.5px; font-weight: 700; line-height: 1.4; }

.sps-portal-front .sps-company-legal { padding: clamp(24px, 3vw, 36px); border: 1px solid rgba(134, 190, 215, .28); border-radius: 22px; background: linear-gradient(125deg, #0d2944, #104a67); box-shadow: 0 18px 42px rgba(13, 41, 68, .16); }
.sps-portal-front .sps-company-legal .sps-company-kicker { border-color: rgba(171, 223, 239, .25); background: rgba(255, 255, 255, .08); color: #b9e8f3 !important; }
.sps-portal-front .sps-company-legal h2 { color: #fff !important; }
.sps-portal-front .sps-company-legal p { color: rgba(229, 241, 248, .76) !important; }
.sps-portal-front .sps-company-legal .sps-company-button { border: 1px solid rgba(255, 255, 255, .28) !important; background: #fff !important; color: #0c4f9f !important; box-shadow: none !important; }

.sps-portal-front .sps-company-footer { border-top: 1px solid #d2dee8; }
.sps-portal-front .sps-company-footer strong { color: #10243e !important; font-size: 12.5px; }
.sps-portal-front .sps-company-footer p { color: #6b7d8f !important; font-size: 10.5px; }
.sps-portal-front .sps-company-footer a { color: #405a70 !important; font-size: 10.5px; font-weight: 680; text-decoration: none; }
.sps-portal-front .sps-company-footer a:hover { color: #0c4f9f !important; }

@media (max-width: 780px) {
    .sps-portal-front .sps-company-title { font-size: clamp(36px, 8vw, 50px) !important; }
    .sps-portal-front .sps-company-hero-copy { min-height: 0; padding: 31px 24px; }
    .sps-portal-front .sps-company-report-visual { min-height: 205px; }
}

@media (max-width: 560px) {
    .sps-portal-front .sps-company-title { font-size: 36px !important; line-height: 1.04 !important; }
    .sps-portal-front .sps-company-summary { font-size: 13px; }
    .sps-portal-front :is(.sps-company-report-section, .sps-company-featured-strip, .sps-company-validation, .sps-company-submission) { padding: 18px 15px; border-radius: 18px; }
    .sps-portal-front .sps-company-ledger-item { min-height: 92px; }
    .sps-portal-front .sps-company-ledger-item strong { font-size: 27px; }
    .sps-portal-front .sps-company-legal { padding: 21px 17px; border-radius: 18px; }
}
