.numbered-sections-container {
    background: transparent
}

.numbered-sections-container .hero-stats-full {
    margin: 40px 0 0;
    background: transparent
}

.numbered-sections-container.has-stats-full-v2 .hero-stats-full {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 0
}

.numbered-sections-container .btn-wrapper {
    margin-top: 32px
}

.ns-items {
    display: flex;
    flex-direction: column;
    margin-top: 56px
}

.ns-item {
    display: grid;
    grid-template-columns: 260px 1fr;
    border-bottom: 1px solid var(--battleship-gray-a20)
}

.ns-item:last-child {
    border-bottom: none
}

.ns-item:hover .ns-number {
    color: var(--ns-border)
}

.ns-number-col {
    display: flex;
    align-items: flex-start;
    padding: 56px 0
}

.ns-content-col {
    padding: 36px 0;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.ns-item:first-child .ns-number-col,
.ns-item:first-child .ns-content-col {
    padding-top: 0
}

.ns-number {
    font-size: 6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -5px;
    color: var(--battleship-gray-a20);
    user-select: none;
    transition: color .2s
}

.ns-item-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--oxford-blue);
    margin: 0;
    line-height: 1.25
}

.ns-col-label,
.ns-note-label,
.ns-tags-label {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--ns-accent)
}

.ns-tags-label {
    margin-bottom: 12px;
    width: 100%
}

.ns-col-heading {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--oxford-blue);
    line-height: 1.3;
}

.ns-stats {
    display: flex;
    border: 1px solid var(--ns-border);
    border-radius: 14px;
    overflow: hidden;
    margin-top: 8px
}

.ns-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 24px 28px;
    background: var(--ns-fill);
    border-right: 1px solid var(--ns-border);
    transition: background .2s
}

.ns-stat:last-child {
    border-right: none
}

.ns-stat:hover {
    background: var(--ns-fill-h)
}

.ns-stat-label {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .09em;
    color: var(--ns-accent)
}

.ns-stat-value-row {
    display: flex;
    align-items: baseline;
    gap: 3px
}

.ns-stat-value {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1;
    color: var(--oxford-blue)
}

.ns-stat-unit {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--ns-accent)
}

.ns-comparison {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-top: 8px
}

.ns-comparison-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 18px 20px;
    background: var(--ns-fill);
    border: 1px solid var(--ns-border);
    border-radius: 12px;
    transition: background .2s, transform .2s
}

.ns-comparison-col:hover {
    background: var(--ns-fill-h);
    transform: translateY(-2px)
}

.ns-table {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--ns-border);
    border-radius: 12px;
    overflow: hidden;
    margin-top: 8px
}

.ns-table-row {
    display: grid;
    grid-template-columns: minmax(100px, 170px) 1fr;
    gap: 16px;
    align-items: baseline;
    padding: 16px 22px;
    border-bottom: 1px solid var(--ns-border)
}

.ns-table-row:nth-child(odd) {
    background: var(--ns-fill)
}

.ns-table-row:last-child {
    border-bottom: none
}

.ns-table-key {
    font-size: .88rem;
    font-weight: 700;
    color: var(--ns-accent)
}

.ns-note {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 28px;
    background: var(--ns-fill, #f9fafb);
    border: 1px solid var(--ns-border, #e5e7eb);
    border-left: 4px solid var(--ns-accent, #6b7280);
    border-radius: 0 12px 12px 0;
    margin-top: 32px
}

.ns-note-text a.inline-link2 {
    color: var(--ns-accent);
    text-decoration: none
}

.ns-note-text a.inline-link2:hover {
    color: var(--ns-accent);
    text-decoration: underline 2px
}

.ns-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px
}

.ns-tag {
    display: inline-flex;
    align-items: center;
    padding: 7px 16px;
    font-size: .82rem;
    font-weight: 500;
    color: var(--ns-accent);
    background: var(--ns-fill);
    border: 1px solid var(--ns-border);
    border-radius: 100px;
    white-space: nowrap;
    transition: background .15s, transform .15s
}

.ns-tag:hover {
    background: var(--ns-fill-h);
    transform: translateY(-1px)
}

.ns-tag.ns-tag-highlight {
    background: var(--ns-accent);
    border-color: var(--ns-accent);
    color: var(--white);
    font-weight: 600
}

.ns-tag.ns-tag-highlight:hover {
    background: var(--ns-accent-d);
    border-color: var(--ns-accent-d)
}

.ns-cards-wrapper {
    margin-top: 56px
}

.ns-cards-label {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--oxford-blue);
    margin: 0 0 24px
}

.ns-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.ns-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--ns-border, #e5e7eb);
    border-radius: 12px;
    background: var(--ns-fill, #f9fafb);
    transition: transform .2s
}

.ns-card:hover {
    transform: translateY(-3px)
}

.ns-card .card-subtext {
    color: var(--ns-accent)
}

.ns-card-icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    background: var(--white);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(29, 136, 237, 0.1);
    flex-shrink: 0
}

.ns-card-icon-box img {
    width: 40px;
    height: 40px
}

.ns-items-2col .ns-items {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.ns-items-2col .ns-item {
    grid-template-columns: 100px 1fr;
    border-right: 1px solid var(--battleship-gray-a20);
    border-bottom: 1px solid var(--battleship-gray-a20);
    padding: 32px
}

.ns-items-2col .ns-item:nth-child(2n) {
    border-right: none
}

.ns-items-2col .ns-item:nth-last-child(-n+2) {
    border-bottom: none
}

.ns-items-2col .ns-number-col,
.ns-items-2col .ns-content-col {
    padding: 0
}

.ns-items-2col .ns-number {
    font-size: 3rem;
    letter-spacing: -2px
}

.theme-blue {
    --ns-fill: #eff6ff;
    --ns-fill-h: #dbeafe;
    --ns-border: #bfdbfe;
    --ns-accent: #2563eb;
    --ns-accent-d: #1d4ed8
}

.theme-green {
    --ns-fill: #f0fdf4;
    --ns-fill-h: #dcfce7;
    --ns-border: #86efac;
    --ns-accent: #16a34a;
    --ns-accent-d: #15803d
}

.theme-yellow {
    --ns-fill: #fffbeb;
    --ns-fill-h: #fef3c7;
    --ns-border: #fcd34d;
    --ns-accent: #d97706;
    --ns-accent-d: #b45309
}

.theme-purple {
    --ns-fill: #faf5ff;
    --ns-fill-h: #f3e8ff;
    --ns-border: #d8b4fe;
    --ns-accent: #7c3aed;
    --ns-accent-d: #6d28d9
}

.theme-red {
    --ns-fill: #fff1f2;
    --ns-fill-h: #ffe4e6;
    --ns-border: #fda4af;
    --ns-accent: #e11d48;
    --ns-accent-d: #be123c
}

.theme-cyan {
    --ns-fill: #ecfeff;
    --ns-fill-h: #cffafe;
    --ns-border: #67e8f9;
    --ns-accent: #0891b2;
    --ns-accent-d: #0e7490
}

.theme-orange {
    --ns-fill: #fff7ed;
    --ns-fill-h: #ffedd5;
    --ns-border: #fdba74;
    --ns-accent: #ea580c;
    --ns-accent-d: #c2410c
}

.theme-pink {
    --ns-fill: #fdf2f8;
    --ns-fill-h: #fce7f3;
    --ns-border: #f9a8d4;
    --ns-accent: #db2777;
    --ns-accent-d: #be185d
}

.theme-mod1 {
    --ns-fill: #FFF9F2;
    --ns-fill-h: #fef3c7;
    --ns-border: #FCDE9C;
    --ns-accent: #d97706;
    --ns-accent-d: #b45309
}

.theme-mod2 {
    --ns-fill: #F0FFF8;
    --ns-fill-h: #dcfce7;
    --ns-border: #C2F8CB;
    --ns-accent: #16a34a;
    --ns-accent-d: #15803d
}

.theme-mod3 {
    --ns-fill: #FFFEF2;
    --ns-fill-h: #fef9c3;
    --ns-border: #FFE97F;
    --ns-accent: #ca8a04;
    --ns-accent-d: #a16207
}

.theme-mod4 {
    --ns-fill: #eafdf9;
    --ns-fill-h: #ccfbf1;
    --ns-border: #85fce6;
    --ns-accent: #0891b2;
    --ns-accent-d: #0e7490
}

.ns-note[class*="theme-"],
.ns-comparison-col[class*="theme-"] {
    background: var(--ns-fill);
    border-color: var(--ns-border)
}

.ns-note[class*="theme-"] {
    border-left-color: var(--ns-accent)
}

.ns-item:nth-child(6n+1) {
    --ns-fill: #eff6ff;
    --ns-fill-h: #dbeafe;
    --ns-border: #bfdbfe;
    --ns-accent: #2563eb;
    --ns-accent-d: #1d4ed8
}

.ns-item:nth-child(6n+2) {
    --ns-fill: #f0fdf4;
    --ns-fill-h: #dcfce7;
    --ns-border: #86efac;
    --ns-accent: #16a34a;
    --ns-accent-d: #15803d
}

.ns-item:nth-child(6n+3) {
    --ns-fill: #fffbeb;
    --ns-fill-h: #fef3c7;
    --ns-border: #fcd34d;
    --ns-accent: #d97706;
    --ns-accent-d: #b45309
}

.ns-item:nth-child(6n+4) {
    --ns-fill: #faf5ff;
    --ns-fill-h: #f3e8ff;
    --ns-border: #d8b4fe;
    --ns-accent: #7c3aed;
    --ns-accent-d: #6d28d9
}

.ns-item:nth-child(6n+5) {
    --ns-fill: #fff1f2;
    --ns-fill-h: #ffe4e6;
    --ns-border: #fda4af;
    --ns-accent: #e11d48;
    --ns-accent-d: #be123c
}

.ns-item:nth-child(6n+6) {
    --ns-fill: #ecfeff;
    --ns-fill-h: #cffafe;
    --ns-border: #67e8f9;
    --ns-accent: #0891b2;
    --ns-accent-d: #0e7490
}

@media (max-width: 1080px) {
    .ns-item {
        grid-template-columns: 160px 1fr
    }

    .ns-number {
        font-size: 4.2rem;
        letter-spacing: -3px
    }

    .ns-number-col,
    .ns-content-col {
        padding: 44px 0
    }

    .ns-item-title {
        font-size: 1.35rem
    }
}

@media (max-width: 768px) {
    .ns-items {
        margin-top: 40px
    }

    .ns-item {
        display: flex;
        flex-direction: column;
        padding: 32px 0
    }

    .ns-item:first-child {
        padding-top: 0
    }

    .ns-number-col {
        padding: 0 0 8px
    }

    .ns-content-col {
        padding: 0;
        gap: 14px
    }

    .ns-number {
        font-size: 2.6rem;
        letter-spacing: -2px
    }

    .ns-item-title {
        font-size: 1.2rem
    }

    .ns-stats {
        flex-direction: column
    }

    .ns-stat {
        border-right: none;
        border-bottom: 1px solid var(--ns-border)
    }

    .ns-stat:last-child {
        border-bottom: none
    }

    .ns-stat-value {
        font-size: 1.8rem
    }

    .ns-table-row {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 14px 16px
    }

    .ns-items-2col .ns-items {
        grid-template-columns: 1fr
    }

    .ns-items-2col .ns-item {
        border-right: none;
        padding: 24px 0
    }

    .ns-cards {
        grid-template-columns: 1fr
    }

    .ns-items-2col .ns-number-col {
        padding: 0 0 8px
    }

    .ns-items-2col .ns-item:nth-last-child(-n+2) {
        border-bottom: 1px solid var(--battleship-gray-a20)
    }

    .ns-items-2col .ns-item:last-child {
        border-bottom: none
    }
}

@media (max-width: 500px) {
    .ns-number {
        font-size: 1.9rem;
        letter-spacing: -1px
    }

    .ns-item-title {
        font-size: 1.1rem
    }

    .ns-stat {
        padding: 14px 16px
    }

    .ns-stat-value {
        font-size: 1.6rem
    }

    .ns-tag {
        font-size: .78rem;
        padding: 5px 12px
    }

    .numbered-sections-container .btn-wrapper {
        margin-top: 24px
    }
}