/* netSEO Agency Theme */

/* Onest — încărcat din layout (preconnect + link), la fel ca aimers.io */

:root {
    --ns-font-sans: 'Onest', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --ns-font-display: 'Onest', ui-sans-serif, system-ui, -apple-system, sans-serif;
    --ns-flame: #f05423;
    --ns-flame-dark: #e04a1c;
    --ns-flame-glow: rgba(240, 84, 35, 0.35);
    --ns-ink: #0f1419;
    --ns-ink-muted: #5c6670;
    --ns-ink-soft: #8b959e;
    --ns-surface: #ffffff;
    --ns-surface-soft: #f7f8fa;
    --ns-border: #e8ecef;
    --ns-radius: 1rem;
    --ns-radius-lg: 1.25rem;
    --ns-radius-pill: 9999px;
    /* Butoane CTA — colțuri rotunjite moderate (aimers.io), nu pill */
    --ns-radius-btn: 12px;
    --ns-nav-active: #d94e22;
    --ns-footer-bg: linear-gradient(165deg, #1a103d 0%, #2a1a5e 42%, #1f1548 100%);
    --ns-footer-newsletter-bg: linear-gradient(135deg, #5a49b0 0%, #6d5fc4 52%, #5244a8 100%);
    --ns-container: 80rem;
    --ns-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --color-brand-500: var(--ns-flame);
    --color-brand-600: var(--ns-flame-dark);
    --color-brand-700: #c73d14;
}

/* Layout */
html {
    overflow-x: clip;
}

.ns-body {
    font-family: var(--ns-font-sans);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: -0.01em;
    color: var(--ns-ink);
    background: var(--ns-surface);
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ns-main {
    min-width: 0;
    overflow-x: clip;
}

.ns-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ns-display {
    font-family: var(--ns-font-display);
    font-weight: 600;
    letter-spacing: -0.02em;
}

.ns-section {
    padding-block: clamp(2.75rem, 7vw, 5.5rem);
}

.ns-section--soft {
    background: var(--ns-surface-soft);
}

.ns-container {
    width: 100%;
    max-width: var(--ns-container);
    margin-inline: auto;
    padding-inline: clamp(1rem, 4vw, 2rem);
}

/* Header */
.ns-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--ns-border);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
    transition: border-color 0.25s var(--ns-ease), box-shadow 0.25s var(--ns-ease);
}

.ns-header.is-scrolled {
    border-color: var(--ns-border);
    box-shadow: 0 4px 24px -8px rgba(15, 20, 25, 0.08);
}

.ns-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4.25rem;
    min-width: 0;
}

@media (min-width: 1024px) {
    .ns-header__inner {
        min-height: 4.75rem;
    }
}

.ns-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    min-width: 0;
    max-width: min(62vw, 13.5rem);
    text-decoration: none;
}

.ns-logo__img,
.ns-logo img {
    display: block;
    width: auto;
    height: auto;
    max-height: 2.5rem;
    max-width: min(62vw, 200px);
    object-fit: contain;
    object-position: left center;
}

@media (min-width: 640px) {
    .ns-logo {
        max-width: 15rem;
    }

    .ns-logo__img,
    .ns-logo img {
        max-height: 2.75rem;
        max-width: 220px;
    }
}

@media (min-width: 1024px) {
    .ns-logo {
        max-width: 17rem;
    }

    .ns-logo__img,
    .ns-logo img {
        max-height: 3rem;
        max-width: 260px;
    }
}

.ns-logo__text {
    font-family: var(--ns-font-display), sans-serif;
    font-weight: 700;
    font-size: 1.125rem;
    color: var(--ns-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Nav */
.ns-nav {
    display: none;
    flex: 1;
    justify-content: center;
    min-width: 0;
}

@media (min-width: 1024px) {
    .ns-nav {
        display: flex;
    }
}

.ns-nav__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ns-nav__chevron {
    flex-shrink: 0;
    opacity: 0.6;
}

.ns-nav__item {
    position: relative;
}

.ns-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.875rem;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    border-radius: var(--ns-radius-pill);
    transition: color 0.2s, background 0.2s;
    text-decoration: none;
}

.ns-nav__link:hover,
.ns-nav__link.cms-nav-link-active {
    color: var(--ns-ink);
    background: var(--ns-surface-soft);
}

.ns-nav__dropdown {
    position: absolute;
    left: 0;
    top: calc(100% + 0.35rem);
    min-width: 13rem;
    padding: 0.5rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 12px 40px -12px rgba(15, 20, 25, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s var(--ns-ease), transform 0.2s var(--ns-ease), visibility 0.2s;
    pointer-events: none;
}

.ns-nav__item:hover .ns-nav__dropdown,
.ns-nav__item:focus-within .ns-nav__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.ns-nav__dropdown a {
    display: block;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: var(--ns-ink-muted);
    border-radius: 0.5rem;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.ns-nav__dropdown a:hover,
.ns-nav__dropdown a.is-active {
    background: var(--ns-surface-soft);
    color: var(--ns-ink);
}

.ns-nav__dropdown a.is-active {
    color: var(--ns-flame);
    font-weight: 600;
}

/* Responsive utilities (fără Tailwind) */
.ns-show-sm { display: none !important; }
.ns-show-md { display: none !important; }
.ns-hide-mobile { display: none !important; }
.ns-hide-desktop { display: inline-flex !important; }

@media (min-width: 640px) {
    .ns-show-sm { display: inline-flex !important; }
}

@media (min-width: 768px) {
    .ns-show-md { display: inline-flex !important; }
}

@media (min-width: 1024px) {
    .ns-hide-mobile { display: flex !important; }
    .ns-hide-desktop { display: none !important; }
}

/* Mega navigation — desktop (stil agency) */
.ns-header {
    --ns-header-h: 4.25rem;
}

@media (min-width: 1024px) {
    .ns-header {
        --ns-header-h: 4.75rem;
    }
}

.ns-mega-nav {
    flex: 1;
    justify-content: center;
    min-width: 0;
}

.ns-mega-nav__list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.125rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Nav — tipografie aimers.io (~15px, medium) */
.ns-mega-nav__link,
.ns-mega-nav__trigger {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.5rem 0.875rem;
    font-size: 0.9375rem;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: var(--ns-ink);
    text-decoration: none;
    border: none;
    background: transparent;
    border-radius: 0;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.2s var(--ns-ease);
    white-space: nowrap;
}

.ns-mega-nav__link:hover,
.ns-mega-nav__trigger:hover {
    color: var(--ns-flame);
    background: transparent;
}

/* Pagină activă / mega deschis — portocaliu estompat + linie sub text */
.ns-mega-nav__link.is-active,
.ns-mega-nav__trigger.is-active,
.ns-header.is-mega-open .ns-mega-nav__item.has-mega > .ns-mega-nav__trigger {
    color: var(--ns-nav-active);
    background: transparent;
}

.ns-mega-nav__link.is-active::after,
.ns-mega-nav__trigger.is-active::after,
.ns-header.is-mega-open .ns-mega-nav__item.has-mega > .ns-mega-nav__trigger::after {
    content: '';
    position: absolute;
    left: 0.875rem;
    right: 0.875rem;
    bottom: 0.2rem;
    height: 2px;
    background: var(--ns-flame);
    border-radius: 1px;
}

.ns-mega-nav__chevron {
    transition: transform 0.2s var(--ns-ease);
}

.ns-header.is-mega-open .ns-mega-nav__chevron,
.ns-mega-nav__item.has-mega:hover .ns-mega-nav__chevron {
    transform: rotate(180deg);
}

/* CTA header — „Book a Free Call” (aimers.io): plat, portocaliu, colțuri 12px */
.ns-header-cta,
.ns-btn--call {
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.9375rem;
    line-height: 1.35;
    letter-spacing: -0.01em;
    color: #fff;
    background: var(--ns-flame);
    border: none;
    border-radius: var(--ns-radius-btn);
    box-shadow: none;
    padding: 0.75rem 1.375rem;
    transition: background 0.2s var(--ns-ease), transform 0.2s var(--ns-ease);
}

.ns-header-cta:hover,
.ns-btn--call:hover {
    background: var(--ns-flame-dark);
    color: #fff;
    box-shadow: none;
    transform: translateY(-1px);
}

.ns-header-cta:active,
.ns-btn--call:active {
    transform: translateY(0);
}

/* Mega panel — full width sub header */
.ns-mega {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 90;
    padding: 0 0 1.25rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity 0.2s var(--ns-ease), transform 0.2s var(--ns-ease), visibility 0s linear 0.25s;
}

/* Pod invizibil — mouse-ul poate traversa spațiul dintre „Servicii” și panou */
.ns-mega::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -1.25rem;
    height: 1.25rem;
    pointer-events: auto;
}

.ns-header.is-mega-open .ns-mega,
.ns-header:has(.ns-mega-nav__item.has-mega:hover) .ns-mega,
.ns-header:has(.ns-mega:hover) .ns-mega,
.ns-header:has([data-ns-mega-trigger]:focus-visible) .ns-mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition: opacity 0.2s var(--ns-ease), transform 0.2s var(--ns-ease), visibility 0s;
}

.ns-mega-nav__item.has-mega {
    position: static;
}

@media (max-width: 1023px) {
    .ns-mega {
        display: none !important;
    }
}

.ns-mega__inner {
    padding-inline: clamp(1rem, 4vw, 2rem);
    padding-top: 0.75rem;
}

.ns-mega__grid {
    display: grid;
    gap: 1.5rem 2rem;
    padding: 1.5rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: 1.25rem;
    box-shadow: 0 24px 64px -24px rgba(15, 20, 25, 0.18);
}

@media (min-width: 900px) {
    .ns-mega__grid {
        grid-template-columns: 1fr 1fr 1fr minmax(220px, 0.95fr);
        gap: 1.75rem 2.25rem;
        padding: 1.75rem 2rem;
    }

    .ns-mega__grid--4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.ns-mega__col-head {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.5rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ns-ink);
    text-decoration: none;
    transition: color 0.15s;
}

.ns-mega__col-head:hover {
    color: var(--ns-flame);
}

.ns-mega__col-desc {
    margin: 0 0 1rem;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--ns-ink-soft);
    max-width: 18rem;
}

.ns-mega__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ns-mega__col--compact .ns-mega__links {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.ns-mega__link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    text-decoration: none;
    border-radius: 0.5rem;
    transition: color 0.15s, background 0.15s;
}

.ns-mega__link:hover {
    color: var(--ns-ink);
}

.ns-mega__link.is-active {
    color: var(--ns-flame);
}

.ns-mega-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    border-radius: 0.5rem;
    background: linear-gradient(135deg, rgba(240, 84, 35, 0.14), rgba(240, 84, 35, 0.05));
    color: var(--ns-flame);
}

.ns-mega-icon:has(.ns-mega-icon__logo) {
    background: #fff;
    border: 1px solid rgba(15, 20, 25, 0.08);
    box-shadow: 0 1px 2px rgba(15, 20, 25, 0.04);
}

.ns-mega-icon__svg {
    display: block;
}

.ns-mega-icon__logo {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    object-fit: contain;
}

.ns-mega__featured {
    display: flex;
}

.ns-mega__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 1.25rem;
    background: var(--ns-surface-soft);
    border: 1px solid var(--ns-border);
    border-radius: 1rem;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.ns-mega__card:hover {
    border-color: rgba(240, 84, 35, 0.35);
    box-shadow: 0 8px 28px -12px rgba(240, 84, 35, 0.2);
}

.ns-mega__card-badge {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ns-flame);
}

.ns-mega__card-title {
    display: block;
    margin-top: 0.5rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ns-ink);
}

.ns-mega__card-text {
    margin: 0.5rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
    flex: 1;
}

.ns-mega__card-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ns-flame);
}

/* Drawer mega — mobil */
.ns-drawer-mega {
    padding: 0.5rem 0 1rem 0.75rem;
}

.ns-drawer-mega[hidden] {
    display: none;
}

.ns-drawer-mega__group {
    margin-bottom: 1rem;
}

.ns-drawer-mega__title {
    display: block;
    margin-bottom: 0.35rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ns-ink);
    text-decoration: none;
}

.ns-drawer-mega__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ns-drawer-mega__link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0;
    font-size: 0.875rem;
    color: var(--ns-ink-muted);
    text-decoration: none;
}

.ns-drawer-mega__link.is-active {
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-drawer-mega__link .ns-mega-icon {
    width: 1.75rem;
    height: 1.75rem;
}

.ns-drawer-mega__link .ns-mega-icon__svg {
    width: 16px;
    height: 16px;
}

.ns-drawer-mega__link .ns-mega-icon__logo {
    width: 1rem;
    height: 1rem;
}

.ns-drawer-mega__card {
    display: block;
    margin-top: 0.5rem;
    padding: 1rem;
    background: var(--ns-surface-soft);
    border: 1px solid var(--ns-border);
    border-radius: 0.75rem;
    text-decoration: none;
    color: var(--ns-ink);
}

.ns-drawer-mega__card-badge {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--ns-flame);
}

.ns-drawer-mega__card strong {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.9375rem;
    line-height: 1.35;
}

/* Mobile menu */
.ns-header__actions {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.ns-header__actions .ns-btn--call {
    flex-shrink: 0;
}

@media (max-width: 389px) {
    .ns-header__actions .ns-btn--primary.ns-show-sm {
        display: none !important;
    }
}

.ns-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--ns-border);
    border-radius: 0.75rem;
    background: var(--ns-surface);
    color: var(--ns-ink);
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    flex-shrink: 0;
}

.ns-menu-toggle:hover {
    background: var(--ns-surface-soft);
}

.ns-menu-toggle__icon--close {
    display: none;
}

.ns-menu-toggle.is-active .ns-menu-toggle__icon--open {
    display: none;
}

.ns-menu-toggle.is-active .ns-menu-toggle__icon--close {
    display: block;
}

.ns-drawer {
    position: fixed;
    inset: 0;
    z-index: 200;
    visibility: hidden;
    pointer-events: none;
}

.ns-drawer.is-open {
    visibility: visible;
    pointer-events: auto;
}

.ns-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 20, 25, 0.45);
    opacity: 0;
    transition: opacity 0.3s var(--ns-ease);
}

.ns-drawer.is-open .ns-drawer__backdrop {
    opacity: 1;
}

.ns-drawer__panel {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    width: min(100%, 22rem);
    max-width: 100%;
    height: 100%;
    height: 100dvh;
    background: var(--ns-surface);
    transform: translateX(100%);
    transition: transform 0.35s var(--ns-ease);
    box-shadow: -8px 0 40px rgba(15, 20, 25, 0.12);
    overscroll-behavior: contain;
}

.ns-drawer.is-open .ns-drawer__panel {
    transform: translateX(0);
}

.ns-drawer__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--ns-border);
    flex-shrink: 0;
}

.ns-drawer__nav {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem 1.25rem;
    -webkit-overflow-scrolling: touch;
}

.ns-drawer__list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ns-drawer__item {
    border-bottom: 1px solid var(--ns-border);
}

.ns-drawer__item:last-child {
    border-bottom: none;
}

.ns-drawer__row {
    display: flex;
    align-items: stretch;
}

.ns-drawer__link {
    flex: 1;
    display: block;
    padding: 0.875rem 0;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--ns-ink);
    text-decoration: none;
    transition: color 0.2s var(--ns-ease);
}

.ns-drawer__link:hover {
    color: var(--ns-flame);
}

.ns-drawer__link.is-active {
    color: var(--ns-nav-active);
}

.ns-drawer__expand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    flex-shrink: 0;
    padding: 0;
    border: none;
    border-left: 1px solid var(--ns-border);
    background: transparent;
    color: var(--ns-ink-muted);
    cursor: pointer;
    transition: transform 0.2s var(--ns-ease), color 0.2s;
}

.ns-drawer__expand.is-expanded {
    transform: rotate(180deg);
    color: var(--ns-flame);
}

.ns-drawer__sub {
    margin: 0;
    padding: 0 0 0.75rem 1rem;
    list-style: none;
    border-left: 2px solid var(--ns-border);
}

.ns-drawer__sub[hidden] {
    display: none;
}

.ns-drawer__sublink {
    display: block;
    padding: 0.5rem 0;
    font-size: 0.9375rem;
    color: var(--ns-ink-muted);
    text-decoration: none;
}

.ns-drawer__sublink.is-active {
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-drawer__foot {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    padding: 1rem 1.25rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--ns-border);
    background: var(--ns-surface-soft);
}

.ns-btn--block {
    width: 100%;
}

/* Buttons — aimers.io: plat, fără gradient/glow, border-radius moderat */
.ns-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.01em;
    border-radius: var(--ns-radius-btn);
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-shadow: none;
    transition: transform 0.2s var(--ns-ease), background 0.2s var(--ns-ease), color 0.2s, border-color 0.2s;
}

.ns-btn:hover {
    transform: translateY(-1px);
}

.ns-btn--primary {
    background: var(--ns-flame);
    color: #fff;
    box-shadow: none;
}

.ns-btn--primary:hover {
    background: var(--ns-flame-dark);
    color: #fff;
    box-shadow: none;
}

.ns-btn--secondary {
    background: var(--ns-surface);
    color: var(--ns-ink);
    border: 1px solid var(--ns-border);
}

.ns-btn--secondary:hover {
    border-color: var(--ns-ink-soft);
    background: var(--ns-surface-soft);
}

.ns-btn--ghost {
    background: transparent;
    color: var(--ns-ink-muted);
}

.ns-btn--ghost:hover {
    color: var(--ns-flame);
}

.ns-btn--sm {
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
}

/* Hero banner — full width cu margini laterale (aimers.io) */
.ns-hero--banner {
    --ns-hero-violet: #2a1a5e;
    --ns-hero-violet-deep: #1a103d;
    --ns-hero-violet-glow: #4c2a85;
    --ns-hero-side: clamp(0.75rem, 2vw, 2rem);
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin-inline: 0;
    padding-block: clamp(1.25rem, 2.5vw, 2rem) clamp(1rem, 2vw, 1.5rem);
    padding-inline: var(--ns-hero-side);
    background: var(--ns-surface);
}

/* Fără .ns-container — evită limitarea 80rem din cms-layout-boxed */
.ns-hero__frame {
    width: 100%;
    max-width: none;
    margin-inline: auto;
}

.ns-hero__shell {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    overflow: hidden;
    border-radius: clamp(1.25rem, 2vw, 1.75rem);
    background: linear-gradient(118deg, var(--ns-hero-violet-deep) 0%, var(--ns-hero-violet) 38%, var(--ns-hero-violet-glow) 100%);
    box-shadow:
        0 4px 6px -2px rgba(26, 16, 61, 0.12),
        0 24px 48px -16px rgba(26, 16, 61, 0.35);
}

.ns-hero__shell::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 80% 60% at 100% 0%, rgba(240, 84, 35, 0.14) 0%, transparent 55%),
        radial-gradient(ellipse 50% 40% at 0% 100%, rgba(255, 255, 255, 0.06) 0%, transparent 50%);
    pointer-events: none;
}

.ns-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2rem;
    align-items: center;
    padding: clamp(1.75rem, 5vw, 3rem) clamp(1.25rem, 4vw, 3rem);
}

@media (min-width: 1024px) {
    .ns-hero--banner .ns-hero__shell {
        min-height: 600px;
    }

    .ns-hero__grid {
        grid-template-columns: 1.05fr 0.95fr;
        gap: 2.5rem;
        min-height: 600px;
        padding: 2.5rem 3rem;
        align-items: center;
    }
}

.ns-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 1rem;
}

.ns-hero__stars {
    letter-spacing: 0.12em;
    font-size: 0.875rem;
    line-height: 1;
    color: #ffb020;
}

.ns-hero__trust-text {
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.72);
}

.ns-hero__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.ns-hero--banner .ns-hero__title {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.875rem, 5.2vw, 3.25rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #fff;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.ns-hero--banner .ns-hero__title em {
    font-style: normal;
    color: #ffb89a;
}

.ns-hero--banner .ns-hero__lead {
    margin-top: 1.25rem;
    max-width: 34rem;
    font-size: clamp(1rem, 2vw, 1.1875rem);
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.78);
}

.ns-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.75rem;
}

.ns-hero__actions .ns-btn {
    border-radius: var(--ns-radius-btn);
    font-size: 1rem;
    font-weight: 600;
    padding: 0.875rem 1.625rem;
    box-shadow: none;
}

.ns-btn--hero-primary {
    background: var(--ns-flame);
    color: #fff;
    border: none;
    box-shadow: none;
}

.ns-btn--hero-primary:hover {
    background: var(--ns-flame-dark);
    color: #fff;
    box-shadow: none;
}

.ns-btn--hero-secondary {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255, 255, 255, 0.45);
    box-shadow: none;
}

.ns-btn--hero-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.65);
    color: #fff;
    box-shadow: none;
}

@media (max-width: 479px) {
    .ns-hero__actions .ns-btn {
        flex: 1 1 100%;
        justify-content: center;
    }
}

.ns-hero__visual {
    min-width: 0;
}

.ns-hero__tiles {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
}

@media (min-width: 480px) {
    .ns-hero__tiles {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ns-hero__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 4.25rem;
    padding: 0.75rem 0.5rem;
    border-radius: 0.75rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
}

.ns-hero__tile-label {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: 0.02em;
}

@media (max-width: 1023px) {
    .ns-hero__visual {
        max-width: 28rem;
    }
}

.ns-stat {
    text-align: center;
    padding: 1rem;
    background: var(--ns-surface-soft);
    border-radius: var(--ns-radius);
}

.ns-stat__value {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.375rem, 4vw, 1.75rem);
    font-weight: 700;
    color: var(--ns-flame);
    line-height: 1.1;
}

.ns-stat__label {
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ns-ink-muted);
}

/* Logo strip */
.ns-logos {
    padding-block: 2.5rem;
    border-block: 1px solid var(--ns-border);
    background: var(--ns-surface-soft);
}

.ns-logos__track {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem 3rem;
}

.ns-logos__item {
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ns-ink-soft);
    opacity: 0.7;
    transition: opacity 0.2s, color 0.2s;
}

.ns-logos__item:hover {
    opacity: 1;
    color: var(--ns-ink-muted);
}

/* Section headers */
.ns-section-head {
    max-width: 42rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
}

.ns-section-head--center {
    text-align: left;
    margin-inline: 0;
}

.ns-eyebrow {
    display: inline-block;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ns-flame);
}

.ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.ns-section-head p {
    margin-top: 0.875rem;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

/* Cards grid */
.ns-grid {
    display: grid;
    gap: 1.25rem;
}

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

.ns-grid--3 {
    grid-template-columns: 1fr;
}

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

@media (min-width: 640px) {
    .ns-grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .ns-grid--3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .ns-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ns-card {
    padding: 1.75rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    transition: transform 0.25s var(--ns-ease), box-shadow 0.25s, border-color 0.25s;
}

.ns-card:hover {
    transform: translateY(-4px);
    border-color: rgba(240, 84, 35, 0.25);
    box-shadow: 0 12px 40px -16px rgba(15, 20, 25, 0.12);
}

.ns-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, rgba(240, 84, 35, 0.12), rgba(240, 84, 35, 0.04));
    border-radius: 0.75rem;
    color: var(--ns-flame);
}

.ns-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 0;
}

.ns-icon svg {
    display: block;
    width: 100%;
    height: 100%;
}

.ns-card__icon .ns-icon,
.ns-campaign-card__icon .ns-icon,
.ns-svc-why__icon .ns-icon {
    width: 1.375rem;
    height: 1.375rem;
}

.ns-mega-icon .ns-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.ns-footer__social-link .ns-icon {
    width: 1.125rem;
    height: 1.125rem;
}

.ns-card h3 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
}

.ns-card p {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

.ns-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-card__link:hover {
    gap: 0.5rem;
}

/* Campaign types — Aimers-style staggered grid */
.ns-campaign-types {
    padding-top: clamp(2.5rem, 6vw, 4rem);
    padding-bottom: clamp(2rem, 5vw, 3.5rem);
    background: var(--ns-surface);
}

.ns-campaign-types .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-campaign-grid {
    display: grid;
    gap: 1rem;
}

@media (min-width: 768px) {
    .ns-campaign-grid {
        grid-template-columns: repeat(6, 1fr);
        gap: 1.25rem;
    }

    .ns-campaign-card:nth-child(1) { grid-column: 1 / span 2; }
    .ns-campaign-card:nth-child(2) { grid-column: 3 / span 2; }
    .ns-campaign-card:nth-child(3) { grid-column: 5 / span 2; }
    .ns-campaign-card:nth-child(4) { grid-column: 1 / span 3; }
    .ns-campaign-card:nth-child(5) { grid-column: 4 / span 3; }
}

.ns-campaign-card {
    padding: 1.75rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-campaign-card:hover {
    border-color: rgba(240, 84, 35, 0.2);
    box-shadow: 0 8px 32px -12px rgba(15, 20, 25, 0.1);
}

.ns-campaign-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1.125rem;
    background: linear-gradient(135deg, rgba(240, 84, 35, 0.12), rgba(42, 26, 94, 0.08));
    border-radius: 0.625rem;
}

.ns-campaign-card__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--ns-ink);
}

.ns-campaign-card__text {
    margin: 0.625rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

/* Service compare table — agency vs alternatives */
.ns-svc-compare {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: var(--ns-surface-soft);
}

.ns-svc-compare .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-compare__subtitle {
    margin: 0.75rem 0 0;
    font-size: 1rem;
    color: var(--ns-ink-muted);
}

.ns-svc-compare__wrap {
    margin-top: clamp(2rem, 5vw, 3rem);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ns-svc-compare__table {
    min-width: 52rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.ns-svc-compare__head,
.ns-svc-compare__row {
    display: grid;
    grid-template-columns: minmax(9rem, 1.1fr) minmax(11rem, 1.35fr) minmax(11rem, 1.25fr) minmax(11rem, 1.25fr);
    gap: 0.75rem;
    align-items: stretch;
}

.ns-svc-compare__row + .ns-svc-compare__row {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--ns-border);
}

.ns-svc-compare__corner {
    min-height: 1px;
}

.ns-svc-compare__col-head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 1.125rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ns-ink);
    background: #fff5ee;
    border-radius: var(--ns-radius-lg);
    text-align: center;
}

.ns-svc-compare__col-head--highlight {
    color: #5b21b6;
    background: #f3f0ff;
    box-shadow: 0 8px 28px -12px rgba(91, 33, 182, 0.18);
}

.ns-svc-compare__brand {
    display: inline-flex;
    flex-shrink: 0;
}

.ns-svc-compare__label {
    display: flex;
    align-items: center;
    padding: 1rem 0.5rem 1rem 0;
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ns-ink);
}

.ns-svc-compare__cell {
    padding: 1.125rem 1.25rem;
    background: #fff5ee;
    border-radius: var(--ns-radius-lg);
}

.ns-svc-compare__cell--highlight {
    background: #f3f0ff;
}

.ns-svc-compare__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.ns-svc-compare__item {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--ns-ink-muted);
}

.ns-svc-compare__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0.1rem;
    border-radius: 50%;
}

.ns-svc-compare__item--yes .ns-svc-compare__mark {
    color: #fff;
    background: #7c3aed;
}

.ns-svc-compare__cell:not(.ns-svc-compare__cell--highlight) .ns-svc-compare__item--yes .ns-svc-compare__mark {
    background: #f97316;
}

.ns-svc-compare__item--no .ns-svc-compare__mark {
    color: #fff;
    background: #fb923c;
}

@media (max-width: 767px) {
    .ns-svc-compare__wrap {
        margin-inline: 0;
        padding-inline: 0;
    }

    .ns-svc-compare__wrap::after {
        content: 'Glisează pentru comparare →';
        display: block;
        margin-top: 0.65rem;
        font-size: 0.75rem;
        color: var(--ns-ink-soft);
        text-align: center;
    }
}

/* Service lead form — testimonial + contact */
.ns-svc-lead {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: #fff9f5;
}

.ns-svc-lead--meta {
    background: #f3f0ff;
}

.ns-svc-lead--instagram {
    background: #fdf2f8;
}

.ns-svc-lead--tiktok {
    background: #f5fafa;
}

.ns-svc-lead--seo { background: #f0fdf4; }
.ns-svc-lead--ppc { background: #fff9f5; }
.ns-svc-lead--ecommerce { background: #eff6ff; }
.ns-svc-lead--marketplace { background: #eef2ff; }
.ns-svc-lead--feed { background: #fff7ed; }
.ns-svc-lead--analytics { background: #f0fdfa; }
.ns-svc-lead--website { background: #f5f3ff; }
.ns-svc-lead--email { background: #fff7ed; }
.ns-svc-lead--sms { background: #ecfeff; }
.ns-svc-lead--ai { background: #faf5ff; }
.ns-svc-lead--servicii { background: #f8fafc; }

.ns-svc-lead__grid {
    display: grid;
    gap: 2rem;
    align-items: start;
    min-width: 0;
}

.ns-svc-lead__intro,
.ns-svc-lead__form-wrap,
.ns-svc-lead__quotes {
    min-width: 0;
    width: 100%;
}

@media (min-width: 1024px) {
    .ns-svc-lead__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto auto;
        grid-template-areas:
            "intro form"
            "quotes form";
        gap: 2rem 4rem;
        align-items: start;
    }

    .ns-svc-lead__intro {
        grid-area: intro;
    }

    .ns-svc-lead__form-wrap {
        grid-area: form;
        align-self: center;
    }

    .ns-svc-lead__quotes {
        grid-area: quotes;
    }
}

.ns-svc-lead__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.03em;
    color: var(--ns-ink);
}

.ns-svc-lead__lead {
    margin: 1rem 0 0;
    max-width: 34rem;
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-svc-lead__quotes {
    margin-top: 0;
}

.ns-svc-lead__quotes-title {
    margin: 0 0 1rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--ns-ink);
}

.ns-svc-lead__quotes .ns-reviews__viewport {
    border-radius: var(--ns-radius-lg);
}

.ns-svc-lead-quote__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.875rem;
}

.ns-svc-lead-quote__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    border-radius: 999px;
}

.ns-svc-lead-quote__badge--google {
    color: #1f2937;
    background: #f3f4f6;
    border: 1px solid rgba(15, 20, 25, 0.08);
}

.ns-svc-lead-quote__badge--site {
    color: #7c2d12;
    background: #fff7ed;
    border: 1px solid rgba(234, 88, 12, 0.18);
}

.ns-svc-lead-quote__badge--site img {
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 0.2rem;
}

.ns-svc-lead-quote__stars {
    display: inline-flex;
    gap: 0.05rem;
    font-size: 0.8125rem;
    line-height: 1;
    color: #f59e0b;
    letter-spacing: 0.04em;
}

.ns-svc-lead-quote {
    flex: 0 0 100%;
    box-sizing: border-box;
    padding: 1.5rem 1.625rem;
    background: #fff;
    border: 1px solid rgba(15, 20, 25, 0.06);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 10px 36px -20px rgba(15, 20, 25, 0.18);
}

.ns-svc-lead-quote__text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--ns-ink-muted);
    font-style: normal;
}

.ns-svc-lead-quote__author {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 1.25rem;
}

.ns-svc-lead-quote__avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #5b21b6;
    background: #ede9fe;
    border-radius: 50%;
}

.ns-svc-lead-quote__avatar--photo {
    object-fit: cover;
    padding: 0;
    background: #f8fafc;
}

.ns-svc-lead-quote.is-google {
    display: flex;
    flex-direction: column;
}

.ns-svc-lead-quote__google-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    align-self: flex-end;
    margin-top: 0.875rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1a73e8;
    text-decoration: none;
}

.ns-svc-lead-quote__google-link:hover {
    text-decoration: underline;
}

.ns-svc-lead-quote.is-google .ns-svc-lead-quote__avatar:not(.ns-svc-lead-quote__avatar--photo) {
    color: #1d4ed8;
    background: #eff6ff;
}

.ns-svc-lead-quote.is-site .ns-svc-lead-quote__avatar:not(.ns-svc-lead-quote__avatar--photo) {
    color: #c2410c;
    background: #ffedd5;
}

.ns-svc-lead--meta .ns-svc-lead-quote__avatar {
    color: #1877F2;
    background: #eef4ff;
}

.ns-svc-lead--instagram .ns-svc-lead-quote__avatar {
    color: #be185d;
    background: #fce7f3;
}

.ns-svc-lead--tiktok .ns-svc-lead-quote__avatar {
    color: #0f766e;
    background: #ccfbf1;
}

.ns-svc-lead-quote__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ns-svc-lead-quote__meta cite {
    font-style: normal;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-svc-lead-quote__meta span {
    font-size: 0.8125rem;
    color: var(--ns-ink-soft);
}

.ns-svc-lead__dots {
    margin-top: 1rem;
}

.ns-svc-lead__form-wrap {
    padding: clamp(1.5rem, 3vw, 2rem);
    background: #fff;
    border: 1px solid rgba(15, 20, 25, 0.06);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 12px 40px -24px rgba(15, 20, 25, 0.12);
    min-width: 0;
    max-width: 100%;
}

.ns-svc-lead__form-wrap .mt-6 {
    margin-top: 0;
    margin-bottom: 1rem;
}

.ns-svc-lead-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    max-width: 100%;
}

.ns-svc-lead-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    min-width: 0;
}

.ns-svc-lead-form__label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.ns-svc-lead-form__input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0.875rem 1rem;
    font: inherit;
    font-size: 0.9375rem;
    color: var(--ns-ink);
    background: #fff;
    border: 1px solid #d8dee4;
    border-radius: 0.625rem;
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-svc-lead-form__input::placeholder {
    color: #9aa3ad;
}

.ns-svc-lead-form__input:focus {
    outline: none;
    border-color: rgba(240, 84, 35, 0.45);
    box-shadow: 0 0 0 3px rgba(240, 84, 35, 0.12);
}

.ns-svc-lead-form__input.is-invalid {
    border-color: #ef4444;
}

.ns-svc-lead-form__textarea {
    min-height: 8.5rem;
    resize: vertical;
}

.ns-svc-lead-form__error {
    margin: 0;
    font-size: 0.8125rem;
    color: #dc2626;
}

.ns-svc-lead-form .spam-captcha-wrap {
    margin: 0;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ns-svc-lead-form .gdpr-consent-block {
    margin: 0 !important;
    padding: 0.875rem 1rem !important;
    background: #f9fafb !important;
    border-radius: 0.625rem !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ns-svc-lead-form .gdpr-field,
.ns-contact-form .gdpr-field {
    min-width: 0;
}

.ns-svc-lead-form .gdpr-field label,
.ns-contact-form .gdpr-field label {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ns-svc-lead-form__submit {
    width: 100%;
    margin-top: 0.25rem;
}

.ns-svc-lead-form__legal {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.55;
    color: var(--ns-ink-soft);
    text-align: center;
}

.ns-svc-lead-form__legal a {
    color: var(--ns-flame);
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ns-svc-lead-form__legal a:hover {
    color: var(--ns-flame-dark);
}

.ns-svc-lead-form--fallback {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}

@media (max-width: 639px) {
    .ns-svc-lead__form-wrap,
    .ns-contact-page__form-card,
    .ns-testimonial-form,
    .ns-testimonial-success {
        padding: 1.125rem;
    }

    .ns-svc-lead-form__input,
    .ns-svc-lead-form__textarea,
    .ns-form-row input,
    .ns-form-row textarea,
    .ns-footer-newsletter__field input {
        font-size: 16px;
    }

    .ns-svc-lead-form__legal {
        text-align: left;
    }

    .ns-svc-lead-form__submit,
    .ns-contact-form__submit {
        width: 100%;
    }

    .ns-contact-form--wide .ns-contact-form__submit {
        max-width: none;
    }

    .ns-contact-page__form-card {
        min-width: 0;
    }
}

/* Service trust — stats + partner badges */
.ns-svc-trust {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: var(--ns-surface-soft);
}

.ns-svc-trust .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-trust__stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
}

@media (min-width: 640px) {
    .ns-svc-trust__stats {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-svc-trust__stats {
        grid-template-columns: repeat(4, 1fr);
        gap: 1.25rem;
    }
}

.ns-svc-trust__stat {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: 1.75rem 1.5rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    text-align: center;
}

.ns-svc-trust__stat-value {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--ns-ink);
}

.ns-svc-trust__stat-label {
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--ns-ink-muted);
}

.ns-svc-trust__badges {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
    gap: 1rem;
}

.ns-svc-trust__badge {
    margin: 0;
    flex: 1 1 calc(50% - 0.5rem);
    max-width: 11.5rem;
}

@media (min-width: 768px) {
    .ns-svc-trust__badge {
        flex: 0 1 11.5rem;
    }
}

.ns-svc-trust__badge-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    height: 100%;
    min-height: 9.5rem;
    padding: 1.25rem 1rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    text-align: center;
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-svc-trust__badge-inner:hover {
    border-color: rgba(240, 84, 35, 0.15);
    box-shadow: 0 6px 24px -10px rgba(15, 20, 25, 0.1);
}

.ns-svc-trust__badge figcaption {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.ns-svc-trust__badge figcaption strong {
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ns-ink);
}

.ns-svc-trust__badge figcaption span {
    font-size: 0.6875rem;
    line-height: 1.35;
    color: var(--ns-ink-soft);
}

.ns-svc-trust__badge-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4rem;
    margin-bottom: 0.75rem;
}

.ns-svc-trust__badge-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 3.25rem;
    object-fit: contain;
}

.ns-svc-trust__badge--google-ads .ns-svc-trust__badge-logo {
    max-height: 3.5rem;
}

.ns-svc-trust__badge--google-analytics .ns-svc-trust__badge-logo {
    max-height: 3rem;
}

.ns-svc-trust__badge--google-tag-manager .ns-svc-trust__badge-logo {
    max-height: 3.25rem;
}

.ns-svc-trust__badge--meta .ns-svc-trust__badge-logo {
    max-height: 2.75rem;
    max-width: 4rem;
}

.ns-svc-trust__badge--instagram .ns-svc-trust__badge-logo {
    max-height: 3rem;
    max-width: 3rem;
}

.ns-svc-trust__badge--tiktok .ns-svc-trust__badge-logo {
    max-height: 3rem;
    max-width: 3rem;
}

/* Service why choose us — cards + image */
.ns-svc-why {
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
    background: var(--ns-surface);
}

.ns-svc-why .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-why__layout {
    display: grid;
    gap: 1.25rem;
    align-items: stretch;
}

@media (min-width: 1024px) {
    .ns-svc-why__layout {
        grid-template-columns: 1.15fr 0.85fr;
        gap: 1.25rem;
    }
}

.ns-svc-why__cards {
    display: grid;
    gap: 1rem;
}

@media (min-width: 640px) {
    .ns-svc-why__cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }
}

.ns-svc-why__card {
    padding: 1.75rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-svc-why__card:hover {
    border-color: rgba(240, 84, 35, 0.18);
    box-shadow: 0 8px 32px -14px rgba(15, 20, 25, 0.1);
}

.ns-svc-why__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1.125rem;
    background: linear-gradient(135deg, rgba(240, 84, 35, 0.12), rgba(42, 26, 94, 0.08));
    border-radius: 0.625rem;
}

.ns-svc-why__card-title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ns-ink);
}

.ns-svc-why__card-text {
    margin: 0.625rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-svc-why__media {
    margin: 0;
    min-height: 16rem;
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
}

@media (min-width: 1024px) {
    .ns-svc-why__media {
        min-height: 100%;
    }
}

@media (max-width: 1023px) {
    .ns-svc-why__media {
        max-height: none;
    }
}

/* Service section visual — grafice interactive per pagină */
.ns-svc-visual {
    height: 100%;
    min-height: 20rem;
}

.ns-svc-visual__card {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    height: 100%;
    min-height: inherit;
    padding: 1.5rem;
    background: linear-gradient(145deg, #fff 0%, #fafafa 100%);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 12px 40px -16px rgba(15, 20, 25, 0.12);
}

.ns-svc-visual__eyebrow {
    margin: 0;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ns-ink-soft);
}

.ns-svc-visual__score-ring {
    position: relative;
    width: 8.5rem;
    height: 8.5rem;
    margin: 0 auto;
}

.ns-svc-visual__ring-svg {
    width: 100%;
    height: 100%;
}

.ns-svc-visual__ring-progress {
    animation: nsVisRing 2s ease-out forwards;
}

@keyframes nsVisRing {
    from { stroke-dashoffset: 327; }
    to { stroke-dashoffset: 65; }
}

.ns-svc-visual__score-inner {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0.5rem;
}

.ns-svc-visual__score-inner strong {
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--ns-vis-accent, var(--ns-flame));
}

.ns-svc-visual__score-inner span {
    margin-top: 0.2rem;
    font-size: 0.625rem;
    line-height: 1.3;
    color: var(--ns-ink-soft);
}

.ns-svc-visual__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.ns-svc-visual__metric {
    padding: 0.65rem 0.5rem;
    border-radius: var(--ns-radius-sm);
    background: color-mix(in srgb, var(--ns-vis-accent, var(--ns-flame)) 8%, #fff);
    text-align: center;
    transition: transform 0.2s var(--ns-ease);
}

.ns-svc-visual__metric:hover {
    transform: translateY(-2px);
}

.ns-svc-visual__metric span {
    display: block;
    font-size: 0.625rem;
    color: var(--ns-ink-soft);
    line-height: 1.3;
}

.ns-svc-visual__metric em {
    display: block;
    margin-top: 0.15rem;
    font-style: normal;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-svc-visual__bars {
    display: flex;
    align-items: flex-end;
    gap: 0.35rem;
    height: 4.5rem;
    margin-top: auto;
    padding-top: 0.5rem;
}

.ns-svc-visual__bar {
    flex: 1;
    height: var(--h, 50%);
    min-height: 12%;
    border-radius: 4px 4px 0 0;
    background: linear-gradient(180deg, var(--ns-vis-accent, var(--ns-flame)) 0%, color-mix(in srgb, var(--ns-vis-accent, var(--ns-flame)) 60%, #fff) 100%);
    transform-origin: bottom;
    animation: nsVisBarGrow 0.8s ease-out var(--delay, 0s) both;
}

@keyframes nsVisBarGrow {
    from { transform: scaleY(0); }
    to { transform: scaleY(1); }
}

/* Process pipeline visual */
.ns-svc-visual__card--process {
    min-height: 22rem;
}

.ns-svc-visual__pipeline {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    flex: 1;
}

.ns-svc-visual__pipeline li {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border-radius: var(--ns-radius-sm);
    transition: background 0.2s var(--ns-ease);
}

.ns-svc-visual__pipeline li.is-done {
    opacity: 0.55;
}

.ns-svc-visual__pipeline li.is-active {
    background: color-mix(in srgb, var(--ns-vis-accent, var(--ns-flame)) 10%, #fff);
    box-shadow: inset 3px 0 0 var(--ns-vis-accent, var(--ns-flame));
}

.ns-svc-visual__pipe-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    font-size: 0.6875rem;
    font-weight: 700;
    color: #fff;
    background: var(--ns-vis-accent, var(--ns-flame));
}

.ns-svc-visual__pipeline li.is-done .ns-svc-visual__pipe-dot {
    background: #c4b5fd;
}

.ns-svc-visual__pipe-label {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ns-ink);
}

.ns-svc-visual__kpi-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.ns-svc-visual__kpi {
    padding: 0.6rem 0.45rem;
    border-radius: var(--ns-radius-sm);
    background: #f8f9fb;
    border: 1px solid var(--ns-border);
    text-align: center;
}

.ns-svc-visual__kpi span {
    display: block;
    font-size: 0.5625rem;
    color: var(--ns-ink-soft);
    line-height: 1.25;
}

.ns-svc-visual__kpi strong {
    display: block;
    margin-top: 0.15rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ns-vis-accent, var(--ns-flame));
}

.ns-svc-visual__spark {
    width: 100%;
    height: 2rem;
    margin-top: 0.5rem;
}

.ns-svc-visual__spark-line {
    stroke-dasharray: 220;
    stroke-dashoffset: 220;
    animation: nsVisSpark 2s ease-out 0.4s forwards;
}

@keyframes nsVisSpark {
    to { stroke-dashoffset: 0; }
}

.ns-svc-process__media {
    margin: 0;
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
    box-shadow: 0 12px 40px -16px rgba(15, 20, 25, 0.15);
}

.ns-svc-process__media .ns-svc-visual {
    min-height: 24rem;
}

/* Service includes — checklist panel */
.ns-svc-includes {
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
    background: var(--ns-surface);
}

.ns-svc-includes .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-includes__lead {
    margin: 1rem auto 0;
    max-width: 40rem;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-svc-includes__panel {
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: #f9f9f9;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
}

.ns-svc-includes__grid {
    display: grid;
    gap: 1.25rem 2rem;
}

@media (min-width: 768px) {
    .ns-svc-includes__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ns-svc-includes__col {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
}

.ns-svc-includes__item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--ns-ink);
}

.ns-svc-includes__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.375rem;
    height: 1.375rem;
    margin-top: 0.1rem;
    color: #fff;
    background: #7c3aed;
    border-radius: 50%;
}

.ns-svc-includes__footnote {
    margin: clamp(1.5rem, 4vw, 2rem) 0 0;
    padding-top: clamp(1.25rem, 3vw, 1.75rem);
    border-top: 1px solid var(--ns-border);
    font-size: 0.9375rem;
    line-height: 1.6;
    text-align: center;
    color: var(--ns-ink-muted);
}

/* Service process — sticky aside + timeline steps */
.ns-svc-process {
    padding-block: clamp(3rem, 7vw, 5rem);
    background: #f6f4fc;
}

.ns-svc-process__layout {
    display: grid;
    gap: 2.5rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .ns-svc-process__layout {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        gap: clamp(2.5rem, 5vw, 4rem);
    }
}

.ns-svc-process__aside {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

@media (min-width: 1024px) {
    .ns-svc-process__aside {
        position: sticky;
        top: calc(var(--ns-header-h, 4.75rem) + 1.5rem);
    }
}

.ns-svc-process__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.625rem, 3.5vw, 2.375rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-process__steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ns-svc-process__step {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    gap: 1.25rem 1.5rem;
    padding-bottom: clamp(2rem, 4vw, 2.75rem);
}

.ns-svc-process__step:last-child {
    padding-bottom: 0;
}

.ns-svc-process__marker {
    position: relative;
    display: flex;
    justify-content: center;
}

.ns-svc-process__step:not(:last-child) .ns-svc-process__marker::after {
    content: '';
    position: absolute;
    top: 3.25rem;
    left: 50%;
    width: 1px;
    height: calc(100% + clamp(2rem, 4vw, 2.75rem) - 3.25rem);
    background: #d8d2e8;
    transform: translateX(-50%);
}

.ns-svc-process__num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #7c3aed;
    background: #f6f4fc;
    border: 1px solid #d8d2e8;
    border-radius: 0.625rem;
}

.ns-svc-process__step-title {
    margin: 0.25rem 0 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.35;
    color: var(--ns-ink);
}

.ns-svc-process__points {
    margin: 0.875rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ns-svc-process__points li {
    position: relative;
    padding-left: 1rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

.ns-svc-process__points li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: #a78bfa;
}

@media (max-width: 639px) {
    .ns-svc-process__step {
        grid-template-columns: 2.75rem 1fr;
        gap: 1rem;
    }

    .ns-svc-process__num {
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1rem;
    }

    .ns-svc-process__step:not(:last-child) .ns-svc-process__marker::after {
        top: 2.75rem;
        height: calc(100% + clamp(2rem, 4vw, 2.75rem) - 2.75rem);
    }
}

/* Service promo CTA — orange banner above FAQ */
.ns-svc-promo-cta {
    padding-block: clamp(2rem, 5vw, 3rem);
    background: var(--ns-surface);
}

.ns-svc-promo-cta__box {
    position: relative;
    overflow: hidden;
    padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 3rem);
    background: linear-gradient(135deg, #f05423 0%, #e04a1c 55%, #d94418 100%);
    border-radius: var(--ns-radius-lg);
    text-align: center;
}

.ns-svc-promo-cta__waves {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 90% at 88% 50%, rgba(255, 196, 120, 0.45) 0%, transparent 70%),
        radial-gradient(ellipse 40% 70% at 72% 80%, rgba(255, 220, 160, 0.25) 0%, transparent 65%),
        radial-gradient(ellipse 35% 60% at 95% 20%, rgba(255, 180, 90, 0.3) 0%, transparent 60%);
}

.ns-svc-promo-cta__waves::before,
.ns-svc-promo-cta__waves::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 210, 140, 0.18);
}

.ns-svc-promo-cta__waves::before {
    width: clamp(12rem, 28vw, 22rem);
    height: clamp(12rem, 28vw, 22rem);
    top: -20%;
    right: 8%;
}

.ns-svc-promo-cta__waves::after {
    width: clamp(8rem, 18vw, 14rem);
    height: clamp(8rem, 18vw, 14rem);
    bottom: -25%;
    right: 22%;
}

.ns-svc-promo-cta__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.75rem;
    max-width: 36rem;
    margin-inline: auto;
}

.ns-svc-promo-cta__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3.5vw, 2.25rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #fff;
}

.ns-svc-promo-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9375rem 1.75rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ns-ink);
    background: #fff;
    border-radius: var(--ns-radius-btn);
    box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-svc-promo-cta__btn:hover {
    color: var(--ns-ink);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px -6px rgba(0, 0, 0, 0.25);
}

/* Service FAQ accordion */
.ns-svc-faq {
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
    background: var(--ns-surface);
}

.ns-svc-faq__container {
    max-width: 52rem;
}

.ns-svc-faq .ns-section-head h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.375rem, 3.2vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-svc-faq__list {
    display: flex;
    flex-direction: column;
}

.ns-svc-faq__item {
    border-bottom: 1px solid var(--ns-border);
}

.ns-svc-faq__item:first-child {
    border-top: 1px solid var(--ns-border);
}

.ns-svc-faq__question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--ns-ink);
    cursor: pointer;
    list-style: none;
}

.ns-svc-faq__question::-webkit-details-marker {
    display: none;
}

.ns-svc-faq__question::marker {
    content: '';
}

.ns-svc-faq__chevron {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: var(--ns-ink-soft);
    transition: transform 0.25s var(--ns-ease), color 0.2s;
}

.ns-svc-faq__item[open] .ns-svc-faq__chevron {
    transform: rotate(90deg);
    color: var(--ns-ink-muted);
}

.ns-svc-faq__answer {
    padding: 0 0 1.25rem;
}

.ns-svc-faq__answer p {
    margin: 0;
}

.ns-home-faq__cta {
    margin: 1.75rem auto 0;
    max-width: 36rem;
    text-align: center;
    font-size: 0.9375rem;
    color: var(--ns-ink-muted);
}

.ns-home-faq__cta a {
    font-weight: 600;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-home-faq__cta a:hover {
    text-decoration: underline;
}

.ns-section-foot {
    margin-top: 1.75rem;
    text-align: center;
}

.ns-section-foot .ns-link {
    font-weight: 600;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-section-foot .ns-link:hover {
    text-decoration: underline;
}

.ns-about-intro__grid {
    display: grid;
    gap: 1rem;
    max-width: 48rem;
}

.ns-about-intro__grid p {
    margin: 0;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

@media (min-width: 768px) {
    .ns-about-intro__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem 2rem;
        max-width: none;
    }
}

/* Case studies grid (aimers-style) */
.ns-cases {
    padding-top: clamp(1rem, 2.5vw, 1.75rem);
    padding-bottom: clamp(1rem, 2.5vw, 1.75rem);
    background: var(--ns-surface);
}

/* Spațiu redus între studii de caz și secțiunea Servicii */
.ns-cases + .ns-section {
    padding-top: clamp(1rem, 2.5vw, 1.75rem);
}

.ns-cases__head {
    max-width: 42rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
    text-align: left;
}

.ns-cases__head h2 {
    margin-top: 0.5rem;
    font-size: clamp(1.75rem, 4vw, 2.25rem);
    line-height: 1.15;
}

.ns-cases__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .ns-cases__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-cases__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
}

.ns-case-card {
    display: flex;
    flex-direction: column;
    min-height: 17.5rem;
    padding: 1.75rem 1.5rem 1.5rem;
    border-radius: 1.125rem;
    border: 1px solid transparent;
    transition: transform 0.25s var(--ns-ease), box-shadow 0.25s var(--ns-ease);
}

.ns-case-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px -20px rgba(15, 20, 25, 0.18);
}

.ns-case-card--lavender {
    background: #f3f0ff;
    border-color: #e8e2ff;
}

.ns-case-card--sky {
    background: #eef4ff;
    border-color: #dbe8ff;
}

.ns-case-card--peach {
    background: #fff4ee;
    border-color: #ffe4d6;
}

.ns-case-card--mint {
    background: #eefaf4;
    border-color: #d4f0e0;
}

.ns-case-card--sand {
    background: #fffbeb;
    border-color: #fdecc8;
}

.ns-case-card--rose {
    background: #fdf2f8;
    border-color: #f9d8e8;
}

.ns-case-card__tag {
    display: inline-block;
    max-width: 100%;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ns-ink-muted);
    line-height: 1.3;
}

.ns-case-card__metric {
    margin: 1.25rem 0 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(2.5rem, 7vw, 3.25rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--ns-ink);
}

.ns-case-card__label {
    margin-top: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--ns-ink);
}

.ns-case-card__desc {
    margin-top: 0.75rem;
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
}

.ns-case-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--ns-ink);
    text-decoration: none;
    transition: gap 0.2s var(--ns-ease), color 0.2s;
}

.ns-case-card__link:hover {
    gap: 0.55rem;
    color: var(--ns-flame);
}

/* Servicii → Proces: spațiu redus */
.ns-section--services {
    padding-bottom: clamp(1rem, 2.5vw, 1.75rem);
}

.ns-section--process {
    padding-top: clamp(1rem, 2.5vw, 1.75rem);
}

.ns-process-layout {
    display: grid;
    gap: clamp(1.75rem, 4vw, 2.5rem);
    align-items: center;
}

@media (min-width: 1024px) {
    .ns-process-layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(2rem, 4vw, 3.5rem);
    }
}

.ns-process-layout__main .ns-section-head {
    margin-bottom: clamp(1.5rem, 4vw, 2rem);
}

/* Process */
.ns-process {
    counter-reset: step;
}

.ns-process__item {
    position: relative;
    padding-left: 3.5rem;
    padding-bottom: 2rem;
}

.ns-process__item:last-child {
    padding-bottom: 0;
}

.ns-process__item::before {
    counter-increment: step;
    content: counter(step);
    position: absolute;
    left: 0;
    top: 0;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ns-flame);
    background: rgba(240, 84, 35, 0.1);
    border-radius: 50%;
}

.ns-process__item:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 1.0625rem;
    top: 2.5rem;
    bottom: 0;
    width: 2px;
    background: var(--ns-border);
}

.ns-process__item.is-active::before {
    background: var(--ns-flame);
    color: #fff;
    box-shadow: 0 0 0 4px rgba(240, 84, 35, 0.2);
}

.ns-process__item.is-active h3 {
    color: var(--ns-flame-dark);
}

/* Animație creștere 4 pași */
.ns-growth-viz__panel {
    position: relative;
    padding: 1.25rem 1.25rem 1rem;
    background: linear-gradient(160deg, #f7f8fa 0%, #fff 55%, #fff9f6 100%);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
}

.ns-growth-viz__panel::before {
    content: '';
    position: absolute;
    inset: -40% 20% auto -20%;
    height: 60%;
    background: radial-gradient(ellipse, rgba(240, 84, 35, 0.12) 0%, transparent 70%);
    pointer-events: none;
}

.ns-growth-viz__label {
    position: relative;
    margin: 0 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-ink-soft);
}

.ns-growth-viz__svg {
    display: block;
    width: 100%;
    height: auto;
}

.ns-growth-viz__line {
    stroke-dasharray: 520;
    stroke-dashoffset: 520;
}

.ns-growth-viz.is-visible .ns-growth-viz__line {
    animation: ns-growth-draw 2.4s var(--ns-ease) forwards;
}

.ns-growth-viz__area {
    opacity: 0;
    transform-origin: bottom center;
}

.ns-growth-viz.is-visible .ns-growth-viz__area {
    animation: ns-growth-fade 1.2s var(--ns-ease) 0.4s forwards;
}

.ns-growth-viz__bar {
    fill: rgba(240, 84, 35, 0.18);
    transform-box: fill-box;
    transform-origin: bottom center;
    transform: scaleY(0);
}

.ns-growth-viz.is-visible .ns-growth-viz__bar {
    animation: ns-growth-bar 0.65s var(--ns-ease) forwards;
}

.ns-growth-viz.is-visible .ns-growth-viz__bar[data-viz-step='1'] { animation-delay: 0.35s; }
.ns-growth-viz.is-visible .ns-growth-viz__bar[data-viz-step='2'] { animation-delay: 0.55s; }
.ns-growth-viz.is-visible .ns-growth-viz__bar[data-viz-step='3'] { animation-delay: 0.75s; }
.ns-growth-viz.is-visible .ns-growth-viz__bar[data-viz-step='4'] { animation-delay: 0.95s; }

.ns-growth-viz__node-ring {
    fill: rgba(240, 84, 35, 0.12);
    stroke: var(--ns-flame);
    stroke-width: 2;
    opacity: 0.35;
    transition: opacity 0.35s var(--ns-ease), transform 0.35s var(--ns-ease);
}

.ns-growth-viz__node-dot {
    fill: var(--ns-flame);
    opacity: 0.45;
    transition: opacity 0.35s var(--ns-ease), transform 0.35s var(--ns-ease);
}

.ns-growth-viz[data-active-step='1'] [data-viz-step='1'] .ns-growth-viz__node-ring,
.ns-growth-viz[data-active-step='2'] [data-viz-step='2'] .ns-growth-viz__node-ring,
.ns-growth-viz[data-active-step='3'] [data-viz-step='3'] .ns-growth-viz__node-ring,
.ns-growth-viz[data-active-step='4'] [data-viz-step='4'] .ns-growth-viz__node-ring {
    opacity: 1;
    animation: ns-growth-pulse 1.8s ease-in-out infinite;
}

.ns-growth-viz[data-active-step='1'] [data-viz-step='1'] .ns-growth-viz__node-dot,
.ns-growth-viz[data-active-step='2'] [data-viz-step='2'] .ns-growth-viz__node-dot,
.ns-growth-viz[data-active-step='3'] [data-viz-step='3'] .ns-growth-viz__node-dot,
.ns-growth-viz[data-active-step='4'] [data-viz-step='4'] .ns-growth-viz__node-dot {
    opacity: 1;
    transform: scale(1.15);
}

.ns-growth-viz__bar.is-lit {
    fill: rgba(240, 84, 35, 0.38);
}

.ns-growth-viz__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.ns-growth-viz__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--ns-ink-muted);
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-btn);
    transition: border-color 0.3s, color 0.3s, background 0.3s;
}

.ns-growth-viz[data-active-step='1'] [data-viz-step='1'].ns-growth-viz__legend-item,
.ns-growth-viz[data-active-step='2'] [data-viz-step='2'].ns-growth-viz__legend-item,
.ns-growth-viz[data-active-step='3'] [data-viz-step='3'].ns-growth-viz__legend-item,
.ns-growth-viz[data-active-step='4'] [data-viz-step='4'].ns-growth-viz__legend-item {
    color: var(--ns-flame-dark);
    border-color: rgba(240, 84, 35, 0.35);
    background: rgba(240, 84, 35, 0.08);
}

.ns-growth-viz__legend-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    font-size: 0.625rem;
    color: #fff;
    background: var(--ns-flame);
    border-radius: 50%;
}

.ns-growth-viz__metric {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    text-align: right;
}

.ns-growth-viz__metric-value {
    display: block;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: var(--ns-flame);
    transition: opacity 0.25s var(--ns-ease), transform 0.25s var(--ns-ease);
}

.ns-growth-viz__metric-value.is-tick {
    animation: ns-metric-tick 0.35s var(--ns-ease);
}

.ns-growth-viz__metric-label {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.6875rem;
    color: var(--ns-ink-soft);
}

@keyframes ns-growth-draw {
    to { stroke-dashoffset: 0; }
}

@keyframes ns-growth-fade {
    to { opacity: 1; }
}

@keyframes ns-growth-bar {
    to { transform: scaleY(1); }
}

@keyframes ns-growth-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.08); opacity: 0.85; }
}

@keyframes ns-metric-tick {
    0% { opacity: 0.4; transform: translateY(4px); }
    100% { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .ns-growth-viz__line,
    .ns-growth-viz__area,
    .ns-growth-viz__bar,
    .ns-growth-viz__node-ring {
        animation: none !important;
        stroke-dashoffset: 0;
        opacity: 1;
        transform: none;
    }
}

/* Testimonials */
.ns-testimonial {
    padding: 1.75rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    height: 100%;
}

.ns-testimonial blockquote {
    margin: 0;
    font-size: 1rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-testimonial footer {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ns-border);
}

.ns-testimonial cite {
    font-style: normal;
    font-weight: 600;
    color: var(--ns-ink);
}

/* CTA → Recenzii → Blog (fără spațiu gol) */
.ns-section--cta {
    padding-bottom: clamp(1rem, 2.5vw, 1.5rem);
}

.ns-section--reviews {
    padding-top: clamp(1rem, 2.5vw, 1.5rem);
    padding-bottom: clamp(1.25rem, 3vw, 2rem);
    background: var(--ns-surface-soft);
}

.ns-section--blog-latest {
    padding-top: clamp(1rem, 2.5vw, 1.5rem);
    padding-bottom: clamp(2rem, 5vw, 3rem);
}

/* Recenzii — layout 2 coloane homepage */
.ns-reviews-layout {
    display: grid;
    gap: clamp(1.5rem, 4vw, 2.5rem);
    align-items: stretch;
}

@media (min-width: 960px) {
    .ns-reviews-layout {
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    }
}

.ns-reviews-layout__main {
    min-width: 0;
}

.ns-reviews-layout .ns-section-head {
    text-align: left;
    max-width: none;
    margin-bottom: 1.25rem;
}

.ns-reviews-layout .ns-section-head p {
    max-width: 36rem;
}

/* Recenzii — carousel */
.ns-reviews--home {
    max-width: none;
    margin-inline: 0;
}

.ns-reviews-banner {
    display: flex;
    min-width: 0;
}

.ns-reviews-banner__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    padding: clamp(1.5rem, 3.5vw, 2rem);
    border-radius: var(--ns-radius-lg);
    background: linear-gradient(145deg, #0f1419 0%, #1a2332 55%, #2a1810 100%);
    color: #fff;
    box-shadow: 0 20px 50px -28px rgba(15, 20, 25, 0.45);
    position: relative;
    overflow: hidden;
}

.ns-reviews-banner__inner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(240, 84, 35, 0.22) 0%, transparent 55%);
    pointer-events: none;
}

.ns-reviews-banner__inner > * {
    position: relative;
    z-index: 1;
}

.ns-reviews-banner__eyebrow {
    display: inline-block;
    margin-bottom: 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ff9a6c;
}

.ns-reviews-banner__title {
    margin: 0 0 0.85rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
}

.ns-reviews-banner__text {
    margin: 0 0 1.15rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
}

.ns-reviews-banner__list {
    margin: 0 0 1.35rem;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.5rem;
}

.ns-reviews-banner__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.9);
}

.ns-reviews-banner__list li::before {
    content: '✓';
    flex-shrink: 0;
    color: #ff9a6c;
    font-weight: 700;
}

.ns-reviews-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: auto;
}

.ns-reviews-banner__phone {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.ns-reviews-banner__phone:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.35);
    color: #fff;
}

@media (max-width: 959px) {
    .ns-reviews-banner__inner {
        margin-top: 0.25rem;
    }
}

.ns-reviews__profile-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.85rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    border: 1px solid var(--ns-border);
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ns-ink-muted);
    text-decoration: none;
    transition: border-color 0.2s var(--ns-ease), color 0.2s var(--ns-ease);
}

.ns-reviews__profile-link:hover {
    border-color: rgba(66, 133, 244, 0.35);
    color: #1a73e8;
}

.ns-reviews__viewport {
    overflow: hidden;
    border-radius: var(--ns-radius-lg);
}

.ns-reviews__track {
    display: flex;
    transition: transform 0.55s var(--ns-ease);
    will-change: transform;
}

.ns-review-card {
    flex: 0 0 100%;
    box-sizing: border-box;
    padding: clamp(1.75rem, 4vw, 2.25rem);
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 12px 40px -24px rgba(15, 20, 25, 0.12);
}

.ns-review-card.is-google {
    border-color: rgba(66, 133, 244, 0.18);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.ns-review-card.is-site {
    border-color: rgba(240, 84, 35, 0.15);
    background: linear-gradient(180deg, #fff 0%, #fff9f5 100%);
}

.ns-review-card__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.ns-review-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.ns-review-card__badge--google {
    background: rgba(66, 133, 244, 0.08);
    color: #1a73e8;
}

.ns-review-card__badge--site {
    background: #fff4ee;
    color: var(--ns-flame);
}

.ns-review-card__badge--site img {
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    border-radius: 0.25rem;
}

.ns-review-card__stars {
    display: flex;
    gap: 0.2rem;
    font-size: 1rem;
    line-height: 1;
    color: #f5a623;
    letter-spacing: 0.05em;
}

.ns-review-card__quote {
    margin: 0;
    font-size: clamp(1.0625rem, 2.2vw, 1.1875rem);
    line-height: 1.65;
    color: var(--ns-ink);
    font-style: normal;
}

.ns-review-card__footer {
    display: flex;
    align-items: center;
    gap: 0.875rem;
    margin-top: 1.35rem;
    padding-top: 1.15rem;
    border-top: 1px solid var(--ns-border);
}

.ns-review-card__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    flex-shrink: 0;
    border-radius: 50%;
    background: #fff4ee;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--ns-flame);
}

.ns-review-card.is-google .ns-review-card__avatar:not(.ns-review-card__avatar--photo) {
    background: rgba(66, 133, 244, 0.1);
    color: #1a73e8;
}

.ns-review-card__avatar--photo {
    object-fit: cover;
    border-radius: 50%;
}

.ns-review-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ns-review-card__meta cite {
    font-style: normal;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-review-card__meta span {
    font-size: 0.875rem;
    color: var(--ns-ink-soft);
}

.ns-review-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 1rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-review-card.is-google .ns-review-card__link {
    color: #1a73e8;
}

.ns-review-card__link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* legacy footer selectors kept for backwards compat */
.ns-review-card__footer cite {
    font-style: normal;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-review-card__footer > span:not([class]) {
    font-size: 0.875rem;
    color: var(--ns-ink-soft);
}

.ns-reviews__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.25rem;
}

.ns-reviews__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.125rem;
    color: var(--ns-ink);
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-btn);
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.ns-reviews__btn:hover {
    border-color: var(--ns-flame);
    color: var(--ns-flame);
}

.ns-reviews__dots {
    display: flex;
    gap: 0.5rem;
}

.ns-reviews__dot {
    width: 0.5rem;
    height: 0.5rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: var(--ns-border);
    cursor: pointer;
    transition: transform 0.25s, background 0.25s;
}

.ns-reviews__dot.is-active {
    background: var(--ns-flame);
    transform: scale(1.25);
}

/* Blog — ultimele articole */
.ns-blog-latest__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .ns-blog-latest__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-blog-latest__grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.ns-blog-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
    transition: transform 0.25s var(--ns-ease), box-shadow 0.25s, border-color 0.25s;
}

.ns-blog-card:hover {
    transform: translateY(-4px);
    border-color: rgba(240, 84, 35, 0.25);
    box-shadow: 0 16px 40px -20px rgba(15, 20, 25, 0.14);
}

.ns-blog-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #f7f8fa 0%, #fff4ee 100%);
}

.ns-blog-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s var(--ns-ease);
}

.ns-blog-card:hover .ns-blog-card__img {
    transform: scale(1.04);
}

.ns-blog-card__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 8rem;
}

.ns-blog-card__placeholder-icon {
    font-size: 2rem;
    color: var(--ns-flame);
    opacity: 0.45;
}

.ns-blog-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.25rem 1.25rem 1.5rem;
}

.ns-blog-card__cat {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-blog-card__cat:hover {
    text-decoration: underline;
}

.ns-blog-card__title {
    margin: 0.5rem 0 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.ns-blog-card__title a {
    color: var(--ns-ink);
    text-decoration: none;
}

.ns-blog-card__title a:hover {
    color: var(--ns-flame-dark);
}

.ns-blog-card__excerpt {
    margin: 0.5rem 0 0;
    flex: 1;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.ns-blog-card__meta {
    margin: 0.75rem 0 0;
    font-size: 0.75rem;
    color: var(--ns-ink-soft);
}

.ns-blog-card__link {
    display: inline-flex;
    margin-top: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-blog-card__link:hover {
    text-decoration: underline;
}

.ns-blog-latest__more {
    margin: 1.75rem 0 0;
    text-align: center;
}

/* Blog — pagină listare & articol */
.ns-blog-page {
    padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

.ns-blog-hero {
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.5rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-blog-hero .ns-breadcrumb {
    margin-bottom: 1.25rem;
}

.ns-blog-hero__head {
    max-width: 40rem;
}

.ns-blog-hero__head h1 {
    margin: 0.5rem 0 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--ns-ink);
}

.ns-blog-hero__lead {
    margin: 1rem 0 0;
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-blog-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 2rem 0 2.25rem;
}

.ns-blog-filters__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem 1rem;
    border: 1px solid var(--ns-border);
    border-radius: 999px;
    background: var(--ns-surface);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    text-decoration: none;
    transition: border-color 0.2s var(--ns-ease), color 0.2s var(--ns-ease), background 0.2s var(--ns-ease);
}

.ns-blog-filters__pill:hover {
    border-color: rgba(240, 84, 35, 0.35);
    color: var(--ns-flame);
}

.ns-blog-filters__pill.is-active {
    border-color: var(--ns-flame);
    background: #fff4ee;
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-blog-filters__count {
    opacity: 0.65;
    font-weight: 500;
}

.ns-blog-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .ns-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-blog-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }
}

.ns-blog-grid--related {
    grid-template-columns: 1fr;
}

@media (min-width: 768px) {
    .ns-blog-grid--related {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ns-blog-empty {
    margin: 3rem 0;
    text-align: center;
    color: var(--ns-ink-muted);
}

.ns-blog-pagination {
    margin-top: 2.5rem;
}

.ns-blog-pagination__wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

@media (min-width: 640px) {
    .ns-blog-pagination__wrap {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.ns-blog-pagination__summary {
    margin: 0;
    font-size: 0.875rem;
    color: var(--ns-ink-muted);
    text-align: center;
}

.ns-blog-pagination__summary strong {
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-blog-pagination__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
    justify-content: center;
}

.ns-blog-pagination__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    height: 2.25rem;
    padding: 0 0.65rem;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-sm);
    background: var(--ns-surface);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

a.ns-blog-pagination__btn:hover {
    border-color: rgba(240, 84, 35, 0.35);
    color: var(--ns-flame);
}

.ns-blog-pagination__btn.is-active {
    border-color: var(--ns-flame);
    background: #fff4ee;
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-blog-pagination__btn.is-disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.ns-blog-pagination__ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 2.25rem;
    font-size: 0.8125rem;
    color: var(--ns-ink-muted);
    letter-spacing: 0.05em;
}

/* Blog — articol single */
.ns-blog-article__hero {
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-blog-article__hero-inner {
    max-width: 48rem;
}

.ns-blog-article__cat {
    display: inline-block;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    background: #fff4ee;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-blog-article__cat:hover {
    background: var(--ns-flame);
    color: #fff;
}

.ns-blog-article__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-blog-article__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    margin: 1rem 0 0;
    font-size: 0.875rem;
    color: var(--ns-ink-soft);
}

.ns-blog-article__author {
    font-weight: 600;
    color: var(--ns-ink-muted);
}

.ns-blog-article__figure {
    margin: 2rem auto 0;
    max-width: 54rem;
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
    border: 1px solid var(--ns-border);
    box-shadow: 0 12px 40px -20px rgba(15, 20, 25, 0.12);
}

.ns-blog-article__img {
    width: 100%;
    max-height: 32rem;
    object-fit: cover;
}

.ns-blog-article__back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.ns-blog-article__back:hover {
    color: var(--ns-flame);
}

.ns-blog-article__excerpt--hero {
    margin: 1rem 0 0;
    padding: 0;
    border: 0;
    font-style: normal;
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

.ns-blog-article__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 17.5rem;
    gap: clamp(2rem, 5vw, 3.5rem);
    align-items: start;
    padding-block: clamp(2rem, 5vw, 3rem);
}

.ns-blog-article__content {
    max-width: none;
    margin: 0;
    padding: 0;
}

.ns-blog-article__aside {
    position: sticky;
    top: 6rem;
}

.ns-blog-article__aside-card {
    padding: 1.5rem;
    border-radius: var(--ns-radius-lg);
    border: 1px solid var(--ns-border);
    background: #fff9f5;
    box-shadow: 0 8px 32px -16px rgba(15, 20, 25, 0.08);
}

.ns-blog-article__aside-label {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-flame);
}

.ns-blog-article__aside-text {
    margin: 0 0 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
}

@media (max-width: 960px) {
    .ns-blog-article__layout {
        grid-template-columns: 1fr;
    }

    .ns-blog-article__aside {
        position: static;
    }
}

.ns-blog-article__excerpt {
    margin: 0 0 1.75rem;
    padding-left: 1rem;
    border-left: 3px solid var(--ns-flame);
    font-size: 1.0625rem;
    font-style: italic;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-blog-related {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: var(--ns-surface-soft);
    border-top: 1px solid var(--ns-border);
}

.ns-blog-related__title {
    margin: 0 0 1.75rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.375rem, 3vw, 1.75rem);
    font-weight: 700;
    text-align: center;
    color: var(--ns-ink);
}

/* CTA band */
.ns-cta {
    position: relative;
    padding: clamp(2.5rem, 6vw, 4rem);
    background: linear-gradient(135deg, #0f1419 0%, #1a2332 100%);
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
}

.ns-cta::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 50%;
    height: 200%;
    background: radial-gradient(circle, rgba(240, 84, 35, 0.25) 0%, transparent 65%);
    pointer-events: none;
}

.ns-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1.5rem;
    align-items: center;
}

@media (min-width: 768px) {
    .ns-cta__inner {
        grid-template-columns: 1fr auto;
    }
}

.ns-cta h2 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 700;
    color: #fff;
}

.ns-cta p {
    margin-top: 0.5rem;
    color: rgba(255, 255, 255, 0.75);
}

/* Service page hero — light Aimers-style */
.ns-svc-hero {
    padding-block: clamp(2rem, 5vw, 3.5rem) clamp(2.5rem, 6vw, 4rem);
    background: #fff9f5;
}

.ns-svc-hero--meta {
    background: #f3f0ff;
}

.ns-svc-hero--instagram {
    background: #fdf2f8;
}

.ns-svc-hero--tiktok {
    background: #f5fafa;
}

.ns-svc-hero--seo {
    background: #f0fdf4;
}

.ns-svc-hero--ppc {
    background: #fff9f5;
}

.ns-svc-hero--ecommerce {
    background: #eff6ff;
}

.ns-svc-hero--marketplace {
    background: #eef2ff;
}

.ns-svc-hero--feed {
    background: #fff7ed;
}

.ns-svc-hero--analytics {
    background: #f0fdfa;
}

.ns-svc-hero--website {
    background: #f5f3ff;
}

.ns-svc-hero--email {
    background: #fff7ed;
}

.ns-svc-hero--sms {
    background: #ecfeff;
}

.ns-svc-hero--ai {
    background: #faf5ff;
}

.ns-svc-hero--servicii {
    background: #f8fafc;
}

.ns-svc-hero .ns-breadcrumb {
    margin-bottom: 1.25rem;
    color: #8b959e;
}

.ns-svc-hero .ns-breadcrumb a {
    color: #5c6670;
}

.ns-svc-hero .ns-breadcrumb a:hover {
    color: var(--ns-flame);
}

.ns-svc-hero .ns-breadcrumb [aria-current] {
    color: var(--ns-ink);
}

.ns-svc-hero__grid {
    display: grid;
    gap: 2.5rem;
    align-items: center;
}

@media (min-width: 1024px) {
    .ns-svc-hero__grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem 4rem;
    }
}

.ns-svc-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 1.25rem;
}

.ns-svc-hero__stars {
    letter-spacing: 0.1em;
    font-size: 0.875rem;
    line-height: 1;
    color: #f5a623;
}

.ns-svc-hero__trust-text {
    font-size: 0.8125rem;
    font-weight: 500;
    color: #666;
}

.ns-svc-hero__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.875rem, 4.5vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: #2d2d2d;
}

.ns-svc-hero__lead {
    margin: 1.25rem 0 0;
    max-width: 34rem;
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: 1.65;
    color: #666;
}

.ns-svc-hero__actions {
    margin-top: 1.75rem;
}

.ns-btn--svc-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.9375rem 1.75rem;
    font-size: 1rem;
    font-weight: 600;
    color: #fff;
    background: var(--ns-flame);
    border: none;
    border-radius: var(--ns-radius-btn);
    box-shadow: 0 4px 14px -4px rgba(240, 84, 35, 0.45);
    transition: background 0.2s var(--ns-ease), transform 0.2s var(--ns-ease), box-shadow 0.2s;
}

.ns-btn--svc-primary:hover {
    background: var(--ns-flame-dark);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px -6px rgba(240, 84, 35, 0.5);
}

/* Dashboard visual */
.ns-svc-hero__visual {
    position: relative;
    min-width: 0;
}

.ns-svc-dash {
    position: relative;
    padding-left: 1.5rem;
}

.ns-svc-dash__badge {
    position: absolute;
    left: 0;
    top: 2.5rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    background: #fff;
    border-radius: 0.875rem;
    box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.12);
}

.ns-svc-dash__badge-logo {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}

.ns-svc-dash__card {
    position: relative;
    padding: 1.375rem 1.375rem 1.25rem;
    background: #fff;
    border-radius: 1.125rem;
    box-shadow:
        0 1px 3px rgba(0, 0, 0, 0.04),
        0 12px 40px -12px rgba(0, 0, 0, 0.1);
}

.ns-svc-dash__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8b959e;
}

.ns-svc-dash__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
    margin-bottom: 1.125rem;
}

.ns-svc-dash__metric {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.625rem 0.5rem;
    background: #fafafa;
    border-radius: 0.625rem;
}

.ns-svc-dash__metric-label {
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #8b959e;
}

.ns-svc-dash__metric-value {
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    color: #2d2d2d;
}

.ns-svc-dash__metric-delta {
    font-size: 0.6875rem;
    font-weight: 600;
}

.ns-svc-dash__metric-delta--up {
    color: #16a34a;
}

.ns-svc-dash__metric-delta--down {
    color: #16a34a;
}

.ns-svc-dash__chart-wrap {
    margin-bottom: 0.875rem;
}

.ns-svc-dash__chart-title {
    margin: 0 0 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #8b959e;
}

.ns-svc-dash__chart {
    display: block;
    width: 100%;
    height: 5.5rem;
}

.ns-svc-dash__months {
    display: flex;
    justify-content: space-between;
    margin-top: 0.375rem;
    font-size: 0.625rem;
    color: #adb5bd;
}

.ns-svc-dash__highlights {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.625rem;
}

.ns-svc-dash__highlight {
    padding: 0.625rem 0.75rem;
    background: #fff5f0;
    border-radius: 0.625rem;
    border: 1px solid rgba(240, 84, 35, 0.12);
}

.ns-svc-dash__highlight-label {
    display: block;
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #8b959e;
}

.ns-svc-dash__highlight strong {
    display: block;
    margin-top: 0.15rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #2d2d2d;
}

.ns-svc-dash__highlight-sub {
    display: block;
    margin-top: 0.1rem;
    font-size: 0.625rem;
    color: #16a34a;
    font-weight: 500;
}

@media (max-width: 479px) {
    .ns-svc-dash {
        padding-left: 0;
    }

    .ns-svc-dash__badge {
        display: none;
    }

    .ns-svc-dash__metrics {
        grid-template-columns: 1fr;
    }

    .ns-svc-dash__highlights {
        grid-template-columns: 1fr;
    }
}

/* Meta / Facebook dashboard visual */
.ns-meta-dash {
    position: relative;
    padding-top: 1.5rem;
    padding-left: 1.25rem;
}

.ns-meta-dash__float {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    min-width: 9rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 8px 24px -8px rgba(24, 119, 242, 0.2);
}

.ns-meta-dash__float-label {
    display: block;
    font-size: 0.625rem;
    color: #8b959e;
}

.ns-meta-dash__float strong {
    display: block;
    margin-top: 0.15rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #1877F2;
}

.ns-meta-dash__spark {
    display: block;
    width: 100%;
    height: 1.25rem;
    margin-top: 0.35rem;
}

.ns-meta-dash__badge {
    position: absolute;
    left: 0;
    top: 3rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    background: #fff;
    border-radius: 0.875rem;
    box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.12);
}

.ns-meta-dash__card {
    position: relative;
    padding: 1.375rem;
    background: #fff;
    border-radius: 1.125rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 12px 40px -12px rgba(24, 119, 242, 0.15);
}

.ns-meta-dash__eyebrow {
    margin: 0 0 1rem;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8b959e;
}

.ns-meta-dash__top {
    display: grid;
    gap: 0.875rem;
    margin-bottom: 1rem;
}

@media (min-width: 480px) {
    .ns-meta-dash__top {
        grid-template-columns: 1fr 1fr;
    }
}

.ns-meta-dash__chart-box {
    padding: 0.75rem;
    background: #f7f9fc;
    border-radius: 0.625rem;
}

.ns-meta-dash__chart-label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.6875rem;
    font-weight: 600;
    color: #1877F2;
}

.ns-meta-dash__chart {
    display: block;
    width: 100%;
    height: 3.5rem;
}

.ns-meta-dash__campaigns {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ns-meta-dash__campaigns li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.6875rem;
    color: #5c6670;
}

.ns-meta-dash__campaigns li span {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ns-meta-dash__campaigns li em {
    font-style: normal;
    font-weight: 700;
    color: #1877F2;
}

.ns-meta-dash__metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
}

.ns-meta-dash__metric {
    padding: 0.625rem 0.5rem;
    background: #eef4ff;
    border-radius: 0.625rem;
    text-align: center;
}

.ns-meta-dash__metric span {
    display: block;
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #8b959e;
}

.ns-meta-dash__metric strong {
    display: block;
    margin-top: 0.2rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #2d2d2d;
}

.ns-meta-dash--instagram .ns-meta-dash__float {
    box-shadow: 0 8px 24px -8px rgba(225, 48, 108, 0.22);
}

.ns-meta-dash--instagram .ns-meta-dash__float strong,
.ns-meta-dash--instagram .ns-meta-dash__chart-label,
.ns-meta-dash--instagram .ns-meta-dash__campaigns li em {
    color: #E1306C;
}

.ns-meta-dash--instagram .ns-meta-dash__card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 12px 40px -12px rgba(225, 48, 108, 0.15);
}

.ns-meta-dash--instagram .ns-meta-dash__metric {
    background: #fce7f3;
}

.ns-meta-dash__badge-logo {
    display: block;
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.ns-meta-dash--tiktok .ns-meta-dash__float {
    box-shadow: 0 8px 24px -8px rgba(254, 44, 85, 0.22);
}

.ns-meta-dash--tiktok .ns-meta-dash__float strong,
.ns-meta-dash--tiktok .ns-meta-dash__chart-label,
.ns-meta-dash--tiktok .ns-meta-dash__campaigns li em {
    color: #FE2C55;
}

.ns-meta-dash--tiktok .ns-meta-dash__card {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 12px 40px -12px rgba(254, 44, 85, 0.12);
}

.ns-meta-dash--tiktok .ns-meta-dash__metric {
    background: #fef2f4;
}

.ns-meta-dash--email .ns-meta-dash__float { box-shadow: 0 8px 24px -8px rgba(234, 88, 12, 0.2); }
.ns-meta-dash--email .ns-meta-dash__float strong,
.ns-meta-dash--email .ns-meta-dash__chart-label,
.ns-meta-dash--email .ns-meta-dash__campaigns li em { color: #EA580C; }
.ns-meta-dash--email .ns-meta-dash__metric { background: #ffedd5; }

.ns-meta-dash--sms .ns-meta-dash__float { box-shadow: 0 8px 24px -8px rgba(8, 145, 178, 0.2); }
.ns-meta-dash--sms .ns-meta-dash__float strong,
.ns-meta-dash--sms .ns-meta-dash__chart-label,
.ns-meta-dash--sms .ns-meta-dash__campaigns li em { color: #0891B2; }
.ns-meta-dash--sms .ns-meta-dash__metric { background: #cffafe; }

.ns-meta-dash--ai .ns-meta-dash__float { box-shadow: 0 8px 24px -8px rgba(139, 92, 246, 0.2); }
.ns-meta-dash--ai .ns-meta-dash__float strong,
.ns-meta-dash--ai .ns-meta-dash__chart-label,
.ns-meta-dash--ai .ns-meta-dash__campaigns li em { color: #8B5CF6; }
.ns-meta-dash--ai .ns-meta-dash__metric { background: #ede9fe; }

.ns-svc-dash--seo .ns-svc-dash__metric { background: #dcfce7; }
.ns-svc-dash--ecommerce .ns-svc-dash__metric { background: #dbeafe; }
.ns-svc-dash--marketplace .ns-svc-dash__metric { background: #e0e7ff; }
.ns-svc-dash--feed .ns-svc-dash__metric { background: #ffedd5; }
.ns-svc-dash--analytics .ns-svc-dash__metric { background: #ccfbf1; }
.ns-svc-dash--website .ns-svc-dash__metric { background: #ede9fe; }
.ns-svc-dash--ppc .ns-svc-dash__metric { background: #ffedd5; }
.ns-svc-dash--servicii .ns-svc-dash__metric { background: #ffedd5; }

/* Service hub — pagina servicii, link-uri către toate serviciile */
.ns-svc-hub {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: var(--ns-surface);
}

.ns-svc-hub__groups {
    display: grid;
    gap: 2.5rem;
}

@media (min-width: 768px) {
    .ns-svc-hub__groups {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 2.5rem;
    }
}

@media (min-width: 1200px) {
    .ns-svc-hub__groups {
        grid-template-columns: repeat(3, 1fr);
    }
}

.ns-svc-hub__group-title {
    margin: 0 0 1rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-svc-hub__list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ns-svc-hub__link {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 0.15rem 0.75rem;
    padding: 0.875rem 1rem;
    background: #fff;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-md);
    text-decoration: none;
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease);
}

.ns-svc-hub__link:hover {
    border-color: rgba(240, 84, 35, 0.25);
    box-shadow: 0 4px 16px -6px rgba(15, 20, 25, 0.08);
}

.ns-svc-hub__link-label {
    grid-column: 1;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--ns-ink);
    line-height: 1.3;
}

.ns-svc-hub__link-text {
    grid-column: 1;
    font-size: 0.75rem;
    line-height: 1.45;
    color: var(--ns-ink-muted);
}

.ns-svc-hub__link-arrow {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    font-size: 1rem;
    color: var(--ns-flame);
    transition: transform 0.2s var(--ns-ease);
}

.ns-svc-hub__link:hover .ns-svc-hub__link-arrow {
    transform: translateX(3px);
}

/* Intro band — pagina servicii */
.ns-svc-intro {
    padding-block: clamp(2rem, 5vw, 3rem);
    background: #fff9f5;
}

.ns-svc-intro__inner {
    max-width: 42rem;
    margin-inline: auto;
    text-align: center;
}

.ns-svc-intro__lead {
    margin: 0;
    font-size: clamp(1rem, 2vw, 1.125rem);
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-svc-intro__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem 0.5rem;
    margin: 1.25rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.ns-svc-intro__tags a {
    color: var(--ns-flame);
    font-weight: 600;
    text-decoration: none;
}

.ns-svc-intro__tags a:hover {
    text-decoration: underline;
}

.ns-svc-intro__tags span {
    color: #ccc;
}

@media (max-width: 479px) {
    .ns-meta-dash {
        padding-left: 0;
    }

    .ns-meta-dash__badge {
        display: none;
    }

    .ns-meta-dash__metrics {
        grid-template-columns: 1fr;
    }
}

/* Internal page */
.ns-page-hero {
    padding-block: clamp(2.5rem, 6vw, 4rem);
    background: linear-gradient(180deg, var(--ns-surface-soft) 0%, var(--ns-surface) 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-page-hero h1 {
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(1.875rem, 4vw, 2.75rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.ns-page-hero .ns-lead {
    margin-top: 1rem;
    max-width: 42rem;
    font-size: 1.125rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    color: var(--ns-ink-soft);
}

.ns-breadcrumb a {
    color: var(--ns-ink-muted);
    text-decoration: none;
}

.ns-breadcrumb a:hover {
    color: var(--ns-flame);
}

.ns-breadcrumb [aria-current] {
    color: var(--ns-ink);
    font-weight: 500;
}

/* CMS prose — imported + editor content */
.ns-prose,
.cms-prose.ns-prose {
    max-width: 48rem;
    font-size: 1.0625rem;
    line-height: 1.75;
    color: var(--ns-ink-muted);
}

.ns-prose h2,
.cms-prose.ns-prose h2 {
    margin-top: 2.5rem;
    margin-bottom: 0.75rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-prose h3,
.cms-prose.ns-prose h3 {
    margin-top: 2rem;
    margin-bottom: 0.5rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-prose a,
.cms-prose.ns-prose a {
    color: var(--ns-flame);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ns-prose img,
.cms-prose.ns-prose img {
    border-radius: var(--ns-radius);
    margin-block: 1.5rem;
}

.ns-prose ul,
.ns-prose ol,
.cms-prose.ns-prose ul,
.cms-prose.ns-prose ol {
    padding-left: 1.25rem;
    margin-block: 1rem;
}

.ns-imported-content {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: 1px solid var(--ns-border);
}

.ns-imported-content .et_pb_section,
.ns-imported-content .et_pb_row {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 1.5rem !important;
}

/* Overflow — conținut CMS / Divi */
.ns-prose,
.cms-prose.ns-prose,
.ns-imported-content {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.ns-prose table,
.cms-prose.ns-prose table,
.ns-imported-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.ns-prose iframe,
.ns-prose video,
.ns-prose embed,
.cms-prose.ns-prose iframe,
.ns-imported-content iframe,
.ns-imported-content img {
    max-width: 100% !important;
    height: auto !important;
}

.ns-imported-content * {
    max-width: 100%;
    box-sizing: border-box;
}

.ns-imported-content [style*="width"] {
    width: auto !important;
    max-width: 100% !important;
}

/* Beneficii homepage */
.ns-benefits__layout {
    display: grid;
    gap: 2rem;
    align-items: start;
}

@media (min-width: 1024px) {
    .ns-benefits__layout {
        grid-template-columns: 1fr 1.1fr;
        gap: 3rem;
        align-items: center;
    }
}

.ns-section-head--flush {
    margin-bottom: 0;
}

.ns-benefits__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ns-card--compact {
    padding: 1.125rem 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.5;
}

.ns-benefits__check {
    color: var(--ns-flame);
    margin-right: 0.35rem;
    font-weight: 700;
}

/* Compatibilitate setări CMS — hero rămâne aproape full viewport */
.cms-layout-boxed .ns-main .ns-container {
    max-width: var(--layout-max-width, var(--ns-container));
}

.cms-layout-boxed .ns-main .ns-hero--banner,
.cms-layout-boxed .ns-main .ns-hero--banner .ns-hero__frame,
.cms-layout-boxed .ns-main .ns-hero--banner .ns-hero__shell {
    max-width: none;
    width: 100%;
}

.cms-header-border .ns-header {
    border-bottom-color: var(--ns-border);
}

/* Footer — structură aimers.io adaptată netSEO */
.ns-footer {
    margin-top: auto;
    background: var(--ns-footer-bg);
    color: rgba(255, 255, 255, 0.78);
}

.ns-footer a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    transition: color 0.2s var(--ns-ease);
}

.ns-footer a:hover {
    color: #fff;
}

.ns-footer .ns-container {
    padding-block: clamp(2.5rem, 6vw, 3.5rem);
}

.ns-footer-newsletter {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
    padding: clamp(1.35rem, 3vw, 2rem);
    background: var(--ns-footer-newsletter-bg);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 1rem;
    box-shadow: 0 14px 40px -18px rgba(15, 8, 40, 0.55);
}

.ns-footer-newsletter__panel {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

@media (min-width: 768px) {
    .ns-footer-newsletter__panel {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 2rem;
    }
}

@media (min-width: 768px) {
    .ns-footer-newsletter {
        flex-direction: column;
    }
}

.ns-footer-newsletter__copy {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.ns-footer-newsletter__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    color: #5a49b0;
    background: #fff;
    border-radius: 0.625rem;
    box-shadow: 0 4px 14px -6px rgba(15, 8, 40, 0.35);
}

.ns-footer-newsletter__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #fff;
}

.ns-footer-newsletter__desc {
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.82);
}

.ns-footer-newsletter__form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
}

.ns-footer-newsletter__form-wrap {
    width: 100%;
    max-width: 28rem;
}

.ns-footer-newsletter__actions {
    display: flex;
    align-items: stretch;
    gap: 0.625rem;
    width: 100%;
}

.ns-footer-newsletter__field {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: var(--ns-radius-btn);
    box-shadow: 0 4px 24px -8px rgba(0, 0, 0, 0.35);
}

.ns-footer-newsletter__field input {
    flex: 1;
    min-width: 0;
    width: 100%;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
    font-family: inherit;
    color: var(--ns-ink);
    border: none;
    outline: none;
    background: transparent;
    border-radius: var(--ns-radius-btn);
}

.ns-footer-newsletter__field input::placeholder {
    color: var(--ns-ink-soft);
}

.ns-footer-newsletter__submit {
    flex-shrink: 0;
    align-self: stretch;
    margin: 0;
    padding: 0.75rem 1.375rem;
    font-size: 0.9375rem;
    line-height: 1.35;
    border-radius: var(--ns-radius-btn) !important;
    box-shadow: none;
}

.ns-footer-newsletter__submit:hover {
    box-shadow: none;
}

.ns-footer-newsletter__consent {
    margin-top: 0.125rem;
}

.ns-footer-newsletter__consent .gdpr-consent-block {
    margin: 0 !important;
    padding: 0.875rem 1rem !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 0.625rem !important;
}

.ns-footer-newsletter__consent .gdpr-field label {
    color: #374151 !important;
}

.ns-footer-newsletter__error {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #fecaca;
}

.ns-footer-newsletter__success {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.ns-footer-newsletter__success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.75rem;
    height: 2.75rem;
    color: #166534;
    background: #dcfce7;
    border-radius: 0.625rem;
}

.ns-footer-newsletter__success-title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    color: #fff;
}

.ns-footer-newsletter__success-text {
    margin: 0.35rem 0 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.88);
}

.ns-footer__grid {
    display: grid;
    gap: 2rem 1.5rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .ns-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-footer__grid {
        grid-template-columns: 1.35fr repeat(4, 1fr);
        gap: 2rem;
    }
}

.ns-footer__brand-col {
    grid-column: 1 / -1;
}

@media (min-width: 1024px) {
    .ns-footer__brand-col {
        grid-column: 1;
    }
}

.ns-footer__col {
    min-width: 0;
}

.ns-footer__extras {
    grid-column: 1 / -1;
    display: grid;
    gap: 1.5rem 1.25rem;
    margin-top: 0.25rem;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    align-items: start;
}

@media (min-width: 640px) {
    .ns-footer__extras {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .ns-footer__extras {
        grid-template-columns: 1.35fr repeat(4, 1fr);
        gap: 1.25rem 2rem;
        margin-top: 0.5rem;
    }

    .ns-footer__extra--contact {
        grid-column: 1;
    }

    .ns-footer__extra--rating {
        grid-column: 2 / span 2;
    }

    .ns-footer__extra--social {
        grid-column: 4;
    }

    .ns-footer__extra--anpc {
        grid-column: 5;
    }
}

.ns-footer__extra-label {
    margin: 0 0 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.ns-footer__rating {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ns-footer-google-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    max-width: 100%;
    padding: 0.6rem 0.85rem;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 0.75rem;
    text-decoration: none;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.ns-footer-google-badge:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.22);
    transform: translateY(-1px);
}

.ns-footer-google-badge__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    background: #fff;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.ns-footer-google-badge__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.ns-footer-google-badge__label {
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

.ns-footer-google-badge__score {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.ns-footer-google-badge__stars {
    color: #fbbc04;
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    line-height: 1;
}

.ns-footer-google-badge__score strong {
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}

.ns-footer__rating-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.75);
}

.ns-footer__rating-text strong {
    color: #fff;
}

.ns-footer__extra--social .ns-footer__social {
    margin: 0;
}

.ns-footer__extra--contact {
    display: flex;
    align-items: center;
}

.ns-footer__contact-actions {
    display: flex;
    align-items: center;
    gap: 0.625rem;
}

.ns-footer__extra--anpc .ns-footer__anpc {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

@media (min-width: 480px) {
    .ns-footer__extra--anpc .ns-footer__anpc {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
    }
}

.ns-footer__logo {
    display: block;
    max-height: 2.75rem;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.ns-footer__logo-text {
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: #fff;
}

.ns-footer__company-name {
    margin: 1rem 0 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.35;
    color: #fff;
    letter-spacing: 0.01em;
}

.ns-footer__firm-data {
    margin-top: 0.625rem;
    font-size: 0.8125rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.6);
}

.ns-footer__firm-data .ns-footer__company-line {
    margin: 0 0 0.25rem;
    color: rgba(255, 255, 255, 0.65);
}

.ns-footer__tagline {
    margin: 0.875rem 0 0;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.5);
}

.ns-footer__company-line {
    margin: 0 0 0.5rem;
    color: rgba(255, 255, 255, 0.72);
}

.ns-footer__company-line a:hover {
    color: var(--ns-flame);
}

.ns-footer__contact-row {
    margin-bottom: 0.625rem;
}

.ns-footer__contact-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    transition: color 0.2s;
}

.ns-footer__contact-link:hover {
    color: var(--ns-flame);
}

.ns-footer__contact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    color: var(--ns-flame);
    background: rgba(240, 84, 35, 0.12);
    border-radius: 0.5rem;
}

.ns-footer__contact-icon--wa {
    color: #25d366;
    background: rgba(37, 211, 102, 0.12);
}

.ns-footer__contact-link:hover .ns-footer__contact-icon {
    background: rgba(240, 84, 35, 0.2);
}

.ns-footer__contact-link:hover .ns-footer__contact-icon--wa {
    background: rgba(37, 211, 102, 0.2);
}

.ns-footer__label {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
}

.ns-footer__iban {
    font-family: ui-monospace, 'SF Mono', Menlo, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
    word-break: break-all;
}

.ns-footer__brand {
    display: inline-block;
}

.ns-footer__title {
    margin: 0 0 1rem;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #fff;
}

.ns-footer__title--spaced {
    margin-top: 1.5rem;
}

.ns-footer__links {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 0.875rem;
}

.ns-footer__links a {
    color: rgba(255, 255, 255, 0.72);
}

.ns-footer__links a:hover {
    color: var(--ns-flame);
}

.ns-footer__links--legal {
    gap: 0.5rem;
}

.ns-footer__legal-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.875rem;
    line-height: 1.45;
}

.ns-footer__legal-chevron {
    color: rgba(255, 255, 255, 0.45);
    font-size: 1rem;
    line-height: 1;
}

.ns-footer__legal-link.is-highlight {
    color: #fbbf24;
    font-weight: 600;
}

.ns-footer__legal-link.is-highlight:hover {
    color: #fcd34d;
}

.ns-footer__legal-external {
    flex-shrink: 0;
    opacity: 0.9;
}

.ns-footer__stars {
    color: #f5a623;
    letter-spacing: 0.08em;
}

.ns-footer__social {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.ns-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 0.5rem;
    transition: transform 0.2s var(--ns-ease), background 0.2s, border-color 0.2s;
}

.ns-footer__social-link svg {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.ns-footer__social-link img {
    display: block;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.ns-footer__social-link:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(240, 84, 35, 0.45);
    transform: translateY(-2px);
}

.ns-footer__social-link:hover .ns-icon svg {
    filter: brightness(1.08);
}

.ns-footer__bar {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.15);
}

.ns-footer__bar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding-block: 1.125rem;
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.5);
    text-align: center;
}

.ns-footer__bar-inner p {
    margin: 0;
}

.ns-footer__anpc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.625rem;
}

.ns-footer__anpc-link {
    display: block;
    flex-shrink: 0;
    border-radius: 0.5rem;
    overflow: hidden;
    transition: transform 0.2s var(--ns-ease), box-shadow 0.2s;
}

.ns-footer__anpc-link:hover {
    transform: scale(1.04);
    box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.35);
}

.ns-footer__anpc-link img {
    display: block;
    width: 125px;
    height: auto;
}

@media (max-width: 767px) {
    .ns-footer-newsletter__actions {
        flex-direction: column;
        gap: 0.5rem;
    }

    .ns-footer-newsletter__submit {
        width: 100%;
    }
}

@media (max-width: 639px) {
    .ns-footer-newsletter__form {
        max-width: none;
    }

    .ns-footer__extras {
        grid-template-columns: 1fr;
    }

    .ns-footer__extra--anpc .ns-footer__anpc {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/* Scroll reveal */
.ns-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s var(--ns-ease), transform 0.6s var(--ns-ease);
}

.ns-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Nav link compat CMS */
.cms-nav-link {
    text-decoration: none;
}

.cms-nav-link-active {
    color: var(--ns-flame) !important;
}

/* Breadcrumb component override */
.ns-main .cms-container {
    max-width: var(--ns-container);
}

/* Mobile — spacing & tipografie */
@media (max-width: 639px) {
    .ns-container {
        padding-inline: 1rem;
    }

    .ns-section {
        padding-block: 2.5rem;
    }

    .ns-hero--banner {
        --ns-hero-side: 1rem;
        padding-block: 0.875rem 1rem;
    }

    .ns-hero__grid {
        padding: 1.5rem 1.125rem;
    }

    .ns-hero__shell {
        border-radius: 1.125rem;
    }

    .ns-hero__tiles {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    .ns-hero__tile {
        min-height: 3.5rem;
    }

    .ns-card {
        padding: 1.25rem;
    }

    .ns-section-head h2 {
        font-size: 1.5rem;
    }

    .ns-section-head p {
        font-size: 1rem;
    }

    .ns-page-hero {
        padding-block: 2rem;
    }

    .ns-page-hero .ns-lead {
        font-size: 1rem;
    }

    .ns-logos__track {
        gap: 1.25rem 1.75rem;
    }

    .ns-cta {
        padding: 1.75rem 1.25rem;
        border-radius: 1rem;
    }

    .ns-cta__inner {
        text-align: center;
    }

    .ns-cta .ns-btn {
        width: 100%;
    }

    .ns-grid--4 {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ns-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .ns-btn:hover,
    .ns-card:hover {
        transform: none;
    }
    html {
        scroll-behavior: auto;
    }
}

/* ── Portofoliu ── */
.ns-portfolio-page {
    padding-bottom: 0;
}

.ns-portfolio-hero {
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-portfolio-hero__head {
    max-width: 42rem;
}

.ns-portfolio-hero__head h1 {
    margin: 0.5rem 0 0;
    font-family: var(--ns-font-display);
    font-size: clamp(1.875rem, 4.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-portfolio-hero__lead {
    margin: 1rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-portfolio {
    padding-block: clamp(2rem, 5vw, 3rem);
}

.ns-portfolio__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}

.ns-portfolio__stat {
    padding: 1.25rem 1.5rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    text-align: center;
}

.ns-portfolio__stat strong {
    display: block;
    font-family: var(--ns-font-display);
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ns-flame);
    letter-spacing: -0.02em;
}

.ns-portfolio__stat span {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: var(--ns-ink-muted);
}

.ns-portfolio__filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.ns-portfolio__filter {
    padding: 0.5rem 1rem;
    border: 1px solid var(--ns-border);
    border-radius: 999px;
    background: var(--ns-surface);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.ns-portfolio__filter:hover {
    border-color: rgba(240, 84, 35, 0.3);
    color: var(--ns-flame);
}

.ns-portfolio__filter.is-active {
    border-color: var(--ns-flame);
    background: #fff4ee;
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-portfolio__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    min-height: 1px;
}

.ns-portfolio-card {
    opacity: 1;
    visibility: visible;
    border-radius: var(--ns-radius-lg);
    overflow: hidden;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.ns-portfolio-card:hover {
    box-shadow: 0 16px 48px -20px rgba(15, 20, 25, 0.18);
    transform: translateY(-2px);
}

.ns-portfolio-card--featured {
    grid-column: span 1;
}

.ns-portfolio-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ns-portfolio-card__media {
    position: relative;
    margin: 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f3f4f6;
}

.ns-portfolio-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    transition: transform 0.35s var(--ns-ease);
}

.ns-portfolio-card:hover .ns-portfolio-card__media img {
    transform: scale(1.03);
}

.ns-portfolio-card__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(15, 20, 25, 0.55);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.ns-portfolio-card:hover .ns-portfolio-card__overlay,
.ns-portfolio-card:focus-within .ns-portfolio-card__overlay {
    opacity: 1;
}

.ns-portfolio-card__visit {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.65rem 1.1rem;
    border-radius: 999px;
    background: var(--ns-flame);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 600;
}

.ns-portfolio-card__body {
    padding: 1rem 1.15rem 1.15rem;
}

.ns-portfolio-card__badge {
    display: inline-block;
    margin-bottom: 0.45rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: #f3f0ff;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6d28d9;
}

.ns-portfolio-card__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: var(--ns-ink);
    line-height: 1.3;
}

.ns-portfolio-card__desc {
    margin: 0.35rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: var(--ns-ink-muted);
}

.ns-portfolio-card.is-hidden {
    display: none;
}

@media (max-width: 1024px) {
    .ns-portfolio__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ns-portfolio__stats {
        grid-template-columns: 1fr;
    }

    .ns-portfolio__grid {
        grid-template-columns: 1fr;
    }

    .ns-portfolio-card__overlay {
        opacity: 1;
        background: rgba(15, 20, 25, 0.35);
    }

    .ns-portfolio-card__visit {
        font-size: 0.75rem;
        padding: 0.5rem 0.85rem;
    }
}

/* ── Testimoniale pagină ── */
.ns-testimonials-page {
    padding-bottom: 0;
}

.ns-testimonials-hero {
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-testimonials-hero__head {
    max-width: 40rem;
}

.ns-testimonials-hero__head h1 {
    margin: 0.5rem 0 0;
    font-family: var(--ns-font-display);
    font-size: clamp(1.875rem, 4.5vw, 2.75rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
}

.ns-testimonials-hero__lead {
    margin: 1rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-google-rating-badge {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-top: 1.25rem;
    padding: 0.75rem 1rem;
    background: #fff;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-btn);
    box-shadow: 0 8px 24px -16px rgba(15, 20, 25, 0.18);
    color: var(--ns-ink);
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ns-google-rating-badge:hover {
    border-color: rgba(66, 133, 244, 0.35);
    box-shadow: 0 12px 28px -14px rgba(66, 133, 244, 0.25);
    transform: translateY(-1px);
}

.ns-google-rating-badge__stars {
    color: #fbbc04;
    font-size: 0.875rem;
    letter-spacing: 0.06em;
}

.ns-google-rating-badge__score {
    font-size: 0.9375rem;
    color: var(--ns-ink);
}

.ns-google-rating-badge__score strong {
    font-weight: 700;
}

.ns-google-rating-badge__cta {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1a73e8;
}

.ns-google-rating-badge__cta::before {
    content: '·';
    margin-right: 0.75rem;
    color: var(--ns-ink-soft);
}

.ns-section--google-reviews {
    padding-block: clamp(2rem, 5vw, 3rem);
    background: #fff;
}

.ns-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    margin-bottom: 1.5rem;
}

.ns-section-head--compact {
    margin-bottom: 1.25rem;
}

.ns-section-head h2 {
    margin: 0.35rem 0 0;
    font-family: var(--ns-font-display);
    font-size: clamp(1.375rem, 3vw, 1.75rem);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ns-section-head__lead {
    margin: 0.35rem 0 0;
    font-size: 0.9375rem;
    color: var(--ns-ink-muted);
}

.ns-section--testimonials-grid {
    padding-block: clamp(2rem, 5vw, 3rem);
    background: var(--ns-surface-soft);
}

.ns-testimonials-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.ns-testimonial-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 8px 32px -20px rgba(15, 20, 25, 0.1);
    height: 100%;
}

.ns-testimonial-card--google {
    border-color: rgba(66, 133, 244, 0.18);
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

.ns-testimonial-card__google-head {
    display: flex;
    align-items: center;
}

.ns-testimonial-card__google-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(66, 133, 244, 0.08);
    font-size: 0.75rem;
    font-weight: 600;
    color: #1a73e8;
}

.ns-testimonial-card__google-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: auto;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #1a73e8;
    text-decoration: none;
}

.ns-testimonial-card__google-link:hover {
    text-decoration: underline;
}

.ns-testimonial-card__stars {
    color: #f59e0b;
    font-size: 0.9375rem;
    letter-spacing: 0.08em;
}

.ns-testimonial-card__quote {
    margin: 0;
    flex: 1;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: var(--ns-ink-muted);
}

.ns-testimonial-card__footer {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ns-border);
}

.ns-testimonial-card__avatar {
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.ns-testimonial-card__avatar--initial {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #fff4ee, #ffe8dc);
    color: var(--ns-flame);
    font-weight: 700;
    font-size: 1rem;
}

.ns-testimonial-card__name {
    display: block;
    font-style: normal;
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--ns-ink);
}

.ns-testimonial-card__role {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    color: var(--ns-ink-muted);
}

.ns-section--testimonial-form {
    padding-block: clamp(2rem, 5vw, 3.5rem);
}

.ns-testimonial-form-wrap {
    max-width: 36rem;
    margin-inline: auto;
}

.ns-testimonial-form,
.ns-testimonial-success {
    padding: clamp(1.5rem, 4vw, 2rem);
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 12px 40px -24px rgba(15, 20, 25, 0.12);
}

.ns-testimonial-form__head h2,
.ns-testimonial-success h2 {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 700;
}

.ns-testimonial-form__head p,
.ns-testimonial-success p {
    margin: 0.5rem 0 0;
    font-size: 0.9375rem;
    color: var(--ns-ink-muted);
}

.ns-testimonial-form__fields {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}

.ns-form-row label {
    display: block;
    margin-bottom: 0.35rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-form-optional {
    font-weight: 400;
    color: var(--ns-ink-muted);
}

.ns-form-row input,
.ns-form-row textarea {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-sm);
    font: inherit;
    font-size: 0.9375rem;
    color: var(--ns-ink);
    background: #fff;
    box-sizing: border-box;
}

.ns-form-row input:focus,
.ns-form-row textarea:focus {
    outline: none;
    border-color: rgba(240, 84, 35, 0.45);
    box-shadow: 0 0 0 3px rgba(240, 84, 35, 0.12);
}

.ns-form-error {
    display: block;
    margin-top: 0.25rem;
    font-size: 0.8125rem;
    color: #dc2626;
}

.ns-form-alert {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border-radius: var(--ns-radius-sm);
    font-size: 0.875rem;
}

.ns-form-alert--error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
}

.ns-form-alert ul {
    margin: 0.35rem 0 0;
    padding-left: 1.1rem;
}

.ns-star-rating {
    display: flex;
    gap: 0.25rem;
    align-items: center;
}

.ns-star-rating button {
    padding: 0.15rem;
    border: none;
    background: none;
    font-size: 1.5rem;
    line-height: 1;
    color: #e2e8f0;
    cursor: pointer;
    transition: color 0.12s ease, transform 0.12s ease;
}

.ns-star-rating button.is-active {
    color: #f59e0b !important;
}

.ns-star-rating button:focus,
.ns-star-rating button:focus-visible {
    outline: 2px solid rgba(245, 158, 11, 0.45);
    outline-offset: 2px;
}

.ns-testimonial-success {
    text-align: center;
}

.ns-testimonial-success__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5rem;
    height: 3.5rem;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: #fff4ee;
    color: var(--ns-flame);
    font-size: 1.5rem;
    font-weight: 700;
}

@media (max-width: 1024px) {
    .ns-testimonials-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .ns-testimonials-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Pagini legale ── */
.ns-legal-page {
    padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

.ns-legal-hero {
    padding-block: clamp(2rem, 5vw, 2.75rem) clamp(1.5rem, 4vw, 2rem);
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-legal-hero__inner {
    max-width: 42rem;
}

.ns-legal-hero__eyebrow {
    display: inline-block;
    margin-bottom: 0.65rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ns-ink-muted);
}

.ns-legal-hero__title {
    margin: 0;
    font-family: var(--ns-font-display);
    font-size: clamp(1.75rem, 4vw, 2.5rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-legal-hero__subtitle {
    margin: 0.85rem 0 0;
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

.ns-legal-hero__meta {
    margin: 1rem 0 0;
    font-size: 0.8125rem;
    color: var(--ns-ink-muted);
}

.ns-legal-layout {
    display: grid;
    grid-template-columns: 16rem minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 2.5rem);
    padding-block: clamp(2rem, 5vw, 3rem);
    align-items: start;
}

.ns-legal-sidebar {
    position: sticky;
    top: 6rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ns-legal-sidebar__block {
    padding: 1rem 1.1rem;
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
}

.ns-legal-sidebar__label {
    margin: 0 0 0.65rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-ink-muted);
}

.ns-legal-sidebar__nav,
.ns-legal-sidebar__toc {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.ns-legal-sidebar__link,
.ns-legal-sidebar__toc-link {
    display: block;
    padding: 0.45rem 0.55rem;
    border-radius: var(--ns-radius-sm);
    font-size: 0.8125rem;
    line-height: 1.45;
    color: var(--ns-ink-muted);
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.ns-legal-sidebar__link:hover,
.ns-legal-sidebar__toc-link:hover {
    background: #f8fafc;
    color: var(--ns-ink);
}

.ns-legal-sidebar__link.is-active {
    background: #fff4ee;
    color: var(--ns-flame);
    font-weight: 600;
}

.ns-legal-sidebar__toc-link.is-sub {
    padding-left: 1.1rem;
    font-size: 0.78125rem;
}

.ns-legal-sidebar__note {
    padding: 0.875rem 1rem;
    background: #f8fafc;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
}

.ns-legal-sidebar__note p {
    margin: 0;
}

.ns-legal-sidebar__note a {
    color: var(--ns-flame);
    text-decoration: none;
}

.ns-legal-sidebar__note a:hover {
    text-decoration: underline;
}

.ns-legal-sidebar__anpc {
    display: inline-block;
    margin-top: 0.65rem;
    font-weight: 600;
    color: #d97706 !important;
}

.ns-legal-content {
    min-width: 0;
}

.ns-legal-prose {
    padding: clamp(1.5rem, 4vw, 2.25rem);
    background: var(--ns-surface);
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-lg);
    box-shadow: 0 8px 32px -24px rgba(15, 20, 25, 0.08);
}

.ns-legal-prose h2,
.ns-legal-prose h3 {
    scroll-margin-top: 6rem;
}

.ns-legal-prose h2 {
    margin: 2rem 0 0.85rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--ns-border);
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-legal-prose h2:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.ns-legal-prose h3 {
    margin: 1.25rem 0 0.65rem;
    font-size: 1.0625rem;
    font-weight: 600;
    color: var(--ns-ink);
}

.ns-legal-prose p,
.ns-legal-prose li {
    font-size: 0.9375rem;
    line-height: 1.75;
    color: var(--ns-ink-muted);
}

.ns-legal-prose ul,
.ns-legal-prose ol {
    margin: 0.75rem 0 1rem;
    padding-left: 1.25rem;
}

.ns-legal-prose li + li {
    margin-top: 0.35rem;
}

.ns-legal-prose a {
    color: var(--ns-flame);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.ns-legal-prose strong {
    color: var(--ns-ink);
    font-weight: 600;
}

@media (max-width: 960px) {
    .ns-legal-layout {
        grid-template-columns: 1fr;
    }

    .ns-legal-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    }
}

/* Contact page */
.ns-contact-page__hero {
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.5rem, 4vw, 2.25rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-bottom: 1px solid var(--ns-border);
}

.ns-contact-page__hero-inner {
    max-width: 42rem;
}

.ns-contact-page__eyebrow {
    display: inline-block;
    margin-bottom: 0.75rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ns-flame);
}

.ns-contact-page__title {
    margin: 0;
    font-family: var(--ns-font-display), sans-serif;
    font-size: clamp(2rem, 4.5vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ns-ink);
}

.ns-contact-page__lead {
    margin: 1rem 0 0;
    max-width: 38rem;
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--ns-ink-muted);
}

.ns-contact-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.25rem, 3vw, 2rem);
    align-items: stretch;
    padding-block: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 3vw, 1.75rem);
}

.ns-contact-page__panel {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    min-width: 0;
    height: 100%;
    padding: clamp(1.15rem, 2.5vw, 1.5rem);
    border-radius: var(--ns-radius-lg);
    border: 1px solid var(--ns-border);
    background: #fff;
    box-shadow: 0 16px 48px -28px rgba(15, 20, 25, 0.14);
}

.ns-contact-page__panel-head {
    padding-bottom: 0.85rem;
    border-bottom: 1px solid var(--ns-border);
}

.ns-contact-page__panel-title {
    margin: 0 0 0.35rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-contact-page__panel-lead {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
}

.ns-contact-page__panel--contact .ns-contact-page__panel-head {
    background: linear-gradient(135deg, #0f1419 0%, #1a2332 100%);
    margin: calc(-1 * clamp(1.15rem, 2.5vw, 1.5rem));
    margin-bottom: 0;
    padding: 0.9rem clamp(1.15rem, 2.5vw, 1.5rem);
    border-bottom: none;
    border-radius: calc(var(--ns-radius-lg) - 2px) calc(var(--ns-radius-lg) - 2px) 0 0;
}

.ns-contact-page__panel--contact .ns-contact-page__panel-title {
    font-size: 1rem;
    color: #fff;
}

.ns-contact-page__panel--contact .ns-contact-page__panel-lead {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.78);
}

.ns-contact-page__panel--company .ns-company-card--featured {
    flex: 1;
}

.ns-company-card--featured {
    padding: 1rem 1.1rem;
    background: var(--ns-surface-soft);
    border-color: var(--ns-border);
}

.ns-company-card--featured .ns-company-card__title {
    display: none;
}

.ns-company-card--featured .ns-company-card__name {
    font-size: 0.9375rem;
    margin-bottom: 0.75rem;
}

.ns-company-card--featured .ns-company-card__row {
    grid-template-columns: 5.75rem minmax(0, 1fr);
    font-size: 0.8125rem;
}

.ns-company-card--featured .ns-company-card__row + .ns-company-card__row {
    margin-top: 0.25rem;
}

.ns-contact-page__form-section {
    padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2.5rem, 6vw, 4rem);
    background: linear-gradient(180deg, #fff9f5 0%, #fff 100%);
    border-top: 1px solid var(--ns-border);
}

.ns-contact-form--wide .ns-contact-form__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .ns-contact-form--wide .ns-contact-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ns-contact-form--wide .ns-contact-form__grid .ns-svc-lead-form__field:last-child {
        grid-column: 1 / -1;
    }
}

.ns-contact-form--wide .ns-contact-form__submit {
    max-width: 20rem;
}

.ns-contact-page__channels {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.ns-contact-page__channels--grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
}

.ns-contact-card {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-md);
    background: var(--ns-surface-soft);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.2s var(--ns-ease), box-shadow 0.2s var(--ns-ease), transform 0.2s var(--ns-ease);
}

.ns-contact-card--wide {
    grid-column: 1 / -1;
}

.ns-contact-card--link:hover,
a.ns-contact-card:hover {
    border-color: rgba(240, 84, 35, 0.35);
    box-shadow: 0 10px 28px -18px rgba(240, 84, 35, 0.35);
    transform: translateY(-1px);
}

.ns-contact-card--static {
    cursor: default;
}

.ns-contact-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.125rem;
    height: 2.125rem;
    flex-shrink: 0;
    border-radius: 0.625rem;
    background: #fff4ee;
    color: var(--ns-flame);
}

.ns-contact-card__icon svg {
    width: 1.125rem;
    height: 1.125rem;
}

.ns-contact-card__icon--whatsapp {
    background: #ecfdf5;
    color: #16a34a;
}

.ns-contact-card__body {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.ns-contact-card__label {
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-ink-soft);
}

.ns-contact-card__value {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--ns-ink);
    word-break: break-word;
}

.ns-contact-card__value--pre {
    font-weight: 500;
    white-space: pre-line;
}

.ns-contact-card__sub {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--ns-ink-muted);
}

.ns-contact-page__reviews {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: auto;
    padding: 0.55rem 0.75rem;
    border-radius: var(--ns-radius-md);
    border: 1px solid var(--ns-border);
    background: var(--ns-surface-soft);
    text-decoration: none;
    color: var(--ns-ink);
    transition: border-color 0.2s var(--ns-ease);
}

.ns-contact-page__reviews:hover {
    border-color: rgba(66, 133, 244, 0.35);
}

.ns-contact-page__reviews-stars {
    color: #f59e0b;
    letter-spacing: 0.04em;
    font-size: 0.75rem;
}

.ns-contact-page__reviews-text {
    font-size: 0.75rem;
    color: var(--ns-ink-muted);
}

.ns-contact-page__reviews-text strong {
    color: var(--ns-ink);
}

.ns-company-card {
    padding: 1.15rem 1.25rem;
    border-radius: var(--ns-radius-md);
    border: 1px solid var(--ns-border);
    background: var(--ns-surface-soft);
}

.ns-company-card__title {
    margin: 0 0 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ns-ink-soft);
}

.ns-company-card__name {
    margin: 0 0 0.75rem;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-company-card__list {
    margin: 0;
}

.ns-company-card__row {
    display: grid;
    grid-template-columns: 5.5rem 1fr;
    gap: 0.5rem;
    font-size: 0.8125rem;
    line-height: 1.5;
}

.ns-company-card__row + .ns-company-card__row {
    margin-top: 0.35rem;
}

.ns-company-card__row dt {
    margin: 0;
    color: var(--ns-ink-soft);
    font-weight: 500;
}

.ns-company-card__row dd {
    margin: 0;
    color: var(--ns-ink);
    font-weight: 600;
}

.ns-company-card__iban {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.01em;
    word-break: break-all;
}

.ns-contact-page__form-card {
    padding: clamp(1.5rem, 4vw, 2rem);
    border-radius: var(--ns-radius-lg);
    border: 1px solid var(--ns-border);
    background: #fff;
    box-shadow: 0 16px 48px -28px rgba(15, 20, 25, 0.14);
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ns-contact-page__form-head {
    margin-bottom: 1.25rem;
}

.ns-contact-page__form-title {
    margin: 0 0 0.35rem;
    font-family: var(--ns-font-display), sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-contact-page__form-lead {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--ns-ink-muted);
}

.ns-contact-form .gdpr-consent-block {
    margin: 0 !important;
    padding: 1rem 1.1rem !important;
    background: #fafafa !important;
    border: 1px solid var(--ns-border) !important;
    border-radius: 0.625rem !important;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.ns-contact-form .gdpr-consent-block input[type="checkbox"] {
    accent-color: var(--ns-flame) !important;
}

.ns-contact-form__submit {
    width: 100%;
}

.ns-contact-page__form-card .mt-6 {
    margin: 0 0 1rem;
    padding: 0.875rem 1rem;
    border-radius: 0.625rem;
    border: 1px solid #fecaca;
    background: #fef2f2;
    font-size: 0.875rem;
    color: #991b1b;
}

.ns-contact-page__success {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
    padding: 2rem 1rem;
}

.ns-contact-page__success-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: #ecfdf5;
    color: #059669;
}

.ns-contact-page__success-title {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--ns-ink);
}

.ns-contact-page__success-text {
    margin: 0;
    max-width: 24rem;
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--ns-ink-muted);
}

.ns-contact-page__fallback {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
}


@media (max-width: 960px) {
    .ns-contact-page__layout {
        grid-template-columns: 1fr;
    }

    .ns-contact-page__channels--grid {
        grid-template-columns: 1fr;
    }

    .ns-contact-card--wide {
        grid-column: auto;
    }
}

/* ── Mobile polish — layout global, servicii, componente ── */
@media (max-width: 767px) {
    .ns-svc-dash {
        padding-left: 0;
    }

    .ns-svc-dash__badge {
        display: none;
    }

    .ns-svc-dash__metrics,
    .ns-svc-dash__highlights,
    .ns-meta-dash__metrics {
        grid-template-columns: 1fr;
    }

    .ns-meta-dash {
        padding-left: 0;
        padding-top: 0;
    }

    .ns-meta-dash__badge {
        display: none;
    }

    .ns-meta-dash__float {
        position: static;
        min-width: 0;
        width: 100%;
        margin-bottom: 0.75rem;
    }

    .ns-svc-visual__metrics,
    .ns-svc-visual__kpi-row {
        grid-template-columns: 1fr;
    }

    .ns-portfolio__stats {
        grid-template-columns: 1fr;
    }

    .ns-drawer__head .ns-logo__text {
        max-width: 12rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .ns-breadcrumb [aria-current] {
        overflow-wrap: anywhere;
    }

    .ns-blog-filters {
        gap: 0.4rem;
        margin: 1.5rem 0 1.75rem;
    }

    .ns-blog-filters__pill {
        padding: 0.45rem 0.8rem;
        font-size: 0.75rem;
    }

    .ns-blog-article__title,
    .ns-contact-page__title,
    .ns-legal-hero__title {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .ns-svc-hero__title,
    .ns-svc-lead__title {
        overflow-wrap: anywhere;
    }

    .ns-company-card__row {
        grid-template-columns: 4.75rem minmax(0, 1fr);
    }
}

@media (max-width: 1023px) {
    .ns-main img,
    .ns-main video,
    .ns-main iframe,
    .ns-main svg:not(.ns-logo__img) {
        max-width: 100%;
        height: auto;
    }

    .ns-main table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .ns-svc-lead__quotes {
        margin-top: 0.5rem;
    }

    .ns-svc-lead-quote {
        padding: 1rem;
    }

    .ns-footer__grid {
        gap: 1.5rem;
    }

    .ns-footer__anpc-link img {
        max-width: 100%;
    }
}

@media (max-width: 389px) {
    .ns-logo {
        max-width: 52vw;
    }

    .ns-header__actions {
        gap: 0.25rem;
    }

    .ns-menu-toggle {
        width: 2.25rem;
        height: 2.25rem;
    }
}

