.np-section {
    position: relative;
    isolation: isolate;
    width: 100%;
    padding-block: var(--np-section-padding-y, clamp(3rem, 7vw, 7rem));
    padding-inline: var(--np-section-padding-x, 0);
    background: var(--np-section-background, var(--np-color-background, #f8fafc));
    color: var(--np-color-text, #334155);
}

.np-section:first-child {
    margin-block-start: 0;
}

.np-section:last-child {
    margin-block-end: 0;
}

.np-section-sm {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.np-section-md {
    padding-block: var(--np-section-padding-y, clamp(3rem, 7vw, 7rem));
}

.np-section-lg {
    padding-block: clamp(4rem, 9vw, 9rem);
}

.np-section-xl {
    padding-block: clamp(5rem, 11vw, 11rem);
}

.np-section-none {
    padding-block: 0;
}

.np-section-top-none {
    padding-block-start: 0;
}

.np-section-bottom-none {
    padding-block-end: 0;
}

.np-section-top-sm {
    padding-block-start: clamp(2rem, 5vw, 4rem);
}

.np-section-bottom-sm {
    padding-block-end: clamp(2rem, 5vw, 4rem);
}

.np-section-top-lg {
    padding-block-start: clamp(4rem, 9vw, 9rem);
}

.np-section-bottom-lg {
    padding-block-end: clamp(4rem, 9vw, 9rem);
}

.np-section-surface {
    background: var(--np-color-surface, #ffffff);
}

.np-section-soft {
    background: var(--np-color-background-soft, #f1f5f9);
}

.np-section-muted {
    background: var(--np-color-background-muted, #e2e8f0);
}

.np-section-glass {
    background: var(--np-glass-background, rgba(255, 255, 255, 0.76));
    backdrop-filter: var(--np-glass-backdrop-filter, blur(16px));
}

.np-section-gradient {
    background: var(--np-gradient-soft, linear-gradient(180deg, #f8fafc 0%, #ffffff 100%));
}

.np-section-gradient-primary {
    background: var(--np-gradient-primary, linear-gradient(135deg, #4f46e5 0%, #38bdf8 100%));
    color: var(--np-color-white, #ffffff);
}

.np-section-gradient-creative {
    background: var(--np-gradient-creative, linear-gradient(135deg, #38bdf8 0%, #2dd4bf 100%));
    color: var(--np-color-heading, #0f172a);
}

.np-section-gradient-cta {
    background: var(--np-gradient-cta, linear-gradient(135deg, #a3e635 0%, #2dd4bf 100%));
    color: var(--np-color-heading, #0f172a);
}

.np-section-dark {
    background: var(--np-gradient-dark, linear-gradient(135deg, #0f172a 0%, #1e293b 100%));
    color: var(--np-color-text-inverse, #ffffff);
}

.np-section-hero-bg {
    background: var(--np-hero-background, var(--np-gradient-hero, linear-gradient(135deg, #f8fafc 0%, #ffffff 100%)));
}

.np-section-pattern {
    overflow: hidden;
}

.np-section-pattern::before {
    position: absolute;
    inset: 0;
    z-index: var(--np-z-index-negative, -1);
    pointer-events: none;
    background-image:
        linear-gradient(rgba(var(--np-color-primary-rgb), 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(var(--np-color-primary-rgb), 0.08) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 86%);
    content: "";
}

.np-section-radial {
    overflow: hidden;
}

.np-section-radial::before {
    position: absolute;
    inset-block-start: -18%;
    inset-inline-end: -8%;
    z-index: var(--np-z-index-negative, -1);
    width: min(48vw, 620px);
    height: min(48vw, 620px);
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--np-color-primary-rgb), 0.18) 0%, rgba(var(--np-color-sky-rgb), 0.12) 38%, transparent 70%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-section-radial::after {
    position: absolute;
    inset-block-end: -20%;
    inset-inline-start: -10%;
    z-index: var(--np-z-index-negative, -1);
    width: min(44vw, 560px);
    height: min(44vw, 560px);
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--np-color-teal-rgb), 0.16) 0%, rgba(var(--np-color-lime-rgb), 0.1) 36%, transparent 70%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-section-border-top {
    border-block-start: var(--np-border, 1px solid #e2e8f0);
}

.np-section-border-bottom {
    border-block-end: var(--np-border, 1px solid #e2e8f0);
}

.np-section-border {
    border-block: var(--np-border, 1px solid #e2e8f0);
}

.np-section-rounded {
    border-radius: var(--np-radius-3xl, 2rem);
}

.np-section-rounded-top {
    border-start-start-radius: var(--np-radius-3xl, 2rem);
    border-start-end-radius: var(--np-radius-3xl, 2rem);
}

.np-section-rounded-bottom {
    border-end-start-radius: var(--np-radius-3xl, 2rem);
    border-end-end-radius: var(--np-radius-3xl, 2rem);
}

.np-section-overflow-hidden {
    overflow: hidden;
}

.np-section-overflow-visible {
    overflow: visible;
}

.np-section-stack {
    display: grid;
    gap: var(--np-section-gap, clamp(2rem, 5vw, 4rem));
}

.np-section-stack-sm {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
}

.np-section-stack-lg {
    display: grid;
    gap: clamp(3rem, 6vw, 5rem);
}

.np-section-inner {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    width: 100%;
}

.np-section-header {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    display: grid;
    gap: var(--np-spacing-md, 1rem);
    max-width: var(--np-section-header-width, 760px);
    margin-block-end: var(--np-section-header-margin, clamp(2rem, 5vw, 4rem));
}

.np-section-header-center {
    margin-inline: auto;
    text-align: center;
}

.np-section-header-start {
    margin-inline-end: auto;
    text-align: start;
}

.np-section-header-end {
    margin-inline-start: auto;
    text-align: end;
}

.np-section-header-split {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.55fr);
    gap: var(--np-grid-gap, 1.5rem);
    align-items: end;
    max-width: none;
}

.np-section-header-split .np-section-description {
    justify-self: end;
    max-width: 52ch;
}

.np-section-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: var(--np-spacing-xs, 0.5rem);
    width: fit-content;
    color: var(--np-section-kicker-color, var(--np-color-primary, #4f46e5));
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-sm, 0.875rem);
    font-weight: var(--np-font-weight-extrabold, 800);
    line-height: var(--np-line-height-snug, 1.5);
}

.np-section-header-center .np-section-kicker {
    margin-inline: auto;
    justify-content: center;
}

.np-section-kicker::before {
    width: 0.625rem;
    height: 0.625rem;
    background: var(--np-color-teal, #2dd4bf);
    border-radius: var(--np-radius-circle, 50%);
    box-shadow: 0 0 0 0.375rem rgba(var(--np-color-teal-rgb), 0.14);
    content: "";
}

.np-section-title {
    margin: 0;
    color: var(--np-section-title-color, var(--np-color-heading, #0f172a));
    font-family: var(--np-heading-font-family, Tahoma, Arial, sans-serif);
    font-size: clamp(var(--np-font-size-3xl, 1.875rem), 4vw, var(--np-font-size-5xl, 3rem));
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-tight, 1.3);
    letter-spacing: var(--np-letter-spacing-tight, -0.02em);
    text-wrap: balance;
}

.np-section-description {
    margin: 0;
    color: var(--np-section-description-color, var(--np-color-text-muted, #64748b));
    font-size: var(--np-font-size-lg, 1.125rem);
    line-height: var(--np-line-height-relaxed, 1.9);
    text-wrap: pretty;
}

.np-section-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
    margin-block-start: var(--np-spacing-lg, 1.5rem);
}

.np-section-header-center .np-section-actions {
    justify-content: center;
}

.np-section-header-end .np-section-actions {
    justify-content: flex-end;
}

.np-section-body {
    position: relative;
    z-index: var(--np-z-index-content, 10);
}

.np-section-footer {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--np-spacing-sm, 0.75rem);
    margin-block-start: var(--np-section-footer-margin, clamp(2rem, 5vw, 4rem));
}

.np-section-footer-start {
    justify-content: flex-start;
}

.np-section-footer-end {
    justify-content: flex-end;
}

.np-hero-section {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: var(--np-hero-min-height, min(780px, calc(100vh - var(--np-header-height, 88px))));
    padding-block: var(--np-hero-padding-y, clamp(4rem, 8vw, 7rem));
    overflow: hidden;
    background: var(--np-hero-background, var(--np-gradient-hero, linear-gradient(135deg, #f8fafc 0%, #ffffff 100%)));
}

.np-hero-section::before {
    position: absolute;
    inset-block-start: -24%;
    inset-inline-end: -10%;
    z-index: var(--np-z-index-negative, -1);
    width: min(54vw, 720px);
    height: min(54vw, 720px);
    pointer-events: none;
    background: radial-gradient(circle, var(--np-hero-glow-primary, rgba(79, 70, 229, 0.2)) 0%, var(--np-hero-glow-sky, rgba(56, 189, 248, 0.18)) 34%, transparent 72%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-hero-section::after {
    position: absolute;
    inset-block-end: -28%;
    inset-inline-start: -14%;
    z-index: var(--np-z-index-negative, -1);
    width: min(48vw, 620px);
    height: min(48vw, 620px);
    pointer-events: none;
    background: radial-gradient(circle, var(--np-hero-glow-teal, rgba(45, 212, 191, 0.18)) 0%, rgba(var(--np-color-lime-rgb), 0.1) 36%, transparent 72%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-hero-section.is-dark,
.np-hero-section.np-section-dark {
    background: var(--np-gradient-hero-dark, linear-gradient(135deg, #0f172a 0%, #1e293b 100%));
    color: var(--np-color-white, #ffffff);
}

.np-hero-section.is-dark .np-hero-title,
.np-hero-section.is-dark .np-section-title,
.np-hero-section.np-section-dark .np-hero-title,
.np-hero-section.np-section-dark .np-section-title {
    color: var(--np-color-white, #ffffff);
}

.np-hero-section.is-dark .np-hero-description,
.np-hero-section.is-dark .np-section-description,
.np-hero-section.np-section-dark .np-hero-description,
.np-hero-section.np-section-dark .np-section-description {
    color: rgba(255, 255, 255, 0.78);
}

.np-hero-content {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    display: grid;
    gap: var(--np-spacing-lg, 1.5rem);
    max-width: 740px;
}

.np-hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: var(--np-spacing-xs, 0.5rem);
    width: fit-content;
    padding: 0.45rem 0.85rem;
    background: rgba(var(--np-color-primary-rgb), 0.1);
    border: 1px solid rgba(var(--np-color-primary-rgb), 0.14);
    border-radius: var(--np-radius-pill, 999px);
    color: var(--np-hero-kicker-color, var(--np-color-primary, #4f46e5));
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-sm, 0.875rem);
    font-weight: var(--np-font-weight-extrabold, 800);
    line-height: 1.4;
}

.np-hero-kicker::before {
    width: 0.5rem;
    height: 0.5rem;
    background: var(--np-color-lime, #a3e635);
    border-radius: var(--np-radius-circle, 50%);
    box-shadow: 0 0 0 0.35rem rgba(var(--np-color-lime-rgb), 0.16);
    content: "";
}

.np-hero-title {
    margin: 0;
    color: var(--np-hero-title-color, var(--np-color-heading, #0f172a));
    font-family: var(--np-display-font-family, Tahoma, Arial, sans-serif);
    font-size: var(--np-hero-title-size, clamp(2.5rem, 6vw, 4.75rem));
    font-weight: var(--np-display-font-weight, 900);
    line-height: var(--np-display-line-height, 1.3);
    letter-spacing: var(--np-letter-spacing-tight, -0.02em);
    text-wrap: balance;
}

.np-hero-description {
    max-width: 68ch;
    margin: 0;
    color: var(--np-hero-description-color, var(--np-color-text-muted, #64748b));
    font-size: var(--np-hero-description-size, 1.125rem);
    line-height: var(--np-line-height-relaxed, 1.9);
    text-wrap: pretty;
}

.np-hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-sm, 0.75rem);
    margin-block-start: var(--np-spacing-sm, 0.75rem);
}

.np-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--np-spacing-md, 1rem);
    margin-block-start: var(--np-spacing-sm, 0.75rem);
    color: var(--np-color-text-muted, #64748b);
    font-size: var(--np-font-size-sm, 0.875rem);
    font-weight: var(--np-font-weight-semibold, 600);
}

.np-hero-visual {
    position: relative;
    z-index: var(--np-z-index-content, 10);
}

.np-hero-card {
    position: relative;
    overflow: hidden;
    padding: var(--np-card-padding, 2rem);
    background: var(--np-hero-surface, rgba(255, 255, 255, 0.78));
    border: var(--np-border, 1px solid #e2e8f0);
    border-color: var(--np-hero-border-color, rgba(203, 213, 225, 0.76));
    border-radius: var(--np-hero-card-radius, var(--np-radius-3xl, 2rem));
    box-shadow: var(--np-hero-card-shadow, var(--np-shadow-lg, 0 24px 70px rgba(15, 23, 42, 0.14)));
    backdrop-filter: blur(var(--np-blur-md, 16px));
}

.np-page-title-section {
    position: relative;
    isolation: isolate;
    padding-block: var(--np-page-title-padding-y, clamp(3rem, 7vw, 6rem));
    overflow: hidden;
    background: var(--np-page-title-background, var(--np-gradient-soft, linear-gradient(180deg, #f8fafc 0%, #ffffff 100%)));
}

.np-page-title-section::before {
    position: absolute;
    inset-block-start: -24%;
    inset-inline-end: -12%;
    z-index: var(--np-z-index-negative, -1);
    width: min(42vw, 520px);
    height: min(42vw, 520px);
    background: radial-gradient(circle, rgba(var(--np-color-primary-rgb), 0.14) 0%, rgba(var(--np-color-sky-rgb), 0.1) 36%, transparent 72%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-page-title-content {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    display: grid;
    gap: var(--np-spacing-md, 1rem);
    max-width: var(--np-container-content, 960px);
}

.np-page-title-content.is-center {
    margin-inline: auto;
    text-align: center;
}

.np-page-title-content.is-center .np-breadcrumbs,
.np-page-title-content.is-center .np-section-kicker {
    justify-content: center;
    margin-inline: auto;
}

.np-page-title {
    margin: 0;
    color: var(--np-page-title-color, var(--np-color-heading, #0f172a));
    font-family: var(--np-display-font-family, Tahoma, Arial, sans-serif);
    font-size: clamp(var(--np-font-size-4xl, 2.25rem), 5vw, var(--np-font-size-6xl, 4.75rem));
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-tight, 1.3);
    letter-spacing: var(--np-letter-spacing-tight, -0.02em);
    text-wrap: balance;
}

.np-page-title-description {
    max-width: 72ch;
    margin: 0;
    color: var(--np-page-title-description-color, var(--np-color-text-muted, #64748b));
    font-size: var(--np-font-size-lg, 1.125rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-page-title-content.is-center .np-page-title-description {
    margin-inline: auto;
}

.np-cta-section {
    position: relative;
    isolation: isolate;
    padding-block: clamp(3rem, 7vw, 7rem);
    overflow: hidden;
    background: var(--np-gradient-dark, linear-gradient(135deg, #0f172a 0%, #1e293b 100%));
    color: var(--np-color-white, #ffffff);
}

.np-cta-section::before {
    position: absolute;
    inset-block-start: -30%;
    inset-inline-end: -8%;
    z-index: var(--np-z-index-negative, -1);
    width: min(52vw, 680px);
    height: min(52vw, 680px);
    background: radial-gradient(circle, rgba(var(--np-color-sky-rgb), 0.24) 0%, rgba(var(--np-color-teal-rgb), 0.16) 38%, transparent 72%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-cta-section::after {
    position: absolute;
    inset-block-end: -34%;
    inset-inline-start: -12%;
    z-index: var(--np-z-index-negative, -1);
    width: min(46vw, 580px);
    height: min(46vw, 580px);
    background: radial-gradient(circle, rgba(var(--np-color-lime-rgb), 0.16) 0%, rgba(var(--np-color-primary-rgb), 0.12) 40%, transparent 72%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-cta-box {
    position: relative;
    z-index: var(--np-z-index-content, 10);
    display: grid;
    gap: var(--np-spacing-lg, 1.5rem);
    padding: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    overflow: hidden;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: var(--np-radius-3xl, 2rem);
    box-shadow: var(--np-shadow-xl, 0 36px 100px rgba(15, 23, 42, 0.18));
    backdrop-filter: blur(var(--np-blur-md, 16px));
}

.np-cta-box.is-center {
    text-align: center;
}

.np-cta-box.is-center .np-section-description,
.np-cta-box.is-center .np-hero-description {
    margin-inline: auto;
}

.np-cta-box .np-section-title,
.np-cta-box .np-hero-title,
.np-cta-box h1,
.np-cta-box h2,
.np-cta-box h3 {
    color: var(--np-color-white, #ffffff);
}

.np-cta-box .np-section-description,
.np-cta-box p {
    color: rgba(255, 255, 255, 0.78);
}

.np-cta-box .np-section-actions,
.np-cta-box .np-hero-actions {
    margin-block-start: 0;
}

.np-cta-box.is-center .np-section-actions,
.np-cta-box.is-center .np-hero-actions {
    justify-content: center;
}

.np-split-section {
    position: relative;
    isolation: isolate;
    padding-block: var(--np-section-padding-y, clamp(3rem, 7vw, 7rem));
    background: var(--np-section-background, var(--np-color-background, #f8fafc));
}

.np-split-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
    gap: clamp(var(--np-spacing-xl, 2rem), 6vw, var(--np-spacing-4xl, 6rem));
    align-items: center;
}

.np-split-content.is-start {
    align-items: start;
}

.np-split-content.is-end {
    align-items: end;
}

.np-split-content.is-reverse {
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1fr);
}

.np-split-copy {
    display: grid;
    gap: var(--np-spacing-lg, 1.5rem);
}

.np-split-media {
    position: relative;
}

.np-feature-section {
    position: relative;
    isolation: isolate;
    padding-block: var(--np-section-padding-y, clamp(3rem, 7vw, 7rem));
    background: var(--np-color-background, #f8fafc);
}

.np-feature-band {
    position: relative;
    overflow: hidden;
    padding: clamp(var(--np-spacing-xl, 2rem), 5vw, var(--np-spacing-3xl, 4rem));
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border, 1px solid #e2e8f0);
    border-radius: var(--np-radius-3xl, 2rem);
    box-shadow: var(--np-shadow-sm, 0 8px 24px rgba(15, 23, 42, 0.08));
}

.np-feature-band::before {
    position: absolute;
    inset-block-start: -28%;
    inset-inline-end: -8%;
    width: min(36vw, 420px);
    height: min(36vw, 420px);
    pointer-events: none;
    background: radial-gradient(circle, rgba(var(--np-color-primary-rgb), 0.12) 0%, transparent 70%);
    border-radius: var(--np-radius-circle, 50%);
    content: "";
}

.np-empty-section {
    display: grid;
    place-items: center;
    min-height: 360px;
    padding: var(--np-spacing-2xl, 3rem);
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border, 1px solid #e2e8f0);
    border-style: dashed;
    border-radius: var(--np-radius-3xl, 2rem);
    color: var(--np-color-text-muted, #64748b);
    text-align: center;
}

.np-empty-content {
    display: grid;
    gap: var(--np-spacing-md, 1rem);
    max-width: 520px;
    margin-inline: auto;
}

.np-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    margin-inline: auto;
    background: var(--np-color-primary-soft, #eef2ff);
    border-radius: var(--np-radius-2xl, 1.5rem);
    color: var(--np-color-primary, #4f46e5);
    font-size: var(--np-font-size-2xl, 1.5rem);
}

.np-empty-title {
    margin: 0;
    color: var(--np-color-heading, #0f172a);
    font-family: var(--np-heading-font-family, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-2xl, 1.5rem);
    font-weight: var(--np-font-weight-black, 900);
    line-height: var(--np-line-height-tight, 1.3);
}

.np-empty-description {
    margin: 0;
    color: var(--np-color-text-muted, #64748b);
    font-size: var(--np-font-size-md, 1rem);
    line-height: var(--np-line-height-relaxed, 1.9);
}

.np-scroll-section {
    position: relative;
    overflow: hidden;
}

.np-scroll-section-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: var(--np-scroll-grid-column, minmax(260px, 32%));
    gap: var(--np-grid-gap, 1.5rem);
    overflow-x: auto;
    overflow-y: hidden;
    padding-block-end: var(--np-spacing-sm, 0.75rem);
    scroll-padding-inline: var(--np-container-padding, 2rem);
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
}

.np-scroll-section-track > * {
    scroll-snap-align: start;
}

.np-section-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--np-spacing-xs, 0.5rem);
    margin-block-end: var(--np-spacing-xl, 2rem);
}

.np-section-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--np-button-height-sm, 2.5rem);
    padding-inline: var(--np-button-padding-x-md, 1.25rem);
    background: var(--np-color-surface, #ffffff);
    border: var(--np-border, 1px solid #e2e8f0);
    border-radius: var(--np-radius-pill, 999px);
    color: var(--np-color-text, #334155);
    font-family: var(--np-font-heading, Tahoma, Arial, sans-serif);
    font-size: var(--np-font-size-sm, 0.875rem);
    font-weight: var(--np-font-weight-bold, 700);
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--np-transition-fast, 160ms ease), border-color var(--np-transition-fast, 160ms ease), color var(--np-transition-fast, 160ms ease), transform var(--np-transition-fast, 160ms ease);
}

.np-section-tab:hover,
.np-section-tab:focus {
    transform: translateY(-2px);
    background: var(--np-color-primary-soft, #eef2ff);
    border-color: var(--np-color-primary-subtle, #e0e7ff);
    color: var(--np-color-primary, #4f46e5);
}

.np-section-tab.is-active,
.np-section-tab[aria-selected="true"],
.np-section-tab[aria-pressed="true"] {
    background: var(--np-color-primary, #4f46e5);
    border-color: var(--np-color-primary, #4f46e5);
    color: var(--np-color-white, #ffffff);
}

.np-section-panel[hidden] {
    display: none !important;
}

.np-section-divider {
    position: relative;
    height: 1px;
    margin-block: var(--np-section-gap, clamp(2rem, 5vw, 4rem));
    background: var(--np-color-border-soft, #e2e8f0);
}

.np-section-divider-gradient {
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(var(--np-color-primary-rgb), 0.32) 30%, rgba(var(--np-color-sky-rgb), 0.32) 70%, transparent 100%);
}

.np-section-shape-top,
.np-section-shape-bottom {
    position: absolute;
    inset-inline: 0;
    z-index: var(--np-z-index-base, 1);
    width: 100%;
    pointer-events: none;
    color: var(--np-section-background, var(--np-color-background, #f8fafc));
}

.np-section-shape-top {
    inset-block-start: -1px;
}

.np-section-shape-bottom {
    inset-block-end: -1px;
}

.np-section-shape-top svg,
.np-section-shape-bottom svg {
    display: block;
    width: 100%;
    height: auto;
    fill: currentColor;
}

.np-section-dark .np-section-title,
.np-section-gradient-primary .np-section-title,
.np-section-dark h1,
.np-section-dark h2,
.np-section-dark h3,
.np-section-dark h4,
.np-section-dark h5,
.np-section-dark h6,
.np-section-gradient-primary h1,
.np-section-gradient-primary h2,
.np-section-gradient-primary h3,
.np-section-gradient-primary h4,
.np-section-gradient-primary h5,
.np-section-gradient-primary h6 {
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-section-description,
.np-section-gradient-primary .np-section-description,
.np-section-dark p,
.np-section-gradient-primary p {
    color: rgba(255, 255, 255, 0.78);
}

.np-section-dark .np-section-kicker,
.np-section-gradient-primary .np-section-kicker {
    color: var(--np-color-teal, #2dd4bf);
}

.np-section-dark .np-section-kicker::before,
.np-section-gradient-primary .np-section-kicker::before {
    background: var(--np-color-lime, #a3e635);
}

.np-section-dark .np-section-tab {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.82);
}

.np-section-dark .np-section-tab:hover,
.np-section-dark .np-section-tab:focus {
    background: rgba(255, 255, 255, 0.12);
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-section-tab.is-active,
.np-section-dark .np-section-tab[aria-selected="true"],
.np-section-dark .np-section-tab[aria-pressed="true"] {
    background: var(--np-color-white, #ffffff);
    border-color: var(--np-color-white, #ffffff);
    color: var(--np-color-primary, #4f46e5);
}

.np-section-dark .np-empty-section {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.72);
}

.np-section-dark .np-empty-title {
    color: var(--np-color-white, #ffffff);
}

.np-section-dark .np-empty-description {
    color: rgba(255, 255, 255, 0.72);
}

[data-np-section-theme="primary"] {
    --np-section-background: var(--np-color-primary-soft, #eef2ff);
    --np-section-kicker-color: var(--np-color-primary, #4f46e5);
}

[data-np-section-theme="sky"] {
    --np-section-background: var(--np-color-sky-soft, #e0f2fe);
    --np-section-kicker-color: var(--np-color-sky-active, #0284c7);
}

[data-np-section-theme="teal"] {
    --np-section-background: var(--np-color-teal-soft, #ccfbf1);
    --np-section-kicker-color: var(--np-color-teal-active, #0f766e);
}

[data-np-section-theme="lime"] {
    --np-section-background: var(--np-color-lime-soft, #ecfccb);
    --np-section-kicker-color: var(--np-color-lime-active, #65a30d);
}

[data-np-section-theme="surface"] {
    --np-section-background: var(--np-color-surface, #ffffff);
}

[data-np-section-theme="muted"] {
    --np-section-background: var(--np-color-background-soft, #f1f5f9);
}

[data-np-section-theme="dark"] {
    --np-section-background: var(--np-gradient-dark, linear-gradient(135deg, #0f172a 0%, #1e293b 100%));
    color: var(--np-color-white, #ffffff);
}

@media (max-width: 1024px) {
    .np-section-header-split {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .np-section-header-split .np-section-description {
        justify-self: start;
    }

    .np-hero-section {
        min-height: auto;
    }

    .np-split-content,
    .np-split-content.is-reverse {
        grid-template-columns: 1fr;
    }

    .np-split-content.is-reverse .np-split-copy {
        order: 1;
    }

    .np-split-content.is-reverse .np-split-media {
        order: 2;
    }
}

@media (max-width: 782px) {
    .np-section {
        padding-block: var(--np-section-padding-y, 3rem);
    }

    .np-section-sm {
        padding-block: 2.5rem;
    }

    .np-section-lg,
    .np-section-xl {
        padding-block: 4rem;
    }

    .np-section-header {
        gap: var(--np-spacing-sm, 0.75rem);
        margin-block-end: var(--np-spacing-xl, 2rem);
    }

    .np-section-title {
        font-size: var(--np-font-size-3xl, 1.875rem);
    }

    .np-section-description {
        font-size: var(--np-font-size-md, 1rem);
    }

    .np-section-actions,
    .np-hero-actions,
    .np-section-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .np-section-actions > *,
    .np-hero-actions > *,
    .np-section-footer > * {
        width: 100%;
    }

    .np-hero-section {
        padding-block: var(--np-hero-padding-y, 3rem);
    }

    .np-hero-content {
        gap: var(--np-spacing-md, 1rem);
    }

    .np-hero-title {
        font-size: var(--np-font-size-5xl, 3rem);
    }

    .np-hero-description {
        font-size: var(--np-font-size-md, 1rem);
    }

    .np-hero-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: var(--np-spacing-xs, 0.5rem);
    }

    .np-hero-card {
        padding: var(--np-card-padding, 1.25rem);
        border-radius: var(--np-radius-2xl, 1.5rem);
    }

    .np-page-title-section {
        padding-block: var(--np-page-title-padding-y, 3rem);
    }

    .np-page-title {
        font-size: var(--np-font-size-4xl, 2.25rem);
    }

    .np-page-title-description {
        font-size: var(--np-font-size-md, 1rem);
    }

    .np-cta-box,
    .np-feature-band {
        padding: var(--np-spacing-xl, 2rem);
        border-radius: var(--np-radius-2xl, 1.5rem);
    }

    .np-empty-section {
        min-height: 280px;
        padding: var(--np-spacing-xl, 2rem);
        border-radius: var(--np-radius-2xl, 1.5rem);
    }

    .np-section-tabs {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        margin-inline: calc(var(--np-container-padding, 1rem) * -1);
        padding-inline: var(--np-container-padding, 1rem);
        scroll-padding-inline: var(--np-container-padding, 1rem);
        -webkit-overflow-scrolling: touch;
    }

    .np-section-tab {
        flex: 0 0 auto;
    }

    .np-scroll-section-track {
        margin-inline: calc(var(--np-container-padding, 1rem) * -1);
        padding-inline: var(--np-container-padding, 1rem);
    }
}

@media (max-width: 480px) {
    .np-section {
        padding-block: 2.5rem;
    }

    .np-section-sm {
        padding-block: 2rem;
    }

    .np-section-lg,
    .np-section-xl {
        padding-block: 3.5rem;
    }

    .np-section-title {
        font-size: var(--np-font-size-2xl, 1.5rem);
    }

    .np-hero-title {
        font-size: var(--np-font-size-4xl, 2.25rem);
    }

    .np-hero-kicker,
    .np-section-kicker {
        font-size: var(--np-font-size-xs, 0.75rem);
    }

    .np-page-title {
        font-size: var(--np-font-size-3xl, 1.875rem);
    }

    .np-cta-box,
    .np-feature-band,
    .np-empty-section {
        padding: var(--np-spacing-lg, 1.5rem);
        border-radius: var(--np-radius-xl, 1.25rem);
    }

    .np-empty-icon {
        width: 3.5rem;
        height: 3.5rem;
    }

    .np-empty-title {
        font-size: var(--np-font-size-xl, 1.25rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .np-section-tab,
    .np-hero-card,
    .np-feature-band {
        transition: none !important;
    }
}

@media print {
    .np-section,
    .np-hero-section,
    .np-page-title-section,
    .np-cta-section,
    .np-split-section,
    .np-feature-section {
        padding-block: 1.5rem !important;
        background: #ffffff !important;
        color: #000000 !important;
    }

    .np-section::before,
    .np-section::after,
    .np-hero-section::before,
    .np-hero-section::after,
    .np-page-title-section::before,
    .np-cta-section::before,
    .np-cta-section::after,
    .np-feature-band::before,
    .np-section-shape-top,
    .np-section-shape-bottom {
        display: none !important;
    }

    .np-section-title,
    .np-hero-title,
    .np-page-title,
    .np-empty-title,
    .np-cta-box h1,
    .np-cta-box h2,
    .np-cta-box h3 {
        color: #000000 !important;
    }

    .np-section-description,
    .np-hero-description,
    .np-page-title-description,
    .np-empty-description,
    .np-cta-box p {
        color: #000000 !important;
    }

    .np-cta-box,
    .np-feature-band,
    .np-hero-card,
    .np-empty-section {
        background: #ffffff !important;
        border: 1px solid #000000 !important;
        box-shadow: none !important;
    }
}