.solpage {
    --brand: #1f6ef7;
    --brand-deep: #1549b8;
    --violet: #7a5fe8;
    --teal: #0e9a8f;
    --orange: #f0821e;
    --green: #2fae4e;
    --ink: #1d2129;
    --ink-2: #4e5969;
    --ink-3: #6b7480;
    --line: #dfe3ea;
    --bg: #f6f8fc;
    --shadow: 0 1px 2px rgba(29, 33, 41, .03), 0 6px 18px rgba(29, 33, 41, .05);
    --shadow-hover: 0 8px 18px rgba(31, 110, 247, .10), 0 20px 44px rgba(29, 33, 41, .10);
}

.solpage * {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

.solpage {
    font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Helvetica Neue", Arial, sans-serif;
    color: var(--ink);
    background: var(--bg);
    font-style: normal;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased
}

.solpage a {
    color: inherit;
    text-decoration: none;
    font-style: normal
}

.solpage ul {
    list-style: none
}

.solpage button, .solpage input {
    font-family: inherit;
    font-style: normal
}

.solpage .site-header {
    position: sticky;
    top: 0;
    z-index: 60;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line)
}

.solpage .sh-in {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 28px;
    height: 64px;
    padding: 0 20px
}

.solpage .sh-logo {
    flex: none;
    display: flex;
    align-items: center
}

.solpage .sh-logo .lg {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 8px;
    border-radius: 9px;
    background: linear-gradient(135deg, #2b7cff, #6a4ff0);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px
}

.solpage .sh-nav {
    flex: 1;
    display: flex;
    gap: 22px;
    font-size: 14px;
    color: var(--ink-2);
    white-space: nowrap
}

.solpage .sh-nav a {
    position: relative;
    padding: 4px 0;
    transition: color .15s
}

.solpage .sh-nav a:hover {
    color: var(--brand)
}

.solpage .sh-nav .on {
    color: var(--brand);
    font-weight: 600
}

.solpage .sh-nav .on::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -21px;
    height: 3px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--brand), var(--violet))
}

.solpage .sh-nav .new {
    font-style: normal;
    font-size: 10px;
    color: #fff;
    background: #f5483d;
    border-radius: 4px;
    padding: 1px 5px;
    margin-left: 4px;
    vertical-align: 2px;
    font-weight: 600
}

.solpage .sh-right {
    flex: none;
    display: flex;
    align-items: center;
    gap: 14px
}

.solpage .sh-phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--ink)
}

.solpage .sh-phone svg {
    width: 16px;
    height: 16px;
    color: #5b7bb8
}

.solpage .btn-try {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #2b7cff, #7a5fe8);
    color: #fff;
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 8px;
    transition: box-shadow .18s, transform .18s
}

.solpage .btn-try:hover {
    box-shadow: 0 6px 16px rgba(31, 110, 247, .35);
    transform: translateY(-1px)
}

.solpage .btn-login {
    display: inline-flex;
    align-items: center;
    background: #fff;
    color: var(--brand);
    border: 1px solid rgba(31, 110, 247, .45);
    font-size: 13.5px;
    padding: 7px 16px;
    border-radius: 8px;
    transition: background .18s
}

.solpage .btn-login:hover {
    background: #f0f6ff
}

.solpage .hero {
    position: relative;
    overflow: hidden;
    padding: 58px 20px 46px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 24%, rgba(255, 255, 255, .5) 55%, rgba(246, 248, 252, .9) 82%, #f6f8fc 100%),
    radial-gradient(900px 380px at 15% -12%, rgba(63, 169, 255, .24), transparent 62%),
    radial-gradient(760px 360px at 88% -6%, rgba(122, 95, 232, .22), transparent 62%),
    linear-gradient(105deg, #e4eeff 0%, #eceaff 50%, #e3f3ee 100%)
}

.solpage .hero-in {
    position: relative;
    max-width: 860px;
    margin: 0 auto;
    text-align: center
}

.solpage .pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #3b63c9;
    background: rgba(31, 110, 247, .08);
    border: 1px solid rgba(31, 110, 247, .18);
    padding: 5px 16px;
    border-radius: 999px;
    margin-bottom: 18px;
    margin-top: 50px
}

.solpage .pill .pi {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--green);
    font-style: normal
}

.solpage .hero h1 {
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 700;
    letter-spacing: 1px
}

.solpage .hero h1 .grad {
    background: linear-gradient(92deg, var(--brand) 10%, var(--violet) 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.solpage .hero .sub {
    font-size: 15.5px;
    color: #3f4a5c;
    max-width: 600px;
    margin: 12px auto 26px
}

.solpage .search {
    position: relative;
    max-width: 560px;
    margin: 0 auto 8px;
    display: flex;
    align-items: center
}

.solpage .search input {
    flex: 1;
    height: 54px;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 0 62px 0 20px;
    font-size: 15px;
    color: var(--ink);
    background: #fff;
    box-shadow: 0 6px 20px rgba(29, 33, 41, .06);
    outline: none;
    transition: border-color .2s, box-shadow .2s
}

.solpage .search input:focus {
    border-color: rgba(31, 110, 247, .45);
    box-shadow: 0 8px 26px rgba(31, 110, 247, .14)
}

.solpage .search .go-btn {
    position: absolute;
    right: 8px;
    top: 7px;
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--brand), var(--violet));
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .18s, box-shadow .18s
}

.solpage .search .go-btn:hover {
    transform: scale(1.06);
    box-shadow: 0 6px 14px rgba(31, 110, 247, .35)
}

.solpage .search .go-btn svg {
    width: 17px;
    height: 17px
}

.solpage .hero-stats {
    max-width: 840px;
    margin: 28px auto 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 6px 22px rgba(29, 33, 41, .07);
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    padding: 20px 8px
}

.solpage .hero-stats .st {
    text-align: center;
    position: relative
}

.solpage .hero-stats .st + .st::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14%;
    bottom: 14%;
    width: 1px;
    background: #dfe5f0
}

.solpage .hero-stats .num {
    font-size: 27px;
    font-weight: 700;
    line-height: 1.2;
    background: linear-gradient(92deg, var(--brand) 15%, var(--violet) 90%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.solpage .hero-stats .num em {
    font-style: normal;
    font-size: 14px;
    font-weight: 600;
    margin-left: 2px;
    color: var(--ink-3);
    -webkit-text-fill-color: var(--ink-3);
    background: none
}

.solpage .hero-stats .lab {
    font-size: 13px;
    color: var(--ink-3);
    margin-top: 3px
}

.solpage .sec-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 26px
}

.solpage .sec-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 13.5px;
    color: #5b7bb8;
    letter-spacing: 3px;
    margin-bottom: 10px
}

.solpage .sec-kicker::before, .solpage .sec-kicker::after {
    content: "";
    width: 28px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #9db8e8)
}

.solpage .sec-kicker::after {
    background: linear-gradient(90deg, #9db8e8, transparent)
}

.solpage .sec-head h2 {
    font-size: clamp(21px, 2.6vw, 28px);
    font-weight: 700;
    letter-spacing: .5px
}

.solpage .sec-head .bar {
    display: block;
    width: 36px;
    height: 4px;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--brand), var(--violet));
    margin: 12px auto 10px
}

.solpage .sec-head .sub {
    font-size: 15px;
    color: #434e5e
}

.solpage .filter-wrap {
    position: sticky;
    top: 64px;
    z-index: 50;
    padding: 14px 20px 60px;
    background: linear-gradient(180deg, var(--bg) 50%, transparent)
}

.solpage .filter {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 999px;
    box-shadow: var(--shadow);
    padding: 7px;
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none
}

.solpage .filter::-webkit-scrollbar {
    display: none
}

.solpage .filter button {
    flex: 1 1 0;
    min-width: 0;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--ink-2);
    font-size: 14px;
    padding: 8px 18px;
    border-radius: 999px;
    cursor: pointer;
    transition: all .18s;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap
}

.solpage .filter button .cnt {
    font-size: 12px;
    color: var(--ink-3);
    transition: color .18s
}

.solpage .filter button:hover {
    color: var(--brand);
    background: #f0f6ff
}

.solpage .filter button.on {
    background: var(--brand);
    color: #fff;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(31, 110, 247, .3)
}

.solpage .filter button.on .cnt {
    color: rgba(255, 255, 255, .85)
}

.solpage .filter .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dc);
    box-shadow: 0 0 0 3.5px var(--dcb);
    flex: none;
    transition: box-shadow .18s
}

.solpage .filter button.on .dot {
    width: 11px;
    height: 11px;
    box-shadow: 0 0 0 2px #fff
}

.solpage main {
    display: block;
    padding: 12px 0 10px
}

.solpage .grp {
    max-width: 1200px;
    margin: 0 auto 60px
}

@media (max-width: 1240px) {
    .solpage .grp {
        padding: 0 20px
    }
}

.solpage .grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 32px 30px
}

.solpage .card {
    position: relative;
    background: #fff;
    border: 1px solid #fff;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
    box-shadow: var(--shadow)
}

.solpage .card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(31, 110, 247, .28)
}

.solpage .card:hover .cover .art {
    transform: translateY(-3px) scale(1.04)
}

.solpage .card:focus-within {
    border-color: rgba(31, 110, 247, .5)
}

.solpage .cover {
    position: relative;
    height: 205px;
    overflow: hidden
}

.solpage .cover .art {
    position: absolute;
    left: 150px;
    top: 16px;
    width: 55%;
    max-width: 200px;
    z-index: 1;
    transition: transform .25s ease
}

.solpage .cover .art svg {
    width: 100%;
    height: auto;
    display: block
}

.solpage .cover::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 58%;
    z-index: 2;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .5) 50%, rgba(255, 255, 255, .92) 100%);
    pointer-events: none
}

.solpage .cover::after {
    content: "";
    position: absolute;
    left: -40px;
    top: -52px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5);
    z-index: 0
}

.solpage .cover .cat {
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 3;
    font-size: 12px;
    padding: 3px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .8);
    color: var(--g-deep);
    border: 1px solid rgba(255, 255, 255, .95);
    font-weight: 600;
    letter-spacing: 1px
}

.solpage .badge-hot, .solpage .badge-fire {
    position: absolute;
    right: 14px;
    top: 0;
    z-index: 4;
    writing-mode: vertical-rl;
    letter-spacing: 3px;
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    padding: 9px 5px 13px;
    line-height: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 7px), 0 100%)
}

.solpage .badge-hot {
    background: linear-gradient(180deg, #274db4, #1c3d96)
}

.solpage .badge-fire {
    right: 39px;
    background: linear-gradient(180deg, #f5564a, #e23a2e)
}

.solpage .cov-title {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 11px;
    z-index: 3
}

.solpage .cov-title h3 {
    font-size: 20px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: .2px;
    color: var(--g-deep, var(--ink));
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.solpage .cov-title h3 a::after {
    content: "";
    position: absolute;
    inset: 0
}

.solpage .card:hover .cov-title h3 a {
    color: var(--g)
}

.solpage .grp[data-g="common"] {
    --g: #1f6ef7;
    --g-deep: #1549b8;
    --g-bg1: #eaf3ff
}

.solpage .grp[data-g="industry"] {
    --g: #7a5fe8;
    --g-deep: #5b52d8;
    --g-bg1: #f1efff
}

.solpage .grp[data-g="focus"] {
    --g: #f0821e;
    --g-deep: #c96410;
    --g-bg1: #fff4e6
}

.solpage .grp[data-g="platform"] {
    --g: #0e9a8f;
    --g-deep: #0b7c73;
    --g-bg1: #e8f7f5
}

.solpage .cover.c-blue {
    background: linear-gradient(135deg, #dceaff, #b9d4ff)
}

.solpage .cover.c-sky {
    background: linear-gradient(135deg, #d8efff, #b5e0ff)
}

.solpage .cover.c-teal {
    background: linear-gradient(135deg, #d0f0ea, #a8e2d8)
}

.solpage .cover.c-mint {
    background: linear-gradient(135deg, #d6f2e6, #aee8cd)
}

.solpage .cover.c-green {
    background: linear-gradient(135deg, #d8f2dd, #b2e8bf)
}

.solpage .cover.c-purple {
    background: linear-gradient(135deg, #e2dcff, #c3b5ff)
}

.solpage .cover.c-violet {
    background: linear-gradient(135deg, #e4daff, #c5adff)
}

.solpage .cover.c-mauve {
    background: linear-gradient(135deg, #ecdfff, #d1baff)
}

.solpage .cover.c-orange {
    background: linear-gradient(135deg, #ffe8cc, #ffd1a1)
}

.solpage .cover.c-amber {
    background: linear-gradient(135deg, #ffefc9, #ffdf94)
}

.solpage .card:has(.cover.c-blue) {
    --g: #2563d9;
    --g-deep: #103a8f;
    --g-bg1: #e9f2ff
}

.solpage .card:has(.cover.c-sky) {
    --g: #1583cf;
    --g-deep: #0b4f80;
    --g-bg1: #e6f5ff
}

.solpage .card:has(.cover.c-teal) {
    --g: #0c8b80;
    --g-deep: #065449;
    --g-bg1: #e2f5f1
}

.solpage .card:has(.cover.c-mint) {
    --g: #1f9d6e;
    --g-deep: #0e5c3f;
    --g-bg1: #e4f7ee
}

.solpage .card:has(.cover.c-green) {
    --g: #2e9e4b;
    --g-deep: #175a28;
    --g-bg1: #e6f6e9
}

.solpage .card:has(.cover.c-purple) {
    --g: #6a4fe0;
    --g-deep: #3f28a0;
    --g-bg1: #ece9ff
}

.solpage .card:has(.cover.c-violet) {
    --g: #7a4fd8;
    --g-deep: #4a2991;
    --g-bg1: #f0eaff
}

.solpage .card:has(.cover.c-mauve) {
    --g: #8a5ce8;
    --g-deep: #5730ab;
    --g-bg1: #f3edff
}

.solpage .card:has(.cover.c-orange) {
    --g: #e07210;
    --g-deep: #8f4606;
    --g-bg1: #fff1e2
}

.solpage .card:has(.cover.c-amber) {
    --g: #d98a12;
    --g-deep: #865207;
    --g-bg1: #fff5e3
}

.solpage .body {
    padding: 18px 24px 17px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1
}

.solpage .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px
}

.solpage .tags span {
    font-size: 12.5px;
    color: var(--g-deep);
    background: var(--g-bg1);
    padding: 2px 9px;
    border-radius: 6px;
    font-weight: 600
}

.solpage .body .d {
    font-size: 14px;
    color: #3f4756;
    line-height: 1.65;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.solpage .card .go {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #5c6673;
    transition: all .18s;
    font-weight: 500
}

.solpage .card .meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px
}

.solpage .card .inst {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    color: var(--ink-3);
    flex: none
}

.solpage .card .inst svg {
    width: 13px;
    height: 13px;
    opacity: .75
}

.solpage .card .inst b {
    font-weight: 600;
    color: #5c6673
}

.solpage .card .go svg {
    width: 14px;
    height: 14px
}

.solpage .card:hover .go {
    color: var(--g);
    gap: 9px
}

.solpage .card-link {
    position: absolute;
    inset: 0;
    z-index: 6;
    border-radius: 18px
}

.solpage .hide-in-filter {
    display: none
}

.solpage .empty {
    display: none;
    text-align: center;
    padding: 56px 20px;
    color: var(--ink-3);
    font-size: 14.5px
}

.solpage .empty b {
    color: var(--brand)
}

.solpage .empty.show {
    display: block
}

.solpage .cta {
    max-width: 1200px;
    margin: 0 auto 46px;
    padding: 0 20px
}

.solpage .cta-in {
    display: flex;
    align-items: center;
    gap: 22px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: var(--shadow);
    padding: 34px clamp(24px, 4vw, 44px)
}

.solpage .cta-ico {
    flex: none;
    width: 52px;
    height: 52px;
    border-radius: 15px;
    background: linear-gradient(135deg, #2b7cff, #7a5fe8);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(31, 110, 247, .25)
}

.solpage .cta-ico svg {
    width: 26px;
    height: 26px;
    color: #fff
}

.solpage .cta-text {
    flex: 1;
    min-width: 0;
    text-align: left
}

.solpage .cta-text h2 {
    font-size: 20px;
    font-weight: 700;
    color: #1d2129
}

.solpage .cta-text p {
    color: #434e5e;
    font-size: 14px;
    margin-top: 4px
}

.solpage .cta-btn {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #2b7cff, #7a5fe8);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    padding: 12px 30px;
    border-radius: 12px;
    transition: transform .18s, box-shadow .18s;
    box-shadow: 0 8px 22px rgba(31, 110, 247, .3)
}

.solpage .cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(31, 110, 247, .42)
}

.solpage .cta-btn svg {
    width: 15px;
    height: 15px
}

.solpage .site-footer {
    background: #fff;
    border-top: 1px solid var(--line);
    margin-top: 14px
}

.solpage .sf-main {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns:290px 1fr 250px;
    gap: 44px;
    padding: 44px 20px 30px
}

.solpage .sf-logo .lg {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 9px;
    border-radius: 9px;
    background: linear-gradient(135deg, #2b7cff, #6a4ff0);
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 1px
}

.solpage .sf-intro {
    font-size: 13px;
    color: var(--ink-3);
    line-height: 1.85;
    margin-top: 14px
}

.solpage .sf-cols {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 12px
}

.solpage .sf-col .col-t {
    font-size: 14.5px;
    font-weight: 700;
    color: var(--ink);
    margin-bottom: 12px
}

.solpage .sf-col a {
    display: block;
    font-size: 13px;
    color: #5c6673;
    padding: 4.5px 0;
    transition: color .15s
}

.solpage .sf-col a:hover {
    color: var(--brand)
}

.solpage .sf-contact {
    text-align: right
}

.solpage .sf-tel {
    font-size: 22px;
    font-weight: 700;
    color: var(--brand)
}

.solpage .sf-tel-sub {
    font-size: 12px;
    color: var(--ink-3);
    margin: 2px 0 16px
}

.solpage .sf-qrs {
    display: flex;
    gap: 14px;
    justify-content: flex-end
}

.solpage .qr {
    text-align: center
}

.solpage .qr .qr-img {
    display: block;
    width: 92px;
    height: 92px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: #fff;
    padding: 8px
}

.solpage .qr svg {
    width: 100%;
    height: 100%;
    display: block
}

.solpage .qr em {
    display: block;
    font-style: normal;
    font-size: 12px;
    color: var(--ink-3);
    margin-top: 6px
}

.solpage .sf-links {
    max-width: 1200px;
    margin: 0 auto;
    padding: 14px 20px;
    border-top: 1px solid #f0f1f4;
    font-size: 13px;
    color: var(--ink-3)
}

.solpage .sf-links a {
    color: var(--ink-2)
}

.solpage .sf-links a:hover {
    color: var(--brand)
}

.solpage .sf-icp {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px 22px;
    font-size: 12.5px;
    color: var(--ink-3)
}

.solpage .sf-icp a {
    color: var(--ink-3)
}

.solpage .sf-icp a:hover {
    color: var(--brand)
}

@media (max-width: 1120px) {
    .solpage .sh-nav {
        gap: 16px
    }

    .solpage .sh-phone {
        display: none
    }
}

@media (max-width: 980px) {
    .solpage .grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 900px) {
    .solpage .filter-wrap {
        top: 64px
    }

    .solpage .sh-nav {
        display: none
    }

    .solpage .filter button {
        flex: 0 0 auto
    }
}

@media (max-width: 760px) {
    .solpage .sf-main {
        grid-template-columns:1fr;
        gap: 30px
    }

    .solpage .sf-contact {
        text-align: left
    }

    .solpage .sf-qrs {
        justify-content: flex-start
    }

    .solpage .sf-cols {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 620px) {
    .solpage .grid {
        grid-template-columns:1fr
    }

    .solpage .hero h1 .comma {
        display: none
    }

    .solpage .hero h1 .grad {
        display: block;
        margin-top: 6px
    }

    .solpage .hero h1 {
        font-size: 26px
    }

    .solpage .hero-stats {
        grid-template-columns:repeat(2, 1fr);
        gap: 14px 0;
        padding: 16px 8px
    }

    .solpage .hero-stats .st:nth-child(odd)::before {
        display: none
    }

    .solpage .hero-stats .st:nth-child(n+3)::after {
        content: "";
        position: absolute;
        left: 20%;
        right: 20%;
        top: -8px;
        height: 1px;
        background: #dfe5f0
    }

    .solpage .cover {
        height: 188px
    }

    .solpage .cover .art {
        left: 38%;
        width: 53%;
        top: 16px
    }

    .solpage .cov-title h3 {
        font-size: 17px
    }

    .solpage .filter button {
        padding: 8px 14px;
        font-size: 13px
    }

    .solpage .cta-in {
        flex-direction: column;
        text-align: center;
        padding: 30px 22px;
        gap: 14px
    }

    .solpage .cta-text {
        text-align: center
    }

    .solpage .cta-btn {
        margin-top: 4px
    }
}

@media (prefers-reduced-motion: reduce) {
    .solpage * {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto
    }
}
