@font-face {
    font-family: Vazirmatn;
    src: url(https://netgardi.com/wp-content/uploads/2026/04/Vazirmatn[wght].ttf) format("truetype");
    font-weight: 100 900;
    font-display: swap;
}

:root {
    --ng-bg: #07111f;
    --ng-bg-2: #0f172a;
    --ng-card: rgba(15, 23, 42, .66);
    --ng-card-2: rgba(255, 255, 255, .055);
    --ng-border: rgba(148, 163, 184, .16);
    --ng-text: #f8fafc;
    --ng-muted: #94a3b8;
    --ng-soft: #cbd5e1;
    --ng-blue: #2563eb;
    --ng-violet: #7c3aed;
    --ng-green: #10b981;
    --ng-glow: 0 26px 80px rgba(0, 0, 0, .30);
    --ng-radius: 28px;
    --ng-container: min(1180px, calc(100vw - 40px));
}

html.ng-light {
    --ng-bg: #f8fafc;
    --ng-bg-2: #eef2ff;
    --ng-card: rgba(255, 255, 255, .78);
    --ng-card-2: rgba(255, 255, 255, .64);
    --ng-border: rgba(15, 23, 42, .10);
    --ng-text: #0f172a;
    --ng-muted: #475569;
    --ng-soft: #334155;
    --ng-glow: 0 24px 70px rgba(15, 23, 42, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.ng-body {
    margin: 0;
    direction: rtl;
    font-family: Vazirmatn, Tahoma, sans-serif;
    color: var(--ng-text);
    background:
        radial-gradient(circle at 8% 0%, rgba(37, 99, 235, .22), transparent 30%),
        radial-gradient(circle at 92% 10%, rgba(124, 58, 237, .20), transparent 32%),
        radial-gradient(circle at 50% 100%, rgba(16, 185, 129, .10), transparent 36%),
        linear-gradient(135deg, var(--ng-bg), var(--ng-bg-2));
    min-height: 100vh;
    overflow-x: hidden;
}

a { color: inherit; }
.ng-container { width: var(--ng-container); margin: 0 auto; }
.ng-site-main { min-height: 70vh; }

.ng-header {
    position: sticky;
    top: 12px;
    z-index: 999;
    margin: 12px 0 0;
    transition: .22s ease;
}
.ng-header-inner {
    min-height: 76px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 12px 14px;
    border: 1px solid var(--ng-border);
    border-radius: 26px;
    background: rgba(15, 23, 42, .54);
    backdrop-filter: blur(26px);
    -webkit-backdrop-filter: blur(26px);
    box-shadow: var(--ng-glow);
}
.ng-light .ng-header-inner { background: rgba(255,255,255,.72); }
.ng-header.scrolled .ng-header-inner { min-height: 66px; background: rgba(15,23,42,.78); }
.ng-light .ng-header.scrolled .ng-header-inner { background: rgba(255,255,255,.88); }

.ng-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
}
.ng-logo-mark {
    width: 52px;
    height: 52px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 16px 34px rgba(37,99,235,.28);
    overflow: hidden;
}
.ng-logo-mark img { width: 100%; height: 100%; object-fit: contain; padding: 4px; background: rgba(255,255,255,.92); border-radius: inherit; }
.ng-logo strong { display: block; font-weight: 950; font-size: 17px; color: var(--ng-text); }
.ng-logo small { display: block; margin-top: 3px; color: var(--ng-muted); font-size: 11px; font-weight: 800; }

.ng-nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 0;
    margin: 0;
}
.ng-nav a {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    padding: 0 12px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--ng-soft);
    font-size: 13px;
    font-weight: 850;
}
.ng-nav a:hover { background: var(--ng-card-2); color: var(--ng-text); }

.ng-header-actions { display: flex; gap: 8px; align-items: center; }
.ng-btn {
    min-height: 44px;
    padding: 0 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    border: 1px solid var(--ng-border);
    text-decoration: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 950;
    transition: .18s ease;
    white-space: nowrap;
}
.ng-btn:hover { transform: translateY(-1px); }
.ng-btn-primary {
    color: #fff;
    border: 0;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 18px 42px rgba(37,99,235,.28);
}
.ng-btn-soft { background: var(--ng-card-2); color: var(--ng-soft); }
.ng-theme-toggle {
    width: 44px;
    height: 44px;
    border: 1px solid var(--ng-border);
    border-radius: 16px;
    background: var(--ng-card-2);
    color: var(--ng-soft);
    display: grid;
    place-items: center;
    cursor: pointer;
}
.ng-theme-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ng-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--ng-border);
    border-radius: 16px;
    background: var(--ng-card-2);
    cursor: pointer;
    padding: 11px;
}
.ng-menu-toggle span { display: block; height: 2px; background: var(--ng-text); border-radius: 999px; margin: 5px 0; }

.ng-hero {
    padding: 78px 0 46px;
}
.ng-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
    gap: 34px;
    align-items: center;
}
.ng-kicker {
    display: inline-flex;
    width: fit-content;
    padding: 7px 11px;
    border-radius: 999px;
    color: #93c5fd;
    background: rgba(37,99,235,.14);
    border: 1px solid rgba(96,165,250,.22);
    font-size: 12px;
    font-weight: 950;
    margin-bottom: 12px;
}
.ng-hero h1, .ng-page-hero h1, .ng-section-head h2, .ng-split h2, .ng-cta-card h2 {
    margin: 0;
    color: var(--ng-text);
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-hero h1 { font-size: clamp(40px, 6vw, 78px); line-height: 1.35; max-width: 840px; }
.ng-hero p, .ng-section-head p, .ng-split p, .ng-cta-card p, .ng-page-hero p {
    color: var(--ng-muted);
    line-height: 2.15;
    font-size: 15px;
}
.ng-hero p { max-width: 760px; margin: 18px 0 0; }
.ng-hero-actions { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.ng-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}
.ng-hero-badges span {
    padding: 8px 10px;
    border-radius: 999px;
    background: var(--ng-card-2);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 850;
}

.ng-hero-visual {
    min-height: 520px;
    border-radius: 38px;
    padding: 18px;
    background: radial-gradient(circle at top right, rgba(37,99,235,.22), transparent 42%), var(--ng-card);
    border: 1px solid var(--ng-border);
    box-shadow: var(--ng-glow);
    backdrop-filter: blur(24px);
}
.ng-hero-visual img {
    width: 100%;
    height: 100%;
    min-height: 480px;
    object-fit: cover;
    border-radius: 26px;
    display: block;
}
.ng-dashboard-mock {
    height: 100%;
    min-height: 480px;
    border-radius: 28px;
    overflow: hidden;
    background: rgba(2,6,23,.50);
    border: 1px solid rgba(255,255,255,.08);
}
.ng-light .ng-dashboard-mock { background: rgba(255,255,255,.58); }
.ng-mock-head {
    height: 58px;
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid var(--ng-border);
}
.ng-mock-head span {
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: rgba(148,163,184,.60);
}
.ng-mock-main {
    padding: 18px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}
.ng-mock-card {
    min-height: 130px;
    border-radius: 22px;
    padding: 16px;
    background: var(--ng-card-2);
    border: 1px solid var(--ng-border);
}
.ng-mock-card.wide { grid-column: 1 / -1; }
.ng-mock-card.accent { background: linear-gradient(135deg, rgba(37,99,235,.22), rgba(124,58,237,.18)); }
.ng-mock-card strong { display: block; font-size: 18px; color: var(--ng-text); font-weight: 950; }
.ng-mock-card small { display: block; margin-top: 8px; color: var(--ng-muted); line-height: 1.8; }

.ng-section { padding: 70px 0; }
.ng-section-head { text-align: center; max-width: 760px; margin: 0 auto 28px; }
.ng-section-head h2, .ng-split h2, .ng-cta-card h2 { font-size: clamp(30px, 4vw, 52px); line-height: 1.45; }
.ng-steps-grid, .ng-package-grid, .ng-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.ng-package-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ng-card {
    border: 1px solid var(--ng-border);
    border-radius: var(--ng-radius);
    background: var(--ng-card);
    box-shadow: var(--ng-glow);
    backdrop-filter: blur(22px);
}
.ng-step-card { padding: 22px; min-height: 210px; }
.ng-step-card > span {
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    color: #fff;
    font-weight: 950;
    margin-bottom: 18px;
}
.ng-step-card h3, .ng-package-card h3, .ng-portfolio-card h3 { margin: 0 0 10px; color: var(--ng-text); font-size: 19px; font-weight: 950; line-height: 1.6; }
.ng-step-card p, .ng-package-card p, .ng-portfolio-card p { color: var(--ng-muted); line-height: 2; font-size: 13px; }

.ng-package-card { padding: 18px; min-height: 360px; display: flex; flex-direction: column; }
.ng-package-top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 16px; }
.ng-pill {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 999px;
    background: rgba(37,99,235,.12);
    border: 1px solid rgba(96,165,250,.20);
    color: #93c5fd;
    font-size: 11px;
    font-weight: 950;
}
.ng-package-icon {
    width: 40px;
    height: 40px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    font-weight: 950;
}
.ng-price { color: var(--ng-text); font-size: 20px; margin: 6px 0 12px; display: block; }
.ng-feature-list { display: grid; gap: 8px; margin-bottom: 16px; }
.ng-feature-list span, .ng-checks span {
    padding: 9px 11px;
    border-radius: 14px;
    background: var(--ng-card-2);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.7;
}
.ng-package-card .ng-btn { margin-top: auto; width: 100%; }

.ng-split {
    display: grid;
    grid-template-columns: 1fr .82fr;
    gap: 26px;
    align-items: center;
}
.ng-checks { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 18px; }
.ng-glass-stack { display: grid; gap: 14px; }
.ng-stack-card {
    min-height: 138px;
    border-radius: 28px;
    padding: 22px;
    background: radial-gradient(circle at top right, rgba(37,99,235,.18), transparent 42%), var(--ng-card);
    border: 1px solid var(--ng-border);
    box-shadow: var(--ng-glow);
    color: var(--ng-text);
    font-size: 26px;
    font-weight: 950;
}
.ng-stack-card small { display: block; color: var(--ng-muted); font-size: 13px; margin-top: 10px; line-height: 1.9; }

.ng-faq-list { display: grid; gap: 12px; max-width: 900px; margin: 0 auto; }
.ng-faq-item {
    border: 1px solid var(--ng-border);
    border-radius: 22px;
    background: var(--ng-card);
    overflow: hidden;
}
.ng-faq-item summary {
    cursor: pointer;
    padding: 18px 20px;
    color: var(--ng-text);
    font-size: 15px;
    font-weight: 950;
}
.ng-faq-item div { padding: 0 20px 18px; color: var(--ng-muted); line-height: 2.1; }

.ng-final-cta { padding-bottom: 90px; }
.ng-cta-card {
    text-align: center;
    border-radius: 36px;
    padding: 44px 24px;
    background: radial-gradient(circle at top right, rgba(37,99,235,.22), transparent 42%), radial-gradient(circle at bottom left, rgba(16,185,129,.14), transparent 38%), var(--ng-card);
    border: 1px solid var(--ng-border);
    box-shadow: var(--ng-glow);
}
.ng-cta-card p { max-width: 680px; margin: 14px auto 24px; }

.ng-page-hero { padding: 80px 0 34px; text-align: center; }
.ng-page-hero h1 { font-size: clamp(38px, 6vw, 72px); line-height: 1.35; }
.ng-page-hero p { max-width: 760px; margin: 14px auto 0; }

.ng-content-card { padding: 30px; color: var(--ng-soft); line-height: 2.1; }
.ng-content-card h2, .ng-content-card h3 { color: var(--ng-text); }
.ng-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.ng-portfolio-card { padding: 16px; }
.ng-portfolio-card img, .ng-single-image img { width: 100%; border-radius: 22px; display: block; height: auto; }
.ng-portfolio-card h3 a { text-decoration: none; }
.ng-empty { padding: 28px; text-align: center; color: var(--ng-muted); border: 1px dashed var(--ng-border); border-radius: 22px; }

.ng-footer { padding: 70px 0 24px; }
.ng-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 1fr);
    gap: 18px;
    padding: 24px;
    border-radius: 34px;
    border: 1px solid var(--ng-border);
    background: var(--ng-card);
    box-shadow: var(--ng-glow);
}
.ng-footer h3 { margin: 0 0 14px; color: var(--ng-text); font-size: 15px; }
.ng-footer a, .ng-footer span { display: block; color: var(--ng-muted); text-decoration: none; margin: 9px 0; font-size: 13px; font-weight: 800; line-height: 1.8; }
.ng-footer a:hover { color: var(--ng-text); }
.ng-footer-brand p { color: var(--ng-muted); line-height: 2; }
.ng-socials { display: flex; gap: 10px; flex-wrap: wrap; }
.ng-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 800;
}

.ng-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
}
.ng-mobile-drawer.show { display: block; }
.ng-mobile-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2,6,23,.68);
    backdrop-filter: blur(10px);
}
.ng-mobile-panel {
    position: absolute;
    top: 12px;
    bottom: 12px;
    right: 12px;
    width: min(360px, calc(100vw - 24px));
    border-radius: 30px;
    padding: 18px;
    border: 1px solid var(--ng-border);
    background: rgba(15,23,42,.92);
    box-shadow: var(--ng-glow);
    display: grid;
    align-content: start;
    gap: 8px;
}
.ng-light .ng-mobile-panel { background: rgba(255,255,255,.92); }
.ng-mobile-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.ng-mobile-head strong { color: var(--ng-text); font-weight: 950; }
.ng-mobile-head button {
    width: 42px;
    height: 42px;
    border: 1px solid var(--ng-border);
    border-radius: 15px;
    background: var(--ng-card-2);
    color: var(--ng-text);
    font-size: 24px;
}
.ng-mobile-panel a {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 16px;
    text-decoration: none;
    color: var(--ng-soft);
    background: var(--ng-card-2);
    border: 1px solid var(--ng-border);
    font-weight: 900;
}
.ng-mobile-cta {
    color: #fff !important;
    justify-content: center;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet)) !important;
    border: 0 !important;
}

.ng-reveal { opacity: 0; transform: translateY(18px); transition: .55s ease; }
.ng-reveal.ng-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 1180px) {
    .ng-package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ng-hero-grid { grid-template-columns: 1fr; }
    .ng-hero-visual { min-height: 420px; }
    .ng-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
    :root { --ng-container: min(100% - 24px, 1180px); }
    .ng-nav, .ng-hide-sm { display: none; }
    .ng-menu-toggle { display: block; }
    .ng-header { top: 8px; margin-top: 8px; }
    .ng-header-inner { grid-template-columns: auto auto; justify-content: space-between; border-radius: 22px; }
    .ng-hero { padding-top: 48px; }
    .ng-hero h1 { font-size: clamp(34px, 11vw, 54px); }
    .ng-hero-visual { min-height: 340px; padding: 12px; border-radius: 26px; }
    .ng-dashboard-mock { min-height: 320px; }
    .ng-mock-main { grid-template-columns: 1fr; }
    .ng-steps-grid, .ng-package-grid, .ng-portfolio-grid, .ng-contact-grid, .ng-split { grid-template-columns: 1fr; }
    .ng-checks { grid-template-columns: 1fr; }
    .ng-footer-grid { grid-template-columns: 1fr; border-radius: 26px; }
    .ng-footer-bottom { flex-direction: column; }
    .ng-section { padding: 48px 0; }
}

@media (max-width: 520px) {
    .ng-header-actions .ng-btn-primary { padding-inline: 12px; font-size: 12px; }
    .ng-logo small { display: none; }
    .ng-logo-mark { width: 46px; height: 46px; border-radius: 17px; }
    .ng-hero-actions .ng-btn { width: 100%; }
    .ng-hero-badges span { width: 100%; text-align: center; justify-content: center; }
    .ng-page-hero { padding-top: 52px; }
}


/* ===== Netgardi V2 Polish: premium package cards, inline icons, SEO landing pages, light mode and responsive ===== */
.ng-package-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 430px;
    padding: 20px;
    border-radius: 32px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.035)),
        radial-gradient(circle at 12% 0%, rgba(96,165,250,.18), transparent 34%),
        var(--ng-card);
    transform: translateZ(0);
}
.ng-package-card:before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 42%, rgba(96,165,250,.08));
    pointer-events: none;
    z-index: -1;
}
.ng-package-card:after {
    content: "";
    position: absolute;
    inset: auto -24% -34% auto;
    width: 170px;
    height: 170px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(37,99,235,.32), transparent 65%);
    filter: blur(2px);
    z-index: -1;
}
.ng-package-card:hover {
    transform: translateY(-6px);
    border-color: rgba(96,165,250,.32);
}
.ng-package-card:hover .ng-package-icon {
    transform: scale(1.06) rotate(-2deg);
}
.ng-package-orb {
    position: absolute;
    width: 110px;
    height: 110px;
    left: -42px;
    top: -42px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(37,99,235,.38), rgba(124,58,237,.30), rgba(16,185,129,.18));
    filter: blur(4px);
    opacity: .75;
    z-index: -1;
}
.ng-package-icon {
    width: 52px;
    height: 52px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 18px 36px rgba(37,99,235,.28);
    transition: .24s ease;
}
.ng-package-icon svg,
.ng-feature-list i svg,
.ng-inline-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-package-card h3 {
    font-size: 22px;
    letter-spacing: -.02em;
}
.ng-package-card p {
    min-height: 70px;
    color: var(--ng-soft);
}
.ng-package-price {
    display: grid;
    gap: 3px;
    padding: 14px;
    border-radius: 20px;
    margin: 10px 0 14px;
    background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(124,58,237,.10));
    border: 1px solid rgba(96,165,250,.18);
}
.ng-package-price strong {
    color: var(--ng-text);
    font-size: 24px;
    font-weight: 950;
}
.ng-package-price small {
    color: var(--ng-muted);
    font-size: 11px;
    font-weight: 850;
}
.ng-feature-list span {
    display: grid;
    grid-template-columns: auto minmax(0,1fr);
    gap: 8px;
    align-items: start;
    background: rgba(255,255,255,.052);
}
.ng-feature-list i {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    color: #6ee7b7;
    background: rgba(16,185,129,.12);
}
.ng-feature-list i svg {
    width: 13px;
    height: 13px;
}
.ng-package-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: auto;
}
.ng-package-actions .ng-btn {
    width: 100%;
    padding-inline: 10px;
}
.ng-package-detail-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr) 320px;
    gap: 20px;
    align-items: center;
}
.ng-package-detail-card {
    min-height: 280px;
    padding: 24px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 14px;
    text-align: center;
}
.ng-package-detail-card .ng-package-icon {
    width: 82px;
    height: 82px;
    border-radius: 30px;
}
.ng-package-detail-card .ng-package-icon svg {
    width: 38px;
    height: 38px;
}
.ng-package-detail-card strong {
    color: var(--ng-text);
    font-size: 28px;
    font-weight: 950;
}
.ng-package-detail-card small {
    color: var(--ng-muted);
    font-weight: 850;
}
.ng-light .ng-package-card {
    background:
        linear-gradient(145deg, rgba(255,255,255,.95), rgba(248,250,252,.78)),
        radial-gradient(circle at 12% 0%, rgba(37,99,235,.10), transparent 34%);
    border-color: rgba(30,64,175,.12);
}
.ng-light .ng-package-card p,
.ng-light .ng-feature-list span,
.ng-light .ng-package-price small {
    color: #475569;
}
.ng-light .ng-feature-list span,
.ng-light .ng-package-price {
    background: rgba(255,255,255,.76);
    border-color: rgba(15,23,42,.09);
}
.ng-light .ng-package-card h3,
.ng-light .ng-package-price strong,
.ng-light .ng-package-detail-card strong {
    color: #0f172a;
}
.ng-light .ng-step-card p,
.ng-light .ng-portfolio-card p,
.ng-light .ng-mock-card small,
.ng-light .ng-stack-card small,
.ng-light .ng-hero-badges span {
    color: #475569;
}
.ng-light .ng-hero-badges span,
.ng-light .ng-checks span {
    background: rgba(255,255,255,.78);
    border-color: rgba(15,23,42,.10);
    color: #334155;
}
.ng-light .ng-stack-card {
    background: radial-gradient(circle at top right, rgba(37,99,235,.09), transparent 42%), rgba(255,255,255,.82);
}
.ng-light .ng-btn-soft {
    color: #1e40af;
    background: rgba(255,255,255,.84);
    border-color: rgba(37,99,235,.16);
}
@media (max-width: 1400px) {
    .ng-package-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 1180px) {
    .ng-package-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ng-package-detail-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .ng-package-grid { grid-template-columns: 1fr; }
    .ng-package-card { min-height: auto; }
    .ng-package-card p { min-height: auto; }
    .ng-package-actions { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .ng-header-actions {
        gap: 6px;
    }
    .ng-theme-toggle,
    .ng-menu-toggle {
        width: 42px;
        height: 42px;
        border-radius: 15px;
    }
    .ng-header-actions .ng-btn-primary {
        min-height: 42px;
    }
}


/* ===== V3 redesign: typography, premium visuals, parallax layers, responsive fixes ===== */
:root {
    --ng-text: #eef4ff;
    --ng-muted: #9cb0cd;
    --ng-soft: #d6e2f7;
}
html.ng-light {
    --ng-text: #11213f;
    --ng-muted: #52617b;
    --ng-soft: #31415f;
}
body.ng-body {
    background:
        radial-gradient(circle at 7% 0%, rgba(59,130,246,.24), transparent 28%),
        radial-gradient(circle at 92% 11%, rgba(139,92,246,.23), transparent 26%),
        radial-gradient(circle at 50% 102%, rgba(45,212,191,.13), transparent 35%),
        linear-gradient(135deg, #05101d, #0b1730 42%, #081223 100%);
}
html.ng-light body.ng-body {
    background:
        radial-gradient(circle at 9% 0%, rgba(59,130,246,.12), transparent 30%),
        radial-gradient(circle at 92% 9%, rgba(139,92,246,.11), transparent 26%),
        radial-gradient(circle at 50% 104%, rgba(45,212,191,.10), transparent 34%),
        linear-gradient(180deg, #f7fbff, #eef4ff 44%, #f9fbff 100%);
}
.ng-header-inner {
    background: linear-gradient(180deg, rgba(9,16,34,.72), rgba(12,21,41,.63));
    box-shadow: 0 20px 60px rgba(3,8,20,.35);
}
.ng-light .ng-header-inner {
    background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(249,251,255,.72));
    box-shadow: 0 16px 44px rgba(15,23,42,.10);
}
.ng-nav a {
    position: relative;
    font-weight: 900;
}
.ng-nav a:hover {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.ng-nav a:after {
    content: "";
    position: absolute;
    inset: auto 12px 5px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ng-blue), var(--ng-violet));
    transform: scaleX(0);
    transform-origin: center;
    transition: .22s ease;
}
.ng-nav a:hover:after { transform: scaleX(1); }

.ng-hero {
    position: relative;
    padding: 84px 0 60px;
}
.ng-hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}
.ng-hero-glow {
    position: absolute;
    border-radius: 999px;
    filter: blur(22px);
    opacity: .75;
}
.ng-glow-a {
    width: 220px; height: 220px; right: 8%; top: 20px;
    background: radial-gradient(circle, rgba(37,99,235,.38), transparent 65%);
}
.ng-glow-b {
    width: 260px; height: 260px; left: 5%; top: 140px;
    background: radial-gradient(circle, rgba(124,58,237,.34), transparent 65%);
}
.ng-glow-c {
    width: 300px; height: 300px; left: 34%; bottom: -100px;
    background: radial-gradient(circle, rgba(16,185,129,.18), transparent 66%);
}
.ng-hero h1 {
    letter-spacing: -.055em;
    text-wrap: balance;
}
.ng-hero p {
    font-size: 16px;
    line-height: 2.25;
}
.ng-hero-visual {
    background:
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
        radial-gradient(circle at top right, rgba(37,99,235,.24), transparent 42%),
        var(--ng-card);
    border-radius: 42px;
}
.ng-dashboard-mock {
    border-radius: 32px;
    background:
        linear-gradient(180deg, rgba(8,13,26,.58), rgba(8,13,26,.78)),
        rgba(2,6,23,.50);
}
.ng-light .ng-dashboard-mock {
    background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(248,250,255,.92));
}
.ng-mock-card strong { font-size: 19px; }
.ng-mock-card {
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
    border-radius: 24px;
}
.ng-light .ng-mock-card {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,249,255,.86));
}
.ng-inline-icon {
    width: 18px; height: 18px; display: inline-grid; place-items: center; flex: 0 0 18px;
}
.ng-hero-badges span,
.ng-checks span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.ng-hero-badges span {
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.05));
    border-radius: 999px;
    padding: 9px 12px;
}
.ng-light .ng-hero-badges span {
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,255,.78));
}
.ng-section-head {
    margin-bottom: 34px;
}
.ng-section-head p {
    font-size: 15px;
}
.ng-card {
    box-shadow: 0 24px 54px rgba(3,8,20,.24);
}
.ng-light .ng-card {
    box-shadow: 0 16px 34px rgba(15,23,42,.08);
}
.ng-steps-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.ng-step-card {
    min-height: 230px;
    padding: 24px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03)),
        var(--ng-card);
}
.ng-step-card > span {
    width: 48px;
    height: 48px;
    border-radius: 18px;
    font-size: 16px;
}
.ng-step-card h3 {
    font-size: 20px;
}
.ng-step-card p {
    font-size: 13px;
    line-height: 2.1;
}
.ng-package-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 18px;
    align-items: stretch;
}
.ng-package-card {
    min-height: 450px;
    padding: 22px;
}
.ng-package-card h3 {
    font-size: 19px;
    line-height: 1.75;
}
.ng-package-card p {
    font-size: 13px;
    line-height: 2.05;
}
.ng-package-top { align-items: center; }
.ng-pill {
    background: linear-gradient(180deg, rgba(59,130,246,.18), rgba(59,130,246,.10));
}
.ng-package-price strong { font-size: 22px; }
.ng-package-actions .ng-btn {
    min-height: 46px;
    font-size: 13px;
}
.ng-split {
    align-items: stretch;
}
.ng-stack-card {
    min-height: 122px;
    font-size: 22px;
    border-radius: 30px;
    line-height: 1.6;
}
.ng-faq-item {
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
}
.ng-light .ng-faq-item {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.84));
}
.ng-faq-item summary {
    font-size: 16px;
}
.ng-footer-grid {
    border-radius: 38px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.ng-light .ng-footer-grid {
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,255,.90));
}
.ng-footer a,
.ng-footer span {
    font-size: 13px;
    color: var(--ng-muted);
}
.ng-mobile-panel {
    background: linear-gradient(180deg, rgba(9,16,34,.92), rgba(12,21,41,.94));
}
.ng-light .ng-mobile-panel {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,251,255,.94));
}
@media (max-width: 1280px) {
    .ng-hero-grid { grid-template-columns: 1fr 420px; }
}
@media (max-width: 1180px) {
    .ng-hero-grid { grid-template-columns: 1fr; }
    .ng-hero-visual { order: -1; min-height: 390px; }
}
@media (max-width: 1024px) {
    .ng-section-head h2, .ng-split h2, .ng-cta-card h2 {
        font-size: clamp(28px, 5vw, 42px);
    }
    .ng-package-card { min-height: 430px; }
}
@media (max-width: 900px) {
    .ng-hero {
        padding-top: 52px;
    }
    .ng-hero h1 {
        font-size: clamp(32px, 10vw, 50px);
    }
    .ng-hero p { font-size: 15px; }
    .ng-hero-badges {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .ng-checks {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .ng-hero-badges { grid-template-columns: 1fr; }
    .ng-hero-visual { min-height: 300px; border-radius: 28px; }
    .ng-dashboard-mock { min-height: 280px; border-radius: 22px; }
    .ng-steps-grid, .ng-package-grid, .ng-portfolio-grid, .ng-contact-grid, .ng-split {
        gap: 14px;
    }
    .ng-package-card {
        min-height: auto;
    }
    .ng-package-card h3 {
        font-size: 20px;
    }
    .ng-package-actions {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 560px) {
    .ng-header-inner {
        grid-template-columns: 1fr auto;
        gap: 10px;
        padding: 10px;
    }
    .ng-logo strong { font-size: 15px; }
    .ng-btn, .ng-theme-toggle, .ng-menu-toggle { min-height: 42px; }
    .ng-package-actions {
        grid-template-columns: 1fr;
    }
    .ng-step-card, .ng-content-card, .ng-package-card { padding: 18px; }
    .ng-stack-card { font-size: 19px; }
}


/* ===== V4 homepage redesign ===== */
:root {
    --ng-bg-deep: #060c18;
    --ng-bg-mid: #0b1530;
    --ng-bg-surface: rgba(12, 22, 43, 0.72);
    --ng-accent-a: #5b8cff;
    --ng-accent-b: #7c5cff;
    --ng-accent-c: #18c29c;
}
body.ng-body {
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.16), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(124,92,255,.15), transparent 26%),
        radial-gradient(circle at 50% 110%, rgba(24,194,156,.12), transparent 28%),
        linear-gradient(180deg, #050b16 0%, #091326 24%, #0b1630 56%, #071220 100%);
    background-attachment: fixed;
}
html.ng-light body.ng-body {
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.10), transparent 26%),
        radial-gradient(circle at 100% 8%, rgba(124,92,255,.08), transparent 24%),
        radial-gradient(circle at 50% 110%, rgba(24,194,156,.08), transparent 26%),
        linear-gradient(180deg, #f8fbff 0%, #f2f6ff 38%, #eef4ff 100%);
    background-attachment: fixed;
}
.ng-site-main {
    position: relative;
}
.ng-site-main:before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,.02), transparent 20%, transparent 80%, rgba(255,255,255,.02));
    opacity: .5;
}
.ng-grid-noise {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size: 36px 36px;
    opacity: .04;
    mask-image: radial-gradient(circle at center, rgba(0,0,0,.95), transparent 78%);
}
.ng-light .ng-grid-noise {
    background-image: linear-gradient(rgba(15,23,42,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(15,23,42,.06) 1px, transparent 1px);
    opacity: .08;
}
.ng-hero-v4 {
    padding: 82px 0 34px;
}
.ng-hero-grid-v4 {
    gap: 40px;
    align-items: stretch;
}
.ng-hero-content-v4 {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ng-hero-content-v4 h1 {
    font-size: clamp(42px, 6vw, 80px);
    line-height: 1.23;
    max-width: 840px;
}
.ng-hero-content-v4 p {
    max-width: 740px;
    font-size: 16px;
    line-height: 2.2;
}
.ng-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
.ng-metric-card {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(148,163,184,.16);
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
    backdrop-filter: blur(16px);
}
.ng-metric-card strong {
    display: block;
    color: var(--ng-text);
    font-size: 18px;
    font-weight: 950;
    margin-bottom: 8px;
}
.ng-metric-card span {
    display: block;
    color: var(--ng-muted);
    font-size: 12px;
    line-height: 1.9;
    font-weight: 800;
}
.ng-hero-visual-v4 {
    min-height: 620px;
    padding: 20px;
    background:
        radial-gradient(circle at 10% 10%, rgba(91,140,255,.20), transparent 26%),
        radial-gradient(circle at 90% 12%, rgba(124,92,255,.18), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
        var(--ng-card);
}
.ng-dashboard-showcase {
    min-height: 100%;
    display: grid;
    align-content: start;
    gap: 18px;
    padding: 18px;
    background:
        linear-gradient(180deg, rgba(5,11,22,.88), rgba(8,16,30,.95)),
        rgba(2,6,23,.48);
}
.ng-light .ng-dashboard-showcase {
    background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(245,248,255,.95));
}
.ng-showcase-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 52px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ng-border);
}
.ng-showcase-dots { display:flex; gap:8px; }
.ng-showcase-dots span {
    width: 10px; height: 10px; border-radius: 999px; background: rgba(148,163,184,.7);
}
.ng-showcase-title {
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 900;
}
.ng-showcase-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 14px;
}
.ng-show-tile {
    min-height: 160px;
    border: 1px solid var(--ng-border);
    border-radius: 24px;
    padding: 18px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.ng-light .ng-show-tile {
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,255,.86));
}
.ng-show-main {
    grid-row: span 2;
    min-height: 338px;
    background:
        radial-gradient(circle at 80% 20%, rgba(91,140,255,.18), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
.ng-show-main small,
.ng-show-tile p { color: var(--ng-muted); font-size: 12px; line-height: 2; font-weight: 800; }
.ng-show-main strong,
.ng-show-tile strong { display:block; color: var(--ng-text); font-weight: 950; font-size: 28px; line-height: 1.5; margin: 6px 0 10px; }
.ng-show-tile strong { font-size: 19px; }
.ng-tile-chip {
    display:inline-flex; padding:6px 10px; border-radius:999px; color:#cfe0ff; background:rgba(91,140,255,.15); border:1px solid rgba(91,140,255,.22); font-size:11px; font-weight:950;
}
.ng-show-tile.accent-a { background: linear-gradient(180deg, rgba(91,140,255,.18), rgba(255,255,255,.03)); }
.ng-show-tile.accent-b { background: linear-gradient(180deg, rgba(124,92,255,.18), rgba(255,255,255,.03)); }
.ng-show-stack {
    display: grid;
    gap: 10px;
    align-content: center;
}
.ng-mini-flow {
    display:flex; align-items:center; gap:10px; min-height:46px; padding: 0 12px; border-radius:16px; background: rgba(255,255,255,.06); border:1px solid var(--ng-border);
}
.ng-mini-flow span {
    width: 28px; height: 28px; display:grid; place-items:center; border-radius:999px; color:#fff; background: linear-gradient(135deg, var(--ng-accent-a), var(--ng-accent-b)); font-size:12px; font-weight:950;
}
.ng-mini-flow b { color: var(--ng-soft); font-size: 13px; }
.ng-strip-section {
    padding: 10px 0 12px;
}
.ng-intelligence-strip {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px 18px;
    border-radius: 22px;
    border: 1px solid var(--ng-border);
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
    box-shadow: var(--ng-glow);
}
.ng-strip-label {
    padding: 9px 12px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.18));
    color: var(--ng-text);
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}
.ng-strip-items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.ng-strip-items span {
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 850;
}
.ng-process-section,
.ng-experience-section,
.ng-section-advantage {
    position: relative;
}
.ng-head-wide { max-width: 920px; }
.ng-process-layout {
    display: grid;
    grid-template-columns: minmax(320px, .94fr) minmax(0, 1.06fr);
    gap: 24px;
    align-items: start;
}
.ng-process-visual {
    position: sticky;
    top: 110px;
    padding: 24px;
    min-height: 620px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.18), transparent 26%),
        radial-gradient(circle at 100% 10%, rgba(124,92,255,.16), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
        var(--ng-card);
}
.ng-process-visual-head h3 {
    margin: 0 0 10px;
    color: var(--ng-text);
    font-size: 28px;
    line-height: 1.5;
}
.ng-process-visual-head p {
    margin: 0;
    color: var(--ng-muted);
    font-size: 14px;
    line-height: 2.1;
}
.ng-process-orbits {
    position: relative;
    min-height: 380px;
    margin-top: 28px;
    display: grid;
    place-items: center;
}
.ng-process-orbits:before,
.ng-process-orbits:after {
    content:'';
    position:absolute;
    border:1px dashed rgba(148,163,184,.18);
    border-radius:999px;
}
.ng-process-orbits:before { width: 320px; height: 320px; }
.ng-process-orbits:after { width: 230px; height: 230px; }
.ng-orbit-core {
    width: 110px; height: 110px; border-radius: 36px; display:grid; place-items:center; font-size: 34px; font-weight: 950; color:#fff;
    background: linear-gradient(135deg, var(--ng-accent-a), var(--ng-accent-b)); box-shadow: 0 30px 60px rgba(91,140,255,.28);
}
.ng-orbit-card {
    position: absolute;
    width: 190px;
    min-height: 112px;
    padding: 16px;
    border-radius: 22px;
    border: 1px solid var(--ng-border);
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
    box-shadow: var(--ng-glow);
}
.ng-orbit-card strong { display:block; color:var(--ng-text); font-size:15px; font-weight:950; margin-bottom:8px; }
.ng-orbit-card small { display:block; color:var(--ng-muted); font-size:12px; line-height:1.9; }
.orbit-one { top: 10px; right: 20px; }
.orbit-two { bottom: 18px; left: 24px; }
.orbit-three { top: 122px; left: -4px; }
.ng-process-timeline {
    display: grid;
    gap: 14px;
}
.ng-process-step {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 16px;
    align-items: start;
    padding: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.ng-process-step-icon {
    width: 52px; height: 52px; display:grid; place-items:center; border-radius:18px; color:#fff; font-weight:950; font-size:18px;
    background: linear-gradient(135deg, var(--ng-accent-a), var(--ng-accent-b));
    box-shadow: 0 16px 32px rgba(91,140,255,.22);
}
.ng-process-step h3 {
    margin: 2px 0 8px;
    color: var(--ng-text);
    font-size: 19px;
    font-weight: 950;
}
.ng-process-step p {
    margin: 0;
    color: var(--ng-muted);
    font-size: 13px;
    line-height: 2.05;
}
.ng-experience-grid {
    display:grid;
    grid-template-columns: 1.25fr .75fr .75fr;
    gap: 18px;
}
.ng-experience-card {
    padding: 22px;
    min-height: 280px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.ng-experience-card.big-card {
    min-height: 320px;
    display:grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 18px;
    align-items: center;
}
.ng-exp-media.media-grid {
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    grid-template-rows: 140px 140px;
    gap: 12px;
}
.media-box {
    border-radius: 28px;
    border: 1px solid var(--ng-border);
    background: linear-gradient(135deg, rgba(91,140,255,.16), rgba(255,255,255,.02));
    position: relative;
    overflow:hidden;
}
.media-box:before {
    content:''; position:absolute; inset:10px; border-radius:22px; background: linear-gradient(135deg, rgba(255,255,255,.08), transparent 65%);
}
.box-a { grid-row: span 2; background: linear-gradient(180deg, rgba(91,140,255,.18), rgba(124,92,255,.10)); }
.box-b { background: linear-gradient(180deg, rgba(24,194,156,.16), rgba(255,255,255,.03)); }
.box-c { background: linear-gradient(180deg, rgba(124,92,255,.16), rgba(255,255,255,.03)); }
.ng-exp-copy h3,
.ng-experience-card h3 {
    margin: 8px 0 10px;
    color: var(--ng-text);
    font-size: 24px;
    line-height: 1.55;
}
.ng-experience-card p {
    margin: 0;
    color: var(--ng-muted);
    font-size: 13px;
    line-height: 2.05;
}
.ng-exp-icon {
    width: 58px; height:58px; display:grid; place-items:center; border-radius:20px; background: linear-gradient(135deg, rgba(91,140,255,.18), rgba(124,92,255,.16)); color:#dbe7ff;
}
.ng-exp-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.ng-package-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.ng-section-advantage .ng-advantage-layout {
    grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
    align-items: stretch;
}
.ng-checks-rich span { min-height: 58px; }
.ng-advantage-panel {
    padding: 22px;
    display: grid;
    gap: 14px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
}
.ng-adv-stat {
    padding: 18px;
    border-radius: 24px;
    border: 1px solid var(--ng-border);
    background: rgba(255,255,255,.04);
}
.ng-adv-stat strong {
    display:block; color: var(--ng-text); font-size: 22px; font-weight:950; margin-bottom:8px;
}
.ng-adv-stat small {
    display:block; color: var(--ng-muted); line-height: 2; font-size: 13px;
}
.ng-cta-card-v4 {
    padding: 56px 30px;
    background:
        radial-gradient(circle at 10% 0%, rgba(91,140,255,.22), transparent 28%),
        radial-gradient(circle at 90% 0%, rgba(124,92,255,.18), transparent 26%),
        radial-gradient(circle at 50% 100%, rgba(24,194,156,.12), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03)),
        var(--ng-card);
}
.ng-cta-actions { justify-content:center; }
.ng-light .ng-metric-card,
.ng-light .ng-intelligence-strip,
.ng-light .ng-process-step,
.ng-light .ng-experience-card,
.ng-light .ng-advantage-panel,
.ng-light .ng-adv-stat,
.ng-light .ng-show-tile,
.ng-light .ng-process-visual,
.ng-light .ng-cta-card-v4 {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,255,.82));
}
.ng-light .ng-process-step,
.ng-light .ng-experience-card,
.ng-light .ng-adv-stat,
.ng-light .ng-show-tile,
.ng-light .ng-metric-card,
.ng-light .ng-intelligence-strip,
.ng-light .ng-process-visual,
.ng-light .ng-cta-card-v4 {
    border-color: rgba(15,23,42,.10);
}
.ng-light .ng-strip-items span,
.ng-light .ng-mini-flow,
.ng-light .ng-checks-rich span {
    background: rgba(255,255,255,.82);
    color: #31415f;
}
.ng-light .ng-metric-card span,
.ng-light .ng-process-step p,
.ng-light .ng-experience-card p,
.ng-light .ng-adv-stat small,
.ng-light .ng-process-visual-head p,
.ng-light .ng-show-main small,
.ng-light .ng-show-tile p,
.ng-light .ng-mini-flow b {
    color: #52617b;
}
@media (max-width: 1280px) {
    .ng-experience-grid { grid-template-columns: 1fr 1fr; }
    .ng-experience-card.big-card { grid-column: 1 / -1; }
}
@media (max-width: 1180px) {
    .ng-hero-grid-v4,
    .ng-process-layout,
    .ng-section-advantage .ng-advantage-layout { grid-template-columns: 1fr; }
    .ng-process-visual { position: relative; top: 0; min-height: auto; }
    .ng-hero-visual-v4 { min-height: 520px; }
}
@media (max-width: 980px) {
    .ng-hero-metrics { grid-template-columns: 1fr; }
    .ng-showcase-grid,
    .ng-experience-grid,
    .ng-experience-card.big-card { grid-template-columns: 1fr; }
    .ng-show-main { min-height: 250px; grid-row: auto; }
}
@media (max-width: 900px) {
    .ng-hero-v4 { padding-top: 50px; }
    .ng-hero-content-v4 h1 { font-size: clamp(34px, 10vw, 58px); }
    .ng-hero-visual-v4 { min-height: 440px; }
    .ng-process-orbits { min-height: 340px; }
    .ng-orbit-card { width: 170px; }
    .orbit-one { right: 6px; }
    .orbit-two { left: 6px; }
}
@media (max-width: 720px) {
    .ng-intelligence-strip { grid-template-columns: 1fr; }
    .ng-strip-label { width: fit-content; }
    .ng-process-step { grid-template-columns: 56px 1fr; padding: 18px; }
    .ng-process-step-icon { width: 44px; height: 44px; border-radius: 16px; font-size: 16px; }
    .ng-process-visual,
    .ng-experience-card,
    .ng-advantage-panel { padding: 18px; }
    .ng-process-orbits:before { width: 260px; height: 260px; }
    .ng-process-orbits:after { width: 180px; height: 180px; }
    .ng-orbit-core { width: 88px; height: 88px; border-radius: 28px; font-size: 28px; }
    .ng-orbit-card { width: 150px; min-height: 96px; padding: 12px; }
    .ng-orbit-card strong { font-size: 13px; }
    .ng-orbit-card small { font-size: 11px; }
    .ng-experience-card.big-card { min-height: auto; }
}
@media (max-width: 560px) {
    .ng-hero-visual-v4 { min-height: 360px; padding: 12px; }
    .ng-dashboard-showcase { padding: 12px; }
    .ng-show-main strong { font-size: 22px; }
    .ng-strip-items { gap: 8px; }
    .ng-strip-items span { width: 100%; justify-content: center; text-align: center; }
    .ng-process-orbits { min-height: 300px; }
    .orbit-one { top: 0; right: 0; }
    .orbit-three { top: 92px; left: 0; }
    .orbit-two { left: 6px; bottom: 8px; }
    .ng-package-grid { grid-template-columns: 1fr; }
}


/* ===== V5 final polish: light contrast, no blurry hover/parallax, cleaner numbers, image slots ===== */
:root {
    --ng-text: #f4f8ff;
    --ng-muted: #afbdd4;
    --ng-soft: #e2ebfb;
    --ng-card: rgba(12, 21, 40, .74);
    --ng-card-2: rgba(255,255,255,.07);
    --ng-border: rgba(175, 190, 215, .18);
}
html.ng-light {
    --ng-text: #0b1730;
    --ng-muted: #43536d;
    --ng-soft: #1f2f4a;
    --ng-card: rgba(255,255,255,.86);
    --ng-card-2: rgba(255,255,255,.72);
    --ng-border: rgba(30, 58, 138, .15);
}
.ng-hero-content,
.ng-hero-visual,
.ng-nav,
.ng-header-actions,
.ng-section-head {
    transform: none !important;
    filter: none !important;
}
.ng-card,
.ng-process-step,
.ng-experience-card,
.ng-package-card,
.ng-show-tile,
.ng-metric-card,
.ng-adv-stat {
    will-change: transform;
    backface-visibility: hidden;
}
.ng-card:hover,
.ng-package-card:hover,
.ng-btn:hover {
    filter: none !important;
}
.ng-light .ng-kicker {
    color: #1d4ed8;
    background: rgba(37, 99, 235, .10);
    border-color: rgba(37, 99, 235, .18);
}
.ng-light .ng-logo strong,
.ng-light .ng-hero h1,
.ng-light .ng-section-head h2,
.ng-light .ng-split h2,
.ng-light .ng-cta-card h2,
.ng-light .ng-process-step h3,
.ng-light .ng-experience-card h3,
.ng-light .ng-process-visual-head h3,
.ng-light .ng-package-card h3,
.ng-light .ng-show-main strong,
.ng-light .ng-show-tile strong,
.ng-light .ng-adv-stat strong,
.ng-light .ng-metric-card strong {
    color: #0b1730 !important;
}
.ng-light .ng-hero p,
.ng-light .ng-section-head p,
.ng-light .ng-split p,
.ng-light .ng-cta-card p,
.ng-light .ng-page-hero p,
.ng-light .ng-process-step p,
.ng-light .ng-experience-card p,
.ng-light .ng-process-visual-head p,
.ng-light .ng-package-card p,
.ng-light .ng-show-tile p,
.ng-light .ng-show-main small,
.ng-light .ng-adv-stat small,
.ng-light .ng-metric-card span,
.ng-light .ng-logo small,
.ng-light .ng-strip-items span,
.ng-light .ng-showcase-title {
    color: #43536d !important;
}
.ng-light .ng-header-inner,
.ng-light .ng-mobile-panel {
    background: rgba(255,255,255,.88) !important;
    border-color: rgba(30, 58, 138, .14);
}
.ng-light .ng-btn-soft,
.ng-light .ng-theme-toggle,
.ng-light .ng-menu-toggle,
.ng-light .ng-hero-badges span,
.ng-light .ng-checks span,
.ng-light .ng-strip-items span,
.ng-light .ng-mini-flow {
    background: rgba(255,255,255,.82) !important;
    border-color: rgba(30, 58, 138, .13) !important;
    color: #1f2f4a !important;
}
.ng-light .ng-mobile-panel a {
    color: #1f2f4a;
    background: rgba(255,255,255,.78);
}
.ng-light .ng-package-price,
.ng-light .ng-feature-list span {
    background: rgba(248,251,255,.88) !important;
    border-color: rgba(30,58,138,.12) !important;
    color: #1f2f4a !important;
}
.ng-light .ng-feature-list i {
    color: #059669;
    background: rgba(16,185,129,.11);
}
.ng-process-step-icon {
    font-family: Vazirmatn, Tahoma, sans-serif;
    letter-spacing: 0;
    font-size: 15px;
}
.ng-process-step-icon::after {
    content: "";
    position: absolute;
}
.ng-process-step {
    grid-template-columns: 66px 1fr;
}
.ng-process-step-icon {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 20px;
}
.ng-orbit-core {
    overflow: hidden;
    background: rgba(255,255,255,.96);
    padding: 9px;
}
.ng-orbit-core img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 26px;
}
.ng-section-image {
    margin-top: 24px;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid var(--ng-border);
    background: rgba(255,255,255,.05);
    min-height: 340px;
}
.ng-section-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 340px;
    object-fit: cover;
}
.ng-exp-real-image {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: block;
    width: 100%;
    height: 292px;
    object-fit: cover;
    border-radius: 28px;
    border: 1px solid var(--ng-border);
}
.media-box {
    display: grid;
    align-content: end;
    padding: 18px;
}
.media-box b {
    color: var(--ng-text);
    font-size: 20px;
    font-weight: 950;
    line-height: 1.4;
    position: relative;
    z-index: 1;
}
.media-box small {
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 850;
    position: relative;
    z-index: 1;
}
.ng-light .media-box b {
    color: #0b1730;
}
.ng-light .media-box small {
    color: #43536d;
}
.ng-cta-image {
    width: min(520px, 100%);
    margin: 0 auto 22px;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid var(--ng-border);
}
.ng-cta-image img {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: cover;
}
.ng-dashboard-showcase,
.ng-show-tile,
.ng-process-visual,
.ng-experience-card,
.ng-advantage-panel,
.ng-cta-card-v4 {
    box-shadow: 0 24px 80px rgba(0,0,0,.22);
}
.ng-light .ng-dashboard-showcase,
.ng-light .ng-show-tile,
.ng-light .ng-process-visual,
.ng-light .ng-experience-card,
.ng-light .ng-advantage-panel,
.ng-light .ng-cta-card-v4 {
    box-shadow: 0 18px 48px rgba(30,58,138,.10);
}
@media (max-width: 720px) {
    .ng-process-step {
        grid-template-columns: 54px 1fr;
    }
    .ng-process-step-icon {
        width: 44px;
        height: 44px;
        border-radius: 16px;
        font-size: 13px;
    }
    .ng-section-image,
    .ng-section-image img {
        min-height: 240px;
    }
    .ng-exp-real-image {
        height: 240px;
    }
}


/* ===== V6 cleanup: light contrast, Bale section, footer accordion, better no-image state ===== */
.ng-hero-content,
.ng-hero-visual,
.ng-nav,
.ng-header-actions,
.ng-section-head {
    transform: none !important;
    filter: none !important;
}
.ng-card:hover,
.ng-package-card:hover,
.ng-btn:hover {
    filter: none !important;
}
.ng-light .ng-kicker {
    color: #1d4ed8;
    background: rgba(37, 99, 235, .10);
    border-color: rgba(37, 99, 235, .18);
}
.ng-light .ng-logo strong,
.ng-light .ng-hero h1,
.ng-light .ng-section-head h2,
.ng-light .ng-split h2,
.ng-light .ng-cta-card h2,
.ng-light .ng-process-step h3,
.ng-light .ng-experience-card h3,
.ng-light .ng-exp-copy h3,
.ng-light .ng-process-visual-head h3,
.ng-light .ng-package-card h3,
.ng-light .ng-show-main strong,
.ng-light .ng-show-tile strong,
.ng-light .ng-adv-stat strong,
.ng-light .ng-metric-card strong,
.ng-light .ng-footer summary,
.ng-light .ng-footer h3 {
    color: #0b1730 !important;
}
.ng-light .ng-hero p,
.ng-light .ng-section-head p,
.ng-light .ng-split p,
.ng-light .ng-cta-card p,
.ng-light .ng-page-hero p,
.ng-light .ng-process-step p,
.ng-light .ng-experience-card p,
.ng-light .ng-exp-copy p,
.ng-light .ng-process-visual-head p,
.ng-light .ng-package-card p,
.ng-light .ng-show-tile p,
.ng-light .ng-show-main small,
.ng-light .ng-adv-stat small,
.ng-light .ng-metric-card span,
.ng-light .ng-logo small,
.ng-light .ng-strip-items span,
.ng-light .ng-showcase-title,
.ng-light .ng-footer a,
.ng-light .ng-footer span,
.ng-light .ng-footer-brand p {
    color: #43536d !important;
}
.ng-light .ng-header-inner,
.ng-light .ng-mobile-panel {
    background: rgba(255,255,255,.88) !important;
    border-color: rgba(30, 58, 138, .14);
}
.ng-light .ng-btn-soft,
.ng-light .ng-theme-toggle,
.ng-light .ng-menu-toggle,
.ng-light .ng-hero-badges span,
.ng-light .ng-checks span,
.ng-light .ng-strip-items span,
.ng-light .ng-mini-flow {
    background: rgba(255,255,255,.82) !important;
    border-color: rgba(30, 58, 138, .13) !important;
    color: #1f2f4a !important;
}
.ng-light .ng-exp-icon {
    color: #1d4ed8 !important;
    background: rgba(37,99,235,.10) !important;
    border: 1px solid rgba(37,99,235,.13);
}
.ng-bale-section {
    padding: 38px 0 58px;
}
.ng-bale-card {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) auto;
    gap: 20px;
    align-items: center;
    padding: 24px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.18), transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(24,194,156,.10), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
        var(--ng-card);
}
.ng-bale-icon {
    width: 74px;
    height: 74px;
    border-radius: 26px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(91,140,255,.24), rgba(124,92,255,.20));
    border: 1px solid var(--ng-border);
    overflow: hidden;
}
.ng-bale-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8px;
    background: rgba(255,255,255,.92);
}
.ng-bale-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #dbeafe;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-bale-card h2 {
    margin: 0 0 8px;
    color: var(--ng-text);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.5;
    font-weight: 950;
}
.ng-bale-card p {
    margin: 0;
    max-width: 760px;
    color: var(--ng-muted);
    line-height: 2.05;
    font-size: 14px;
}
.ng-bale-actions {
    display: grid;
    gap: 10px;
    min-width: 190px;
}
.ng-light .ng-bale-card {
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,250,255,.84));
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-bale-card h2 { color: #0b1730; }
.ng-light .ng-bale-card p { color: #43536d; }
.ng-media-placeholder {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.ng-media-placeholder span {
    min-height: 136px;
    border-radius: 26px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.14), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
    display: grid;
    place-items: center;
    color: var(--ng-soft);
    font-size: 14px;
    font-weight: 950;
    text-align: center;
    padding: 14px;
}
.ng-light .ng-media-placeholder span {
    background: rgba(255,255,255,.84);
    color: #1f2f4a !important;
    border-color: rgba(30,58,138,.12);
}
.ng-orbit-core {
    overflow: hidden;
    background: rgba(255,255,255,.96);
    padding: 9px;
}
.ng-orbit-core img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 26px;
}
.ng-footer-group {
    display: block;
}
.ng-footer-group summary {
    list-style: none;
    cursor: pointer;
    color: var(--ng-text);
    font-size: 15px;
    font-weight: 950;
    margin: 0 0 14px;
}
.ng-footer-group summary::-webkit-details-marker {
    display: none;
}
.ng-footer-links {
    display: grid;
    gap: 0;
}
.ng-footer-trust {
    margin-top: 14px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid var(--ng-border);
    background: var(--ng-card);
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.ng-footer-trust img,
.ng-footer-trust iframe {
    max-width: 120px;
    max-height: 120px;
}
.ng-light .ng-footer-trust {
    background: rgba(255,255,255,.86);
}
@media (max-width: 900px) {
    .ng-bale-card {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }
    .ng-bale-actions {
        width: 100%;
    }
    .ng-bale-actions .ng-btn {
        width: 100%;
    }
    .ng-footer-grid {
        gap: 10px;
    }
    .ng-footer-group {
        border: 1px solid var(--ng-border);
        border-radius: 18px;
        padding: 0;
        background: rgba(255,255,255,.04);
        overflow: hidden;
    }
    .ng-footer-group summary {
        margin: 0;
        min-height: 52px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 14px;
    }
    .ng-footer-group summary:after {
        content: '+';
        font-size: 22px;
        line-height: 1;
        color: var(--ng-muted);
    }
    .ng-footer-group[open] summary:after {
        content: '−';
    }
    .ng-footer-links {
        padding: 0 14px 12px;
    }
    .ng-footer a,
    .ng-footer span {
        margin: 5px 0;
        padding: 8px 0;
        border-top: 1px solid rgba(148,163,184,.10);
    }
    .ng-footer-trust {
        justify-content: center;
    }
}
@media (max-width: 560px) {
    .ng-media-placeholder {
        grid-template-columns: 1fr;
    }
    .ng-media-placeholder span {
        min-height: 92px;
    }
}


/* ===== Netgardi Final Complete Layer ===== */
.ng-sales-benefits-vfinal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px;max-width:720px}
.ng-sales-benefits-vfinal span{min-height:50px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 12px;border-radius:18px;border:1px solid var(--ng-border);background:var(--ng-card-2);color:var(--ng-soft);font-size:12px;font-weight:900}
.ng-advisor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.ng-advisor-card{padding:22px;text-decoration:none;min-height:260px;display:grid;align-content:start;gap:12px;background:radial-gradient(circle at 12% 0%,rgba(91,140,255,.14),transparent 34%),var(--ng-card)}
.ng-advisor-card h3{margin:0;color:var(--ng-text);font-size:20px;font-weight:950;line-height:1.55}
.ng-advisor-card p{margin:0;color:var(--ng-muted);font-size:13px;line-height:2}
.ng-sales-side-card{padding:28px;display:grid;align-content:center;min-height:300px;background:radial-gradient(circle at 20% 0%,rgba(91,140,255,.18),transparent 34%),var(--ng-card)}
.ng-sales-side-card strong{display:block;color:var(--ng-text);font-size:34px;line-height:1.4;font-weight:950;margin-bottom:14px}
.ng-sales-side-card p{color:var(--ng-muted);line-height:2.1;font-size:14px}
.ng-sample-card{min-height:220px;padding:24px;display:grid;align-content:end;background:radial-gradient(circle at 12% 0%,rgba(91,140,255,.16),transparent 34%),var(--ng-card)}
.ng-sample-card h3{font-size:24px}
.ng-raw-page{width:100%;min-height:70vh}
.ng-blank-body{margin:0;font-family:Vazirmatn,Tahoma,sans-serif}
.ng-light .ng-sales-benefits-vfinal span,.ng-light .ng-advisor-card{background:rgba(255,255,255,.82)!important;border-color:rgba(30,58,138,.13)!important;color:#1f2f4a!important}
.ng-light .ng-advisor-card h3,.ng-light .ng-sales-side-card strong,.ng-light .ng-sample-card h3{color:#0b1730!important}
.ng-light .ng-advisor-card p,.ng-light .ng-sales-side-card p,.ng-light .ng-sample-card p{color:#43536d!important}
.ng-light .ng-sales-side-card,.ng-light .ng-sample-card{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(248,250,255,.85));border-color:rgba(30,58,138,.12)}
.ng-footer-group{display:block}
.ng-footer-group summary{list-style:none;cursor:pointer;color:var(--ng-text);font-size:15px;font-weight:950;margin:0 0 14px}
.ng-footer-group summary::-webkit-details-marker{display:none}
.ng-footer-links{display:grid}
.ng-footer-trust{margin-top:14px;padding:18px;border-radius:24px;border:1px solid var(--ng-border);background:var(--ng-card);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ng-footer-trust img,.ng-footer-trust iframe{max-width:120px;max-height:120px}
.ng-light .ng-footer-trust{background:rgba(255,255,255,.86)}
@media(max-width:900px){.ng-sales-benefits-vfinal{grid-template-columns:1fr}.ng-footer-group{border:1px solid var(--ng-border);border-radius:18px;overflow:hidden;background:rgba(255,255,255,.04)}.ng-footer-group summary{margin:0;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 14px}.ng-footer-group summary:after{content:'+';font-size:22px;color:var(--ng-muted)}.ng-footer-group[open] summary:after{content:'−'}.ng-footer-links{padding:0 14px 12px}.ng-footer a,.ng-footer span{margin:5px 0;padding:8px 0;border-top:1px solid rgba(148,163,184,.10)}.ng-footer-trust{justify-content:center}}


/* ===== Netgardi V10 smart platform polish ===== */
body.ng-body:after{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.025) 35%,transparent 70%);mix-blend-mode:screen;opacity:.55}
.ng-sales-benefits-vfinal span{position:relative;overflow:hidden}
.ng-sales-benefits-vfinal span:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.10),transparent);transform:translateX(110%);transition:.55s ease}
.ng-sales-benefits-vfinal span:hover:before{transform:translateX(-110%)}
.ng-smart-platform-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:center;padding:28px;border-radius:38px;background:radial-gradient(circle at 0% 0%,rgba(91,140,255,.20),transparent 32%),radial-gradient(circle at 100% 100%,rgba(24,194,156,.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03)),var(--ng-card)}
.ng-smart-copy h2{margin:0 0 12px;color:var(--ng-text);font-size:clamp(30px,4vw,54px);line-height:1.38;font-weight:950;letter-spacing:-.04em}
.ng-smart-copy p{color:var(--ng-muted);line-height:2.15;font-size:15px}
.ng-smart-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.ng-smart-list span{min-height:54px;border-radius:18px;border:1px solid var(--ng-border);background:var(--ng-card-2);display:flex;align-items:center;justify-content:center;text-align:center;padding:0 12px;color:var(--ng-soft);font-size:12px;font-weight:900}
.ng-smart-orbit{position:relative;min-height:360px;display:grid;place-items:center}
.ng-smart-orbit:before,.ng-smart-orbit:after{content:"";position:absolute;border-radius:999px;border:1px dashed rgba(175,190,215,.24)}
.ng-smart-orbit:before{width:310px;height:310px}.ng-smart-orbit:after{width:210px;height:210px}
.ng-smart-core{width:128px;height:128px;border-radius:38px;background:rgba(255,255,255,.94);display:grid;place-items:center;text-align:center;padding:14px;z-index:2;box-shadow:0 26px 70px rgba(91,140,255,.24)}
.ng-smart-core img{width:56px;height:56px;object-fit:contain}.ng-smart-core strong{color:#0b1730;font-size:12px;font-weight:950}
.ng-smart-node{position:absolute;z-index:3;min-width:88px;min-height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--ng-border);background:rgba(255,255,255,.08);backdrop-filter:blur(12px);display:grid;place-items:center;color:var(--ng-soft);font-size:12px;font-weight:950}
.ng-smart-node.n1{top:18px;right:58px}.ng-smart-node.n2{top:90px;left:18px}.ng-smart-node.n3{bottom:28px;left:70px}.ng-smart-node.n4{bottom:96px;right:8px}.ng-smart-node.n5{top:190px;right:120px}
.ng-package-hero-pro{position:relative;overflow:hidden}
.ng-package-hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.ng-package-hero-pills span{padding:9px 13px;border-radius:999px;background:var(--ng-card-2);border:1px solid var(--ng-border);color:var(--ng-soft);font-size:12px;font-weight:900}
.ng-package-detail-card-pro{gap:14px}.ng-package-detail-card-pro .ng-btn{width:100%}
.ng-package-value-panel,.ng-package-process-panel{padding:28px;border-radius:34px;background:radial-gradient(circle at 20% 0%,rgba(91,140,255,.16),transparent 34%),var(--ng-card)}
.ng-package-value-panel h3,.ng-package-process-panel h2{margin:0 0 12px;color:var(--ng-text);font-size:30px;line-height:1.45;font-weight:950}
.ng-package-value-panel p{color:var(--ng-muted);line-height:2.1}
.ng-package-process-list{display:grid;gap:12px;margin-top:20px}
.ng-package-process-list div{display:grid;grid-template-columns:54px 1fr;gap:12px;align-items:center;padding:12px;border-radius:18px;background:var(--ng-card-2);border:1px solid var(--ng-border)}
.ng-package-process-list b{width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--ng-blue),var(--ng-violet));display:grid;place-items:center;color:#fff}
.ng-package-process-list span{color:var(--ng-soft);font-size:13px;line-height:1.9;font-weight:850}
.ng-feature-list-large span{min-height:52px}
.ng-package-section-card{transition:.22s ease}.ng-package-section-card:hover{transform:translateY(-4px);border-color:rgba(91,140,255,.34)}
.ng-raw-body{margin:0;background:#fff!important;overflow-x:hidden}
.ng-light .ng-smart-platform-card,.ng-light .ng-package-value-panel,.ng-light .ng-package-process-panel{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,255,.86));border-color:rgba(30,58,138,.12)}
.ng-light .ng-smart-copy h2,.ng-light .ng-package-value-panel h3,.ng-light .ng-package-process-panel h2{color:#0b1730!important}
.ng-light .ng-smart-copy p,.ng-light .ng-package-value-panel p{color:#43536d!important}
.ng-light .ng-smart-list span,.ng-light .ng-smart-node,.ng-light .ng-package-process-list div,.ng-light .ng-package-hero-pills span{background:rgba(255,255,255,.82)!important;border-color:rgba(30,58,138,.13)!important;color:#1f2f4a!important}
.ng-light .ng-package-process-list span{color:#1f2f4a!important}
@media(max-width:1180px){.ng-smart-platform-card{grid-template-columns:1fr}.ng-smart-orbit{min-height:330px}}
@media(max-width:720px){.ng-smart-list{grid-template-columns:1fr}.ng-smart-orbit:before{width:250px;height:250px}.ng-smart-orbit:after{width:170px;height:170px}.ng-smart-node{min-width:74px;font-size:11px}.ng-smart-node.n1{right:10px}.ng-smart-node.n2{left:8px}.ng-smart-node.n3{left:20px}.ng-smart-node.n4{right:8px}.ng-smart-node.n5{right:86px}.ng-package-process-list div{grid-template-columns:48px 1fr}}


/* ===== Global quick fixes 4.1.1: logo, inline nav icons, light contrast, unified background, package data UI ===== */
html, body.ng-body {
    min-height: 100%;
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.15), transparent 30%),
        radial-gradient(circle at 100% 7%, rgba(124,92,255,.14), transparent 28%),
        radial-gradient(circle at 50% 110%, rgba(24,194,156,.10), transparent 32%),
        linear-gradient(180deg,#050b16 0%,#081326 35%,#0a1530 68%,#06101e 100%) !important;
    background-attachment: fixed !important;
}
html.ng-light, html.ng-light body.ng-body {
    background:
        radial-gradient(circle at 0% 0%, rgba(37,99,235,.10), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(124,58,237,.08), transparent 26%),
        radial-gradient(circle at 50% 110%, rgba(16,185,129,.06), transparent 30%),
        linear-gradient(180deg,#f8fbff 0%,#f2f6ff 42%,#eef4ff 100%) !important;
    background-attachment: fixed !important;
}
.ng-site-main, .ng-section, .ng-page-hero, .ng-hero { background: transparent !important; }
.ng-logo-mark img { width: 100%; height: 100%; object-fit: contain; }
.ng-footer .ng-logo { align-items: center; }
.ng-footer .ng-logo-mark { width: 50px; height: 50px; min-width: 50px; border-radius: 18px; padding: 6px; }
.ng-footer .ng-logo strong { font-size: 16px; }
.ng-footer .ng-logo small { font-size: 11px; }
.ng-nav a, .ng-header-actions .ng-btn, .ng-mobile-panel a, .ng-mobile-cta { display: inline-flex; align-items: center; gap: 7px; }
.ng-link-icon { width: 18px; height: 18px; display: inline-grid; place-items: center; flex: 0 0 18px; color: currentColor; opacity: .92; }
.ng-link-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ng-header-actions .ng-link-icon { width: 17px; height: 17px; }
.ng-header-actions .ng-link-icon svg { width: 17px; height: 17px; }
.ng-light .ng-show-tile strong,
.ng-light .ng-advisor-card h3,
.ng-light .ng-package-card h3,
.ng-light .ng-package-price strong,
.ng-light .ng-package-detail-card strong,
.ng-light .ng-smart-copy h2,
.ng-light .ng-process-step h3,
.ng-light .ng-bale-card h2,
.ng-light .ng-section-head h2,
.ng-light .ng-page-hero h1,
.ng-light .ng-stack-card,
.ng-light .ng-faq-item summary { color: #0b1730 !important; opacity: 1 !important; }
.ng-light .ng-show-tile p,
.ng-light .ng-show-tile small,
.ng-light .ng-advisor-card p,
.ng-light .ng-package-card p,
.ng-light .ng-package-price small,
.ng-light .ng-process-step p,
.ng-light .ng-bale-card p,
.ng-light .ng-section-head p,
.ng-light .ng-page-hero p,
.ng-light .ng-stack-card small,
.ng-light .ng-faq-item div,
.ng-light .ng-pill,
.ng-light .ng-tile-chip { color: #334155 !important; opacity: 1 !important; }
.ng-light .ng-pill,
.ng-light .ng-tile-chip,
.ng-light .ng-package-hero-pills span,
.ng-light .ng-mini-flow,
.ng-light .ng-feature-list span,
.ng-light .ng-package-price,
.ng-light .ng-smart-list span,
.ng-light .ng-checks span { background: rgba(255,255,255,.88) !important; border-color: rgba(30,58,138,.15) !important; color: #1f2f4a !important; }
.ng-light .ng-package-icon,
.ng-light .ng-bale-icon,
.ng-light .ng-exp-icon { color: #fff !important; }
@media (max-width: 900px) {
    .ng-footer .ng-logo { justify-content: center; text-align: center; }
    .ng-footer .ng-logo-mark { width: 44px; height: 44px; min-width: 44px; border-radius: 16px; padding: 5px; }
    .ng-footer-brand { text-align: center; }
    .ng-mobile-panel a, .ng-mobile-cta { justify-content: flex-start; }
}
@media (max-width: 520px) {
    .ng-footer .ng-logo { flex-direction: column; gap: 8px; }
    .ng-footer .ng-logo-mark { width: 42px; height: 42px; min-width: 42px; }
}


/* ===== V10.2 targeted fixes ===== */
@media (max-width: 900px) {
    .ng-header-inner{
        grid-template-columns: auto 1fr auto !important;
        gap: 6px !important;
        padding: 8px !important;
        min-width: 0;
    }
    .ng-logo{
        min-width: 0 !important;
        gap: 6px !important;
    }
    .ng-logo img{
        width: 34px !important;
        height: 34px !important;
    }
    .ng-logo strong{
        font-size: 11px !important;
        max-width: 54px;
        white-space: normal;
        line-height: 1.25;
        overflow: hidden;
    }
    .ng-logo small{
        display: none !important;
    }
    .ng-header-actions{
        min-width: 0 !important;
        gap: 5px !important;
        justify-self: end;
    }
    .ng-header-actions .ng-btn{
        min-height: 36px !important;
        height: 36px !important;
        padding: 0 9px !important;
        border-radius: 13px !important;
        font-size: 10px !important;
        gap: 4px !important;
        white-space: nowrap;
    }
    .ng-header-actions .ng-btn svg{
        width: 12px !important;
        height: 12px !important;
    }
    .ng-theme-toggle,
    .ng-menu-toggle{
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        border-radius: 13px !important;
        flex: 0 0 36px !important;
    }
    .ng-theme-toggle svg,
    .ng-menu-toggle svg{
        width: 17px !important;
        height: 17px !important;
    }
    .ng-mobile-panel a{
        display: flex !important;
        align-items: center;
        gap: 8px;
    }
}
@media (max-width: 390px) {
    .ng-header-actions .ng-btn-soft{
        display:none !important;
    }
    .ng-logo strong{
        max-width: 64px;
    }
}
.ng-light .ng-package-card h3,
.ng-light .ng-advisor-card h3,
.ng-light .ng-smart-copy h2,
.ng-light .ng-package-value-panel h3,
.ng-light .ng-package-process-panel h2,
.ng-light .ng-package-section-card h3,
.ng-light .ng-feature-list-large span,
.ng-light .ng-bale-card h2,
.ng-light .ng-faq-item summary{
    color:#0b1730 !important;
}
.ng-light .ng-package-card p,
.ng-light .ng-advisor-card p,
.ng-light .ng-smart-copy p,
.ng-light .ng-package-value-panel p,
.ng-light .ng-package-section-card p,
.ng-light .ng-bale-card p,
.ng-light .ng-faq-item div,
.ng-light .ng-package-process-list span{
    color:#43536d !important;
}
.ng-light .ng-tile-chip,
.ng-light .ng-pill,
.ng-light .ng-package-hero-pills span{
    color:#2563eb !important;
    background:rgba(37,99,235,.10) !important;
    border-color:rgba(37,99,235,.18) !important;
}


/* ===== V10.5 hero/background seam fix ===== */
/* حذف لکه سبز پایین هیرو و یکدست کردن اتصال Hero با ادامه صفحه */
body.ng-body{
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.15), transparent 30%),
        radial-gradient(circle at 100% 7%, rgba(124,92,255,.14), transparent 28%),
        radial-gradient(circle at 50% 105%, rgba(73,132,255,.055), transparent 34%),
        linear-gradient(180deg,#050b16 0%,#081326 36%,#0a1530 70%,#06101e 100%) !important;
    background-attachment: fixed !important;
}
html.ng-light body.ng-body{
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.10), transparent 28%),
        radial-gradient(circle at 100% 8%, rgba(124,92,255,.08), transparent 26%),
        radial-gradient(circle at 50% 105%, rgba(73,132,255,.045), transparent 34%),
        linear-gradient(180deg,#f8fbff 0%,#f2f6ff 42%,#eef4ff 100%) !important;
    background-attachment: fixed !important;
}
.ng-hero,
.ng-hero-v4,
.ng-sales-home,
.ng-page-hero{
    background: transparent !important;
}
.ng-glow-c{
    background: radial-gradient(circle, rgba(91,140,255,.11), transparent 68%) !important;
    opacity: .55 !important;
}
.ng-hero:after,
.ng-hero-v4:after,
.ng-sales-home:after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:120px;
    pointer-events:none;
    background: linear-gradient(180deg, rgba(8,19,38,0), #0a1530 78%, #0a1530 100%);
    z-index:0;
}
html.ng-light .ng-hero:after,
html.ng-light .ng-hero-v4:after,
html.ng-light .ng-sales-home:after{
    background: linear-gradient(180deg, rgba(242,246,255,0), #f2f6ff 78%, #f2f6ff 100%);
}
.ng-hero > *,
.ng-hero-v4 > *,
.ng-sales-home > *{
    position:relative;
    z-index:1;
}


/* ===== V10.6 seamless background + hamburger repair ===== */
/* این لایه عمداً بعد از V10.5 آمده تا خط جداکننده بین Hero و بخش بعدی را کامل حذف کند. */
body.ng-body{
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.14), transparent 30%),
        radial-gradient(circle at 100% 6%, rgba(124,92,255,.12), transparent 30%),
        linear-gradient(180deg,#050b16 0%,#081326 42%,#081326 100%) !important;
    background-attachment: fixed !important;
}
html.ng-light body.ng-body{
    background:
        radial-gradient(circle at 0% 0%, rgba(73,132,255,.09), transparent 30%),
        radial-gradient(circle at 100% 6%, rgba(124,92,255,.07), transparent 30%),
        linear-gradient(180deg,#f8fbff 0%,#f2f6ff 48%,#f2f6ff 100%) !important;
    background-attachment: fixed !important;
}

/* حذف خط/لایه اتصال قبلی که خودش مرز می ساخت */
.ng-hero:after,
.ng-hero-v4:after,
.ng-sales-home:after,
.ng-page-hero:after{
    content:none !important;
    display:none !important;
    background:none !important;
}

/* همه سکشن‌ها شفاف بمانند تا رنگ زمینه یکدست دیده شود */
.ng-site-main,
.ng-hero,
.ng-hero-v4,
.ng-sales-home,
.ng-page-hero,
.ng-section,
.ng-strip-section,
.ng-advisor-section,
.ng-smart-platform-section,
.ng-process-section,
.ng-bale-section,
.ng-portfolio-home,
.ng-final-cta{
    background:transparent !important;
}

/* نور سبز ته صفحه حذف شود؛ فقط نور آبی/بنفش خیلی نرم بماند */
.ng-glow-c{
    background:radial-gradient(circle, rgba(91,140,255,.08), transparent 70%) !important;
    opacity:.38 !important;
}

/* تعمیر آیکون منوی همبرگری موبایل */
.ng-menu-toggle{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
    overflow:hidden !important;
}
.ng-menu-toggle svg{
    display:none !important;
}
.ng-menu-toggle:before,
.ng-menu-toggle:after,
.ng-menu-toggle span{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    width:17px !important;
    height:2px !important;
    border-radius:999px !important;
    background:currentColor !important;
    transform:translateX(-50%) !important;
    opacity:1 !important;
}
.ng-menu-toggle:before{ top:12px !important; }
.ng-menu-toggle span{ top:17px !important; }
.ng-menu-toggle:after{ top:22px !important; }

/* اگر دکمه فقط svg داشت و span داخلی نداشت، خط وسط را با box-shadow می سازیم */
.ng-menu-toggle:not(:has(span)):before{
    box-shadow:0 5px 0 currentColor !important;
}
.ng-menu-toggle:not(:has(span)):after{
    top:22px !important;
}

@media (max-width:900px){
    .ng-menu-toggle{
        width:38px !important;
        height:38px !important;
        min-width:38px !important;
        min-height:38px !important;
        border-radius:14px !important;
        color:var(--ng-soft) !important;
        flex:0 0 38px !important;
    }
    html.ng-light .ng-menu-toggle{
        color:#1f2f4a !important;
    }
}


/* ===== V10.7 desktop hamburger + coming soon support ===== */
/* دسکتاپ: منوی همبرگری نباید دیده شود */
@media (min-width:901px){
    .ng-menu-toggle{
        display:none !important;
        visibility:hidden !important;
        width:0 !important;
        height:0 !important;
        min-width:0 !important;
        min-height:0 !important;
        padding:0 !important;
        margin:0 !important;
        border:0 !important;
        overflow:hidden !important;
    }
    .ng-menu-toggle:before,
    .ng-menu-toggle:after,
    .ng-menu-toggle span{
        display:none !important;
        content:none !important;
    }
}

/* موبایل: فقط اینجا همبرگری فعال باشد */
@media (max-width:900px){
    .ng-menu-toggle{
        display:inline-flex !important;
        visibility:visible !important;
        align-items:center !important;
        justify-content:center !important;
        position:relative !important;
        overflow:hidden !important;
    }
    .ng-menu-toggle svg{display:none !important}
    .ng-menu-toggle:before,
    .ng-menu-toggle:after,
    .ng-menu-toggle span{
        content:"" !important;
        position:absolute !important;
        left:50% !important;
        width:17px !important;
        height:2px !important;
        border-radius:999px !important;
        background:currentColor !important;
        transform:translateX(-50%) !important;
        opacity:1 !important;
        display:block !important;
    }
    .ng-menu-toggle:before{top:12px !important}
    .ng-menu-toggle span{top:18px !important}
    .ng-menu-toggle:after{top:24px !important}
    .ng-menu-toggle:not(:has(span)):before{box-shadow:0 6px 0 currentColor !important}
}



/* ===== V10.17 hero upgrade only ===== */
.ng-hero-grid-v4 {
    grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
    gap: 56px;
    align-items: center;
}
.ng-hero-content-v4 {
    gap: 0;
}
.ng-hero-content-v4 .ng-kicker {
    margin-bottom: 14px;
}
.ng-hero-content-v4 h1 {
    max-width: 760px;
    font-size: clamp(42px, 5.8vw, 78px);
    line-height: 1.18;
    letter-spacing: -.02em;
}
.ng-hero-content-v4 p {
    max-width: 710px;
    font-size: 17px;
    line-height: 2.15;
    color: var(--ng-soft);
}
.ng-hero-actions {
    gap: 14px;
    align-items: center;
    margin-top: 28px;
}
.ng-hero-actions .ng-btn {
    min-width: 176px;
    justify-content: center;
}
.ng-hero-actions .ng-btn-primary {
    box-shadow: 0 18px 34px rgba(87, 89, 255, .26);
}
.ng-hero-packages-btn {
    background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05)) !important;
    border-color: rgba(124, 92, 255, .26) !important;
    color: var(--ng-text) !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .18);
}
.ng-hero-packages-btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(180deg, rgba(91,140,255,.20), rgba(124,92,255,.12)) !important;
}
.ng-sales-benefits-vfinal {
    max-width: 700px;
    gap: 12px;
    margin-top: 24px;
}
.ng-sales-benefits-vfinal span {
    position: relative;
    justify-content: flex-start;
    text-align: right;
    padding: 0 16px 0 18px;
    font-size: 12px;
    min-height: 54px;
}
.ng-sales-benefits-vfinal span::before {
    content: '';
    width: 8px;
    height: 8px;
    min-width: 8px;
    border-radius: 999px;
    margin-left: 10px;
    background: linear-gradient(135deg, var(--ng-accent-a), var(--ng-accent-b));
    box-shadow: 0 0 0 6px rgba(91,140,255,.10);
}

.ng-hero-visual-v4 {
    position: relative;
    padding: 22px;
    min-height: 648px;
    border-radius: 42px;
    overflow: hidden;
}
.ng-hero-visual-v4::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 16% 18%, rgba(91,140,255,.16), transparent 28%),
        radial-gradient(circle at 88% 12%, rgba(124,92,255,.16), transparent 24%),
        radial-gradient(circle at 72% 88%, rgba(16,185,129,.10), transparent 26%);
    pointer-events: none;
}
.ng-dashboard-showcase {
    position: relative;
    min-height: 100%;
    padding: 22px;
    border-radius: 34px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 24px 40px rgba(2,6,23,.22);
}
.ng-light .ng-dashboard-showcase {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 24px 40px rgba(148,163,184,.20);
}
.ng-showcase-header {
    position: relative;
    justify-content: center;
    min-height: 58px;
    padding-bottom: 16px;
}
.ng-showcase-dots {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.ng-showcase-title {
    text-align: center;
    color: var(--ng-text);
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .02em;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
    border: 1px solid var(--ng-border);
}
.ng-light .ng-showcase-title {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,255,.90));
}
.ng-showcase-grid {
    grid-template-columns: 1.04fr .96fr;
    gap: 16px;
}
.ng-show-tile {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border-radius: 26px;
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ng-show-tile::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.36), transparent);
    opacity: .85;
}
.ng-show-tile:hover {
    transform: translateY(-4px);
    border-color: rgba(124,92,255,.26);
    box-shadow: 0 18px 28px rgba(2,6,23,.14);
}
.ng-show-main {
    min-height: 362px;
    display: grid;
    align-content: end;
    background:
        radial-gradient(circle at 82% 18%, rgba(91,140,255,.22), transparent 24%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
.ng-show-main small {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.05);
}
.ng-show-main strong {
    max-width: 11ch;
    font-size: 32px;
    line-height: 1.45;
    margin-top: 12px;
}
.ng-show-tile strong {
    line-height: 1.7;
}
.ng-show-tile p {
    font-size: 12px;
    line-height: 2.05;
}
.ng-show-stack {
    gap: 12px;
    align-content: end;
}
.ng-stack-label {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 900;
}
.ng-mini-flow {
    min-height: 52px;
    padding: 0 14px;
    justify-content: space-between;
    background: rgba(255,255,255,.05);
}
.ng-mini-flow b {
    font-size: 14px;
    font-weight: 900;
}
.ng-mini-flow span {
    width: 32px;
    height: 32px;
    font-size: 12px;
}
.ng-light .ng-show-tile.accent-a {
    background: linear-gradient(180deg, rgba(91,140,255,.10), rgba(255,255,255,.90));
}
.ng-light .ng-show-tile.accent-b {
    background: linear-gradient(180deg, rgba(124,92,255,.10), rgba(255,255,255,.90));
}

@media (max-width: 1180px) {
    .ng-hero-grid-v4 {
        gap: 28px;
    }
    .ng-hero-content-v4 {
        order: 1;
    }
    .ng-hero-visual-v4 {
        order: 2 !important;
        min-height: auto;
    }
}
@media (max-width: 980px) {
    .ng-hero-content-v4 h1 {
        max-width: 100%;
    }
    .ng-hero-content-v4 p {
        max-width: 100%;
        font-size: 15px;
    }
    .ng-hero-actions .ng-btn {
        min-width: 158px;
    }
    .ng-show-main {
        min-height: 260px;
    }
}
@media (max-width: 720px) {
    .ng-hero-v4 {
        padding-top: 34px;
    }
    .ng-hero-grid-v4 {
        gap: 22px;
    }
    .ng-hero-content-v4 h1 {
        font-size: clamp(30px, 10.5vw, 48px);
        line-height: 1.28;
    }
    .ng-hero-content-v4 p {
        font-size: 14px;
        line-height: 2;
    }
    .ng-hero-actions {
        gap: 10px;
        margin-top: 22px;
    }
    .ng-hero-actions .ng-btn {
        min-width: auto;
        padding-inline: 18px;
        flex: 0 0 auto;
    }
    .ng-sales-benefits-vfinal {
        grid-template-columns: 1fr;
        max-width: none;
    }
    .ng-hero-visual-v4 {
        padding: 12px;
        border-radius: 28px;
    }
    .ng-dashboard-showcase {
        padding: 14px;
        border-radius: 24px;
    }
    .ng-showcase-header {
        min-height: 46px;
        padding-bottom: 12px;
    }
    .ng-showcase-dots {
        left: auto;
        right: 0;
    }
    .ng-showcase-title {
        font-size: 12px;
        padding: 8px 12px;
    }
    .ng-show-main {
        order: 1;
        min-height: 236px;
    }
    .ng-show-main strong {
        font-size: 24px;
        max-width: 12ch;
    }
}
@media (max-width: 560px) {
    .ng-hero-visual-v4 {
        min-height: auto;
    }
    .ng-hero-actions .ng-btn-primary {
        min-width: 148px;
    }
    .ng-hero-actions .ng-btn-soft {
        min-width: 132px;
    }
    .ng-show-tile,
    .ng-show-main,
    .ng-show-stack {
        min-height: auto;
    }
    .ng-mini-flow {
        min-height: 48px;
    }
}


/* ===== V10.18 hero-only layout repair ===== */
.ng-hero-grid-v4 {
    grid-template-columns: minmax(0, .88fr) minmax(520px, 1.12fr);
    gap: 30px;
    align-items: center;
}
.ng-hero-content-v4 { min-width: 0; }
.ng-hero-content-v4 h1 {
    max-width: 680px;
    font-size: clamp(40px, 5.2vw, 72px);
    line-height: 1.24;
}
.ng-hero-content-v4 p {
    max-width: 640px;
    font-size: 16px;
    line-height: 2.12;
}
.ng-hero-visual-v4 {
    width: 100%;
    min-width: 0;
    min-height: 620px;
}
.ng-dashboard-showcase { min-width: 0; }
.ng-showcase-grid {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}
.ng-show-main strong {
    max-width: 10.8ch;
    font-size: 30px;
}
.ng-show-tile strong { font-size: 18px; }
.ng-show-tile p { font-size: 12px; }
.ng-hero-actions .ng-btn { min-width: 166px; }
.ng-hero-packages-btn { position: relative; }
.ng-hero-packages-btn::after {
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
    transform: rotate(-45deg);
    margin-right: 8px;
    opacity: .85;
}
.ng-show-tile { animation: ngHeroFloatSoft 6s ease-in-out infinite; }
.ng-show-tile:nth-child(2) { animation-delay: .4s; }
.ng-show-tile:nth-child(3) { animation-delay: .8s; }
.ng-show-tile:nth-child(4) { animation-delay: 1.2s; }
@keyframes ngHeroFloatSoft {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
.ng-show-tile:hover { animation-play-state: paused; }

/* tablet/mobile: prevent overlap completely */
@media (max-width: 1180px) {
    .ng-hero-grid-v4 {
        display: grid;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px;
    }
    .ng-hero-content-v4 {
        order: 1 !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        justify-content: flex-start;
    }
    .ng-hero-visual-v4 {
        order: 2 !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: auto;
    }
    .ng-hero-content-v4 h1,
    .ng-hero-content-v4 p {
        max-width: 100%;
        min-width: 0;
        word-break: normal;
        overflow-wrap: normal;
    }
}
@media (max-width: 900px) {
    .ng-hero-v4 { padding-top: 32px; }
    .ng-hero-content-v4 h1 {
        font-size: clamp(30px, 9vw, 46px);
        line-height: 1.34;
        letter-spacing: -.012em;
    }
    .ng-hero-content-v4 p {
        font-size: 14px;
        line-height: 2.05;
    }
    .ng-hero-actions {
        gap: 10px;
        justify-content: flex-start;
    }
    .ng-hero-actions .ng-btn {
        min-width: auto;
        width: auto;
        flex: 0 0 auto;
        padding-inline: 16px;
    }
    .ng-hero-actions .ng-btn-primary { min-width: 148px; }
    .ng-hero-actions .ng-btn-soft { min-width: 128px; }
    .ng-sales-benefits-vfinal {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }
    .ng-sales-benefits-vfinal span {
        min-height: 46px;
        font-size: 11px;
        padding-inline: 12px;
    }
    .ng-hero-visual-v4 {
        padding: 12px;
        border-radius: 30px;
    }
    .ng-dashboard-showcase {
        padding: 14px;
        border-radius: 24px;
        overflow: hidden;
    }
    .ng-showcase-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
    .ng-show-main {
        grid-row: auto;
        min-height: auto;
        align-content: start;
    }
    .ng-show-main strong {
        max-width: none;
        font-size: 24px;
        line-height: 1.55;
    }
    .ng-show-tile {
        min-height: auto;
        padding: 16px;
        animation: none;
    }
    .ng-show-tile strong {
        font-size: 18px;
        line-height: 1.65;
    }
    .ng-show-tile p {
        font-size: 12px;
        line-height: 1.95;
    }
    .ng-show-stack { align-content: start; }
}
@media (max-width: 560px) {
    .ng-hero-v4 { padding-top: 24px; }
    .ng-hero-content-v4 { text-align: right; }
    .ng-hero-content-v4 h1 {
        font-size: clamp(29px, 8.7vw, 40px);
        line-height: 1.42;
    }
    .ng-hero-content-v4 p {
        font-size: 13px;
        line-height: 2;
    }
    .ng-hero-actions { align-items: center; }
    .ng-hero-actions .ng-btn {
        min-height: 42px;
        border-radius: 15px;
        font-size: 12px;
    }
    .ng-sales-benefits-vfinal { grid-template-columns: 1fr; }
    .ng-hero-visual-v4 {
        width: 100%;
        padding: 10px;
        border-radius: 26px;
    }
    .ng-dashboard-showcase {
        width: 100%;
        min-height: auto;
    }
    .ng-showcase-header { justify-content: center; }
    .ng-showcase-dots { display: none; }
    .ng-showcase-title {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }
    .ng-show-main strong { font-size: 22px; }
    .ng-mini-flow { min-height: 44px; }
}


/* ===== V10.23 homepage visual enhancement only ===== */
body.home .ng-site-main, body.front-page .ng-site-main { position: relative; overflow-x: clip; }
body.home .ng-site-main::before, body.front-page .ng-site-main::before{
    content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
    background:radial-gradient(circle at 12% 8%,rgba(91,140,255,.14),transparent 26%),radial-gradient(circle at 88% 18%,rgba(124,92,255,.16),transparent 28%),radial-gradient(circle at 50% 78%,rgba(16,185,129,.08),transparent 32%);
    animation:ngV23Aura 14s ease-in-out infinite alternate;
}
.ng-light body.home .ng-site-main::before,.ng-light body.front-page .ng-site-main::before{
    background:radial-gradient(circle at 12% 8%,rgba(37,99,235,.10),transparent 26%),radial-gradient(circle at 88% 18%,rgba(124,58,237,.09),transparent 28%),radial-gradient(circle at 50% 78%,rgba(16,185,129,.06),transparent 32%);
}
@keyframes ngV23Aura{0%{transform:translate3d(0,0,0) scale(1);opacity:.78}100%{transform:translate3d(0,-18px,0) scale(1.04);opacity:1}}

.ng-v23-home-hero{position:relative;isolation:isolate}
.ng-v23-home-hero::before,.ng-v23-home-hero::after{content:'';position:absolute;pointer-events:none;z-index:0}
.ng-v23-home-hero::before{
    width:min(54vw,760px);height:min(54vw,760px);right:-16vw;top:5%;border-radius:999px;
    background:radial-gradient(circle,rgba(91,140,255,.18),transparent 58%),conic-gradient(from 180deg,rgba(91,140,255,.12),rgba(124,92,255,.18),rgba(16,185,129,.08),rgba(91,140,255,.12));
    filter:blur(8px);opacity:.64;animation:ngV23SlowSpin 28s linear infinite;
}
.ng-v23-home-hero::after{inset:70px 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.22),rgba(91,140,255,.38),transparent);animation:ngV23LinePulse 5s ease-in-out infinite}
@keyframes ngV23SlowSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes ngV23LinePulse{0%,100%{opacity:.18;transform:scaleX(.75)}50%{opacity:.75;transform:scaleX(1)}}
.ng-v23-home-hero .ng-container{position:relative;z-index:2}
.ng-v23-home-hero .ng-hero-content-v4 h1{
    letter-spacing:-.025em;text-wrap:balance;background:linear-gradient(180deg,var(--ng-text),rgba(219,234,254,.76));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 22px 70px rgba(91,140,255,.12)
}
.ng-light .ng-v23-home-hero .ng-hero-content-v4 h1{background:linear-gradient(180deg,#071123,#1e3a8a);-webkit-background-clip:text;background-clip:text;color:transparent}
.ng-v23-home-hero .ng-hero-content-v4 p{text-wrap:pretty}
.ng-v23-home-hero .ng-hero-actions .ng-btn-primary{position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(37,99,235,.30),inset 0 1px 0 rgba(255,255,255,.20)}
.ng-v23-home-hero .ng-hero-actions .ng-btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 35%,rgba(255,255,255,.28) 48%,transparent 60% 100%);transform:translateX(120%);animation:ngV23ButtonShine 4s ease-in-out infinite}
@keyframes ngV23ButtonShine{0%,55%{transform:translateX(120%)}78%,100%{transform:translateX(-120%)}}
.ng-v23-home-hero .ng-hero-actions .ng-btn-soft{border-color:rgba(147,197,253,.26);background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04))}
.ng-v23-home-hero .ng-hero-visual-v4{position:relative}
.ng-v23-home-hero .ng-hero-visual-v4::after{content:'';position:absolute;inset:auto 10% -22px 10%;height:48px;border-radius:999px;background:radial-gradient(ellipse at center,rgba(91,140,255,.28),transparent 70%);filter:blur(20px);pointer-events:none}
.ng-v23-home-hero .ng-dashboard-showcase{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025)),radial-gradient(circle at 18% 10%,rgba(91,140,255,.12),transparent 30%),radial-gradient(circle at 88% 80%,rgba(124,92,255,.14),transparent 34%),var(--ng-card);transform-style:preserve-3d}
.ng-v23-home-hero .ng-show-tile{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 16px 38px rgba(2,6,23,.13)}
.ng-v23-home-hero .ng-mini-flow span{box-shadow:0 0 0 8px rgba(91,140,255,.10),0 14px 24px rgba(37,99,235,.24)}
.ng-v23-icon-bullets span{position:relative;overflow:hidden}.ng-v23-icon-bullets span::after{content:'';position:absolute;width:34px;height:34px;left:-14px;top:50%;transform:translateY(-50%);border-radius:999px;background:radial-gradient(circle,rgba(91,140,255,.18),transparent 68%)}

.ng-v23-graphic-section{position:relative;isolation:isolate}.ng-v23-graphic-section::before{content:'';position:absolute;inset:26px 3vw auto 3vw;height:1px;pointer-events:none;z-index:0;background:linear-gradient(90deg,transparent,rgba(148,163,184,.16),transparent)}.ng-v23-graphic-section .ng-container{position:relative;z-index:1}
.ng-v23-graphic-section .ng-home-v19-head h2,.ng-v23-graphic-section .ng-section-head h2{background:linear-gradient(180deg,var(--ng-text),rgba(219,234,254,.76));-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:balance}
.ng-light .ng-v23-graphic-section .ng-home-v19-head h2,.ng-light .ng-v23-graphic-section .ng-section-head h2{background:linear-gradient(180deg,#071123,#1d4ed8);-webkit-background-clip:text;background-clip:text;color:transparent}
.ng-v23-graphic-section .ng-card,.ng-v23-home-hero .ng-card,.ng-v23-graphic-section .ng-package-card,.ng-v23-graphic-section .ng-advisor-card,.ng-v23-graphic-section .ng-faq-item{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.ng-v23-graphic-section .ng-card:hover,.ng-v23-home-hero .ng-card:hover,.ng-v23-graphic-section .ng-package-card:hover,.ng-v23-graphic-section .ng-advisor-card:hover{transform:translateY(-5px);border-color:rgba(147,197,253,.28);box-shadow:0 22px 60px rgba(2,6,23,.18),0 0 0 1px rgba(147,197,253,.08)}
.ng-v23-graphic-section .ng-package-card:nth-child(3n+1),.ng-v23-graphic-section .ng-advisor-card:nth-child(3n+1){background:radial-gradient(circle at 12% 0%,rgba(91,140,255,.12),transparent 34%),var(--ng-card)}
.ng-v23-graphic-section .ng-package-card:nth-child(3n+2),.ng-v23-graphic-section .ng-advisor-card:nth-child(3n+2){background:radial-gradient(circle at 88% 0%,rgba(124,92,255,.13),transparent 34%),var(--ng-card)}
.ng-v23-graphic-section .ng-package-card:nth-child(3n+3),.ng-v23-graphic-section .ng-advisor-card:nth-child(3n+3){background:radial-gradient(circle at 60% 100%,rgba(16,185,129,.09),transparent 34%),var(--ng-card)}
.ng-light .ng-v23-graphic-section .ng-package-card:nth-child(n),.ng-light .ng-v23-graphic-section .ng-advisor-card:nth-child(n){background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,250,255,.82))}
.ng-v23-graphic-section .ng-package-icon,.ng-v23-graphic-section .ng-bale-icon{position:relative;overflow:hidden}.ng-v23-graphic-section .ng-package-icon::before,.ng-v23-graphic-section .ng-bale-icon::before{content:'';position:absolute;inset:-40%;background:conic-gradient(from 180deg,rgba(91,140,255,.22),rgba(124,92,255,.24),rgba(16,185,129,.14),rgba(91,140,255,.22));animation:ngV23SlowSpin 12s linear infinite;opacity:.65}.ng-v23-graphic-section .ng-package-icon svg,.ng-v23-graphic-section .ng-bale-icon svg,.ng-v23-graphic-section .ng-bale-icon img{position:relative;z-index:1}
.ng-v23-graphic-section .ng-home-v19-steps-list{position:relative}.ng-v23-graphic-section .ng-home-v19-steps-list::before{content:'';position:absolute;top:16px;bottom:16px;right:26px;width:1px;background:linear-gradient(180deg,transparent,rgba(91,140,255,.30),rgba(124,92,255,.25),transparent);pointer-events:none}
.ng-v23-graphic-section .ng-home-v19-final-card,.ng-v23-graphic-section .ng-cta-card{position:relative;overflow:hidden}.ng-v23-graphic-section .ng-home-v19-final-card::before,.ng-v23-graphic-section .ng-cta-card::before{content:'';position:absolute;width:340px;height:340px;right:-110px;top:-160px;border-radius:999px;background:radial-gradient(circle,rgba(91,140,255,.20),transparent 65%);filter:blur(10px);pointer-events:none}.ng-v23-graphic-section .ng-home-v19-final-card::after,.ng-v23-graphic-section .ng-cta-card::after{content:'';position:absolute;width:300px;height:300px;left:-130px;bottom:-160px;border-radius:999px;background:radial-gradient(circle,rgba(124,92,255,.18),transparent 65%);filter:blur(10px);pointer-events:none}.ng-v23-graphic-section .ng-home-v19-final-card>*,.ng-v23-graphic-section .ng-cta-card>*{position:relative;z-index:1}
.ng-v23-graphic-section .ng-card,.ng-v23-graphic-section .ng-package-card,.ng-v23-graphic-section .ng-advisor-card,.ng-v23-home-hero .ng-hero-content-v4,.ng-v23-home-hero .ng-hero-visual-v4{animation:ngV23SoftIn .7s ease both}@keyframes ngV23SoftIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media (max-width:900px){.ng-v23-home-hero::before{width:92vw;height:92vw;right:-42vw;top:2%;opacity:.42}.ng-v23-home-hero .ng-hero-content-v4 h1{color:var(--ng-text);background:none;-webkit-background-clip:initial;background-clip:initial}.ng-v23-graphic-section::before{inset-inline:18px}}
@media (max-width:640px){.ng-v23-home-hero .ng-hero-actions .ng-btn{min-width:138px}.ng-v23-graphic-section .ng-home-v19-steps-list::before{display:none}}
@media (prefers-reduced-motion:reduce){.ng-v23-home-hero::before,.ng-v23-home-hero::after,body.home .ng-site-main::before,body.front-page .ng-site-main::before,.ng-v23-graphic-section .ng-card,.ng-v23-graphic-section .ng-package-card,.ng-v23-graphic-section .ng-advisor-card,.ng-v23-home-hero .ng-hero-content-v4,.ng-v23-home-hero .ng-hero-visual-v4,.ng-v23-home-hero .ng-hero-actions .ng-btn-primary::before,.ng-v23-graphic-section .ng-package-icon::before,.ng-v23-graphic-section .ng-bale-icon::before{animation:none!important}}


/* ===== V10.26 hero title width + why section visual polish only ===== */
@media (min-width: 1181px) {
    .ng-v23-home-hero .ng-hero-content-v4 h1,
    .ng-hero-content-v4 h1 {
        max-width: 790px;
    }
    .ng-v23-home-hero .ng-hero-content-v4 p,
    .ng-hero-content-v4 p {
        max-width: 690px;
    }
}
.ng-v26-why-section {
    position: relative;
    overflow: clip;
    isolation: isolate;
}
.ng-v26-why-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-v26-why-bg::before {
    content: 'WHY';
    position: absolute;
    left: clamp(18px, 5vw, 78px);
    top: 10px;
    font-size: clamp(96px, 18vw, 280px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: -.08em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.12);
    opacity: .85;
    transform: rotate(-4deg);
}
.ng-light .ng-v26-why-bg::before {
    -webkit-text-stroke-color: rgba(29,78,216,.14);
}
.ng-v26-why-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(22px);
    opacity: .58;
    animation: ngV26WhyOrb 12s ease-in-out infinite alternate;
}
.ng-v26-why-orb.orb-one {
    width: 260px;
    height: 260px;
    right: -70px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.22), transparent 68%);
}
.ng-v26-why-orb.orb-two {
    width: 210px;
    height: 210px;
    left: 8%;
    bottom: 2%;
    background: radial-gradient(circle, rgba(124,92,255,.20), transparent 68%);
    animation-delay: -5s;
}
.ng-v26-why-line {
    position: absolute;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.42), rgba(124,92,255,.22), transparent);
    opacity: .62;
    animation: ngV26WhyLine 7s ease-in-out infinite;
}
.ng-v26-why-line.line-one {
    top: 18%;
    left: 0;
    right: 10%;
}
.ng-v26-why-line.line-two {
    bottom: 16%;
    left: 10%;
    right: 0;
    animation-delay: -3s;
}
.ng-v26-why-pattern {
    position: absolute;
    inset: 10% 0 0 0;
    background:
        linear-gradient(rgba(148,163,184,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.045) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: radial-gradient(circle at 55% 45%, rgba(0,0,0,.8), transparent 72%);
    opacity: .75;
}
@keyframes ngV26WhyOrb {
    0% { transform: translate3d(0,0,0) scale(1); }
    100% { transform: translate3d(0,-18px,0) scale(1.05); }
}
@keyframes ngV26WhyLine {
    0%, 100% { transform: scaleX(.68); opacity: .25; }
    50% { transform: scaleX(1); opacity: .76; }
}
.ng-v26-why-grid {
    position: relative;
    z-index: 1;
    align-items: stretch;
    gap: 24px;
}
.ng-v26-why-copy {
    min-width: 0;
}
.ng-v26-why-copy h2 {
    max-width: 780px;
    font-size: clamp(36px, 5vw, 76px);
    line-height: 1.16;
    letter-spacing: -.035em;
    text-wrap: balance;
    background: linear-gradient(180deg, var(--ng-text), rgba(219,234,254,.74));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.ng-light .ng-v26-why-copy h2 {
    background: linear-gradient(180deg, #071123, #1d4ed8);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.ng-v26-why-copy p {
    max-width: 720px;
    font-size: 16px;
    line-height: 2.15;
    color: var(--ng-muted);
    text-wrap: pretty;
}
.ng-v26-why-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.ng-v26-why-checks span {
    position: relative;
    display: grid !important;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px 14px !important;
    border-radius: 20px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03)),
        radial-gradient(circle at 0 0, rgba(91,140,255,.10), transparent 48%);
    border: 1px solid rgba(148,163,184,.16) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    overflow: hidden;
}
.ng-v26-why-checks span::after {
    content: '';
    position: absolute;
    inset: auto -22px -26px auto;
    width: 74px;
    height: 74px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(91,140,255,.16), transparent 68%);
}
.ng-v26-why-checks b {
    position: relative;
    z-index: 1;
    width: 34px;
    height: 34px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    color: #fff;
    font-size: 11px;
    font-weight: 950;
    box-shadow: 0 12px 24px rgba(37,99,235,.22);
}
.ng-v26-why-side-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
    padding: 26px !important;
    border-radius: 34px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        radial-gradient(circle at 20% 8%, rgba(91,140,255,.18), transparent 34%),
        radial-gradient(circle at 90% 88%, rgba(124,92,255,.17), transparent 36%),
        var(--ng-card) !important;
}
.ng-light .ng-v26-why-side-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,255,.84)),
        radial-gradient(circle at 20% 8%, rgba(37,99,235,.10), transparent 34%),
        radial-gradient(circle at 90% 88%, rgba(124,58,237,.08), transparent 36%) !important;
}
.ng-v26-why-side-card::before {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 28px;
    border: 1px solid rgba(147,197,253,.13);
    pointer-events: none;
}
.ng-v26-side-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}
.ng-v26-side-badge {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 950;
}
.ng-v26-side-pulse {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 0 0 rgba(34,197,94,.38);
    animation: ngV26Pulse 2.4s ease-out infinite;
}
@keyframes ngV26Pulse {
    0% { box-shadow: 0 0 0 0 rgba(34,197,94,.38); }
    70% { box-shadow: 0 0 0 18px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
.ng-v26-why-side-card > strong,
.ng-v26-why-side-card > p {
    position: relative;
    z-index: 2;
}
.ng-v26-why-side-card > strong {
    display: block;
    max-width: 11ch;
    font-size: clamp(27px, 3vw, 46px);
    line-height: 1.35;
    letter-spacing: -.025em;
}
.ng-v26-why-side-card > p {
    max-width: 520px;
    margin-top: 12px;
    color: var(--ng-muted);
    line-height: 2.05;
}
.ng-v26-side-visual {
    position: relative;
    z-index: 2;
    height: 270px;
    margin: 18px 0;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 50%, rgba(91,140,255,.12), transparent 32%),
        linear-gradient(rgba(148,163,184,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.055) 1px, transparent 1px);
    background-size: auto, 34px 34px, 34px 34px;
    border: 1px solid rgba(148,163,184,.14);
    overflow: hidden;
}
.ng-v26-side-visual::before,
.ng-v26-side-visual::after {
    content: '';
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px dashed rgba(147,197,253,.24);
}
.ng-v26-side-visual::before {
    width: 210px;
    height: 210px;
    animation: ngV26Orbit 22s linear infinite;
}
.ng-v26-side-visual::after {
    width: 140px;
    height: 140px;
    animation: ngV26OrbitReverse 18s linear infinite;
}
@keyframes ngV26Orbit {
    from { transform: translate(-50%, -50%) rotate(0); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes ngV26OrbitReverse {
    from { transform: translate(-50%, -50%) rotate(360deg); }
    to { transform: translate(-50%, -50%) rotate(0); }
}
.ng-v26-side-core {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 118px;
    height: 118px;
    border-radius: 32px;
    display: grid;
    place-items: center;
    text-align: center;
    background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
    border: 1px solid var(--ng-border);
    box-shadow: 0 18px 40px rgba(2,6,23,.20);
}
.ng-light .ng-v26-side-core {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(238,245,255,.86));
}
.ng-v26-side-core svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: var(--ng-accent-a);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-v26-side-core span {
    display: block;
    color: var(--ng-text);
    font-size: 13px;
    font-weight: 950;
}
.ng-v26-side-node {
    position: absolute;
    z-index: 4;
    min-width: 76px;
    min-height: 36px;
    display: grid;
    place-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
    border: 1px solid rgba(148,163,184,.18);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 900;
    box-shadow: 0 14px 26px rgba(2,6,23,.14);
    animation: ngV26NodeFloat 5.5s ease-in-out infinite;
}
.ng-v26-side-node.n1 { top: 28px; right: 34px; }
.ng-v26-side-node.n2 { top: 70px; left: 28px; animation-delay: -1s; }
.ng-v26-side-node.n3 { bottom: 42px; right: 26px; animation-delay: -2.2s; }
.ng-v26-side-node.n4 { bottom: 28px; left: 46px; animation-delay: -3.3s; }
@keyframes ngV26NodeFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}
.ng-v26-side-mini {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 10px;
}
.ng-v26-side-mini span {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid var(--ng-border);
    color: var(--ng-soft);
    font-size: 13px;
    font-weight: 850;
}
.ng-v26-side-mini span::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 999px;
    margin-left: 10px;
    background: linear-gradient(135deg, var(--ng-accent-a), var(--ng-accent-b));
    box-shadow: 0 0 0 6px rgba(91,140,255,.09);
}
@media (max-width: 1180px) {
    .ng-v26-why-grid {
        grid-template-columns: 1fr;
    }
    .ng-v26-why-side-card > strong {
        max-width: 100%;
    }
}
@media (max-width: 760px) {
    .ng-v26-why-copy h2 {
        font-size: clamp(31px, 9vw, 46px);
        line-height: 1.32;
        color: var(--ng-text);
        background: none;
        -webkit-background-clip: initial;
        background-clip: initial;
    }
    .ng-v26-why-copy p {
        font-size: 14px;
        line-height: 2;
    }
    .ng-v26-why-checks {
        grid-template-columns: 1fr;
    }
    .ng-v26-why-side-card {
        padding: 18px !important;
        border-radius: 26px !important;
    }
    .ng-v26-side-visual {
        height: 240px;
        border-radius: 22px;
    }
    .ng-v26-why-bg::before {
        font-size: clamp(86px, 32vw, 160px);
        top: 4%;
        left: 8px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ng-v26-why-orb,
    .ng-v26-why-line,
    .ng-v26-side-pulse,
    .ng-v26-side-visual::before,
    .ng-v26-side-visual::after,
    .ng-v26-side-node {
        animation: none !important;
    }
}


/* ===== V10.27 hero/why fix + advisor/packages polish only ===== */
/* Hero: جمله‌بندی تیتر در دسکتاپ بهتر شود، بدون دست‌زدن به موبایل */
@media (min-width: 1181px) {
    .ng-v23-home-hero .ng-hero-content-v4 h1,
    .ng-hero-content-v4 h1 {
        max-width: 900px !important;
        font-size: clamp(40px, 4.65vw, 68px) !important;
        line-height: 1.26 !important;
        text-wrap: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        letter-spacing: -.015em !important;
    }
}

/* Why: عنوان کارت کناری کامل‌تر کنار هم بماند و ویژگی‌های اضافه حذف شدند */
.ng-v26-why-side-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ng-v26-why-side-card > strong {
    max-width: 100% !important;
    font-size: clamp(25px, 2.45vw, 38px) !important;
    line-height: 1.45 !important;
    text-wrap: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: -.012em !important;
}
.ng-v26-side-mini {
    display: none !important;
}
.ng-v26-side-visual {
    flex: 1 1 auto;
    min-height: 280px;
    max-height: 360px;
}

/* Advisor section visual upgrade */
.ng-v27-advisor-section,
.ng-v27-packages-section {
    position: relative;
    overflow: clip;
    isolation: isolate;
}
.ng-v27-advisor-section .ng-container,
.ng-v27-packages-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-v27-advisor-bg,
.ng-v27-packages-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-v27-advisor-bg::before,
.ng-v27-packages-bg::before {
    content: '';
    position: absolute;
    inset: 4% 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.38), rgba(124,92,255,.28), transparent);
    animation: ngV27Line 6.5s ease-in-out infinite;
}
.ng-v27-advisor-bg::after {
    content: 'CHOOSE';
    position: absolute;
    right: clamp(18px, 5vw, 90px);
    top: 8px;
    font-size: clamp(84px, 14vw, 230px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: -.07em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    opacity: .72;
    transform: rotate(3deg);
}
.ng-v27-packages-bg::after {
    content: 'PACKAGES';
    position: absolute;
    left: clamp(18px, 5vw, 90px);
    top: 0;
    font-size: clamp(74px, 12vw, 210px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: -.08em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(124,92,255,.11);
    opacity: .70;
    transform: rotate(-3deg);
}
.ng-light .ng-v27-advisor-bg::after,
.ng-light .ng-v27-packages-bg::after {
    -webkit-text-stroke-color: rgba(29,78,216,.13);
}
.ng-v27-advisor-orb,
.ng-v27-packages-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(24px);
    opacity: .52;
    animation: ngV27Orb 12s ease-in-out infinite alternate;
}
.ng-v27-advisor-orb.o1 {
    width: 250px;
    height: 250px;
    right: -70px;
    bottom: 16%;
    background: radial-gradient(circle, rgba(91,140,255,.20), transparent 66%);
}
.ng-v27-advisor-orb.o2 {
    width: 200px;
    height: 200px;
    left: 8%;
    top: 18%;
    background: radial-gradient(circle, rgba(124,92,255,.17), transparent 66%);
    animation-delay: -4s;
}
.ng-v27-packages-orb.o1 {
    width: 280px;
    height: 280px;
    left: -90px;
    top: 20%;
    background: radial-gradient(circle, rgba(16,185,129,.12), transparent 66%);
}
.ng-v27-packages-orb.o2 {
    width: 240px;
    height: 240px;
    right: -80px;
    bottom: 10%;
    background: radial-gradient(circle, rgba(124,92,255,.18), transparent 66%);
    animation-delay: -5s;
}
.ng-v27-advisor-wave,
.ng-v27-price-line {
    position: absolute;
    inset: 18% 0 auto 0;
    height: 260px;
    opacity: .55;
    background:
        linear-gradient(rgba(148,163,184,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.04) 1px, transparent 1px);
    background-size: 38px 38px;
    mask-image: radial-gradient(circle at 52% 45%, rgba(0,0,0,.85), transparent 72%);
}
@keyframes ngV27Orb {
    0% { transform: translate3d(0,0,0) scale(1); }
    100% { transform: translate3d(0,-18px,0) scale(1.05); }
}
@keyframes ngV27Line {
    0%, 100% { opacity: .22; transform: scaleX(.72); }
    50% { opacity: .76; transform: scaleX(1); }
}

/* Advisor typography and cards */
.ng-v27-advisor-section .ng-section-head h2,
.ng-v27-packages-section .ng-section-head h2 {
    font-size: clamp(35px, 5vw, 72px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.03em;
    text-wrap: balance;
    background: linear-gradient(180deg, var(--ng-text), rgba(219,234,254,.74));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.ng-light .ng-v27-advisor-section .ng-section-head h2,
.ng-light .ng-v27-packages-section .ng-section-head h2 {
    background: linear-gradient(180deg, #071123, #1d4ed8);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.ng-v27-advisor-section .ng-section-head p,
.ng-v27-packages-section .ng-section-head p {
    max-width: 780px;
    font-size: 16px;
    line-height: 2.1;
    color: var(--ng-muted);
}
.ng-v27-advisor-section .ng-advisor-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}
.ng-v27-advisor-section .ng-advisor-card {
    position: relative;
    overflow: hidden;
    min-height: 268px;
    padding: 22px !important;
    border-radius: 30px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03)),
        radial-gradient(circle at 16% 4%, rgba(91,140,255,.14), transparent 34%),
        var(--ng-card) !important;
}
.ng-v27-advisor-section .ng-advisor-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: linear-gradient(135deg, rgba(91,140,255,.38), transparent 38%, rgba(124,92,255,.24));
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: .58;
    pointer-events: none;
}
.ng-v27-advisor-section .ng-advisor-card::after {
    content: '';
    position: absolute;
    width: 110px;
    height: 110px;
    left: -42px;
    bottom: -42px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(91,140,255,.18), transparent 70%);
    transition: transform .28s ease, opacity .28s ease;
}
.ng-v27-advisor-section .ng-advisor-card:hover::after {
    transform: scale(1.35);
    opacity: .9;
}
.ng-v27-advisor-section .ng-advisor-card .ng-package-icon {
    position: relative;
    z-index: 2;
    width: 58px;
    height: 58px;
    border-radius: 19px;
    background:
        linear-gradient(135deg, rgba(91,140,255,.22), rgba(124,92,255,.16));
    box-shadow: 0 16px 30px rgba(37,99,235,.18);
}
.ng-v27-advisor-section .ng-advisor-card h3 {
    position: relative;
    z-index: 2;
    font-size: 20px;
    line-height: 1.55;
    margin-top: 18px;
}
.ng-v27-advisor-section .ng-advisor-card p {
    position: relative;
    z-index: 2;
    font-size: 13px;
    line-height: 2;
    color: var(--ng-muted);
}
.ng-v27-advisor-section .ng-advisor-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
}

/* Packages visual treatment */
.ng-v27-packages-section .ng-package-grid {
    gap: 18px;
}
.ng-v27-packages-section .ng-package-card {
    position: relative;
    overflow: hidden;
    border-radius: 32px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.03)),
        var(--ng-card) !important;
}
.ng-v27-packages-section .ng-package-card::before {
    content: '';
    position: absolute;
    inset: auto -70px -90px auto;
    width: 190px;
    height: 190px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.16), transparent 68%);
    filter: blur(3px);
    transition: transform .3s ease, opacity .3s ease;
    pointer-events: none;
}
.ng-v27-packages-section .ng-package-card:nth-child(2n)::before {
    background: radial-gradient(circle, rgba(124,92,255,.18), transparent 68%);
}
.ng-v27-packages-section .ng-package-card:nth-child(3n)::before {
    background: radial-gradient(circle, rgba(16,185,129,.12), transparent 68%);
}
.ng-v27-packages-section .ng-package-card:hover::before {
    transform: scale(1.28) translate(-10px, -10px);
    opacity: .95;
}
.ng-v27-packages-section .ng-package-card:hover {
    transform: translateY(-7px);
    border-color: rgba(147,197,253,.28);
    box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
}
.ng-v27-packages-section .ng-package-card .ng-package-icon {
    box-shadow: 0 16px 34px rgba(37,99,235,.18);
}
.ng-v27-packages-section .ng-package-card .ng-btn-primary {
    position: relative;
    overflow: hidden;
}
.ng-v27-packages-section .ng-package-card .ng-btn-primary::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 0 35%, rgba(255,255,255,.24) 50%, transparent 62% 100%);
    transform: translateX(120%);
    animation: ngV27ButtonShine 4.5s ease-in-out infinite;
}
@keyframes ngV27ButtonShine {
    0%, 60% { transform: translateX(120%); }
    82%, 100% { transform: translateX(-120%); }
}
.ng-light .ng-v27-advisor-section .ng-advisor-card,
.ng-light .ng-v27-packages-section .ng-package-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,250,255,.84)),
        radial-gradient(circle at 16% 4%, rgba(37,99,235,.08), transparent 34%) !important;
}
@media (max-width: 1280px) {
    .ng-v27-advisor-section .ng-advisor-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 900px) {
    .ng-v27-advisor-section .ng-section-head h2,
    .ng-v27-packages-section .ng-section-head h2 {
        font-size: clamp(31px, 9vw, 46px) !important;
        line-height: 1.32 !important;
        color: var(--ng-text);
        background: none;
        -webkit-background-clip: initial;
        background-clip: initial;
    }
    .ng-v27-advisor-section .ng-advisor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 640px) {
    .ng-v27-advisor-section .ng-advisor-grid {
        grid-template-columns: 1fr;
    }
    .ng-v27-advisor-section .ng-advisor-card {
        min-height: auto;
    }
}
@media (prefers-reduced-motion: reduce) {
    .ng-v27-advisor-orb,
    .ng-v27-packages-orb,
    .ng-v27-advisor-bg::before,
    .ng-v27-packages-bg::before,
    .ng-v27-packages-section .ng-package-card .ng-btn-primary::before {
        animation: none !important;
    }
}


/* ===== V10.28 Hero height + title wrapping fix only ===== */
/* کاهش ارتفاع سکشن Hero در دسکتاپ و اصلاح شکستن بد تیتر */
@media (min-width: 1181px) {
    .ng-v23-home-hero,
    .ng-hero-v4.ng-sales-home {
        padding-top: 44px !important;
        padding-bottom: 28px !important;
        min-height: auto !important;
    }
    .ng-hero-grid-v4 {
        grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr) !important;
        gap: 26px !important;
        align-items: center !important;
    }
    .ng-v23-home-hero .ng-hero-content-v4 h1,
    .ng-hero-content-v4 h1 {
        max-width: 820px !important;
        font-size: clamp(38px, 4.05vw, 60px) !important;
        line-height: 1.27 !important;
        letter-spacing: -.012em !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        text-wrap: balance !important;
    }
    .ng-v23-home-hero .ng-hero-content-v4 p,
    .ng-hero-content-v4 p {
        max-width: 670px !important;
        font-size: 15px !important;
        line-height: 2.05 !important;
        margin-top: 12px !important;
    }
    .ng-hero-actions {
        margin-top: 20px !important;
    }
    .ng-sales-benefits-vfinal {
        margin-top: 16px !important;
        gap: 10px !important;
    }
    .ng-sales-benefits-vfinal span {
        min-height: 46px !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
    .ng-hero-visual-v4 {
        min-height: 500px !important;
        padding: 18px !important;
    }
    .ng-dashboard-showcase {
        padding: 18px !important;
    }
    .ng-showcase-header {
        min-height: 48px !important;
        padding-bottom: 12px !important;
    }
    .ng-showcase-grid {
        gap: 12px !important;
    }
    .ng-show-main {
        min-height: 290px !important;
    }
    .ng-show-main strong {
        font-size: 26px !important;
        line-height: 1.48 !important;
        max-width: 11.8ch !important;
    }
    .ng-show-tile {
        padding: 16px !important;
    }
    .ng-show-tile strong {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }
    .ng-show-tile p {
        font-size: 11px !important;
        line-height: 1.9 !important;
    }
    .ng-mini-flow {
        min-height: 46px !important;
    }
}
/* برای مانیتورهای خیلی بلند/بزرگ، Hero همچنان جمع‌وجور بماند */
@media (min-width: 1440px) and (min-height: 760px) {
    .ng-v23-home-hero,
    .ng-hero-v4.ng-sales-home {
        padding-top: 36px !important;
        padding-bottom: 24px !important;
    }
    .ng-hero-visual-v4 {
        min-height: 480px !important;
    }
    .ng-show-main {
        min-height: 270px !important;
    }
}
@media (max-width: 1180px) {
    .ng-v23-home-hero .ng-hero-content-v4 h1,
    .ng-hero-content-v4 h1 {
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
}


/* ===== V10.29 advisor icons + package cards layout only ===== */
/* 1) آیکون‌ها در لایت مود خواناتر شوند */
.ng-light .ng-v27-advisor-section .ng-advisor-card .ng-package-icon,
.ng-light .ng-v27-packages-section .ng-package-card .ng-package-icon {
    background:
        linear-gradient(135deg, rgba(37,99,235,.16), rgba(124,58,237,.12)),
        rgba(255,255,255,.96) !important;
    color: #1d4ed8 !important;
    border-color: rgba(37,99,235,.20) !important;
    box-shadow:
        0 14px 28px rgba(37,99,235,.13),
        inset 0 1px 0 rgba(255,255,255,.85) !important;
}
.ng-light .ng-v27-advisor-section .ng-advisor-card .ng-package-icon svg,
.ng-light .ng-v27-packages-section .ng-package-card .ng-package-icon svg {
    stroke: #1d4ed8 !important;
    opacity: 1 !important;
}
.ng-light .ng-v27-advisor-section .ng-advisor-card:hover .ng-package-icon,
.ng-light .ng-v27-packages-section .ng-package-card:hover .ng-package-icon {
    color: #4f46e5 !important;
    border-color: rgba(79,70,229,.28) !important;
    box-shadow:
        0 18px 34px rgba(79,70,229,.16),
        0 0 0 6px rgba(37,99,235,.06),
        inset 0 1px 0 rgba(255,255,255,.9) !important;
}
.ng-light .ng-v27-advisor-section .ng-advisor-card h3,
.ng-light .ng-v27-packages-section .ng-package-card h3 {
    color: #0f172a !important;
}

/* 2) کارت‌های سفارش پکیج‌ها: جلوگیری از چیدمان ۴ بالا و ۱ پایین */
/* دسکتاپ و لپ‌تاپ: پنج کارت در یک ردیف، فشرده و خوانا */
@media (min-width: 1181px) {
    .ng-v27-packages-section .ng-package-grid {
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 14px !important;
        align-items: stretch !important;
    }
    .ng-v27-packages-section .ng-package-card {
        min-width: 0 !important;
        padding: 18px !important;
        border-radius: 28px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-head,
    .ng-v27-packages-section .ng-package-card .ng-package-top {
        gap: 10px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-icon {
        width: 50px !important;
        height: 50px !important;
        border-radius: 17px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-icon svg {
        width: 24px !important;
        height: 24px !important;
    }
    .ng-v27-packages-section .ng-package-card h3 {
        font-size: clamp(17px, 1.18vw, 22px) !important;
        line-height: 1.55 !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }
    .ng-v27-packages-section .ng-package-card p,
    .ng-v27-packages-section .ng-package-card li,
    .ng-v27-packages-section .ng-package-card .ng-package-feature {
        font-size: 12px !important;
        line-height: 1.85 !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-price,
    .ng-v27-packages-section .ng-package-card .ng-package-meta strong {
        font-size: clamp(18px, 1.5vw, 26px) !important;
        line-height: 1.4 !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-btn {
        min-height: 42px !important;
        padding-inline: 12px !important;
        font-size: 12px !important;
        border-radius: 15px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-actions {
        gap: 8px !important;
    }
}

/* نمایشگرهای کمی کوچک‌تر: چیدمان ۳ + ۲، نه ۴ + ۱ */
@media (min-width: 901px) and (max-width: 1180px) {
    .ng-v27-packages-section .ng-package-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
    .ng-v27-packages-section .ng-package-card {
        grid-column: span 2;
    }
    .ng-v27-packages-section .ng-package-card:nth-last-child(2) {
        grid-column: 2 / span 2;
    }
    .ng-v27-packages-section .ng-package-card:nth-last-child(1) {
        grid-column: 4 / span 2;
    }
}

/* تبلت: دو ستونه منظم */
@media (min-width: 641px) and (max-width: 900px) {
    .ng-v27-packages-section .ng-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

/* موبایل: یک ستونه */
@media (max-width: 640px) {
    .ng-v27-packages-section .ng-package-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ===== V10.30 package cards layout refinement only ===== */
/* برگشت از حالت ۵تایی فشرده: کارت‌ها زیبایی و عرض قبلی را حفظ کنند، اما ۴+۱ نشوند. */
/* ایده نهایی: در دسکتاپ و لپ‌تاپ چیدمان ۳ بالا + ۲ پایینِ وسط‌چین */
@media (min-width: 901px) {
    .ng-v27-packages-section .ng-package-grid {
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        gap: 18px !important;
        align-items: stretch !important;
    }

    .ng-v27-packages-section .ng-package-card {
        grid-column: span 2 !important;
        min-width: 0 !important;
        padding: 22px !important;
        border-radius: 32px !important;
    }

    /* اگر ۵ پکیج داریم، دو کارت آخر وسط ردیف دوم قرار بگیرند */
    .ng-v27-packages-section .ng-package-card:nth-last-child(2) {
        grid-column: 2 / span 2 !important;
    }
    .ng-v27-packages-section .ng-package-card:nth-last-child(1) {
        grid-column: 4 / span 2 !important;
    }

    /* اندازه‌ها به حالت زیباتر و خواناتر برگردند */
    .ng-v27-packages-section .ng-package-card .ng-package-icon {
        width: 58px !important;
        height: 58px !important;
        border-radius: 20px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-icon svg {
        width: 28px !important;
        height: 28px !important;
    }
    .ng-v27-packages-section .ng-package-card h3 {
        font-size: clamp(22px, 1.8vw, 30px) !important;
        line-height: 1.45 !important;
    }
    .ng-v27-packages-section .ng-package-card p,
    .ng-v27-packages-section .ng-package-card li,
    .ng-v27-packages-section .ng-package-card .ng-package-feature {
        font-size: 13px !important;
        line-height: 2 !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-price,
    .ng-v27-packages-section .ng-package-card .ng-package-meta strong {
        font-size: clamp(24px, 2.2vw, 36px) !important;
        line-height: 1.35 !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-btn {
        min-height: 48px !important;
        padding-inline: 18px !important;
        font-size: 13px !important;
        border-radius: 17px !important;
    }
    .ng-v27-packages-section .ng-package-card .ng-package-actions {
        gap: 10px !important;
    }
}

/* نمایشگرهای خیلی عریض: کارت‌ها بیش از حد کش نیایند و مثل یک مجموعه لوکس وسط صفحه بمانند */
@media (min-width: 1500px) {
    .ng-v27-packages-section .ng-package-grid {
        max-width: 1320px !important;
        margin-inline: auto !important;
    }
}

/* تبلت: دو ستونه تمیز */
@media (min-width: 641px) and (max-width: 900px) {
    .ng-v27-packages-section .ng-package-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
    .ng-v27-packages-section .ng-package-card {
        grid-column: auto !important;
    }
}

/* موبایل: یک ستونه */
@media (max-width: 640px) {
    .ng-v27-packages-section .ng-package-grid {
        grid-template-columns: 1fr !important;
    }
    .ng-v27-packages-section .ng-package-card {
        grid-column: auto !important;
    }
}


/* ===== V10.31 smart platform section upgrade only ===== */
.ng-smart-platform-section{position:relative;overflow:hidden;isolation:isolate}
.ng-smart-platform-bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.ng-smart-bg-orb,.ng-smart-bg-line{position:absolute;pointer-events:none}
.ng-smart-bg-orb{border-radius:999px;filter:blur(8px);opacity:.75;animation:ngSmartFloat 16s ease-in-out infinite}
.ng-smart-bg-orb.orb-a{width:260px;height:260px;top:8%;right:5%;background:radial-gradient(circle,rgba(104,92,255,.26),transparent 68%)}
.ng-smart-bg-orb.orb-b{width:220px;height:220px;bottom:10%;left:6%;background:radial-gradient(circle,rgba(0,198,255,.18),transparent 70%);animation-delay:-4s}
.ng-smart-bg-orb.orb-c{width:160px;height:160px;top:30%;left:36%;background:radial-gradient(circle,rgba(0,255,178,.14),transparent 72%);animation-delay:-8s}
.ng-smart-bg-line{background:linear-gradient(90deg,transparent,rgba(154,168,255,.16),transparent);height:1px;width:100%}
.ng-smart-bg-line.line-a{top:22%}.ng-smart-bg-line.line-b{bottom:18%}
.ng-smart-platform-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:28px;align-items:center;padding:34px;border-radius:40px;overflow:hidden;background:radial-gradient(circle at 0% 0%,rgba(91,140,255,.24),transparent 34%),radial-gradient(circle at 100% 100%,rgba(24,194,156,.13),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),var(--ng-card);box-shadow:0 30px 90px rgba(9,16,40,.28)}
.ng-smart-platform-card:before{content:"";position:absolute;inset:14px;border-radius:30px;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.ng-smart-copy{position:relative;z-index:2}
.ng-smart-copy .ng-kicker{margin-bottom:14px}
.ng-smart-copy h2{margin:0 0 14px;color:var(--ng-text);font-size:clamp(34px,4.8vw,68px);line-height:1.14;font-weight:980;letter-spacing:-.055em;max-width:10ch;text-wrap:balance}
.ng-smart-copy p{max-width:62ch;color:var(--ng-muted);line-height:2.2;font-size:15px}
.ng-smart-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;max-width:760px}
.ng-smart-list span{position:relative;overflow:hidden;min-height:62px;border-radius:20px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));display:flex;align-items:center;justify-content:center;text-align:center;padding:0 16px;color:var(--ng-soft);font-size:12px;font-weight:950;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.ng-smart-list span:before{content:"";position:absolute;inset:-40% auto auto -35%;width:70px;height:170%;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.16),rgba(255,255,255,0));transform:rotate(25deg);opacity:0;transition:opacity .25s ease,left .45s ease}
.ng-smart-list span:hover{transform:translateY(-4px);border-color:rgba(111,140,255,.34);box-shadow:0 18px 40px rgba(34,70,170,.18)}
.ng-smart-list span:hover:before{opacity:1;left:110%}
.ng-smart-orbit{position:relative;min-height:420px;display:grid;place-items:center;z-index:2}
.ng-smart-mesh{position:absolute;inset:10% 6%;border-radius:34px;background:
linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
background-size:38px 38px;mask-image:radial-gradient(circle at center,black 40%,transparent 88%);opacity:.34;animation:ngSmartMesh 22s linear infinite}
.ng-smart-ring{position:absolute;border-radius:999px;border:1px dashed rgba(182,195,224,.24);animation:ngSmartRotate 22s linear infinite}
.ng-smart-ring.ring-1{width:330px;height:330px}
.ng-smart-ring.ring-2{width:240px;height:240px;animation-direction:reverse;animation-duration:16s}
.ng-smart-ring.ring-3{width:430px;height:430px;border-style:solid;border-color:rgba(118,138,255,.08);animation:none}
.ng-smart-core{width:156px;height:156px;border-radius:42px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(241,246,255,.92));display:grid;place-items:center;text-align:center;padding:16px;z-index:3;box-shadow:0 30px 80px rgba(91,140,255,.22),inset 0 1px 0 rgba(255,255,255,.9);border:1px solid rgba(110,135,255,.16)}
.ng-smart-core-icon{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(62,120,255,.14),rgba(118,74,255,.18));color:#2b57ff;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.ng-smart-core-icon svg{width:42px;height:42px}
.ng-smart-core strong{display:block;margin-top:10px;color:#0b1730;font-size:14px;font-weight:980}
.ng-smart-core small{display:block;margin-top:4px;color:#60708f;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.ng-smart-node{position:absolute;z-index:3;min-width:96px;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.08);backdrop-filter:blur(14px);display:grid;place-items:center;color:var(--ng-soft);font-size:12px;font-weight:950;box-shadow:0 18px 50px rgba(17,25,52,.22);transition:transform .25s ease,border-color .25s ease}
.ng-smart-node:hover{transform:translateY(-3px) scale(1.02);border-color:rgba(111,140,255,.36)}
.ng-smart-node.n1{top:16px;right:52px;animation:ngSmartBob 7s ease-in-out infinite}
.ng-smart-node.n2{top:102px;left:18px;animation:ngSmartBob 8s ease-in-out infinite -1.5s}
.ng-smart-node.n3{bottom:36px;left:70px;animation:ngSmartBob 7.5s ease-in-out infinite -3s}
.ng-smart-node.n4{bottom:104px;right:6px;animation:ngSmartBob 8.5s ease-in-out infinite -4.2s}
.ng-smart-node.n5{top:196px;right:116px;animation:ngSmartBob 6.8s ease-in-out infinite -2.4s}
.ng-light .ng-smart-platform-card{background:radial-gradient(circle at 0% 0%,rgba(91,140,255,.13),transparent 34%),radial-gradient(circle at 100% 100%,rgba(24,194,156,.10),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,255,.9))!important;border-color:rgba(30,58,138,.12)}
.ng-light .ng-smart-platform-card:before{border-color:rgba(30,58,138,.08)}
.ng-light .ng-smart-copy h2{color:#0b1730!important}
.ng-light .ng-smart-copy p{color:#43536d!important}
.ng-light .ng-smart-list span,.ng-light .ng-smart-node{background:rgba(255,255,255,.84)!important;border-color:rgba(30,58,138,.14)!important;color:#1f2f4a!important}
.ng-light .ng-smart-core{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(241,246,255,.95))}
.ng-light .ng-smart-core-icon{background:linear-gradient(135deg,rgba(62,120,255,.10),rgba(118,74,255,.13))}
.ng-light .ng-smart-bg-line{background:linear-gradient(90deg,transparent,rgba(37,73,168,.14),transparent)}
@keyframes ngSmartFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-16px,0)}}
@keyframes ngSmartRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ngSmartBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes ngSmartMesh{from{transform:translate3d(0,0,0)}to{transform:translate3d(18px,18px,0)}}
@media(max-width:1180px){.ng-smart-platform-card{grid-template-columns:1fr;gap:24px}.ng-smart-copy h2{max-width:14ch}.ng-smart-orbit{order:-1;min-height:390px}}
@media(max-width:720px){.ng-smart-platform-card{padding:22px;border-radius:30px}.ng-smart-copy h2{font-size:clamp(28px,10vw,46px);max-width:none}.ng-smart-copy p{font-size:14px;line-height:2.05}.ng-smart-list{grid-template-columns:1fr}.ng-smart-list span{min-height:56px;font-size:12px}.ng-smart-orbit{min-height:320px}.ng-smart-ring.ring-1{width:250px;height:250px}.ng-smart-ring.ring-2{width:180px;height:180px}.ng-smart-ring.ring-3{width:300px;height:300px}.ng-smart-core{width:136px;height:136px;border-radius:34px}.ng-smart-core-icon{width:64px;height:64px;border-radius:20px}.ng-smart-core-icon svg{width:36px;height:36px}.ng-smart-node{min-width:74px;font-size:11px;padding:0 10px}.ng-smart-node.n1{right:10px;top:14px}.ng-smart-node.n2{left:4px;top:82px}.ng-smart-node.n3{left:16px;bottom:20px}.ng-smart-node.n4{right:4px;bottom:82px}.ng-smart-node.n5{right:70px;top:175px}}


/* ===== V10.32 smart section text/icon refinement ===== */
.ng-smart-copy h2{max-width:13.5ch!important;font-size:clamp(36px,4.5vw,64px)!important;line-height:1.18!important;letter-spacing:-.045em!important;text-wrap:balance}
.ng-smart-copy p{max-width:58ch}
.ng-smart-orbit{perspective:1200px}
.ng-smart-ring{border-color:rgba(166,183,255,.19)!important}
.ng-smart-ring.ring-1{animation-duration:26s!important}
.ng-smart-ring.ring-2{animation-duration:18s!important}
.ng-smart-ring.ring-3{border-color:rgba(118,138,255,.10)!important}
.ng-smart-core{position:relative!important;width:168px!important;height:168px!important;border-radius:999px!important;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.14),rgba(110,135,255,.09) 28%,rgba(10,18,38,.92) 64%,rgba(4,8,20,.98) 100%)!important;border:1px solid rgba(137,156,255,.16)!important;box-shadow:0 0 0 10px rgba(110,135,255,.05),0 28px 80px rgba(49,72,164,.28),inset 0 0 35px rgba(105,130,255,.22)!important;overflow:visible}
.ng-smart-core:before{content:"";position:absolute;inset:-10px;border-radius:inherit;border:1px solid rgba(131,150,255,.16);opacity:.65}
.ng-smart-core:after{content:"";position:absolute;inset:-28px;border-radius:inherit;background:radial-gradient(circle,rgba(96,119,255,.15),transparent 68%);filter:blur(10px);z-index:-1}
.ng-smart-core-pulse{position:absolute;inset:50%;transform:translate(-50%,-50%);border-radius:999px;border:1px solid rgba(120,146,255,.22);opacity:.75}
.ng-smart-core-pulse.pulse-a{width:188px;height:188px;animation:ngSmartPulse 4.5s ease-out infinite}
.ng-smart-core-pulse.pulse-b{width:228px;height:228px;animation:ngSmartPulse 4.5s ease-out infinite 1.5s}
.ng-smart-core-icon{width:86px!important;height:86px!important;border-radius:999px!important;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.16),rgba(108,91,255,.16) 44%,rgba(23,40,98,.2) 100%)!important;color:#83a2ff!important;box-shadow:0 0 38px rgba(103,124,255,.22),inset 0 1px 0 rgba(255,255,255,.2)!important}
.ng-smart-core-icon svg{width:48px!important;height:48px!important;filter:drop-shadow(0 0 10px rgba(116,144,255,.18))}
.ng-smart-core strong{margin-top:12px!important;color:#eef3ff!important;font-size:14px!important;font-weight:980!important}
.ng-smart-core small{margin-top:4px!important;color:#93a6cb!important;font-size:10.5px!important;letter-spacing:.12em!important}
.ng-smart-node{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.05))!important;border-color:rgba(255,255,255,.12)!important;backdrop-filter:blur(16px)!important}
.ng-smart-node.n1{top:20px;right:42px!important}.ng-smart-node.n2{top:108px;left:10px!important}.ng-smart-node.n3{bottom:30px;left:62px!important}.ng-smart-node.n4{bottom:98px;right:2px!important}.ng-smart-node.n5{top:190px;right:108px!important}
.ng-light .ng-smart-copy h2{color:#10203d!important}
.ng-light .ng-smart-core{background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.98),rgba(230,236,255,.92) 24%,rgba(214,223,255,.72) 38%,rgba(223,230,255,.45) 55%,rgba(245,248,255,.3) 100%)!important;border-color:rgba(30,58,138,.16)!important;box-shadow:0 0 0 8px rgba(123,145,255,.06),0 30px 80px rgba(31,62,146,.16),inset 0 0 30px rgba(88,114,255,.10)!important}
.ng-light .ng-smart-core:before{border-color:rgba(30,58,138,.09)!important}.ng-light .ng-smart-core:after{background:radial-gradient(circle,rgba(91,140,255,.12),transparent 68%)!important}
.ng-light .ng-smart-core-icon{background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.92),rgba(219,228,255,.96) 48%,rgba(205,218,255,.9) 100%)!important;color:#3c63ff!important}
.ng-light .ng-smart-core strong{color:#10203d!important}.ng-light .ng-smart-core small{color:#576882!important}
.ng-light .ng-smart-node{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(245,248,255,.86))!important;border-color:rgba(30,58,138,.14)!important;color:#1f2f4a!important}
@keyframes ngSmartPulse{0%{transform:translate(-50%,-50%) scale(.72);opacity:.58}70%{opacity:0}100%{transform:translate(-50%,-50%) scale(1.14);opacity:0}}
@media(max-width:1180px){.ng-smart-copy h2{max-width:16ch!important}}
@media(max-width:720px){.ng-smart-copy h2{max-width:none!important;font-size:clamp(28px,8.7vw,44px)!important;line-height:1.28!important}.ng-smart-core{width:138px!important;height:138px!important}.ng-smart-core-icon{width:70px!important;height:70px!important}.ng-smart-core-icon svg{width:40px!important;height:40px!important}.ng-smart-core-pulse.pulse-a{width:155px;height:155px}.ng-smart-core-pulse.pulse-b{width:186px;height:186px}}


/* ===== V10.33 smart section orbital refinement ===== */
.ng-smart-copy h2{max-width:13.6ch!important;line-height:1.24!important;text-wrap:balance}
.ng-smart-copy p{max-width:58ch!important}
.ng-smart-orbit{overflow:visible!important}
.ng-smart-node.ng-smart-orbit-node{position:absolute!important;top:50%!important;left:50%!important;min-width:0!important;min-height:0!important;padding:0!important;border:none!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;transform:translate(-50%,-50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius));animation:ngSmartOrbit var(--orbit-duration) linear infinite!important}
.ng-smart-node.ng-smart-orbit-node:hover{transform:translate(-50%,-50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius))!important}
.ng-smart-node-label{display:grid;place-items:center;min-width:96px;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.05));backdrop-filter:blur(16px);color:var(--ng-soft);font-size:12px;font-weight:950;box-shadow:0 18px 50px rgba(17,25,52,.22);animation:ngSmartCounter var(--orbit-duration) linear infinite}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+1) .ng-smart-node-label{background:linear-gradient(180deg,rgba(103,126,255,.20),rgba(255,255,255,.06));border-color:rgba(129,153,255,.28)}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+2) .ng-smart-node-label{background:linear-gradient(180deg,rgba(67,203,255,.14),rgba(255,255,255,.06));border-color:rgba(116,198,255,.24)}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+3) .ng-smart-node-label{background:linear-gradient(180deg,rgba(153,98,255,.16),rgba(255,255,255,.05));border-color:rgba(164,129,255,.24)}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+4) .ng-smart-node-label{background:linear-gradient(180deg,rgba(50,225,191,.14),rgba(255,255,255,.05));border-color:rgba(91,225,198,.22)}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+5) .ng-smart-node-label{background:linear-gradient(180deg,rgba(255,203,87,.14),rgba(255,255,255,.05));border-color:rgba(255,212,125,.2)}
.ng-smart-node.ng-smart-orbit-node:nth-child(6n+6) .ng-smart-node-label{background:linear-gradient(180deg,rgba(255,114,163,.14),rgba(255,255,255,.05));border-color:rgba(255,150,186,.22)}
.ng-light .ng-smart-node-label{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(245,248,255,.86))!important;border-color:rgba(30,58,138,.14)!important;color:#1f2f4a!important;box-shadow:0 18px 40px rgba(65,87,149,.10)!important}
@keyframes ngSmartOrbit{from{transform:translate(-50%,-50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius))}to{transform:translate(-50%,-50%) rotate(calc(var(--orbit-angle) + 360deg)) translateX(var(--orbit-radius))}}
@keyframes ngSmartCounter{from{transform:rotate(calc(-1 * var(--orbit-angle)))}to{transform:rotate(calc(-1 * var(--orbit-angle) - 360deg))}}
@media(max-width:720px){.ng-smart-copy h2{max-width:15ch!important}.ng-smart-node-label{min-width:78px;min-height:38px;font-size:11px;padding:0 10px}.ng-smart-node.ng-smart-orbit-node{--orbit-radius:clamp(86px,32vw,145px)!important}}


/* ===== V10.34 order steps section redesign ===== */
.ng-process-section .ng-section-head{position:relative;overflow:hidden;padding:0 0 18px}
.ng-process-section .ng-section-head::before{content:'';position:absolute;inset:-20px auto auto -40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(91,140,255,.18),transparent 68%);filter:blur(10px);pointer-events:none}
.ng-process-section .ng-section-head h2{font-size:clamp(34px,5vw,74px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance;max-width:10.5ch;margin-bottom:14px}
.ng-process-section .ng-section-head p{max-width:64ch;font-size:16px;line-height:2;color:var(--ng-muted)}
.ng-process-layout-v34{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:30px;align-items:start}
.ng-process-timeline{display:grid;gap:18px}
.ng-process-visual{top:118px;padding:28px;min-height:690px;border-radius:36px;overflow:hidden;background:
    radial-gradient(circle at 18% 18%, rgba(96,130,255,.16), transparent 26%),
    radial-gradient(circle at 82% 78%, rgba(55,228,190,.11), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),
    var(--ng-card);
}
.ng-process-visual::before{content:'';position:absolute;inset:16px;border-radius:30px;border:1px solid rgba(255,255,255,.06);pointer-events:none}
.ng-process-visual::after{content:'';position:absolute;left:-18%;top:22%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(124,92,255,.18),transparent 65%);filter:blur(18px);opacity:.65;pointer-events:none;animation:ngProcessBlob 12s ease-in-out infinite}
.ng-process-visual-head{position:relative;z-index:2;max-width:36ch}
.ng-process-visual-head h3{font-size:clamp(28px,3vw,44px);line-height:1.18;margin:10px 0 12px;text-wrap:balance}
.ng-process-visual-head p{font-size:15px;line-height:2.08;color:var(--ng-muted)}
.ng-process-stage{position:relative;min-height:470px;margin-top:30px;border-radius:32px;overflow:hidden;padding:28px;background:
    linear-gradient(180deg, rgba(9,16,32,.34), rgba(255,255,255,.02)),
    linear-gradient(135deg, rgba(91,140,255,.08), rgba(124,92,255,.05) 52%, rgba(50,225,191,.06));
    border:1px solid rgba(255,255,255,.08)
}
.ng-process-grid-layer,.ng-process-stage::before,.ng-process-stage::after{position:absolute;content:'';pointer-events:none}
.ng-process-grid-layer{inset:0;background:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
    background-size:28px 28px;mask-image:linear-gradient(180deg,rgba(0,0,0,.55),transparent 92%);opacity:.42;animation:ngGridFloat 18s linear infinite}
.ng-process-stage::before{inset:0;background:linear-gradient(180deg, rgba(255,255,255,.02), transparent 48%, rgba(255,255,255,.03));opacity:.9}
.ng-process-stage::after{left:8%;right:8%;bottom:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(97,150,255,.45),rgba(85,224,198,.32),transparent)}
.ng-process-wave{position:absolute;display:block;border-radius:50%;border:1px dashed rgba(136,168,255,.18);opacity:.75;pointer-events:none;animation:ngPulseWave 8s ease-in-out infinite}
.ng-process-wave.wave-a{width:380px;height:380px;top:50%;left:50%;transform:translate(-50%,-50%)}
.ng-process-wave.wave-b{width:280px;height:280px;top:50%;left:50%;transform:translate(-50%,-50%);animation-duration:10s}
.ng-process-wave.wave-c{width:180px;height:180px;top:50%;left:50%;transform:translate(-50%,-50%);animation-duration:7.5s}
.ng-process-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(58vw,280px);aspect-ratio:1/1;display:grid;place-items:center;text-align:center;z-index:3}
.ng-process-center strong{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);font-size:22px;font-weight:950;color:var(--ng-text);letter-spacing:-.02em}
.ng-process-center small{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.8;color:var(--ng-muted);width:min(220px,82%)}
.ng-process-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(129,154,255,.12);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset}
.ng-process-ring.ring-2{inset:26px;border-style:dashed;border-color:rgba(128,151,255,.18)}
.ng-process-ring.ring-3{inset:52px;border-color:rgba(68,214,205,.15)}
.ng-process-ring.ring-4{inset:78px;border-style:dashed;border-color:rgba(255,255,255,.12)}
.ng-process-core-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-56%);width:118px;height:118px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:0 24px 70px rgba(28,46,96,.28),0 0 0 1px rgba(255,255,255,.03) inset;overflow:hidden}
.ng-process-core-mark::before{content:'';position:absolute;inset:-10%;background:conic-gradient(from 0deg, rgba(91,140,255,.24), rgba(124,92,255,.18), rgba(50,225,191,.18), rgba(91,140,255,.24));filter:blur(12px);animation:ngCoreSpin 14s linear infinite}
.ng-process-core-mark::after{content:'';position:absolute;inset:14px;border-radius:24px;background:radial-gradient(circle at 50% 40%, rgba(124,92,255,.22), rgba(15,22,42,.28) 72%);border:1px solid rgba(255,255,255,.08)}
.ng-process-core-mark img{position:relative;z-index:3;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(91,140,255,.25))}
.ng-core-dot,.ng-core-beam{position:absolute;z-index:3;display:block}
.ng-core-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--ng-accent-a),var(--ng-accent-b));box-shadow:0 0 18px rgba(91,140,255,.5)}
.ng-core-dot.dot-a{top:18px;left:50%;transform:translateX(-50%)}
.ng-core-dot.dot-b{bottom:18px;left:50%;transform:translateX(-50%)}
.ng-core-dot.dot-c{left:18px;top:50%;transform:translateY(-50%)}
.ng-core-dot.dot-d{right:18px;top:50%;transform:translateY(-50%)}
.ng-core-beam{background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);opacity:.55}
.ng-core-beam.beam-h{width:78px;height:1px;top:50%;left:50%;transform:translate(-50%,-50%)}
.ng-core-beam.beam-v{width:1px;height:78px;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(180deg,transparent,rgba(255,255,255,.28),transparent)}
.ng-process-chip{position:absolute;display:flex;flex-direction:column;gap:8px;max-width:200px;padding:16px 16px 14px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));backdrop-filter:blur(16px);box-shadow:0 20px 50px rgba(13,25,50,.18);z-index:4;animation:ngOrbitFloat 8s ease-in-out infinite}
.ng-process-chip strong{font-size:15px;line-height:1.55;font-weight:950;color:var(--ng-text)}
.ng-process-chip small{font-size:12px;line-height:1.95;color:var(--ng-muted)}
.ng-process-chip-index{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-width:48px;height:26px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:900;color:#dbe6ff;background:linear-gradient(135deg,rgba(91,140,255,.24),rgba(124,92,255,.20));border:1px solid rgba(129,153,255,.24)}
.ng-process-chip.chip-1{top:34px;right:26px}
.ng-process-chip.chip-2{bottom:30px;right:52px;animation-delay:-2s}
.ng-process-chip.chip-3{left:24px;top:50%;transform:translateY(-50%);animation-delay:-4s}
.ng-process-data-line{position:absolute;display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(86,146,255,.38),transparent);opacity:.65;z-index:1}
.ng-process-data-line.line-a{width:180px;top:124px;left:68px;transform:rotate(-12deg)}
.ng-process-data-line.line-b{width:160px;bottom:88px;right:88px;transform:rotate(18deg)}
.ng-process-step{position:relative;grid-template-columns:78px 1fr;gap:18px;padding:22px 24px 22px 20px;border-radius:26px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));overflow:hidden;transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease}
.ng-process-step::before{content:'';position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,transparent,rgba(98,148,255,.35),rgba(115,93,255,.3),transparent);opacity:.55}
.ng-process-step::after{content:'';position:absolute;top:0;bottom:0;right:26px;width:1px;background:linear-gradient(180deg,transparent,rgba(118,142,255,.22),transparent)}
.ng-process-step:hover{transform:translateY(-4px);border-color:rgba(129,153,255,.22);box-shadow:0 24px 52px rgba(17,25,52,.18)}
.ng-process-step-icon{width:58px;height:58px;border-radius:20px;font-size:18px;box-shadow:0 18px 34px rgba(91,140,255,.24),0 0 0 1px rgba(255,255,255,.04) inset}
.ng-process-step-label{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11px;font-weight:900;letter-spacing:.04em;color:#c7d6fb;text-transform:uppercase}
.ng-process-step-label::before{content:'';width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--ng-accent-a),var(--ng-accent-b));box-shadow:0 0 14px rgba(91,140,255,.4)}
.ng-process-step h3{font-size:22px;line-height:1.45;margin:0 0 10px;text-wrap:balance}
.ng-process-step p{font-size:14px;line-height:2.05;color:var(--ng-muted)}
.ng-process-step.step-1 .ng-process-step-icon{background:linear-gradient(135deg,#5f8dff,#8462ff)}
.ng-process-step.step-2 .ng-process-step-icon{background:linear-gradient(135deg,#5dd7ff,#54a7ff)}
.ng-process-step.step-3 .ng-process-step-icon{background:linear-gradient(135deg,#5ce2c7,#4ac2e6)}
.ng-process-step.step-4 .ng-process-step-icon{background:linear-gradient(135deg,#a37cff,#6b8cff)}
.ng-light .ng-process-section .ng-section-head::before{background:radial-gradient(circle,rgba(91,140,255,.10),transparent 68%)}
.ng-light .ng-process-section .ng-section-head h2{color:#162542}
.ng-light .ng-process-section .ng-section-head p{color:#52617b}
.ng-light .ng-process-visual{background:radial-gradient(circle at 18% 18%, rgba(96,130,255,.12), transparent 24%),radial-gradient(circle at 82% 78%, rgba(55,228,190,.10), transparent 26%),linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,255,.92)),#fff;border-color:rgba(30,58,138,.10)}
.ng-light .ng-process-visual::before{border-color:rgba(30,58,138,.08)}
.ng-light .ng-process-stage{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(243,247,255,.90)),linear-gradient(135deg, rgba(91,140,255,.06), rgba(124,92,255,.05), rgba(50,225,191,.04));border-color:rgba(30,58,138,.10)}
.ng-light .ng-process-grid-layer{background:linear-gradient(rgba(27,52,99,.04) 1px, transparent 1px),linear-gradient(90deg, rgba(27,52,99,.04) 1px, transparent 1px)}
.ng-light .ng-process-stage::after{background:linear-gradient(90deg,transparent,rgba(70,104,205,.20),rgba(46,157,141,.22),transparent)}
.ng-light .ng-process-wave{border-color:rgba(68,99,183,.14)}
.ng-light .ng-process-core-mark{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,246,255,.92));border-color:rgba(30,58,138,.12);box-shadow:0 20px 48px rgba(77,101,167,.14),0 0 0 1px rgba(255,255,255,.5) inset}
.ng-light .ng-process-core-mark::after{background:radial-gradient(circle at 50% 40%, rgba(124,92,255,.12), rgba(237,242,255,.86) 72%);border-color:rgba(30,58,138,.08)}
.ng-light .ng-process-chip{background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,248,255,.90));border-color:rgba(30,58,138,.10);box-shadow:0 18px 42px rgba(77,101,167,.10)}
.ng-light .ng-process-chip-index{color:#36508d;background:linear-gradient(135deg,rgba(91,140,255,.14),rgba(124,92,255,.10));border-color:rgba(91,140,255,.12)}
.ng-light .ng-process-step{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,248,255,.92));border-color:rgba(30,58,138,.10);box-shadow:0 18px 44px rgba(77,101,167,.08)}
.ng-light .ng-process-step::after{background:linear-gradient(180deg,transparent,rgba(70,104,205,.14),transparent)}
.ng-light .ng-process-step h3,.ng-light .ng-process-visual-head h3,.ng-light .ng-process-chip strong,.ng-light .ng-process-center strong{color:#172643}
.ng-light .ng-process-step p,.ng-light .ng-process-visual-head p,.ng-light .ng-process-chip small,.ng-light .ng-process-center small{color:#52617b}
@media (max-width: 1280px){.ng-process-layout-v34{grid-template-columns:minmax(0,1fr) minmax(320px,.95fr)}.ng-process-section .ng-section-head h2{font-size:clamp(32px,4.8vw,62px)}}
@media (max-width: 1180px){.ng-process-layout-v34{grid-template-columns:1fr}.ng-process-visual{position:relative;top:0;min-height:auto}.ng-process-section .ng-section-head h2{max-width:11.6ch}.ng-process-stage{min-height:420px}}
@media (max-width: 900px){.ng-process-section .ng-section-head h2{font-size:clamp(30px,9vw,50px);max-width:12ch}.ng-process-stage{padding:22px;min-height:390px}.ng-process-chip{max-width:170px;padding:14px 14px 12px}.ng-process-chip.chip-1{right:14px;top:18px}.ng-process-chip.chip-2{right:30px;bottom:24px}.ng-process-chip.chip-3{left:14px}.ng-process-step h3{font-size:20px}}
@media (max-width: 720px){.ng-process-section .ng-section-head h2{font-size:clamp(28px,10vw,44px);line-height:1.15}.ng-process-section .ng-section-head p{font-size:15px}.ng-process-visual{padding:18px;border-radius:28px}.ng-process-visual-head h3{font-size:26px}.ng-process-stage{min-height:360px;padding:18px;border-radius:24px}.ng-process-wave.wave-a{width:270px;height:270px}.ng-process-wave.wave-b{width:210px;height:210px}.ng-process-wave.wave-c{width:150px;height:150px}.ng-process-center{width:min(76vw,220px)}.ng-process-core-mark{width:92px;height:92px;border-radius:28px}.ng-process-core-mark img{width:46px;height:46px}.ng-process-center strong{font-size:18px;bottom:30px}.ng-process-center small{font-size:11px;bottom:8px}.ng-process-chip{position:absolute;max-width:138px;gap:6px}.ng-process-chip strong{font-size:12px}.ng-process-chip small{font-size:10px;line-height:1.7}.ng-process-chip-index{min-width:38px;height:22px;font-size:10px}.ng-process-chip.chip-1{top:14px;right:8px}.ng-process-chip.chip-2{bottom:18px;right:12px}.ng-process-chip.chip-3{left:8px;top:50%}.ng-process-step{grid-template-columns:56px 1fr;padding:18px 18px 18px 16px}.ng-process-step-icon{width:44px;height:44px;border-radius:16px;font-size:16px}.ng-process-step h3{font-size:18px}.ng-process-step p{font-size:13px;line-height:1.95}}
@media (max-width: 560px){.ng-process-section .ng-section-head h2{max-width:11ch}.ng-process-stage{min-height:500px}.ng-process-chip{max-width:128px}.ng-process-chip.chip-1{top:10px;right:8px}.ng-process-chip.chip-2{bottom:14px;right:6px}.ng-process-chip.chip-3{left:6px;top:22px;transform:none}.ng-process-center{top:56%}.ng-process-data-line{display:none}.ng-process-step{border-radius:22px}.ng-process-step::after{right:18px}}
@keyframes ngProcessBlob{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(20px,-16px,0) scale(1.08)}}
@keyframes ngGridFloat{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(-8px,10px,0)}100%{transform:translate3d(0,0,0)}}
@keyframes ngPulseWave{0%,100%{opacity:.52;transform:translate(-50%,-50%) scale(1)}50%{opacity:.92;transform:translate(-50%,-50%) scale(1.035)}}
@keyframes ngOrbitFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes ngCoreSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}


/* ===== V10.35 order steps polish ===== */
.ng-process-section{overflow:hidden}
.ng-process-section .ng-section-head{position:relative;display:grid;justify-items:center;text-align:center;gap:14px;padding:0 0 22px;max-width:980px;margin:0 auto 18px}
.ng-process-section .ng-section-head::before{display:none}
.ng-process-section .ng-section-head .ng-kicker{justify-self:center}
.ng-process-section .ng-section-head h2{max-width:min(17ch,100%);margin:0 auto;font-size:clamp(40px,5.4vw,84px);line-height:1.08;letter-spacing:-.04em;text-wrap:balance;word-break:normal;overflow-wrap:normal}
.ng-process-section .ng-section-head p{max-width:70ch;margin:0 auto;font-size:17px;line-height:2;color:var(--ng-muted);text-wrap:pretty}
.ng-process-layout-v34{grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);gap:28px;align-items:start}
.ng-process-visual{min-height:620px;padding:30px;border-radius:34px;background:radial-gradient(circle at 14% 16%, rgba(92,139,255,.14), transparent 24%),radial-gradient(circle at 86% 80%, rgba(39,204,192,.10), transparent 26%),linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)),var(--ng-card)}
.ng-process-visual-head{max-width:none;text-align:center}
.ng-process-visual-head h3{font-size:clamp(26px,2.6vw,38px);line-height:1.28;margin:10px auto 10px;max-width:20ch;text-wrap:balance}
.ng-process-visual-head p{max-width:44ch;margin:0 auto;font-size:15px;line-height:2;color:var(--ng-muted);text-wrap:pretty}
.ng-process-stage{min-height:420px;margin-top:24px;padding:24px;border-radius:28px;background:linear-gradient(135deg, rgba(10,20,40,.68), rgba(18,31,60,.52) 58%, rgba(19,42,58,.58));border:1px solid rgba(255,255,255,.08)}
.ng-process-stage::before{inset:0;background:radial-gradient(circle at 50% 50%, rgba(91,140,255,.06), transparent 42%),linear-gradient(180deg, rgba(255,255,255,.03), transparent 55%);opacity:1}
.ng-process-stage::after{display:none}
.ng-process-grid-layer,.ng-process-wave,.ng-process-ring,.ng-process-data-line{display:none !important}
.ng-process-aurora,.ng-process-path{position:absolute;display:block;pointer-events:none}
.ng-process-aurora{filter:blur(18px);opacity:.72;mix-blend-mode:screen}
.ng-process-aurora.aurora-a{width:240px;height:240px;border-radius:50%;background:radial-gradient(circle, rgba(86,137,255,.42), transparent 66%);top:-40px;right:-18px;animation:ngAuroraFloat 9s ease-in-out infinite}
.ng-process-aurora.aurora-b{width:190px;height:190px;border-radius:50%;background:radial-gradient(circle, rgba(42,212,198,.26), transparent 68%);bottom:-30px;left:-10px;animation:ngAuroraFloat 11s ease-in-out infinite reverse}
.ng-process-path{border:1px solid rgba(126,154,255,.16);border-radius:999px;opacity:.9}
.ng-process-path.path-a{width:300px;height:126px;top:42px;right:84px;transform:rotate(-10deg);border-left-color:transparent;border-bottom-color:transparent}
.ng-process-path.path-b{width:308px;height:146px;bottom:54px;left:72px;transform:rotate(8deg);border-right-color:transparent;border-top-color:transparent}
.ng-process-path.path-c{width:236px;height:88px;top:50%;left:50%;transform:translate(-50%,-50%) rotate(3deg);border-left-color:transparent;border-right-color:transparent}
.ng-process-center{width:min(50vw,240px);z-index:4}
.ng-process-center strong{bottom:34px;font-size:30px;font-weight:950;line-height:1.1;white-space:nowrap;text-shadow:0 0 24px rgba(78,120,255,.18)}
.ng-process-center small{bottom:10px;width:min(230px,88%);font-size:12px;line-height:1.8}
.ng-process-core-mark{width:132px;height:132px;border-radius:38px;transform:translate(-50%,-56%);background:linear-gradient(180deg, rgba(25,42,88,.92), rgba(18,28,54,.92));border:1px solid rgba(116,150,255,.22);box-shadow:0 28px 80px rgba(15,26,52,.36),0 0 0 1px rgba(255,255,255,.03) inset}
.ng-process-core-mark::before{inset:-8%;background:conic-gradient(from 0deg, rgba(46,123,255,.45), rgba(100,88,255,.38), rgba(38,205,190,.34), rgba(46,123,255,.45));filter:blur(10px);opacity:.9}
.ng-process-core-mark::after{inset:12px;border-radius:28px;background:radial-gradient(circle at 50% 42%, rgba(34,134,255,.28), rgba(11,20,42,.88) 74%);border:1px solid rgba(146,177,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset}
.ng-process-core-mark img{width:72px;height:72px;filter:drop-shadow(0 0 20px rgba(67,138,255,.28)) saturate(1.12);z-index:4}
.ng-core-dot{width:10px;height:10px;box-shadow:0 0 16px rgba(71,135,255,.58)}
.ng-core-dot.dot-a{top:12px}.ng-core-dot.dot-b{bottom:12px}.ng-core-dot.dot-c{left:12px}.ng-core-dot.dot-d{right:12px}
.ng-core-beam{opacity:.45}
.ng-process-chip{max-width:154px;gap:6px;padding:13px 14px 12px;border-radius:20px;background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.10);box-shadow:0 18px 40px rgba(12,21,44,.22);backdrop-filter:blur(12px)}
.ng-process-chip strong{font-size:17px;line-height:1.35;text-wrap:balance}
.ng-process-chip small{font-size:12px;line-height:1.7;color:var(--ng-muted)}
.ng-process-chip-index{min-width:38px;height:22px;padding:0 8px;font-size:10px}
.ng-process-chip.chip-1{top:20px;right:18px}
.ng-process-chip.chip-2{bottom:28px;right:24px}
.ng-process-chip.chip-3{left:18px;top:50%;transform:translateY(-50%)}
.ng-process-step{padding:22px 24px 22px 20px}
.ng-process-step h3{font-size:23px;line-height:1.4;text-wrap:balance}
.ng-process-step p{text-wrap:pretty}
.ng-light .ng-process-section .ng-section-head h2{color:#172643}
.ng-light .ng-process-section .ng-section-head p{color:#55657e}
.ng-light .ng-process-visual{background:radial-gradient(circle at 14% 16%, rgba(92,139,255,.10), transparent 24%),radial-gradient(circle at 86% 80%, rgba(39,204,192,.08), transparent 26%),linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,249,255,.93)),#fff;border-color:rgba(30,58,138,.10)}
.ng-light .ng-process-stage{background:linear-gradient(135deg, rgba(245,248,255,.98), rgba(237,243,255,.94) 58%, rgba(236,248,246,.94));border-color:rgba(30,58,138,.10)}
.ng-light .ng-process-stage::before{background:radial-gradient(circle at 50% 50%, rgba(91,140,255,.08), transparent 42%),linear-gradient(180deg, rgba(255,255,255,.45), transparent 55%)}
.ng-light .ng-process-path{border-color:rgba(61,93,177,.16)}
.ng-light .ng-process-core-mark{background:linear-gradient(180deg, rgba(235,242,255,.96), rgba(224,233,252,.92));border-color:rgba(61,93,177,.16);box-shadow:0 24px 68px rgba(63,91,157,.16),0 0 0 1px rgba(255,255,255,.5) inset}
.ng-light .ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(40,128,255,.20), rgba(231,239,255,.98) 74%);border-color:rgba(61,93,177,.12)}
.ng-light .ng-process-center strong,.ng-light .ng-process-visual-head h3,.ng-light .ng-process-chip strong{color:#172643}
.ng-light .ng-process-center small,.ng-light .ng-process-visual-head p,.ng-light .ng-process-chip small{color:#55657e}
.ng-light .ng-process-chip{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,255,.92));border-color:rgba(30,58,138,.10);box-shadow:0 16px 36px rgba(77,101,167,.10)}
@media (max-width: 1280px){.ng-process-section .ng-section-head h2{font-size:clamp(36px,5vw,72px);max-width:15ch}.ng-process-layout-v34{grid-template-columns:minmax(0,1fr) minmax(320px,.96fr)}}
@media (max-width: 1180px){.ng-process-layout-v34{grid-template-columns:1fr}.ng-process-visual{position:relative;top:0;min-height:auto}.ng-process-section .ng-section-head h2{max-width:16ch}.ng-process-center{width:min(58vw,240px)}}
@media (max-width: 900px){.ng-process-section .ng-section-head{gap:12px;padding-bottom:18px}.ng-process-section .ng-section-head h2{font-size:clamp(32px,8vw,56px);max-width:14ch}.ng-process-section .ng-section-head p{font-size:16px;max-width:48ch}.ng-process-visual-head h3{font-size:28px;max-width:22ch}.ng-process-stage{min-height:390px;padding:20px}.ng-process-path.path-a{width:220px;height:92px;right:52px}.ng-process-path.path-b{width:210px;height:100px;left:48px}.ng-process-chip{max-width:140px;padding:11px 12px 10px}.ng-process-chip strong{font-size:15px}.ng-process-chip small{font-size:11px}.ng-process-center strong{font-size:26px;bottom:32px}}
@media (max-width: 720px){.ng-process-section .ng-section-head{justify-items:start;text-align:right;max-width:none}.ng-process-section .ng-section-head .ng-kicker{justify-self:start}.ng-process-section .ng-section-head h2{font-size:clamp(28px,9vw,46px);max-width:none;line-height:1.18}.ng-process-section .ng-section-head p{font-size:15px;max-width:none}.ng-process-visual{padding:18px;border-radius:26px}.ng-process-visual-head{text-align:right}.ng-process-visual-head h3{font-size:24px;max-width:none;margin-inline:0}.ng-process-visual-head p{max-width:none;margin-inline:0}.ng-process-stage{min-height:340px;border-radius:24px}.ng-process-center{width:min(78vw,220px)}.ng-process-core-mark{width:104px;height:104px;border-radius:30px}.ng-process-core-mark img{width:60px;height:60px}.ng-process-center strong{font-size:22px;bottom:30px}.ng-process-center small{font-size:11px;width:min(200px,86%)}.ng-process-chip{max-width:124px}.ng-process-chip.chip-1{top:12px;right:8px}.ng-process-chip.chip-2{bottom:16px;right:10px}.ng-process-chip.chip-3{left:10px;top:auto;bottom:82px;transform:none}.ng-process-path.path-a{width:150px;height:76px;right:24px;top:34px}.ng-process-path.path-b{width:158px;height:82px;left:16px;bottom:72px}.ng-process-path.path-c{display:none}}
@media (max-width: 560px){.ng-process-section .ng-section-head h2{font-size:clamp(26px,8.8vw,40px);max-width:none}.ng-process-section .ng-section-head p{font-size:14px;line-height:1.95}.ng-process-visual-head h3{font-size:22px;line-height:1.4}.ng-process-stage{min-height:310px;padding:16px}.ng-process-core-mark{width:88px;height:88px;border-radius:26px}.ng-process-core-mark img{width:50px;height:50px}.ng-process-center{top:56%}.ng-process-center strong{font-size:18px;bottom:24px;white-space:nowrap}.ng-process-center small{font-size:10px;bottom:6px}.ng-process-chip{max-width:110px;padding:10px 10px 8px;border-radius:18px}.ng-process-chip strong{font-size:13px}.ng-process-chip small{font-size:10px;line-height:1.55}.ng-process-chip-index{min-width:32px;height:20px;font-size:9px}.ng-process-chip.chip-1{top:10px;right:8px}.ng-process-chip.chip-2{bottom:12px;right:8px}.ng-process-chip.chip-3{left:8px;bottom:70px}.ng-process-path.path-a{width:126px;height:62px;right:14px;top:24px}.ng-process-path.path-b{width:126px;height:66px;left:10px;bottom:62px}.ng-process-aurora.aurora-a{width:170px;height:170px}.ng-process-aurora.aurora-b{width:130px;height:130px}}
@keyframes ngAuroraFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(8px,-10px,0) scale(1.06)}}


/* ===== V10.36 order steps micro-fixes ===== */
.ng-process-section{overflow:visible}
.ng-process-layout-v34{align-items:start}
.ng-process-visual{position:sticky;top:110px}
.ng-process-center{padding-top:4px}
.ng-process-core-mark{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
.ng-process-core-mark::before{opacity:0;filter:blur(12px);transition:opacity .35s ease, transform .35s ease}
.ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(34,134,255,.08), rgba(11,20,42,.90) 74%);transition:background .35s ease, box-shadow .35s ease}
.ng-process-core-mark img{filter:drop-shadow(0 0 8px rgba(67,138,255,.14)) saturate(1.05);transition:filter .35s ease, transform .35s ease}
.ng-process-center strong{bottom:22px}
.ng-process-center small{bottom:2px}
.ng-process-center:hover .ng-process-core-mark{transform:translate(-50%,-56%) scale(1.03);box-shadow:0 30px 84px rgba(15,26,52,.42),0 0 0 1px rgba(124,154,255,.18) inset;border-color:rgba(126,162,255,.30)}
.ng-process-center:hover .ng-process-core-mark::before{opacity:1;transform:scale(1.06)}
.ng-process-center:hover .ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(34,134,255,.24), rgba(11,20,42,.86) 74%)}
.ng-process-center:hover .ng-process-core-mark img{filter:drop-shadow(0 0 18px rgba(67,138,255,.30)) saturate(1.14);transform:scale(1.03)}
.ng-process-chip.chip-1{top:10px;right:-6px}
.ng-process-chip.chip-2{bottom:18px;right:-8px}
.ng-process-chip.chip-3{left:-10px;top:50%;transform:translateY(-50%)}
.ng-light .ng-process-core-mark::before{opacity:0}
.ng-light .ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(40,128,255,.10), rgba(231,239,255,.98) 74%)}
.ng-light .ng-process-center:hover .ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(40,128,255,.20), rgba(231,239,255,.98) 74%)}
@media (max-width: 1180px){.ng-process-visual{position:relative;top:0}}
@media (max-width: 720px){.ng-process-chip.chip-1{top:10px;right:2px}.ng-process-chip.chip-2{bottom:12px;right:2px}.ng-process-chip.chip-3{left:2px;bottom:82px;top:auto;transform:none}.ng-process-center strong{bottom:20px}.ng-process-center small{bottom:0}}
@media (max-width: 560px){.ng-process-chip.chip-1{right:0}.ng-process-chip.chip-2{right:0}.ng-process-chip.chip-3{left:0;bottom:68px}.ng-process-center strong{bottom:18px}.ng-process-center small{bottom:-1px}}


/* ===== V10.37 steps visual chip + icon refinement ===== */
.ng-process-center{width:min(52vw,250px)}
.ng-process-core-mark{overflow:hidden}
.ng-process-core-mark img{display:none !important}
.ng-process-core-mark::before{opacity:0}
.ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(27,104,225,.14), rgba(10,18,39,.86) 76%);box-shadow:0 0 0 1px rgba(255,255,255,.02) inset}
.ng-process-center:hover .ng-process-core-mark::before{opacity:1}
.ng-process-center strong{bottom:18px}
.ng-process-center small{bottom:-2px}
.ng-process-chip{max-width:126px;gap:5px;padding:11px 12px 10px;border-radius:18px;box-shadow:0 14px 34px rgba(12,21,44,.18)}
.ng-process-chip strong{font-size:14px;line-height:1.35}
.ng-process-chip small{font-size:10px;line-height:1.6}
.ng-process-chip-index{min-width:32px;height:20px;padding:0 7px;font-size:9px}
.ng-process-chip.chip-1{top:22px;right:22px}
.ng-process-chip.chip-2{bottom:24px;right:28px}
.ng-process-chip.chip-3{left:22px;top:54%;transform:translateY(-50%)}
.ng-process-core-icon{position:relative;display:block;width:76px;height:76px;z-index:4}
.ng-process-core-icon-orbit{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(112,150,255,.28);animation:ngCoreOrbitSpin 10s linear infinite}
.ng-process-core-icon-orbit.orbit-b{inset:12px;border-style:solid;border-color:rgba(49,213,189,.16);animation-direction:reverse;animation-duration:13s}
.ng-process-core-icon-link{position:absolute;left:50%;top:50%;width:52px;height:1.5px;background:linear-gradient(90deg, rgba(89,135,255,.16), rgba(89,135,255,.68), rgba(71,221,196,.26));transform-origin:left center;opacity:.9}
.ng-process-core-icon-link.link-a{transform:translate(-50%,-50%) rotate(24deg)}
.ng-process-core-icon-link.link-b{transform:translate(-50%,-50%) rotate(-32deg);width:44px}
.ng-process-core-icon-node{position:absolute;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #f6fbff, #5d8cff 56%, #2748c6 100%);box-shadow:0 0 0 4px rgba(87,132,255,.10),0 0 18px rgba(70,130,255,.32);animation:ngCoreNodePulse 3.2s ease-in-out infinite}
.ng-process-core-icon-node.node-a{top:4px;left:50%;transform:translateX(-50%)}
.ng-process-core-icon-node.node-b{right:5px;top:50%;transform:translateY(-50%);animation-delay:-.8s}
.ng-process-core-icon-node.node-c{bottom:4px;left:50%;transform:translateX(-50%);animation-delay:-1.4s}
.ng-process-core-icon-node.node-d{left:5px;top:50%;transform:translateY(-50%);animation-delay:-2.2s}
.ng-process-core-icon-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:14px;background:linear-gradient(180deg, rgba(24,44,93,.96), rgba(12,22,48,.98));border:1px solid rgba(123,159,255,.28);box-shadow:0 10px 28px rgba(12,24,50,.28), inset 0 0 0 1px rgba(255,255,255,.03)}
.ng-process-core-icon-chip::before{content:'';position:absolute;inset:7px;border-radius:10px;background:radial-gradient(circle at 50% 35%, rgba(62,140,255,.26), rgba(17,31,67,.96) 74%);border:1px solid rgba(141,173,255,.12)}
.ng-process-core-icon-chip::after{content:'';position:absolute;inset:-5px;border-radius:18px;background:radial-gradient(circle, rgba(78,138,255,.15), transparent 65%);filter:blur(10px);z-index:-1}
.ng-process-core-icon-chip .chip-line{position:absolute;left:50%;top:50%;background:linear-gradient(90deg, rgba(111,164,255,.24), rgba(111,164,255,.96), rgba(65,220,199,.38));transform:translate(-50%,-50%);border-radius:999px}
.ng-process-core-icon-chip .chip-line.line-h{width:18px;height:2px}
.ng-process-core-icon-chip .chip-line.line-v{width:2px;height:18px;background:linear-gradient(180deg, rgba(111,164,255,.24), rgba(111,164,255,.96), rgba(65,220,199,.38))}
.ng-process-core-icon-chip .chip-dot{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle at 30% 30%, #f7fbff, #74a2ff 62%, #2950d8);box-shadow:0 0 12px rgba(84,132,255,.34)}
.ng-light .ng-process-chip{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,255,.92));box-shadow:0 12px 28px rgba(77,101,167,.10)}
.ng-light .ng-process-core-mark::after{background:radial-gradient(circle at 50% 42%, rgba(38,120,255,.12), rgba(237,242,255,.96) 76%)}
.ng-light .ng-process-core-icon-orbit{border-color:rgba(77,118,222,.20)}
.ng-light .ng-process-core-icon-orbit.orbit-b{border-color:rgba(39,175,160,.18)}
@keyframes ngCoreOrbitSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ngCoreNodePulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.16);opacity:1}}
@media (max-width: 900px){
  .ng-process-chip{max-width:118px;padding:10px 10px 9px}
  .ng-process-chip strong{font-size:13px}
  .ng-process-chip small{font-size:10px}
  .ng-process-chip.chip-1{top:16px;right:14px}
  .ng-process-chip.chip-2{bottom:18px;right:18px}
  .ng-process-chip.chip-3{left:14px;top:56%}
}
@media (max-width: 720px){
  .ng-process-chip{max-width:104px;padding:9px 9px 8px}
  .ng-process-chip strong{font-size:12px}
  .ng-process-chip small{font-size:9px;line-height:1.5}
  .ng-process-chip.chip-1{top:10px;right:10px}
  .ng-process-chip.chip-2{bottom:12px;right:10px}
  .ng-process-chip.chip-3{left:10px;bottom:76px;top:auto;transform:none}
  .ng-process-core-icon{width:64px;height:64px}
  .ng-process-core-icon-chip{width:34px;height:34px;border-radius:12px}
}
@media (max-width: 560px){
  .ng-process-chip{max-width:96px;padding:8px 8px 7px}
  .ng-process-chip strong{font-size:11px}
  .ng-process-chip small{font-size:8.5px}
  .ng-process-chip.chip-1{right:8px}
  .ng-process-chip.chip-2{right:8px}
  .ng-process-chip.chip-3{left:8px;bottom:68px}
}


/* ===== V10.38 steps center workflow icon + timeline numbering fix ===== */
/* آیکون قبلی مراحل سفارش با یک وکتور workflow/order جایگزین شد. */
.ng-process-core-icon.ng-process-workflow-icon {
    position: relative;
    width: 112px !important;
    height: 112px !important;
    display: block;
    z-index: 4;
}
.ng-process-core-icon.ng-process-workflow-icon::before {
    content: '';
    position: absolute;
    inset: 3px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 50%, rgba(80, 135, 255, .22), transparent 43%),
        linear-gradient(135deg, rgba(57, 190, 255, .16), rgba(126, 82, 255, .18));
    border: 1px solid rgba(124, 165, 255, .20);
    box-shadow:
        0 0 36px rgba(71, 126, 255, .18),
        inset 0 0 0 1px rgba(255,255,255,.045);
}
.ng-process-core-icon.ng-process-workflow-icon::after {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 28px;
    border: 1px solid rgba(106, 169, 255, .22);
    box-shadow: 0 0 30px rgba(98, 115, 255, .18);
}
.ng-workflow-frame {
    position: absolute;
    inset: 0;
    border-radius: 36px;
    border: 1.5px solid rgba(99, 195, 255, .38);
    box-shadow:
        0 0 0 1px rgba(120, 88, 255, .20),
        0 0 20px rgba(84, 146, 255, .20),
        inset 0 0 28px rgba(80, 115, 255, .10);
}
.ng-workflow-cycle {
    position: absolute;
    inset: 27px;
    border-radius: 999px;
    border: 2px solid rgba(78, 151, 255, .34);
    border-top-color: rgba(91, 230, 255, .72);
    border-right-color: rgba(127, 84, 255, .66);
    animation: ngWorkflowCycle 16s linear infinite;
}
.ng-workflow-arrow {
    position: absolute;
    width: 22px;
    height: 22px;
    border-top: 2px solid rgba(91, 218, 255, .82);
    border-right: 2px solid rgba(91, 218, 255, .82);
    filter: drop-shadow(0 0 8px rgba(91, 160, 255, .28));
}
.ng-workflow-arrow.arrow-a {
    right: 28px;
    top: 25px;
    transform: rotate(45deg);
}
.ng-workflow-arrow.arrow-b {
    left: 28px;
    bottom: 25px;
    transform: rotate(225deg);
}
.ng-workflow-hub {
    position: absolute;
    width: 44px;
    height: 44px;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    border-radius: 15px;
    display: grid;
    place-items: center;
    color: #84dcff;
    background:
        radial-gradient(circle at 50% 45%, rgba(87, 145, 255, .34), rgba(33, 42, 104, .82) 72%),
        linear-gradient(135deg, rgba(77, 213, 255, .12), rgba(132, 90, 255, .18));
    border: 1px solid rgba(130, 175, 255, .30);
    box-shadow:
        0 0 24px rgba(77, 138, 255, .22),
        inset 0 1px 0 rgba(255,255,255,.10);
    z-index: 4;
}
.ng-workflow-hub svg {
    width: 29px;
    height: 29px;
    filter: drop-shadow(0 0 8px rgba(89, 195, 255, .20));
}
.ng-workflow-node {
    position: absolute;
    width: 31px;
    height: 31px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    color: #9de8ff;
    background: linear-gradient(180deg, rgba(50, 75, 145, .78), rgba(18, 29, 75, .86));
    border: 1px solid rgba(123, 165, 255, .28);
    box-shadow: 0 0 18px rgba(70, 126, 255, .15), inset 0 1px 0 rgba(255,255,255,.08);
    z-index: 5;
}
.ng-workflow-node svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-workflow-node.node-form {
    top: 11px;
    left: 50%;
    transform: translateX(-50%);
}
.ng-workflow-node.node-domain {
    top: 50%;
    left: 10px;
    transform: translateY(-50%);
}
.ng-workflow-node.node-mobile {
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}
.ng-workflow-node.node-check {
    bottom: 11px;
    left: 50%;
    transform: translateX(-50%);
}
.ng-process-center:hover .ng-process-core-icon.ng-process-workflow-icon::before {
    box-shadow:
        0 0 46px rgba(71, 126, 255, .28),
        inset 0 0 0 1px rgba(255,255,255,.06);
}
.ng-process-center:hover .ng-workflow-hub {
    color: #c9f6ff;
    box-shadow:
        0 0 34px rgba(77, 138, 255, .32),
        inset 0 1px 0 rgba(255,255,255,.12);
}
.ng-light .ng-process-core-icon.ng-process-workflow-icon::before {
    background:
        radial-gradient(circle at 50% 50%, rgba(70, 118, 255, .16), transparent 43%),
        linear-gradient(135deg, rgba(57, 190, 255, .10), rgba(126, 82, 255, .12));
    border-color: rgba(40, 89, 184, .18);
}
.ng-light .ng-workflow-frame {
    border-color: rgba(42, 111, 210, .24);
    box-shadow:
        0 0 0 1px rgba(91, 65, 200, .08),
        0 0 20px rgba(84, 146, 255, .10),
        inset 0 0 28px rgba(80, 115, 255, .06);
}
.ng-light .ng-workflow-hub {
    color: #2f63ff;
    background:
        radial-gradient(circle at 50% 45%, rgba(87, 145, 255, .18), rgba(235, 241, 255, .94) 72%),
        linear-gradient(135deg, rgba(77, 213, 255, .07), rgba(132, 90, 255, .09));
    border-color: rgba(42, 90, 190, .16);
}
.ng-light .ng-workflow-node {
    color: #315dff;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(231,238,255,.92));
    border-color: rgba(42, 90, 190, .14);
}
@keyframes ngWorkflowCycle {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@media (max-width: 720px) {
    .ng-process-core-icon.ng-process-workflow-icon {
        width: 92px !important;
        height: 92px !important;
    }
    .ng-workflow-node {
        width: 27px;
        height: 27px;
        border-radius: 10px;
    }
    .ng-workflow-node svg {
        width: 16px;
        height: 16px;
    }
    .ng-workflow-hub {
        width: 38px;
        height: 38px;
        border-radius: 13px;
    }
    .ng-workflow-hub svg {
        width: 25px;
        height: 25px;
    }
    .ng-workflow-cycle {
        inset: 23px;
    }
}


/* ===== V10.39 homepage portfolio category sliders ===== */
.ng-v39-portfolio-section {
    position: relative;
    overflow: clip;
    isolation: isolate;
}
.ng-v39-portfolio-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-v39-portfolio-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-v39-portfolio-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(24px);
    opacity: .55;
    animation: ngPortfolioOrb 13s ease-in-out infinite alternate;
}
.ng-v39-portfolio-orb.orb-a {
    width: 280px;
    height: 280px;
    right: -80px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.18), transparent 68%);
}
.ng-v39-portfolio-orb.orb-b {
    width: 230px;
    height: 230px;
    left: 4%;
    bottom: 10%;
    background: radial-gradient(circle, rgba(124,92,255,.16), transparent 70%);
    animation-delay: -5s;
}
.ng-v39-portfolio-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.34), rgba(124,92,255,.22), transparent);
    animation: ngPortfolioLine 7s ease-in-out infinite;
}
.ng-v39-portfolio-line.line-a { top: 14%; }
.ng-v39-portfolio-line.line-b { bottom: 18%; animation-delay: -3s; }
.ng-v39-portfolio-word {
    position: absolute;
    left: clamp(18px, 6vw, 98px);
    top: 16px;
    font-size: clamp(88px, 14vw, 230px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: -.08em;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    opacity: .66;
    transform: rotate(-4deg);
}
.ng-light .ng-v39-portfolio-word {
    -webkit-text-stroke-color: rgba(29,78,216,.13);
}
.ng-v39-portfolio-head h2 {
    font-size: clamp(36px, 5vw, 74px);
    line-height: 1.12;
    letter-spacing: -.035em;
    text-wrap: balance;
    max-width: 12ch;
}
.ng-v39-portfolio-head p {
    max-width: 72ch;
    line-height: 2.05;
}
.ng-v39-portfolio-category-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}
.ng-v39-portfolio-category-card {
    grid-column: span 2;
    position: relative;
    overflow: hidden;
    min-height: 430px;
    padding: 20px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 14% 0%, rgba(91,140,255,.13), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03)),
        var(--ng-card);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ng-v39-portfolio-category-card:nth-last-child(2) { grid-column: 2 / span 2; }
.ng-v39-portfolio-category-card:nth-last-child(1) { grid-column: 4 / span 2; }
.ng-v39-portfolio-category-card::before {
    content: '';
    position: absolute;
    width: 180px;
    height: 180px;
    left: -80px;
    bottom: -90px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.16), transparent 70%);
    pointer-events: none;
    transition: transform .28s ease, opacity .28s ease;
}
.ng-v39-portfolio-category-card:nth-child(2n)::before {
    background: radial-gradient(circle, rgba(124,92,255,.16), transparent 70%);
}
.ng-v39-portfolio-category-card:nth-child(3n)::before {
    background: radial-gradient(circle, rgba(16,185,129,.12), transparent 70%);
}
.ng-v39-portfolio-category-card:hover {
    transform: translateY(-6px);
    border-color: rgba(147,197,253,.25);
    box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.08);
}
.ng-v39-portfolio-category-card:hover::before {
    transform: scale(1.25) translate(-8px, -8px);
    opacity: .92;
}
.ng-v39-portfolio-card-head {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}
.ng-v39-portfolio-card-head small {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(91,140,255,.12);
    border: 1px solid rgba(147,197,253,.18);
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 950;
}
.ng-v39-portfolio-card-head h3 {
    margin: 8px 0 0;
    font-size: clamp(20px, 1.8vw, 28px);
    line-height: 1.35;
    text-wrap: balance;
}
.ng-v39-portfolio-card-icon {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    color: #dce8ff;
    background: linear-gradient(135deg, rgba(91,140,255,.26), rgba(124,92,255,.18));
    border: 1px solid rgba(147,197,253,.18);
    box-shadow: 0 16px 34px rgba(37,99,235,.16);
}
.ng-v39-portfolio-card-icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-v39-portfolio-slider {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 28px;
    border: 1px solid rgba(148,163,184,.15);
    background:
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)),
        rgba(255,255,255,.02);
}
.ng-v39-portfolio-track {
    display: flex;
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
    will-change: transform;
}
.ng-v39-portfolio-slide {
    min-width: 100%;
    display: block;
    padding: 12px;
    text-decoration: none;
    color: inherit;
}
.ng-v39-portfolio-image {
    position: relative;
    display: block;
    aspect-ratio: 16 / 10;
    border-radius: 22px;
    overflow: hidden;
    background:
        radial-gradient(circle at 35% 20%, rgba(91,140,255,.16), transparent 48%),
        linear-gradient(135deg, rgba(15,23,42,.92), rgba(30,41,75,.72));
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.ng-v39-portfolio-image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(2,6,23,.18));
    pointer-events: none;
}
.ng-v39-portfolio-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.01);
    transition: transform .5s ease, filter .5s ease;
}
.ng-v39-portfolio-slide:hover .ng-v39-portfolio-image img {
    transform: scale(1.055);
    filter: saturate(1.08) contrast(1.03);
}
.ng-v39-portfolio-slide strong {
    display: block;
    min-height: 58px;
    padding: 14px 6px 6px;
    text-align: center;
    color: var(--ng-text);
    font-size: 15px;
    line-height: 1.7;
    font-weight: 950;
}
.ng-v39-portfolio-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: rgba(219,234,254,.85);
}
.ng-v39-portfolio-placeholder svg {
    width: 54px;
    height: 54px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}
.ng-v39-portfolio-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 12px 12px;
}
.ng-v39-portfolio-nav {
    width: 36px;
    height: 36px;
    border: 1px solid var(--ng-border);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    color: var(--ng-text);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ng-v39-portfolio-nav:hover {
    transform: translateY(-2px);
    border-color: rgba(147,197,253,.32);
    background: rgba(91,140,255,.12);
}
.ng-v39-portfolio-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 12px;
    flex: 1;
}
.ng-v39-portfolio-dots i {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(148,163,184,.36);
    transition: width .25s ease, background .25s ease;
}
.ng-v39-portfolio-dots i.active {
    width: 20px;
    background: linear-gradient(90deg, var(--ng-blue), var(--ng-violet));
}
.ng-light .ng-v39-portfolio-category-card {
    background:
        radial-gradient(circle at 14% 0%, rgba(37,99,235,.09), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.95), rgba(247,250,255,.86));
}
.ng-light .ng-v39-portfolio-card-icon {
    color: #1d4ed8;
    background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(124,58,237,.10)), rgba(255,255,255,.95);
    border-color: rgba(37,99,235,.18);
}
.ng-light .ng-v39-portfolio-slider {
    background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,249,255,.86));
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-v39-portfolio-image {
    background: linear-gradient(135deg, rgba(235,242,255,.96), rgba(222,232,255,.86));
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-v39-portfolio-nav {
    background: rgba(255,255,255,.76);
    color: #172643;
    border-color: rgba(30,58,138,.12);
}
@media (max-width: 1180px) {
    .ng-v39-portfolio-category-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .ng-v39-portfolio-category-card {
        grid-column: span 3;
    }
    .ng-v39-portfolio-category-card:nth-last-child(2),
    .ng-v39-portfolio-category-card:nth-last-child(1) {
        grid-column: span 3;
    }
}
@media (max-width: 760px) {
    .ng-v39-portfolio-head h2 {
        font-size: clamp(31px, 9vw, 48px);
        max-width: 13ch;
    }
    .ng-v39-portfolio-category-grid {
        grid-template-columns: 1fr;
    }
    .ng-v39-portfolio-category-card,
    .ng-v39-portfolio-category-card:nth-last-child(2),
    .ng-v39-portfolio-category-card:nth-last-child(1) {
        grid-column: auto;
    }
    .ng-v39-portfolio-category-card {
        min-height: auto;
        padding: 16px;
        border-radius: 28px;
    }
    .ng-v39-portfolio-card-head h3 {
        font-size: 20px;
    }
}
@keyframes ngPortfolioOrb {
    0% { transform: translate3d(0,0,0) scale(1); }
    100% { transform: translate3d(0,-18px,0) scale(1.05); }
}
@keyframes ngPortfolioLine {
    0%, 100% { opacity: .22; transform: scaleX(.72); }
    50% { opacity: .72; transform: scaleX(1); }
}
@media (prefers-reduced-motion: reduce) {
    .ng-v39-portfolio-orb,
    .ng-v39-portfolio-line {
        animation: none !important;
    }
    .ng-v39-portfolio-track {
        transition: none !important;
    }
}


/* ===== V10.40 portfolio fixes ===== */
.ng-v39-portfolio-section {
    padding-top: clamp(70px, 9vw, 130px);
}
.ng-v39-portfolio-head {
    display: grid;
    justify-items: center;
    text-align: center;
    max-width: 980px;
    margin-inline: auto;
    gap: 14px;
}
.ng-v39-portfolio-head .ng-kicker {
    justify-self: center;
}
.ng-v39-portfolio-head h2 {
    max-width: min(16ch, 100%) !important;
    margin-inline: auto;
    text-align: center;
    line-height: 1.16;
    word-break: normal;
    overflow-wrap: normal;
}
.ng-v39-portfolio-head p {
    max-width: 74ch !important;
    margin-inline: auto;
    text-align: center;
    line-height: 2.05;
}
.ng-v39-portfolio-word {
    top: 8px;
    opacity: .42;
}
.ng-v39-portfolio-category-card {
    min-height: 410px;
    padding: 18px;
}
.ng-v39-portfolio-card-head {
    align-items: start;
    min-height: 70px;
}
.ng-v39-portfolio-card-head small {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 38px;
    justify-content: center;
}
.ng-v39-portfolio-card-head h3 {
    padding-left: 42px;
    margin-top: 0;
    font-size: clamp(19px, 1.65vw, 25px);
}
.ng-v39-portfolio-card-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
}
.ng-v39-portfolio-card-icon svg {
    width: 25px;
    height: 25px;
}
.ng-v39-portfolio-slider {
    border-radius: 24px;
}
.ng-v39-portfolio-image {
    aspect-ratio: 16 / 9;
    border-radius: 18px;
    background:
        radial-gradient(circle at 35% 20%, rgba(91,140,255,.15), transparent 48%),
        linear-gradient(135deg, rgba(12,20,40,.92), rgba(26,36,70,.78));
}
.ng-v39-portfolio-image img {
    object-fit: contain;
    padding: 0;
    background: rgba(3, 8, 22, .18);
    transform: none;
}
.ng-v39-portfolio-slide:hover .ng-v39-portfolio-image img {
    transform: scale(1.015);
}
.ng-v39-portfolio-slide strong {
    min-height: 52px;
    padding-top: 12px;
}
.ng-v39-portfolio-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
        linear-gradient(rgba(148,163,184,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148,163,184,.035) 1px, transparent 1px);
    background-size: 28px 28px;
}
.ng-v39-portfolio-placeholder svg {
    width: 48px;
    height: 48px;
    opacity: .8;
}
.ng-portfolio-card > a {
    display: block;
    color: inherit;
    text-decoration: none;
}
.ng-portfolio-card img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: contain;
}
.ng-portfolio-card h3 {
    text-align: center;
}
.ng-light .ng-v39-portfolio-image img {
    background: rgba(226, 234, 250, .55);
}
@media (max-width: 760px) {
    .ng-v39-portfolio-head {
        justify-items: start;
        text-align: right;
    }
    .ng-v39-portfolio-head .ng-kicker {
        justify-self: start;
    }
    .ng-v39-portfolio-head h2,
    .ng-v39-portfolio-head p {
        text-align: right;
        margin-inline: 0;
    }
}


/* ===== V10.41 portfolio cards + timeline default cleanup ===== */
/* نمونه‌کارها: عنوان همه کارت‌ها وسط‌چین و یکدست شود */
.ng-v39-portfolio-card-head {
    display: grid !important;
    grid-template-columns: 52px 1fr 52px !important;
    align-items: start !important;
    min-height: 74px !important;
    gap: 10px !important;
}
.ng-v39-portfolio-card-head small {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: start !important;
}
.ng-v39-portfolio-card-head > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    text-align: center !important;
}
.ng-v39-portfolio-card-head h3 {
    padding-left: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
}
.ng-v39-portfolio-card-icon {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    align-self: start !important;
}

/* تصاویر نمونه‌کار: هر سایزی باشد، کادر را کامل پر کند */
.ng-v39-portfolio-image {
    aspect-ratio: 16 / 10 !important;
    background: #071123 !important;
}
.ng-v39-portfolio-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    padding: 0 !important;
    background: transparent !important;
    transform: scale(1.001) !important;
}
.ng-v39-portfolio-slide:hover .ng-v39-portfolio-image img {
    transform: scale(1.055) !important;
}
.ng-light .ng-v39-portfolio-image {
    background: #eef4ff !important;
}
@media (max-width: 760px) {
    .ng-v39-portfolio-card-head {
        grid-template-columns: 44px 1fr 44px !important;
        min-height: 66px !important;
    }
    .ng-v39-portfolio-card-icon {
        width: 44px !important;
        height: 44px !important;
        border-radius: 16px !important;
    }
}



/* ===== V10.43 mobile/tablet homepage headings center + portfolio swipe ===== */
/* فقط در موبایل و تبلت: عنوان و توضیح زیرعنوان سکشن‌های صفحه اصلی وسط‌چین شود. برچسب‌ها/kicker دست‌نخورده می‌مانند. */
@media (max-width: 1180px) {
    body.home .ng-hero-content-v4,
    body.front-page .ng-hero-content-v4,
    .home .ng-hero-content-v4 {
        text-align: center !important;
        justify-items: center !important;
    }
    body.home .ng-hero-content-v4 h1,
    body.home .ng-hero-content-v4 p,
    body.front-page .ng-hero-content-v4 h1,
    body.front-page .ng-hero-content-v4 p,
    .home .ng-hero-content-v4 h1,
    .home .ng-hero-content-v4 p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.home .ng-section-head,
    body.front-page .ng-section-head,
    .home .ng-section-head,
    body.home .ng-v26-why-copy,
    body.front-page .ng-v26-why-copy,
    .home .ng-v26-why-copy,
    body.home .ng-smart-copy,
    body.front-page .ng-smart-copy,
    .home .ng-smart-copy,
    body.home .ng-process-visual-head,
    body.front-page .ng-process-visual-head,
    .home .ng-process-visual-head {
        text-align: center !important;
        justify-items: center !important;
    }

    body.home .ng-section-head h2,
    body.home .ng-section-head p,
    body.front-page .ng-section-head h2,
    body.front-page .ng-section-head p,
    .home .ng-section-head h2,
    .home .ng-section-head p,
    body.home .ng-v26-why-copy h2,
    body.home .ng-v26-why-copy p,
    body.front-page .ng-v26-why-copy h2,
    body.front-page .ng-v26-why-copy p,
    .home .ng-v26-why-copy h2,
    .home .ng-v26-why-copy p,
    body.home .ng-smart-copy h2,
    body.home .ng-smart-copy p,
    body.front-page .ng-smart-copy h2,
    body.front-page .ng-smart-copy p,
    .home .ng-smart-copy h2,
    .home .ng-smart-copy p,
    body.home .ng-process-visual-head h3,
    body.home .ng-process-visual-head p,
    body.front-page .ng-process-visual-head h3,
    body.front-page .ng-process-visual-head p,
    .home .ng-process-visual-head h3,
    .home .ng-process-visual-head p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* بعضی سکشن‌ها در نسخه‌های قبل روی موبایل راست‌چین شده بودند؛ فقط تیتر/توضیح برگردانده شد. */
    .ng-v39-portfolio-head,
    .ng-process-section .ng-section-head {
        justify-items: center !important;
        text-align: center !important;
    }
    .ng-v39-portfolio-head h2,
    .ng-v39-portfolio-head p,
    .ng-process-section .ng-section-head h2,
    .ng-process-section .ng-section-head p {
        text-align: center !important;
        margin-inline: auto !important;
    }
}

/* اسلایدر نمونه‌کارها: پشتیبانی بهتر از کشیدن با انگشت در موبایل و تبلت */
.ng-v39-portfolio-slider {
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
}
.ng-v39-portfolio-track {
    cursor: grab;
}
.ng-v39-portfolio-track.is-dragging {
    cursor: grabbing;
    transition: none !important;
}
.ng-v39-portfolio-slide img,
.ng-v39-portfolio-slide a {
    -webkit-user-drag: none;
    user-drag: none;
}


/* ===== V10.44 Testimonials section ===== */
.ng-v44-testimonials-section {
    position: relative;
    overflow: clip;
    isolation: isolate;
}
.ng-v44-testimonials-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-v44-testimonials-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-v44-testimonials-word {
    position: absolute;
    right: clamp(14px, 5vw, 86px);
    top: 10px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(86px, 14vw, 230px);
    font-weight: 950;
    letter-spacing: -.07em;
    opacity: .62;
    transform: rotate(3deg);
}
.ng-v44-testimonials-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(24px);
    opacity: .56;
    animation: ngV44TestimonialOrb 13s ease-in-out infinite alternate;
}
.ng-v44-testimonials-orb.orb-a {
    width: 280px;
    height: 280px;
    left: -80px;
    top: 18%;
    background: radial-gradient(circle, rgba(91,140,255,.18), transparent 68%);
}
.ng-v44-testimonials-orb.orb-b {
    width: 230px;
    height: 230px;
    right: 8%;
    bottom: 8%;
    background: radial-gradient(circle, rgba(16,185,129,.13), transparent 70%);
    animation-delay: -5s;
}
.ng-v44-testimonials-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.30), rgba(16,185,129,.18), transparent);
    animation: ngV44TestimonialLine 7s ease-in-out infinite;
}
.ng-v44-testimonials-line.line-a { top: 18%; }
.ng-v44-testimonials-line.line-b { bottom: 16%; animation-delay: -3s; }
.ng-v44-testimonials-layout {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
    gap: 28px;
    align-items: center;
}
.ng-v44-testimonials-copy h2 {
    max-width: 12ch;
    font-size: clamp(36px, 5vw, 72px);
    line-height: 1.14;
    letter-spacing: -.035em;
    text-wrap: balance;
}
.ng-v44-testimonials-copy p {
    max-width: 58ch;
    color: var(--ng-muted);
    line-height: 2.1;
    font-size: 15px;
}
.ng-v44-trust-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
    max-width: 520px;
}
.ng-v44-trust-metrics span {
    min-height: 86px;
    border-radius: 24px;
    border: 1px solid var(--ng-border);
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
    display: grid;
    place-items: center;
    text-align: center;
    padding: 12px;
}
.ng-v44-trust-metrics b {
    color: var(--ng-text);
    font-size: 28px;
    line-height: 1;
}
.ng-v44-trust-metrics small {
    color: var(--ng-muted);
    font-size: 12px;
    line-height: 1.8;
}
.ng-v44-testimonials-slider {
    position: relative;
    overflow: hidden;
    border-radius: 38px;
    padding: 18px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 18% 0%, rgba(91,140,255,.16), transparent 34%),
        radial-gradient(circle at 90% 92%, rgba(16,185,129,.10), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.03));
    box-shadow: 0 28px 80px rgba(2,6,23,.20);
}
.ng-v44-testimonials-track {
    display: flex;
    gap: 16px;
    transition: transform .45s cubic-bezier(.2,.8,.2,1);
    will-change: transform;
}
.ng-v44-testimonial-card {
    min-width: calc((100% - 32px) / 3);
    border-radius: 30px;
    padding: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
        var(--ng-card);
    position: relative;
    overflow: hidden;
}
.ng-v44-testimonial-card::before {
    content: '“';
    position: absolute;
    left: 18px;
    top: -12px;
    font-size: 110px;
    line-height: 1;
    color: rgba(147,197,253,.10);
    font-weight: 950;
}
.ng-v44-testimonial-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.ng-v44-avatar {
    width: 54px;
    height: 54px;
    border-radius: 20px;
    display: grid;
    place-items: center;
    overflow: hidden;
    flex: 0 0 auto;
    color: #fff;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 16px 32px rgba(37,99,235,.22);
}
.ng-v44-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ng-v44-avatar b {
    font-size: 20px;
    font-weight: 950;
}
.ng-v44-testimonial-top strong {
    display: block;
    color: var(--ng-text);
    font-size: 15px;
    line-height: 1.5;
}
.ng-v44-testimonial-top small {
    display: block;
    color: var(--ng-muted);
    font-size: 12px;
    margin-top: 3px;
}
.ng-v44-stars {
    position: relative;
    z-index: 2;
    color: #fbbf24;
    letter-spacing: 2px;
    font-size: 14px;
    margin-bottom: 12px;
    text-shadow: 0 0 16px rgba(251,191,36,.18);
}
.ng-v44-testimonial-card p {
    position: relative;
    z-index: 2;
    color: var(--ng-soft);
    line-height: 2;
    font-size: 13px;
    min-height: 118px;
}
.ng-v44-testimonial-badge {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(91,140,255,.12);
    border: 1px solid rgba(147,197,253,.18);
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 900;
}
.ng-v44-testimonials-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 14px;
}
.ng-v44-testimonials-nav {
    width: 38px;
    height: 38px;
    border: 1px solid var(--ng-border);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    color: var(--ng-text);
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}
.ng-v44-testimonials-nav:hover {
    background: rgba(91,140,255,.12);
    border-color: rgba(147,197,253,.32);
}
.ng-v44-testimonials-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    flex: 1;
}
.ng-v44-testimonials-dots i {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(148,163,184,.36);
    transition: width .25s ease, background .25s ease;
}
.ng-v44-testimonials-dots i.active {
    width: 20px;
    background: linear-gradient(90deg, var(--ng-blue), var(--ng-violet));
}
.ng-light .ng-v44-testimonials-word {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}
.ng-light .ng-v44-testimonials-slider,
.ng-light .ng-v44-testimonial-card,
.ng-light .ng-v44-trust-metrics span {
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.86));
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-v44-testimonial-card p {
    color: #43536d;
}
.ng-light .ng-v44-testimonials-nav {
    background: rgba(255,255,255,.76);
    color: #172643;
    border-color: rgba(30,58,138,.12);
}
@media (max-width: 1180px) {
    .ng-v44-testimonials-layout {
        grid-template-columns: 1fr;
    }
    .ng-v44-testimonials-copy {
        text-align: center;
    }
    .ng-v44-testimonials-copy h2,
    .ng-v44-testimonials-copy p,
    .ng-v44-trust-metrics {
        margin-inline: auto;
    }
}
@media (max-width: 900px) {
    .ng-v44-testimonial-card {
        min-width: calc((100% - 16px) / 2);
    }
}
@media (max-width: 680px) {
    .ng-v44-testimonials-copy {
        text-align: center;
    }
    .ng-v44-testimonials-copy h2 {
        max-width: 13ch;
        font-size: clamp(31px, 9vw, 48px);
        margin-inline: auto;
    }
    .ng-v44-testimonials-copy p {
        margin-inline: auto;
    }
    .ng-v44-trust-metrics {
        grid-template-columns: 1fr;
    }
    .ng-v44-testimonials-slider {
        border-radius: 28px;
        padding: 14px;
    }
    .ng-v44-testimonial-card {
        min-width: 100%;
        border-radius: 24px;
    }
}
@keyframes ngV44TestimonialOrb {
    0% { transform: translate3d(0,0,0) scale(1); }
    100% { transform: translate3d(0,-18px,0) scale(1.05); }
}
@keyframes ngV44TestimonialLine {
    0%, 100% { opacity: .22; transform: scaleX(.72); }
    50% { opacity: .72; transform: scaleX(1); }
}


/* ===== V10.47 scoped mobile fixes only ===== */
/* 1) مشکل واقعی: کارت‌های ویژگی بخش چرا نت گردی در Chrome Android */
@media (max-width: 900px) {
    .ng-v26-why-section .ng-v26-why-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ng-v26-why-section .ng-v26-why-copy,
    .ng-v26-why-section .ng-v26-why-side-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ng-v26-why-section .ng-v26-why-checks {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
    }

    .ng-v26-why-section .ng-v26-why-checks span {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        min-height: 64px !important;
        padding: 14px 16px !important;
        text-align: right !important;
    }

    .ng-v26-why-section .ng-v26-why-checks span b {
        flex: 0 0 auto !important;
    }
}

/* در تبلت، اگر فضا کافی بود دو ستونه تمیز باشد */
@media (min-width: 701px) and (max-width: 900px) {
    .ng-v26-why-section .ng-v26-why-checks {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* 2) اسلایدر نمونه‌کار و نظرات در موبایل/تبلت: هر کارت همیشه تک‌اسلایدی باشد */
@media (max-width: 1024px) {
    .ng-v39-portfolio-slider {
        overflow: hidden !important;
    }

    .ng-v39-portfolio-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }

    .ng-v39-portfolio-slide {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }

    .ng-v44-testimonials-slider {
        overflow: hidden !important;
    }

    .ng-v44-testimonials-track {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }

    .ng-v44-testimonial-card {
        flex: 0 0 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
    }
}

/* 3) سبک‌سازی خیلی محدود فقط برای بخش چرا نت گردی در موبایل؛ مراحل سفارش دست نخورده بماند */
@media (max-width: 900px) {
    .ng-v26-why-section .ng-v26-why-orb,
    .ng-v26-why-section .ng-v26-why-line,
    .ng-v26-why-section .ng-v26-why-pattern {
        animation: none !important;
        filter: none !important;
    }

    .ng-v26-why-section .ng-v26-why-checks span,
    .ng-v26-why-section .ng-v26-why-side-card {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
}


/* ===== V10.48 Why section mobile/tablet spacing fix only ===== */
/* مشکل: در موبایل/تبلت کادرهای بخش «چرا نت گردی» به لبه صفحه چسبیده بودند. */
@media (max-width: 900px) {
    .ng-v26-why-section {
        overflow: hidden;
    }

    .ng-v26-why-section .ng-container.ng-v26-why-grid,
    .ng-v26-why-section .ng-container.ng-split.ng-v26-why-grid {
        width: min(100% - 32px, 720px) !important;
        max-width: 720px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    .ng-v26-why-section .ng-v26-why-copy,
    .ng-v26-why-section .ng-v26-why-side-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    .ng-v26-why-section .ng-v26-why-checks {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
    }

    .ng-v26-why-section .ng-v26-why-checks span {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 520px) {
    .ng-v26-why-section .ng-container.ng-v26-why-grid,
    .ng-v26-why-section .ng-container.ng-split.ng-v26-why-grid {
        width: min(100% - 28px, 480px) !important;
    }

    .ng-v26-why-section .ng-v26-why-checks {
        gap: 10px !important;
    }

    .ng-v26-why-section .ng-v26-why-checks span {
        min-height: 58px !important;
        padding: 13px 14px !important;
    }
}


/* ===== V10.54 Lite Mode, based on V10.51, normal version untouched ===== */
/* فقط وقتی html.ng-lite-mode فعال شود اجرا می‌شود. نسخه عادی هیچ تغییری نمی‌کند. */

/* حفظ ساختار و چیدمان؛ فقط هزینه‌های گرافیکی سنگین کم می‌شود */
html.ng-lite-mode .ng-reveal {
    opacity: 1 !important;
    transform: none !important;
}

/* افکت‌های سنگین شیشه‌ای روی کارت‌های محتوایی سبک می‌شوند؛ هدر و منوی چسبان عمداً دست نخورده‌اند */
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-package-card,
html.ng-lite-mode .ng-advisor-card,
html.ng-lite-mode .ng-process-step,
html.ng-lite-mode .ng-process-visual,
html.ng-lite-mode .ng-smart-platform-card,
html.ng-lite-mode .ng-v39-portfolio-category-card,
html.ng-lite-mode .ng-v39-portfolio-slider,
html.ng-lite-mode .ng-v44-testimonial-card,
html.ng-lite-mode .ng-v44-testimonials-slider,
html.ng-lite-mode .ng-bale-card,
html.ng-lite-mode .ng-faq-item,
html.ng-lite-mode .ng-cta-card,
html.ng-lite-mode .ng-cta-card-v4 {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* کاهش blurهای سنگین که در Android Chrome بیشترین paint cost را دارند */
html.ng-lite-mode .ng-hero-glow,
html.ng-lite-mode .ng-glow-a,
html.ng-lite-mode .ng-glow-b,
html.ng-lite-mode .ng-glow-c,
html.ng-lite-mode .ng-v26-why-orb,
html.ng-lite-mode .ng-v27-advisor-orb,
html.ng-lite-mode .ng-v27-packages-orb,
html.ng-lite-mode .ng-smart-bg-orb,
html.ng-lite-mode .ng-v39-portfolio-orb,
html.ng-lite-mode .ng-v44-testimonials-orb,
html.ng-lite-mode .ng-process-aurora,
html.ng-lite-mode .ng-process-visual::after,
html.ng-lite-mode .ng-process-core-mark::before,
html.ng-lite-mode .ng-v26-why-pattern,
html.ng-lite-mode .ng-smart-mesh,
html.ng-lite-mode .ng-process-grid-layer {
    filter: none !important;
}

/* انیمیشن‌های سنگین تزئینی در Lite خاموش می‌شوند، ولی چیدمان و متن و کارت‌ها تغییر نمی‌کنند */
html.ng-lite-mode .ng-hero-glow,
html.ng-lite-mode .ng-v26-why-orb,
html.ng-lite-mode .ng-v27-advisor-orb,
html.ng-lite-mode .ng-v27-packages-orb,
html.ng-lite-mode .ng-smart-bg-orb,
html.ng-lite-mode .ng-smart-ring,
html.ng-lite-mode .ng-smart-mesh,
html.ng-lite-mode .ng-smart-node,
html.ng-lite-mode .ng-process-aurora,
html.ng-lite-mode .ng-process-path,
html.ng-lite-mode .ng-process-core-mark::before,
html.ng-lite-mode .ng-process-core-icon-orbit,
html.ng-lite-mode .ng-workflow-cycle,
html.ng-lite-mode .ng-v39-portfolio-orb,
html.ng-lite-mode .ng-v39-portfolio-line,
html.ng-lite-mode .ng-v39-portfolio-word,
html.ng-lite-mode .ng-v44-testimonials-orb,
html.ng-lite-mode .ng-v44-testimonials-line,
html.ng-lite-mode .ng-v44-testimonials-word {
    animation: none !important;
}

/* hover در گوشی ضعیف هزینه repaint اضافه دارد */
html.ng-lite-mode .ng-card:hover,
html.ng-lite-mode .ng-package-card:hover,
html.ng-lite-mode .ng-advisor-card:hover,
html.ng-lite-mode .ng-process-step:hover,
html.ng-lite-mode .ng-v39-portfolio-category-card:hover,
html.ng-lite-mode .ng-v39-portfolio-slide:hover .ng-v39-portfolio-image img,
html.ng-lite-mode .ng-btn:hover {
    transform: none !important;
    filter: none !important;
}

/* کنترل overflow فقط برای lite و بدون دست زدن به هدر */
@media (max-width: 900px) {
    html.ng-lite-mode,
    html.ng-lite-mode body {
        max-width: 100%;
        overflow-x: hidden;
    }

    html.ng-lite-mode img,
    html.ng-lite-mode video,
    html.ng-lite-mode canvas,
    html.ng-lite-mode svg {
        max-width: 100%;
    }
}


/* ===== V10.55 Strong Lite Mode only ===== */
/* فقط وقتی html.ng-lite-mode فعال باشد اجرا می‌شود. نسخه عادی دقیقاً مثل قبل می‌ماند. */

/* هدر در حالت لایت حتماً چسبان بماند */
html.ng-lite-mode .ng-site-header,
html.ng-lite-mode #ng-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    transform: none !important;
}

/* در Lite همه حرکت‌ها و ترنزیشن‌های تزئینی خاموش شوند */
html.ng-lite-mode *,
html.ng-lite-mode *::before,
html.ng-lite-mode *::after {
    animation: none !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
}

/* reveal نباید منتظر observer یا انیمیشن بماند */
html.ng-lite-mode .ng-reveal,
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-section-head,
html.ng-lite-mode .ng-hero-content,
html.ng-lite-mode .ng-hero-visual {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

/* حالت شیشه‌ای واقعی و پردازش‌های سنگین حذف شوند */
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-nav,
html.ng-lite-mode .ng-mobile-drawer,
html.ng-lite-mode .ng-package-card,
html.ng-lite-mode .ng-advisor-card,
html.ng-lite-mode .ng-process-step,
html.ng-lite-mode .ng-process-visual,
html.ng-lite-mode .ng-smart-platform-card,
html.ng-lite-mode .ng-v39-portfolio-category-card,
html.ng-lite-mode .ng-v39-portfolio-slider,
html.ng-lite-mode .ng-v44-testimonial-card,
html.ng-lite-mode .ng-v44-testimonials-slider,
html.ng-lite-mode .ng-bale-card,
html.ng-lite-mode .ng-faq-item,
html.ng-lite-mode .ng-cta-card,
html.ng-lite-mode .ng-cta-card-v4 {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    will-change: auto !important;
}

/* تزئینات سنگین، پارالاکس، glow، orbit، grid و موج‌ها در Lite حذف شوند */
html.ng-lite-mode .ng-hero-glow,
html.ng-lite-mode .ng-glow-a,
html.ng-lite-mode .ng-glow-b,
html.ng-lite-mode .ng-glow-c,
html.ng-lite-mode .ng-v26-why-bg,
html.ng-lite-mode .ng-v27-advisor-bg,
html.ng-lite-mode .ng-v27-packages-bg,
html.ng-lite-mode .ng-smart-platform-bg,
html.ng-lite-mode .ng-v39-portfolio-bg,
html.ng-lite-mode .ng-v44-testimonials-bg,
html.ng-lite-mode .ng-process-aurora,
html.ng-lite-mode .ng-process-path,
html.ng-lite-mode .ng-process-wave,
html.ng-lite-mode .ng-process-grid-layer,
html.ng-lite-mode .ng-process-data-line,
html.ng-lite-mode .ng-smart-ring,
html.ng-lite-mode .ng-smart-mesh,
html.ng-lite-mode .ng-smart-bg-orb,
html.ng-lite-mode .ng-smart-bg-line,
html.ng-lite-mode .ng-v39-portfolio-orb,
html.ng-lite-mode .ng-v39-portfolio-line,
html.ng-lite-mode .ng-v39-portfolio-word,
html.ng-lite-mode .ng-v44-testimonials-orb,
html.ng-lite-mode .ng-v44-testimonials-line,
html.ng-lite-mode .ng-v44-testimonials-word {
    display: none !important;
}

/* pseudo-elementهای تزئینی سنگین داخل کارت‌های گرافیکی در Lite خاموش شوند */
html.ng-lite-mode .ng-process-core-mark::before,
html.ng-lite-mode .ng-process-core-mark::after,
html.ng-lite-mode .ng-smart-platform-card::before,
html.ng-lite-mode .ng-v39-portfolio-category-card::before,
html.ng-lite-mode .ng-v44-testimonial-card::before,
html.ng-lite-mode .ng-process-visual::before,
html.ng-lite-mode .ng-process-visual::after {
    display: none !important;
}

/* Hover در گوشی ضعیف نیاز نیست و repaint می‌سازد */
html.ng-lite-mode .ng-card:hover,
html.ng-lite-mode .ng-package-card:hover,
html.ng-lite-mode .ng-advisor-card:hover,
html.ng-lite-mode .ng-process-step:hover,
html.ng-lite-mode .ng-smart-node:hover,
html.ng-lite-mode .ng-v39-portfolio-category-card:hover,
html.ng-lite-mode .ng-v39-portfolio-slide:hover .ng-v39-portfolio-image img,
html.ng-lite-mode .ng-btn:hover {
    transform: none !important;
    filter: none !important;
    box-shadow: inherit !important;
}

/* اسلایدرها در Lite فقط دستی باشند؛ JS autoplay را خاموش می‌کند */
html.ng-lite-mode .ng-v39-portfolio-track,
html.ng-lite-mode .ng-v44-testimonials-track {
    will-change: transform !important;
}

/* در Lite، خود سکشن مدیریت هوشمند ساده و قابل لود بماند */
html.ng-lite-mode .ng-smart-orbit,
html.ng-lite-mode .ng-process-stage {
    overflow: hidden !important;
}

html.ng-lite-mode .ng-smart-node,
html.ng-lite-mode .ng-process-chip {
    animation: none !important;
    transform: none !important;
}

/* کنترل ساده overflow در Lite */
@media (max-width: 900px) {
    html.ng-lite-mode,
    html.ng-lite-mode body {
        max-width: 100%;
        overflow-x: hidden;
    }

    html.ng-lite-mode img,
    html.ng-lite-mode video,
    html.ng-lite-mode canvas,
    html.ng-lite-mode svg {
        max-width: 100%;
    }
}


/* ===== V10.56 Lite Mode final fixes ===== */
/* فقط حالت Lite را اصلاح می‌کند؛ نسخه عادی و طراحی اصلی دست نخورده است. */

/* 1) هدر در Lite حتماً چسبان/ثابت باشد */
html.ng-lite-mode body.ng-body {
    padding-top: 96px !important;
}
html.ng-lite-mode #ng-header,
html.ng-lite-mode .ng-header {
    position: fixed !important;
    top: 10px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2147483000 !important;
    margin: 0 !important;
    transform: none !important;
    will-change: auto !important;
}
html.ng-lite-mode #ng-header .ng-header-inner,
html.ng-lite-mode .ng-header .ng-header-inner {
    min-height: 66px !important;
    background: rgba(15, 23, 42, .94) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: 0 10px 28px rgba(2, 6, 23, .22) !important;
}
html.ng-lite-mode.ng-light #ng-header .ng-header-inner,
html.ng-lite-mode.ng-light .ng-header .ng-header-inner {
    background: rgba(255, 255, 255, .96) !important;
}

/* 2) مدیریت هوشمند در Lite ساده، مرتب و بدون بهم‌ریختگی گرافیک */
html.ng-lite-mode .ng-smart-platform-section {
    overflow: hidden !important;
}
html.ng-lite-mode .ng-smart-platform-card {
    overflow: hidden !important;
}
html.ng-lite-mode .ng-smart-orbit {
    min-height: 190px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 0 !important;
    overflow: hidden !important;
}
html.ng-lite-mode .ng-smart-orbit::before,
html.ng-lite-mode .ng-smart-orbit::after,
html.ng-lite-mode .ng-smart-mesh,
html.ng-lite-mode .ng-smart-ring,
html.ng-lite-mode .ng-smart-node,
html.ng-lite-mode .ng-smart-core-pulse {
    display: none !important;
}
html.ng-lite-mode .ng-smart-core {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    width: 142px !important;
    height: 142px !important;
    max-width: 142px !important;
    max-height: 142px !important;
    border-radius: 34px !important;
    display: grid !important;
    place-items: center !important;
    opacity: 1 !important;
}
html.ng-lite-mode .ng-smart-core::before,
html.ng-lite-mode .ng-smart-core::after {
    display: none !important;
}

/* 3) Lite واقعی‌تر: حذف هزینه‌های paint/repaint بدون تغییر محتوای سایت */
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-package-card,
html.ng-lite-mode .ng-advisor-card,
html.ng-lite-mode .ng-process-step,
html.ng-lite-mode .ng-process-visual,
html.ng-lite-mode .ng-smart-platform-card,
html.ng-lite-mode .ng-v39-portfolio-category-card,
html.ng-lite-mode .ng-v39-portfolio-slider,
html.ng-lite-mode .ng-v44-testimonial-card,
html.ng-lite-mode .ng-v44-testimonials-slider,
html.ng-lite-mode .ng-bale-card,
html.ng-lite-mode .ng-faq-item,
html.ng-lite-mode .ng-cta-card,
html.ng-lite-mode .ng-cta-card-v4 {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

/* کارت‌ها هنوز رنگ پایه خودشان را دارند، فقط چندلایه‌های گرادینتی سنگین حذف می‌شود */
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-package-card,
html.ng-lite-mode .ng-advisor-card,
html.ng-lite-mode .ng-process-step,
html.ng-lite-mode .ng-process-visual,
html.ng-lite-mode .ng-smart-platform-card,
html.ng-lite-mode .ng-v39-portfolio-category-card,
html.ng-lite-mode .ng-v44-testimonial-card {
    background-color: rgba(15, 23, 42, .58) !important;
}
html.ng-lite-mode.ng-light .ng-card,
html.ng-lite-mode.ng-light .ng-package-card,
html.ng-lite-mode.ng-light .ng-advisor-card,
html.ng-lite-mode.ng-light .ng-process-step,
html.ng-lite-mode.ng-light .ng-process-visual,
html.ng-lite-mode.ng-light .ng-smart-platform-card,
html.ng-lite-mode.ng-light .ng-v39-portfolio-category-card,
html.ng-lite-mode.ng-light .ng-v44-testimonial-card {
    background-color: rgba(255, 255, 255, .92) !important;
}

/* حذف تزئینات pseudo سنگین باقی‌مانده در Lite */
html.ng-lite-mode .ng-card::before,
html.ng-lite-mode .ng-card::after,
html.ng-lite-mode .ng-package-card::before,
html.ng-lite-mode .ng-package-card::after,
html.ng-lite-mode .ng-advisor-card::before,
html.ng-lite-mode .ng-advisor-card::after,
html.ng-lite-mode .ng-v39-portfolio-category-card::before,
html.ng-lite-mode .ng-v39-portfolio-category-card::after,
html.ng-lite-mode .ng-v44-testimonial-card::before,
html.ng-lite-mode .ng-v44-testimonial-card::after {
    display: none !important;
}

/* حذف repaint اسکرول ناشی از پس‌زمینه‌های گرافیکی اصلی */
html.ng-lite-mode .ng-body,
html.ng-lite-mode body {
    background-attachment: scroll !important;
}
html.ng-lite-mode .ng-section {
    background-image: none !important;
}

/* در Lite، تغییرات ظاهری موقع اسکرول/هاور کاملاً صفر شود */
html.ng-lite-mode .ng-header,
html.ng-lite-mode .ng-header-inner,
html.ng-lite-mode .ng-card,
html.ng-lite-mode .ng-btn,
html.ng-lite-mode .ng-package-card,
html.ng-lite-mode .ng-advisor-card,
html.ng-lite-mode .ng-process-step,
html.ng-lite-mode .ng-smart-platform-card,
html.ng-lite-mode .ng-v39-portfolio-category-card,
html.ng-lite-mode .ng-v44-testimonial-card {
    transition: none !important;
}

/* 4) حفظ اسلایدر دستی: فقط رندر سبک‌تر، دکمه و تاچ با JS کار می‌کند */
html.ng-lite-mode .ng-v39-portfolio-track,
html.ng-lite-mode .ng-v44-testimonials-track {
    will-change: transform !important;
    backface-visibility: hidden !important;
}


/* ===== V10.57 Lite Mode hero + light-mode smoothness fixes ===== */
/* فقط حالت Lite را اصلاح می‌کند؛ نسخه عادی هیچ تغییری نمی‌کند. */

/* مشکل گیر بخش Hero در Lite: تزئینات و لایه‌های سنگین Hero کامل ساده شوند */
html.ng-lite-mode .ng-hero,
html.ng-lite-mode .ng-v23-home-hero,
html.ng-lite-mode .ng-hero-shell,
html.ng-lite-mode .ng-hero-visual,
html.ng-lite-mode .ng-hero-card,
html.ng-lite-mode .ng-hero-main-card,
html.ng-lite-mode .ng-hero-side-card,
html.ng-lite-mode .ng-hero-stack,
html.ng-lite-mode .ng-hero-content {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    will-change: auto !important;
    transform: none !important;
    transition: none !important;
}

/* حذف pseudo/تزئینات سنگین Hero فقط در Lite */
html.ng-lite-mode .ng-hero::before,
html.ng-lite-mode .ng-hero::after,
html.ng-lite-mode .ng-v23-home-hero::before,
html.ng-lite-mode .ng-v23-home-hero::after,
html.ng-lite-mode .ng-hero-shell::before,
html.ng-lite-mode .ng-hero-shell::after,
html.ng-lite-mode .ng-hero-visual::before,
html.ng-lite-mode .ng-hero-visual::after,
html.ng-lite-mode .ng-hero-card::before,
html.ng-lite-mode .ng-hero-card::after,
html.ng-lite-mode .ng-hero-main-card::before,
html.ng-lite-mode .ng-hero-main-card::after,
html.ng-lite-mode .ng-hero-side-card::before,
html.ng-lite-mode .ng-hero-side-card::after {
    display: none !important;
}

/* پس‌زمینه‌های چندلایه Hero در Lite به رنگ ساده تبدیل شوند */
html.ng-lite-mode .ng-hero,
html.ng-lite-mode .ng-v23-home-hero {
    background-image: none !important;
}
html.ng-lite-mode .ng-hero-card,
html.ng-lite-mode .ng-hero-main-card,
html.ng-lite-mode .ng-hero-side-card {
    background-image: none !important;
    background-color: rgba(15, 23, 42, .58) !important;
}
html.ng-lite-mode.ng-light .ng-hero-card,
html.ng-lite-mode.ng-light .ng-hero-main-card,
html.ng-lite-mode.ng-light .ng-hero-side-card {
    background-image: none !important;
    background-color: rgba(255, 255, 255, .94) !important;
}

/* حالت روشن Lite: مشکل لگ معمولاً از لایه‌های روشن، شفاف و shadowهای زیاد است */
html.ng-lite-mode.ng-light body,
html.ng-lite-mode.ng-light .ng-body {
    background:
        linear-gradient(180deg, #f7faff 0%, #eef4ff 100%) !important;
    background-attachment: scroll !important;
}

html.ng-lite-mode.ng-light .ng-section,
html.ng-lite-mode.ng-light .ng-page,
html.ng-lite-mode.ng-light .ng-site-main {
    background-image: none !important;
}

/* در light+lite تمام glow/pseudo تزئینی باقی‌مانده خنثی شود */
html.ng-lite-mode.ng-light *::before,
html.ng-lite-mode.ng-light *::after {
    box-shadow: none !important;
    text-shadow: none !important;
}

/* ولی pseudoهای محتوایی مثل آیکون‌های ضروری پنهان نشوند؛ فقط مواردی که خودشان تزئینی و سنگینند قبلاً display none شدند */

/* کاهش هزینه اسکرول با کارت‌های زیاد در light lite */
html.ng-lite-mode.ng-light .ng-card,
html.ng-lite-mode.ng-light .ng-package-card,
html.ng-lite-mode.ng-light .ng-advisor-card,
html.ng-lite-mode.ng-light .ng-process-step,
html.ng-lite-mode.ng-light .ng-process-visual,
html.ng-lite-mode.ng-light .ng-smart-platform-card,
html.ng-lite-mode.ng-light .ng-v39-portfolio-category-card,
html.ng-lite-mode.ng-light .ng-v44-testimonial-card,
html.ng-lite-mode.ng-light .ng-bale-card,
html.ng-lite-mode.ng-light .ng-faq-item,
html.ng-lite-mode.ng-light .ng-cta-card,
html.ng-lite-mode.ng-light .ng-cta-card-v4 {
    background-image: none !important;
    box-shadow: none !important;
}

/* Hero visual در Lite موبایل سبک‌تر و پایدارتر */
@media (max-width: 900px) {
    html.ng-lite-mode .ng-hero-visual,
    html.ng-lite-mode .ng-hero-shell {
        contain: layout paint !important;
    }

    html.ng-lite-mode .ng-hero-glow,
    html.ng-lite-mode .ng-hero-orb,
    html.ng-lite-mode .ng-hero-noise {
        display: none !important;
    }

    html.ng-lite-mode .ng-hero-card,
    html.ng-lite-mode .ng-hero-main-card,
    html.ng-lite-mode .ng-hero-side-card {
        transform: none !important;
        animation: none !important;
    }
}

/* اسکرول Lite در اندروید: overscroll و paint اضافه کم شود */
@media (max-width: 900px) {
    html.ng-lite-mode body {
        overscroll-behavior-y: contain;
    }

    html.ng-lite-mode .ng-site-main {
        transform: none !important;
        will-change: auto !important;
    }
}


/* ===== V10.58 Lite Hero restore fix ===== */
/* مشکل V10.57: .ng-hero-grid اشتباهاً به عنوان تزئین پنهان شده بود؛ در حالی که کانتینر اصلی Hero است. */
@media (max-width: 900px) {
    html.ng-lite-mode .ng-hero-grid,
    html.ng-lite-mode .ng-hero-grid-v4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 22px !important;
        align-items: stretch !important;
        width: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ng-lite-mode .ng-hero-content,
    html.ng-lite-mode .ng-hero-content-v4,
    html.ng-lite-mode .ng-hero-visual,
    html.ng-lite-mode .ng-hero-visual-v4 {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ng-lite-mode .ng-hero-bg {
        display: none !important;
    }
}


/* ===== V10.60 focused fixes from V10.58 ===== */
/*
  پایه: V10.58، نه V10.59.
  هدف:
  1) حالت عادی نسبت به V10.51 خراب نشود.
  2) برچسب‌ها در موبایل/تبلت کنار بمانند، نه وسط.
  3) فقط Hero حالت Lite اصلاح شود، بدون برگرداندن افکت‌های سنگین.
*/

/* Hero Lite: کانتینر و کادرها از لبه صفحه فاصله بگیرند و چیدمان خراب نشود. */
@media (max-width: 900px) {
    html.ng-lite-mode .ng-hero,
    html.ng-lite-mode .ng-v23-home-hero {
        overflow: hidden !important;
    }

    html.ng-lite-mode .ng-container.ng-hero-grid,
    html.ng-lite-mode .ng-hero .ng-container,
    html.ng-lite-mode .ng-v23-home-hero .ng-container,
    html.ng-lite-mode .ng-hero-grid,
    html.ng-lite-mode .ng-hero-grid-v4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: min(100% - 30px, 640px) !important;
        max-width: 640px !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        gap: 22px !important;
        align-items: stretch !important;
        box-sizing: border-box !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    html.ng-lite-mode .ng-hero-content,
    html.ng-lite-mode .ng-hero-content-v4,
    html.ng-lite-mode .ng-hero-visual,
    html.ng-lite-mode .ng-hero-visual-v4,
    html.ng-lite-mode .ng-dashboard-mock,
    html.ng-lite-mode .ng-dashboard-showcase {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* دکمه‌ها مثل قبل دکمه بمانند، اما فیلدهای مزیت زیرشان کوچک و جمع نشوند. */
    html.ng-lite-mode .ng-hero-actions {
        width: 100% !important;
        max-width: 100% !important;
        justify-content: center !important;
        gap: 10px !important;
    }

    html.ng-lite-mode .ng-sales-benefits-vfinal,
    html.ng-lite-mode .ng-v23-icon-bullets {
        width: 100% !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        margin-inline: 0 !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    html.ng-lite-mode .ng-sales-benefits-vfinal span,
    html.ng-lite-mode .ng-v23-icon-bullets span {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 46px !important;
        padding: 12px 14px !important;
        box-sizing: border-box !important;
        justify-content: flex-start !important;
        text-align: right !important;
    }

    /* فقط بک‌گراند تزئینی هیرو در Lite خاموش بماند؛ خود grid هرگز مخفی نشود. */
    html.ng-lite-mode .ng-hero-bg {
        display: none !important;
    }
}

@media (max-width: 520px) {
    html.ng-lite-mode .ng-container.ng-hero-grid,
    html.ng-lite-mode .ng-hero .ng-container,
    html.ng-lite-mode .ng-v23-home-hero .ng-container,
    html.ng-lite-mode .ng-hero-grid,
    html.ng-lite-mode .ng-hero-grid-v4 {
        width: min(100% - 26px, 480px) !important;
    }
}


/* ===== V10.61 Lite Mode for inner pages ===== */
/*
  فقط حالت Lite را برای صفحات داخلی سبک‌تر می‌کند.
  حالت عادی هیچ تغییری ندارد.
  صفحه ثبت سفارش و پنل کاربری اگر Raw باشند طبق منطق قبلی خارج از Lite می‌مانند.
*/

/* صفحات داخلی: hero و محتوای عمومی بدون لایه‌های سنگین */
html.ng-lite-mode .ng-page-hero,
html.ng-lite-mode .ng-package-landing-hero,
html.ng-lite-mode .ng-package-hero-pro {
    background-image: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    overflow: hidden !important;
}

html.ng-lite-mode .ng-page-hero::before,
html.ng-lite-mode .ng-page-hero::after,
html.ng-lite-mode .ng-package-landing-hero::before,
html.ng-lite-mode .ng-package-landing-hero::after,
html.ng-lite-mode .ng-package-hero-pro::before,
html.ng-lite-mode .ng-package-hero-pro::after,
html.ng-lite-mode .ng-package-landing-hero .ng-hero-bg,
html.ng-lite-mode .ng-package-hero-pro .ng-hero-bg {
    display: none !important;
}

/* کارت‌ها و پنل‌های داخلی مثل درباره، تماس، قوانین، حریم خصوصی، FAQ، نمونه‌کار و پکیج‌ها */
html.ng-lite-mode .ng-content-card,
html.ng-lite-mode .ng-glass-stack,
html.ng-lite-mode .ng-stack-card,
html.ng-lite-mode .ng-contact-grid,
html.ng-lite-mode .ng-portfolio-card,
html.ng-lite-mode .ng-empty,
html.ng-lite-mode .ng-package-detail-card,
html.ng-lite-mode .ng-package-detail-card-pro,
html.ng-lite-mode .ng-package-value-panel,
html.ng-lite-mode .ng-package-sections .ng-card,
html.ng-lite-mode .ng-package-process .ng-card,
html.ng-lite-mode .ng-package-faq .ng-card,
html.ng-lite-mode .ng-package-final-card,
html.ng-lite-mode .ng-single-image,
html.ng-lite-mode .ng-checks span,
html.ng-lite-mode .ng-package-hero-pills span,
html.ng-lite-mode .ng-faq-list .ng-faq-item {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
    will-change: auto !important;
    transform: none !important;
    transition: none !important;
}

/* حذف pseudoهای تزئینی سنگین در صفحات داخلی */
html.ng-lite-mode .ng-content-card::before,
html.ng-lite-mode .ng-content-card::after,
html.ng-lite-mode .ng-stack-card::before,
html.ng-lite-mode .ng-stack-card::after,
html.ng-lite-mode .ng-portfolio-card::before,
html.ng-lite-mode .ng-portfolio-card::after,
html.ng-lite-mode .ng-package-detail-card::before,
html.ng-lite-mode .ng-package-detail-card::after,
html.ng-lite-mode .ng-package-value-panel::before,
html.ng-lite-mode .ng-package-value-panel::after,
html.ng-lite-mode .ng-single-image::before,
html.ng-lite-mode .ng-single-image::after {
    display: none !important;
}

/* رنگ ساده و سبک برای کارت‌های صفحات داخلی در Lite */
html.ng-lite-mode .ng-content-card,
html.ng-lite-mode .ng-stack-card,
html.ng-lite-mode .ng-portfolio-card,
html.ng-lite-mode .ng-package-detail-card,
html.ng-lite-mode .ng-package-value-panel,
html.ng-lite-mode .ng-package-sections .ng-card,
html.ng-lite-mode .ng-package-process .ng-card,
html.ng-lite-mode .ng-package-faq .ng-card,
html.ng-lite-mode .ng-package-final-card,
html.ng-lite-mode .ng-faq-list .ng-faq-item {
    background-color: rgba(15, 23, 42, .58) !important;
}

html.ng-lite-mode.ng-light .ng-content-card,
html.ng-lite-mode.ng-light .ng-stack-card,
html.ng-lite-mode.ng-light .ng-portfolio-card,
html.ng-lite-mode.ng-light .ng-package-detail-card,
html.ng-lite-mode.ng-light .ng-package-value-panel,
html.ng-lite-mode.ng-light .ng-package-sections .ng-card,
html.ng-lite-mode.ng-light .ng-package-process .ng-card,
html.ng-lite-mode.ng-light .ng-package-faq .ng-card,
html.ng-lite-mode.ng-light .ng-package-final-card,
html.ng-lite-mode.ng-light .ng-faq-list .ng-faq-item {
    background-color: rgba(255, 255, 255, .92) !important;
}

/* تصاویر نمونه‌کار و تصاویر داخلی در Lite هنگام اسکرول repaint سنگین ندهند */
html.ng-lite-mode .ng-portfolio-card img,
html.ng-lite-mode .ng-single-image img,
html.ng-lite-mode .ng-content-card img,
html.ng-lite-mode .ng-package-detail-card img {
    filter: none !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

/* پکیج‌ها: گرافیک‌های تزئینی و آیکون‌های بزرگ بدون انیمیشن/hover */
html.ng-lite-mode .ng-package-icon,
html.ng-lite-mode .ng-package-detail-card .ng-package-icon {
    animation: none !important;
    filter: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* صفحات داخلی در موبایل Lite: کانتینرها از لبه فاصله امن بگیرند و overflow ندهند */
@media (max-width: 900px) {
    html.ng-lite-mode .ng-page-hero .ng-container,
    html.ng-lite-mode .ng-section .ng-container,
    html.ng-lite-mode .ng-package-detail-grid,
    html.ng-lite-mode .ng-contact-grid,
    html.ng-lite-mode .ng-portfolio-grid,
    html.ng-lite-mode .ng-package-grid {
        max-width: min(100% - 28px, 720px) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    html.ng-lite-mode .ng-split,
    html.ng-lite-mode .ng-contact-grid,
    html.ng-lite-mode .ng-package-detail-grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
    }

    html.ng-lite-mode .ng-content-card,
    html.ng-lite-mode .ng-package-detail-card,
    html.ng-lite-mode .ng-package-value-panel,
    html.ng-lite-mode .ng-portfolio-card,
    html.ng-lite-mode .ng-faq-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
}

/* حالت روشن Lite صفحات داخلی: پس‌زمینه ساده‌تر برای اسکرول روان‌تر */
html.ng-lite-mode.ng-light .ng-page-hero,
html.ng-lite-mode.ng-light .ng-package-landing-hero,
html.ng-lite-mode.ng-light .ng-package-hero-pro {
    background: transparent !important;
}

html.ng-lite-mode.ng-light .ng-site-main,
html.ng-lite-mode.ng-light .ng-page {
    background-image: none !important;
}

/* Hover صفحات داخلی در Lite */
html.ng-lite-mode .ng-content-card:hover,
html.ng-lite-mode .ng-stack-card:hover,
html.ng-lite-mode .ng-portfolio-card:hover,
html.ng-lite-mode .ng-package-detail-card:hover,
html.ng-lite-mode .ng-package-value-panel:hover,
html.ng-lite-mode .ng-faq-item:hover {
    transform: none !important;
    filter: none !important;
    box-shadow: none !important;
}


/* ===== V10.64 Smart stable Lite switching support ===== */
html[data-ng-lite="pending"] {
    /* وضعیت داخلی تست؛ ظاهر را تغییر نمی‌دهد. */
}

html.ng-lite-mode .ng-v39-portfolio-track,
html.ng-lite-mode .ng-v44-testimonials-track {
    transition-duration: .01ms !important;
}


/* ===== V10.65 Lite drawer + Chrome scroll fixes ===== */
/* ابزار دستی URL حذف شد؛ این قوانین فقط حالت Lite را اصلاح می‌کنند. */

/* منوی موبایل باید روی هدر ثابت Lite قرار بگیرد تا دکمه بستن قابل لمس باشد */
html.ng-lite-mode .ng-mobile-drawer.show {
    z-index: 2147483647 !important;
}
html.ng-lite-mode .ng-mobile-drawer.show .ng-mobile-backdrop,
html.ng-lite-mode .ng-mobile-drawer.show .ng-mobile-panel {
    z-index: 2147483647 !important;
}
html.ng-lite-mode body.ng-drawer-open #ng-header,
html.ng-lite-mode body.ng-drawer-open .ng-header {
    z-index: 900 !important;
}

/* رفع گیر اسکرول Chrome بعضی گوشی‌های ضعیف در Lite */
@media (max-width: 900px) {
    html.ng-lite-mode,
    html.ng-lite-mode body {
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        position: static;
        touch-action: pan-y !important;
        -webkit-overflow-scrolling: touch;
    }

    html.ng-lite-mode body {
        overscroll-behavior-y: auto !important;
    }

    html.ng-lite-mode .ng-site-main,
    html.ng-lite-mode .ng-hero,
    html.ng-lite-mode .ng-v23-home-hero,
    html.ng-lite-mode .ng-hero-grid,
    html.ng-lite-mode .ng-hero-content,
    html.ng-lite-mode .ng-hero-visual {
        touch-action: pan-y !important;
    }

    /* فقط خود پنل منو هنگام باز بودن اسکرول داخلی داشته باشد */
    html.ng-lite-mode .ng-mobile-drawer.show {
        overflow: hidden !important;
        touch-action: auto !important;
    }
    html.ng-lite-mode .ng-mobile-panel {
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y !important;
    }
}

/* ===== V10.66 audit cleanup =====
   Removed the only normal-mode mobile kicker override found during audit.
   Lite-mode rules remain scoped to html.ng-lite-mode.
*/


/* ===== V10.67 Normal responsive parity audit fixes ===== */
/*
  هدف: نزدیک‌تر کردن رفتار حالت عادی موبایل/تبلت به دسکتاپ، بدون دست زدن به ساختار.
  این بخش Lite را سنگین نمی‌کند؛ قوانین hover/active فقط برای حالت عادی هستند.
*/

/* آکاردئون سوالات متداول در همه مرورگرها آیکون یکسان داشته باشد */
.ng-faq-item summary {
    list-style: none !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.ng-faq-item summary::-webkit-details-marker {
    display: none !important;
}
.ng-faq-item summary::after {
    content: "";
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    opacity: .68;
    transform: rotate(-45deg);
    transition: transform .22s ease, opacity .22s ease;
}
.ng-faq-item[open] summary::after {
    transform: rotate(135deg);
    opacity: 1;
}

/* روی دستگاه لمسی hover واقعی وجود ندارد؛ active/focus حس همان تعامل دسکتاپ را می‌دهد */
@media (hover: none), (pointer: coarse) {
    html:not(.ng-lite-mode) .ng-btn:active,
    html:not(.ng-lite-mode) .ng-btn:focus-visible {
        transform: translateY(-1px);
    }

    html:not(.ng-lite-mode) .ng-nav a:active,
    html:not(.ng-lite-mode) .ng-nav a:focus-visible,
    html:not(.ng-lite-mode) .ng-mobile-panel a:active,
    html:not(.ng-lite-mode) .ng-mobile-panel a:focus-visible {
        background: var(--ng-card-2);
        color: var(--ng-text);
    }

    html:not(.ng-lite-mode) .ng-package-card:active,
    html:not(.ng-lite-mode) .ng-package-card:focus-within {
        transform: translateY(-6px);
        border-color: rgba(96,165,250,.32);
    }
    html:not(.ng-lite-mode) .ng-package-card:active .ng-package-icon,
    html:not(.ng-lite-mode) .ng-package-card:focus-within .ng-package-icon {
        transform: scale(1.06) rotate(-2deg);
    }

    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card:active,
    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card:focus-within {
        transform: translateY(-7px);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
    }
    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card:active::after,
    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card:focus-within::after {
        transform: scale(1.35);
        opacity: .9;
    }

    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card:active,
    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card:focus-within {
        transform: translateY(-7px);
        border-color: rgba(147,197,253,.28);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
    }
    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card:active::before,
    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card:focus-within::before {
        transform: scale(1.28) translate(-10px, -10px);
        opacity: .95;
    }

    html:not(.ng-lite-mode) .ng-smart-list span:active {
        transform: translateY(-4px);
        border-color: rgba(111,140,255,.34);
        box-shadow: 0 18px 40px rgba(34,70,170,.18);
    }

    html:not(.ng-lite-mode) .ng-process-step:active,
    html:not(.ng-lite-mode) .ng-process-step:focus-within {
        transform: translateY(-4px);
        border-color: rgba(129,153,255,.22);
        box-shadow: 0 24px 52px rgba(17,25,52,.18);
    }

    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card:active,
    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card:focus-within {
        transform: translateY(-6px);
        border-color: rgba(147,197,253,.25);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.08);
    }
    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card:active::before,
    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card:focus-within::before {
        transform: scale(1.25) translate(-8px, -8px);
        opacity: .92;
    }

    html:not(.ng-lite-mode) .ng-v39-portfolio-slide:active .ng-v39-portfolio-image img,
    html:not(.ng-lite-mode) .ng-v39-portfolio-slide:focus-within .ng-v39-portfolio-image img {
        transform: scale(1.055);
        filter: saturate(1.08) contrast(1.03);
    }

    html:not(.ng-lite-mode) .ng-v39-portfolio-nav:active,
    html:not(.ng-lite-mode) .ng-v39-portfolio-nav:focus-visible,
    html:not(.ng-lite-mode) .ng-v44-testimonials-nav:active,
    html:not(.ng-lite-mode) .ng-v44-testimonials-nav:focus-visible {
        transform: translateY(-2px);
        border-color: rgba(147,197,253,.32);
        background: rgba(91,140,255,.12);
    }
}

/* دسترس‌پذیری و رفتار یکسان فوکوس روی کارت‌ها و دکمه‌ها */
html:not(.ng-lite-mode) .ng-btn:focus-visible,
html:not(.ng-lite-mode) .ng-package-card:focus-within,
html:not(.ng-lite-mode) .ng-advisor-card:focus-within,
html:not(.ng-lite-mode) .ng-process-step:focus-within,
html:not(.ng-lite-mode) .ng-v39-portfolio-category-card:focus-within,
html:not(.ng-lite-mode) .ng-faq-item summary:focus-visible {
    outline: 2px solid rgba(147,197,253,.55);
    outline-offset: 3px;
}


/* ===== V10.68 Normal mobile/tablet hover parity ===== */
/*
  روی دسکتاپ hover واقعی مثل قبل است.
  روی موبایل/تبلت حالت عادی، JS کلاس ng-touch-hover را لحظه‌ای اضافه می‌کند تا همان حس hover دسکتاپ دیده شود.
  Lite Mode عمداً مستثنی است.
*/

@media (hover: none), (pointer: coarse) {
    html:not(.ng-lite-mode) .ng-btn.ng-touch-hover {
        transform: translateY(-1px);
    }

    html:not(.ng-lite-mode) .ng-nav a.ng-touch-hover,
    html:not(.ng-lite-mode) .ng-mobile-panel a.ng-touch-hover {
        background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
        color: var(--ng-text);
    }
    html:not(.ng-lite-mode) .ng-nav a.ng-touch-hover::after,
    html:not(.ng-lite-mode) .ng-mobile-panel a.ng-touch-hover::after {
        transform: scaleX(1);
    }

    html:not(.ng-lite-mode) .ng-package-card.ng-touch-hover {
        transform: translateY(-6px);
        border-color: rgba(96,165,250,.32);
    }
    html:not(.ng-lite-mode) .ng-package-card.ng-touch-hover .ng-package-icon {
        transform: scale(1.06) rotate(-2deg);
    }

    html:not(.ng-lite-mode) .ng-sales-benefits-vfinal span.ng-touch-hover::before {
        transform: translateX(-110%);
    }

    html:not(.ng-lite-mode) .ng-package-section-card.ng-touch-hover {
        transform: translateY(-4px);
        border-color: rgba(91,140,255,.34);
    }

    html:not(.ng-lite-mode) .ng-hero-packages-btn.ng-touch-hover {
        transform: translateY(-2px);
        background: linear-gradient(180deg, rgba(91,140,255,.20), rgba(124,92,255,.12)) !important;
    }

    html:not(.ng-lite-mode) .ng-show-tile.ng-touch-hover {
        transform: translateY(-4px);
        border-color: rgba(124,92,255,.26);
        box-shadow: 0 18px 28px rgba(2,6,23,.14);
        animation-play-state: paused;
    }

    html:not(.ng-lite-mode) .ng-v23-graphic-section .ng-card.ng-touch-hover,
    html:not(.ng-lite-mode) .ng-v23-home-hero .ng-card.ng-touch-hover,
    html:not(.ng-lite-mode) .ng-v23-graphic-section .ng-package-card.ng-touch-hover,
    html:not(.ng-lite-mode) .ng-v23-graphic-section .ng-advisor-card.ng-touch-hover {
        transform: translateY(-5px);
        border-color: rgba(147,197,253,.28);
        box-shadow: 0 22px 60px rgba(2,6,23,.18), 0 0 0 1px rgba(147,197,253,.08);
    }

    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card.ng-touch-hover::after {
        transform: scale(1.35);
        opacity: .9;
    }
    html:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card.ng-touch-hover {
        transform: translateY(-7px);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
    }

    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card.ng-touch-hover::before {
        transform: scale(1.28) translate(-10px, -10px);
        opacity: .95;
    }
    html:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card.ng-touch-hover {
        transform: translateY(-7px);
        border-color: rgba(147,197,253,.28);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.10);
    }

    html.ng-light:not(.ng-lite-mode) .ng-v27-advisor-section .ng-advisor-card.ng-touch-hover .ng-package-icon,
    html.ng-light:not(.ng-lite-mode) .ng-v27-packages-section .ng-package-card.ng-touch-hover .ng-package-icon {
        color: #4f46e5 !important;
        border-color: rgba(79,70,229,.28) !important;
        box-shadow: 0 18px 34px rgba(79,70,229,.16), 0 0 0 6px rgba(37,99,235,.06), inset 0 1px 0 rgba(255,255,255,.9) !important;
    }

    html:not(.ng-lite-mode) .ng-smart-list span.ng-touch-hover {
        transform: translateY(-4px);
        border-color: rgba(111,140,255,.34);
        box-shadow: 0 18px 40px rgba(34,70,170,.18);
    }
    html:not(.ng-lite-mode) .ng-smart-list span.ng-touch-hover::before {
        opacity: 1;
        left: 110%;
    }

    html:not(.ng-lite-mode) .ng-smart-node.ng-touch-hover {
        transform: translateY(-3px) scale(1.02);
        border-color: rgba(111,140,255,.36);
    }
    html:not(.ng-lite-mode) .ng-smart-node.ng-smart-orbit-node.ng-touch-hover {
        transform: translate(-50%,-50%) rotate(var(--orbit-angle)) translateX(var(--orbit-radius)) !important;
    }

    html:not(.ng-lite-mode) .ng-process-step.ng-touch-hover {
        transform: translateY(-4px);
        border-color: rgba(129,153,255,.22);
        box-shadow: 0 24px 52px rgba(17,25,52,.18);
    }

    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-mark {
        transform: translate(-50%,-56%) scale(1.03);
        box-shadow: 0 30px 84px rgba(15,26,52,.42), 0 0 0 1px rgba(124,154,255,.18) inset;
        border-color: rgba(126,162,255,.30);
    }
    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-mark::before {
        opacity: 1;
        transform: scale(1.06);
    }
    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-mark::after {
        background: radial-gradient(circle at 50% 42%, rgba(34,134,255,.24), rgba(11,20,42,.86) 74%);
    }
    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-mark img {
        filter: drop-shadow(0 0 18px rgba(67,138,255,.30)) saturate(1.14);
        transform: scale(1.03);
    }
    html.ng-light:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-mark::after {
        background: radial-gradient(circle at 50% 42%, rgba(40,128,255,.20), rgba(231,239,255,.98) 74%);
    }
    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-process-core-icon.ng-process-workflow-icon::before {
        box-shadow: 0 0 46px rgba(71, 126, 255, .28), inset 0 0 0 1px rgba(255,255,255,.06);
    }
    html:not(.ng-lite-mode) .ng-process-center.ng-touch-hover .ng-workflow-hub {
        color: #c9f6ff;
        box-shadow: 0 0 34px rgba(77, 138, 255, .32), inset 0 1px 0 rgba(255,255,255,.12);
    }

    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card.ng-touch-hover {
        transform: translateY(-6px);
        border-color: rgba(147,197,253,.25);
        box-shadow: 0 26px 70px rgba(2,6,23,.20), 0 0 0 1px rgba(147,197,253,.08);
    }
    html:not(.ng-lite-mode) .ng-v39-portfolio-category-card.ng-touch-hover::before {
        transform: scale(1.25) translate(-8px, -8px);
        opacity: .92;
    }
    html:not(.ng-lite-mode) .ng-v39-portfolio-slide.ng-touch-hover .ng-v39-portfolio-image img {
        transform: scale(1.055) !important;
        filter: saturate(1.08) contrast(1.03);
    }

    html:not(.ng-lite-mode) .ng-v39-portfolio-nav.ng-touch-hover,
    html:not(.ng-lite-mode) .ng-v44-testimonials-nav.ng-touch-hover {
        transform: translateY(-2px);
        border-color: rgba(147,197,253,.32);
        background: rgba(91,140,255,.12);
    }
}

/* FAQ marker stays identical across desktop/mobile/tablet and across Chrome/Safari */
.ng-faq-item summary {
    -webkit-tap-highlight-color: transparent;
}


/* ===== V10.69 Section heading mobile consistency ===== */
/*
  قانون کلی جدید:
  - در موبایل/تبلت، برچسب بخش‌ها کنار/راست‌چین می‌مانند.
  - عنوان و توضیح همه بخش‌ها عرض منظم و یکسان می‌گیرند.
  - Hero از این یکسان‌سازی مستثنی است.
  - حالت عادی و Lite هر دو پوشش داده شده‌اند.
*/

/* پایه یکسان برای هدینگ سکشن‌ها در همه حالت‌ها */
.ng-section-head,
.ng-v39-portfolio-head,
.ng-v44-testimonials-copy {
    --ng-section-title-width: min(100%, 760px);
}

/* Hero نباید از عرض عمومی عنوان سکشن‌ها اثر بگیرد */
.ng-hero .ng-section-head,
.ng-hero-content,
.ng-hero-content-v4 {
    --ng-section-title-width: initial;
}

@media (max-width: 900px) {
    /* خود کادر هدینگ سکشن‌ها تمام‌عرض باشد تا برچسب و متن‌ها روی یک محور ثابت قرار بگیرند */
    .ng-section:not(.ng-hero) .ng-section-head,
    .ng-v39-portfolio-section .ng-v39-portfolio-head,
    .ng-v44-testimonials-section .ng-v44-testimonials-copy,
    .ng-process-section .ng-section-head,
    .ng-v26-why-section .ng-section-head,
    .ng-v27-advisor-section .ng-section-head,
    .ng-v27-packages-section .ng-section-head,
    .ng-smart-platform-section .ng-section-head,
    .ng-bale-section .ng-section-head,
    .ng-faq-section .ng-section-head,
    .ng-cta-section .ng-section-head {
        width: 100% !important;
        max-width: var(--ng-section-title-width) !important;
        margin-inline: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    /* برچسب‌ها/Kickerها در موبایل و تبلت کنار باشند، نه وسط */
    .ng-section:not(.ng-hero) .ng-section-head .ng-kicker,
    .ng-v39-portfolio-section .ng-v39-portfolio-head .ng-kicker,
    .ng-v44-testimonials-section .ng-v44-testimonials-copy .ng-kicker,
    .ng-process-section .ng-section-head .ng-kicker,
    .ng-v26-why-section .ng-section-head .ng-kicker,
    .ng-v27-advisor-section .ng-section-head .ng-kicker,
    .ng-v27-packages-section .ng-section-head .ng-kicker,
    .ng-smart-platform-section .ng-section-head .ng-kicker,
    .ng-bale-section .ng-section-head .ng-kicker,
    .ng-faq-section .ng-section-head .ng-kicker,
    .ng-cta-section .ng-section-head .ng-kicker,
    .ng-page-hero .ng-kicker,
    .ng-package-landing-hero .ng-kicker,
    .ng-package-hero-pro .ng-kicker {
        align-self: flex-start !important;
        justify-self: start !important;
        margin-inline: 0 auto !important;
        text-align: right !important;
    }

    /* عنوان‌ها و توضیحات بخش‌ها عرض واحد داشته باشند؛ Hero مستثنی است */
    .ng-section:not(.ng-hero) .ng-section-head h2,
    .ng-section:not(.ng-hero) .ng-section-head p,
    .ng-v39-portfolio-section .ng-v39-portfolio-head h2,
    .ng-v39-portfolio-section .ng-v39-portfolio-head p,
    .ng-v44-testimonials-section .ng-v44-testimonials-copy h2,
    .ng-v44-testimonials-section .ng-v44-testimonials-copy p,
    .ng-process-section .ng-section-head h2,
    .ng-process-section .ng-section-head p,
    .ng-v26-why-section .ng-section-head h2,
    .ng-v26-why-section .ng-section-head p,
    .ng-v27-advisor-section .ng-section-head h2,
    .ng-v27-advisor-section .ng-section-head p,
    .ng-v27-packages-section .ng-section-head h2,
    .ng-v27-packages-section .ng-section-head p,
    .ng-smart-platform-section .ng-section-head h2,
    .ng-smart-platform-section .ng-section-head p,
    .ng-bale-section .ng-section-head h2,
    .ng-bale-section .ng-section-head p,
    .ng-faq-section .ng-section-head h2,
    .ng-faq-section .ng-section-head p,
    .ng-cta-section .ng-section-head h2,
    .ng-cta-section .ng-section-head p {
        width: 100% !important;
        max-width: var(--ng-section-title-width) !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    /* صفحات داخلی هم همین منطق را داشته باشند */
    .ng-page-hero .ng-container,
    .ng-package-landing-hero .ng-container,
    .ng-package-hero-pro .ng-container {
        text-align: right;
    }

    .ng-page-hero h1,
    .ng-page-hero p,
    .ng-package-landing-hero h1,
    .ng-package-landing-hero p,
    .ng-package-hero-pro h1,
    .ng-package-hero-pro p {
        width: 100% !important;
        max-width: var(--ng-section-title-width) !important;
        margin-inline: auto !important;
        box-sizing: border-box !important;
    }

    /* اگر قوانین قبلی عنوان‌ها را در موبایل وسط‌چین کرده باشند، عرض ثابت حفظ شود و فقط برچسب‌ها کنار بمانند */
    .ng-section:not(.ng-hero) .ng-section-head h2,
    .ng-section:not(.ng-hero) .ng-section-head p,
    .ng-v39-portfolio-head h2,
    .ng-v39-portfolio-head p,
    .ng-v44-testimonials-copy h2,
    .ng-v44-testimonials-copy p {
        text-align: center;
    }
}

/* موبایل کوچک: عرض عنوان‌ها همچنان یکسان، اما با فاصله امن از لبه */
@media (max-width: 520px) {
    .ng-section-head,
    .ng-v39-portfolio-head,
    .ng-v44-testimonials-copy {
        --ng-section-title-width: min(100%, 520px);
    }

    .ng-section:not(.ng-hero) .ng-section-head,
    .ng-v39-portfolio-section .ng-v39-portfolio-head,
    .ng-v44-testimonials-section .ng-v44-testimonials-copy {
        padding-inline: 0 !important;
    }
}

/* در Lite هم همین قاعده باید باقی بماند، بدون برگرداندن افکت‌های سنگین */
@media (max-width: 900px) {
    html.ng-lite-mode .ng-section:not(.ng-hero) .ng-section-head,
    html.ng-lite-mode .ng-v39-portfolio-section .ng-v39-portfolio-head,
    html.ng-lite-mode .ng-v44-testimonials-section .ng-v44-testimonials-copy {
        width: 100% !important;
        max-width: var(--ng-section-title-width) !important;
        margin-inline: auto !important;
    }

    html.ng-lite-mode .ng-section:not(.ng-hero) .ng-section-head .ng-kicker,
    html.ng-lite-mode .ng-v39-portfolio-section .ng-v39-portfolio-head .ng-kicker,
    html.ng-lite-mode .ng-v44-testimonials-section .ng-v44-testimonials-copy .ng-kicker,
    html.ng-lite-mode .ng-page-hero .ng-kicker {
        align-self: flex-start !important;
        margin-inline: 0 auto !important;
        text-align: right !important;
    }
}


/* ===== V10.70 FAQ + combined Bale/CTA redesign ===== */

/* اسلایدر نظرات: تاچ افقی داشته باشد ولی اسکرول عمودی صفحه را نگه دارد */
.ng-v44-testimonials-slider {
    touch-action: pan-y;
}
.ng-v44-testimonials-track,
.ng-v44-testimonial-card {
    -webkit-user-select: none;
    user-select: none;
}

/* FAQ ارتقای گرافیکی */
.ng-faq-section,
.ng-section:has(.ng-faq-list) {
    position: relative;
    isolation: isolate;
}
.ng-faq-list {
    position: relative;
}
.ng-faq-list::before {
    content: "FAQ";
    position: absolute;
    inset: -74px auto auto 50%;
    transform: translateX(-50%);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(74px, 16vw, 220px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
    z-index: -1;
}
.ng-faq-item {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease, background .26s ease;
}
.ng-faq-item::before {
    content: "";
    position: absolute;
    inset: -60% auto auto -20%;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.20), transparent 66%);
    opacity: .58;
    transition: transform .35s ease, opacity .35s ease;
    z-index: -1;
}
.ng-faq-item:hover,
.ng-faq-item[open] {
    transform: translateY(-3px);
    border-color: rgba(147,197,253,.26);
    box-shadow: 0 20px 54px rgba(2,6,23,.16);
}
.ng-faq-item:hover::before,
.ng-faq-item[open]::before {
    transform: scale(1.25) translate(12px, 10px);
    opacity: .9;
}
.ng-faq-item summary {
    min-height: 64px;
}
.ng-faq-item summary::after {
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    border: 0 !important;
    width: 28px;
    height: 28px;
    border-radius: 11px;
    transform: none !important;
    box-shadow: 0 12px 28px rgba(91,140,255,.22);
    mask:
        linear-gradient(#000 0 0) center/12px 2px no-repeat,
        linear-gradient(#000 0 0) center/2px 12px no-repeat;
    -webkit-mask:
        linear-gradient(#000 0 0) center/12px 2px no-repeat,
        linear-gradient(#000 0 0) center/2px 12px no-repeat;
}
.ng-faq-item[open] summary::after {
    mask: linear-gradient(#000 0 0) center/12px 2px no-repeat;
    -webkit-mask: linear-gradient(#000 0 0) center/12px 2px no-repeat;
}

/* CTA + Bale یکپارچه */
.ng-cta-bale-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding-bottom: 96px;
}
.ng-cta-bale-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-cta-bale-word {
    position: absolute;
    right: clamp(18px, 6vw, 92px);
    top: -18px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.12);
    font-size: clamp(82px, 16vw, 238px);
    font-weight: 950;
    letter-spacing: -.08em;
    transform: rotate(2deg);
}
.ng-cta-bale-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(25px);
    opacity: .58;
    animation: ngCtaBaleFloat 12s ease-in-out infinite alternate;
}
.ng-cta-bale-orb.orb-a {
    width: 300px;
    height: 300px;
    left: -90px;
    top: 14%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-cta-bale-orb.orb-b {
    width: 260px;
    height: 260px;
    right: 8%;
    bottom: 4%;
    background: radial-gradient(circle, rgba(16,185,129,.16), transparent 68%);
    animation-delay: -5s;
}
.ng-cta-bale-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.28), rgba(16,185,129,.18), transparent);
    animation: ngCtaBaleLine 7s ease-in-out infinite;
}
.ng-cta-bale-line.line-a { top: 26%; }
.ng-cta-bale-line.line-b { bottom: 18%; animation-delay: -3s; }

.ng-cta-bale-card {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    gap: clamp(20px, 4vw, 54px);
    align-items: center;
    text-align: right;
    padding: clamp(28px, 5vw, 62px);
    overflow: hidden;
}
.ng-cta-bale-card::before {
    content: "";
    position: absolute;
    inset: 18px;
    border-radius: 32px;
    border: 1px solid rgba(147,197,253,.10);
    pointer-events: none;
}
.ng-cta-bale-copy h2 {
    font-size: clamp(38px, 6vw, 86px);
    line-height: 1.08;
    max-width: 10.5ch;
    text-wrap: balance;
}
.ng-cta-bale-copy p {
    max-width: 64ch;
    margin: 18px 0 0;
}
.ng-cta-bale-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 26px;
}
.ng-btn-glow {
    color: #dff7ff;
    background: linear-gradient(135deg, rgba(14,165,233,.22), rgba(124,58,237,.18));
    border-color: rgba(125,211,252,.26);
    box-shadow: 0 16px 44px rgba(14,165,233,.16);
}
.ng-cta-bale-visual {
    min-height: 320px;
    display: grid;
    place-items: center;
    position: relative;
}
.ng-cta-bale-device {
    position: relative;
    width: min(100%, 310px);
    min-height: 260px;
    border-radius: 42px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 30% 18%, rgba(91,140,255,.28), transparent 42%),
        radial-gradient(circle at 80% 90%, rgba(16,185,129,.14), transparent 44%),
        rgba(15,23,42,.48);
    box-shadow: 0 30px 90px rgba(2,6,23,.28), inset 0 1px 0 rgba(255,255,255,.08);
    display: grid;
    place-items: center;
    padding: 28px;
    animation: ngCtaBaleDevice 6s ease-in-out infinite;
}
.ng-cta-bale-device::before,
.ng-cta-bale-device::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    border: 1px dashed rgba(147,197,253,.20);
    inset: 28px;
}
.ng-cta-bale-device::after {
    inset: 56px;
    animation: ngCtaBaleSpin 16s linear infinite;
}
.ng-cta-bale-icon {
    width: 88px;
    height: 88px;
    border-radius: 30px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, rgba(91,140,255,.28), rgba(124,92,255,.24));
    border: 1px solid rgba(147,197,253,.24);
    box-shadow: 0 22px 54px rgba(91,140,255,.18);
    overflow: hidden;
    z-index: 2;
}
.ng-cta-bale-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
    background: rgba(255,255,255,.94);
}
.ng-cta-bale-icon svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: #e0f2fe;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-cta-bale-device strong {
    margin-top: 16px;
    color: var(--ng-text);
    font-size: 15px;
    font-weight: 950;
    z-index: 2;
}
.ng-cta-bale-device small {
    color: var(--ng-muted);
    font-weight: 850;
    z-index: 2;
}
.ng-cta-bale-dot {
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 0 22px rgba(91,140,255,.55);
}
.ng-cta-bale-dot.d1 { top: 48px; right: 54px; animation: ngCtaBaleDot 4s ease-in-out infinite; }
.ng-cta-bale-dot.d2 { bottom: 58px; right: 72px; animation: ngCtaBaleDot 4.8s ease-in-out infinite -.8s; }
.ng-cta-bale-dot.d3 { left: 58px; top: 92px; animation: ngCtaBaleDot 5.2s ease-in-out infinite -1.4s; }
.ng-cta-bale-mini-flow {
    position: absolute;
    bottom: 2px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
}
.ng-cta-bale-mini-flow span {
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.18);
    background: rgba(255,255,255,.055);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 900;
}

@keyframes ngCtaBaleFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-20px,0) scale(1.06); }
}
@keyframes ngCtaBaleLine {
    0%,100% { opacity: .18; transform: translateX(-6%); }
    50% { opacity: .62; transform: translateX(6%); }
}
@keyframes ngCtaBaleDevice {
    0%,100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
@keyframes ngCtaBaleSpin {
    to { transform: rotate(360deg); }
}
@keyframes ngCtaBaleDot {
    0%,100% { transform: scale(1); opacity: .7; }
    50% { transform: scale(1.45); opacity: 1; }
}

.ng-light .ng-cta-bale-card,
.ng-light .ng-cta-bale-device {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.12), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.86));
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-cta-bale-mini-flow span {
    color: #1e3a8a;
    background: rgba(255,255,255,.72);
    border-color: rgba(37,99,235,.14);
}
.ng-light .ng-btn-glow {
    color: #075985;
    background: rgba(255,255,255,.82);
    border-color: rgba(14,165,233,.22);
}

@media (max-width: 980px) {
    .ng-cta-bale-card {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .ng-cta-bale-copy .ng-kicker {
        margin-inline: auto;
    }
    .ng-cta-bale-copy h2,
    .ng-cta-bale-copy p {
        margin-inline: auto;
    }
    .ng-cta-bale-actions {
        justify-content: center;
    }
}

@media (max-width: 560px) {
    .ng-cta-bale-card {
        padding: 24px 16px;
        border-radius: 30px;
    }
    .ng-cta-bale-copy h2 {
        font-size: clamp(34px, 11vw, 54px);
    }
    .ng-cta-bale-actions .ng-btn {
        width: 100%;
    }
    .ng-cta-bale-visual {
        min-height: 270px;
    }
    .ng-cta-bale-device {
        width: min(100%, 260px);
        min-height: 230px;
        border-radius: 34px;
    }
}

/* Lite: CTA و FAQ سبک شوند اما ساختار یکپارچه حفظ شود */
html.ng-lite-mode .ng-cta-bale-bg,
html.ng-lite-mode .ng-cta-bale-device::before,
html.ng-lite-mode .ng-cta-bale-device::after,
html.ng-lite-mode .ng-cta-bale-dot {
    display: none !important;
}
html.ng-lite-mode .ng-cta-bale-card,
html.ng-lite-mode .ng-cta-bale-device,
html.ng-lite-mode .ng-faq-item,
html.ng-lite-mode .ng-faq-list::before {
    animation: none !important;
    filter: none !important;
    box-shadow: none !important;
}
html.ng-lite-mode .ng-cta-bale-device {
    min-height: 190px;
}
html.ng-lite-mode .ng-cta-bale-mini-flow {
    position: static;
    margin-top: 14px;
}


/* ===== V10.71 Testimonials touch swipe fix ===== */
.ng-v44-testimonials-slider {
    touch-action: pan-y pinch-zoom;
}
.ng-v44-testimonials-track {
    cursor: grab;
    transform: translate3d(0,0,0);
}
.ng-v44-testimonials-track.is-dragging {
    cursor: grabbing;
    transition-duration: 0s !important;
}
.ng-v44-testimonial-card {
    -webkit-user-select: none;
    user-select: none;
    touch-action: pan-y pinch-zoom;
}


/* ===== V10.72 final mobile fixes ===== */

/* Hero actions: در موبایل حالت عادی هم مثل Lite وسط باشد */
@media (max-width: 900px) {
    .ng-hero:not(.ng-final-cta) .ng-hero-actions {
        justify-content: center !important;
    }
}

/* CTA buttons: در موبایل از کادر بیرون نزنند و بیش از حد عریض نشوند */
@media (max-width: 560px) {
    .ng-cta-bale-actions {
        justify-content: center !important;
        align-items: center !important;
    }

    .ng-cta-bale-actions .ng-btn {
        width: auto !important;
        max-width: 100% !important;
        flex: 0 1 auto !important;
        min-width: min(100%, 178px);
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}

/* اسلایدر نظرات: تاچ مثل نمونه‌کارها، بدون حرکت معکوس حین کشیدن */
.ng-v44-testimonials-track.is-dragging {
    cursor: grabbing;
}

/* ===== V10.74 admin sync =====
   Front-page text sources were synced with the homepage management panel.
*/


/* ===== V10.76 Packages page redesign ===== */
.ng-packages-page {
    position: relative;
    overflow: hidden;
}
.ng-packages-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(74px, 9vw, 122px) 0 54px;
    overflow: hidden;
}
.ng-packages-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-packages-word {
    position: absolute;
    top: -26px;
    right: clamp(12px, 5vw, 86px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.11);
    font-size: clamp(78px, 15vw, 228px);
    font-weight: 950;
    letter-spacing: -.08em;
    transform: rotate(2deg);
}
.ng-packages-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(26px);
    opacity: .62;
    animation: ngPackagesOrb 13s ease-in-out infinite alternate;
}
.ng-packages-orb.orb-a {
    width: 310px;
    height: 310px;
    left: -110px;
    top: 18%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-packages-orb.orb-b {
    width: 270px;
    height: 270px;
    right: 8%;
    bottom: 4%;
    background: radial-gradient(circle, rgba(16,185,129,.15), transparent 70%);
    animation-delay: -5s;
}
.ng-packages-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.25), rgba(16,185,129,.16), transparent);
    animation: ngPackagesLine 7s ease-in-out infinite;
}
.ng-packages-line.line-a { top: 24%; }
.ng-packages-line.line-b { bottom: 18%; animation-delay: -3s; }
.ng-packages-hero .ng-container {
    position: relative;
    z-index: 2;
}
.ng-packages-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
    gap: clamp(22px, 5vw, 70px);
    align-items: center;
}
.ng-packages-hero-copy h1 {
    max-width: 12ch;
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(44px, 7vw, 92px);
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -.055em;
    text-wrap: balance;
}
.ng-packages-hero-copy p {
    max-width: 68ch;
    margin: 20px 0 0;
    color: var(--ng-muted);
    line-height: 2.15;
    font-size: 15px;
}
.ng-packages-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}
.ng-packages-orbit-card {
    min-height: 430px;
    position: relative;
    border-radius: 44px;
    overflow: hidden;
    background:
        radial-gradient(circle at 25% 10%, rgba(91,140,255,.22), transparent 36%),
        radial-gradient(circle at 82% 86%, rgba(16,185,129,.12), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.ng-packages-orbit-card::before,
.ng-packages-orbit-card::after {
    content: "";
    position: absolute;
    inset: 42px;
    border-radius: 999px;
    border: 1px dashed rgba(147,197,253,.20);
}
.ng-packages-orbit-card::after {
    inset: 86px;
    animation: ngPackagesSpin 22s linear infinite;
}
.ng-packages-orbit-core {
    position: absolute;
    inset: 50%;
    width: 138px;
    height: 138px;
    transform: translate(50%, -50%);
    border-radius: 36px;
    display: grid;
    place-items: center;
    text-align: center;
    background: linear-gradient(135deg, rgba(91,140,255,.28), rgba(124,92,255,.22));
    border: 1px solid rgba(147,197,253,.24);
    box-shadow: 0 28px 70px rgba(91,140,255,.18);
    z-index: 2;
}
.ng-packages-orbit-core span {
    display: block;
    color: var(--ng-text);
    font-size: 46px;
    font-weight: 950;
    line-height: 1;
}
.ng-packages-orbit-core small {
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 900;
}
.ng-packages-orbit-node {
    position: absolute;
    width: 126px;
    min-height: 82px;
    border-radius: 24px;
    display: grid;
    place-items: center;
    gap: 6px;
    padding: 10px;
    text-align: center;
    color: var(--ng-text);
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(147,197,253,.18);
    box-shadow: 0 18px 44px rgba(2,6,23,.14);
    animation: ngPackagesNode 5.6s ease-in-out infinite;
    z-index: 3;
}
.ng-packages-orbit-node svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: #bfdbfe;
    stroke-width: 1.8;
}
.ng-packages-orbit-node b {
    font-size: 11px;
    font-weight: 950;
}
.ng-packages-orbit-node.node-1 { top: 42px; right: 50%; transform: translateX(50%); }
.ng-packages-orbit-node.node-2 { top: 128px; left: 24px; animation-delay: -.8s; }
.ng-packages-orbit-node.node-3 { bottom: 56px; left: 48px; animation-delay: -1.6s; }
.ng-packages-orbit-node.node-4 { bottom: 56px; right: 48px; animation-delay: -2.4s; }
.ng-packages-orbit-node.node-5 { top: 128px; right: 24px; animation-delay: -3.2s; }

.ng-packages-choice-section,
.ng-packages-showcase-section,
.ng-packages-compare-section,
.ng-packages-final-section {
    position: relative;
    isolation: isolate;
}
.ng-packages-decision-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-top: 28px;
}
.ng-packages-decision-card {
    position: relative;
    min-height: 230px;
    padding: 20px;
    border-radius: 30px;
    text-decoration: none;
    overflow: hidden;
    color: var(--ng-text);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.16), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
    border: 1px solid var(--ng-border);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ng-packages-decision-card::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    left: -80px;
    top: -80px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.18), transparent 68%);
    transition: transform .35s ease, opacity .35s ease;
    opacity: .62;
}
.ng-packages-decision-card:hover {
    transform: translateY(-6px);
    border-color: rgba(147,197,253,.26);
    box-shadow: 0 26px 70px rgba(2,6,23,.18);
}
.ng-packages-decision-card:hover::before {
    transform: scale(1.35) translate(20px, 20px);
    opacity: 1;
}
.ng-packages-decision-icon {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(91,140,255,.13);
    border: 1px solid rgba(147,197,253,.18);
}
.ng-packages-decision-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #bfdbfe;
    stroke-width: 1.8;
}
.ng-packages-decision-card strong,
.ng-packages-decision-card p,
.ng-packages-decision-card small {
    position: relative;
    z-index: 2;
}
.ng-packages-decision-card strong {
    display: block;
    margin-top: 16px;
    font-size: 16px;
    font-weight: 950;
}
.ng-packages-decision-card p {
    color: var(--ng-muted);
    line-height: 2;
    font-size: 13px;
}
.ng-packages-decision-card small {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(91,140,255,.11);
    border: 1px solid rgba(147,197,253,.14);
    color: var(--ng-soft);
    font-weight: 900;
    font-size: 11px;
}

.ng-packages-showcase-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}
.ng-package-pro-card {
    grid-column: span 3;
    position: relative;
    overflow: hidden;
    padding: clamp(22px, 3vw, 34px);
    border-radius: 38px;
    background:
        radial-gradient(circle at 12% 0%, rgba(91,140,255,.17), transparent 36%),
        radial-gradient(circle at 94% 100%, rgba(16,185,129,.10), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.028));
    border: 1px solid var(--ng-border);
    box-shadow: 0 26px 70px rgba(2,6,23,.16);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ng-package-pro-card:nth-child(5) {
    grid-column: 2 / span 4;
}
.ng-package-pro-card:hover {
    transform: translateY(-7px);
    border-color: rgba(147,197,253,.28);
    box-shadow: 0 34px 90px rgba(2,6,23,.22);
}
.ng-package-pro-glow {
    position: absolute;
    width: 260px;
    height: 260px;
    border-radius: 999px;
    left: -120px;
    top: -120px;
    background: radial-gradient(circle, rgba(91,140,255,.18), transparent 66%);
    pointer-events: none;
}
.ng-package-pro-head {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    z-index: 2;
}
.ng-package-pro-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(91,140,255,.22), rgba(124,92,255,.16));
    border: 1px solid rgba(147,197,253,.20);
}
.ng-package-pro-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #dbeafe;
    stroke-width: 1.8;
}
.ng-package-pro-head small {
    display: block;
    color: #93c5fd;
    font-weight: 950;
    font-size: 12px;
}
.ng-package-pro-head h3 {
    margin: 4px 0 0;
    color: var(--ng-text);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.25;
    font-weight: 950;
    letter-spacing: -.035em;
}
.ng-package-pro-subtitle {
    position: relative;
    z-index: 2;
    color: var(--ng-muted);
    line-height: 2.1;
    max-width: 68ch;
}
.ng-package-pro-meta {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    margin: 18px 0;
}
.ng-package-pro-meta span {
    min-height: 76px;
    border-radius: 22px;
    padding: 12px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(147,197,253,.14);
}
.ng-package-pro-meta b {
    display: block;
    color: var(--ng-text);
    font-size: 16px;
    font-weight: 950;
}
.ng-package-pro-meta small {
    color: var(--ng-muted);
    font-size: 11px;
    font-weight: 850;
}
.ng-package-pro-features {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 9px;
}
.ng-package-pro-features span {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ng-soft);
    font-size: 13px;
    font-weight: 850;
}
.ng-package-pro-features i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: rgba(16,185,129,.10);
}
.ng-package-pro-features svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: #86efac;
    stroke-width: 2;
}
.ng-package-pro-advisor {
    position: relative;
    z-index: 2;
    margin-top: 18px;
    padding: 14px;
    border-radius: 22px;
    background: rgba(91,140,255,.08);
    border: 1px solid rgba(147,197,253,.13);
}
.ng-package-pro-advisor strong {
    color: var(--ng-text);
    font-size: 13px;
    font-weight: 950;
}
.ng-package-pro-advisor p {
    color: var(--ng-muted);
    line-height: 1.9;
    font-size: 12px;
    margin: 7px 0 0;
}
.ng-package-pro-actions {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.ng-packages-compare-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
    gap: 28px;
    align-items: center;
    padding: clamp(24px, 4vw, 44px);
    border-radius: 40px;
    overflow: hidden;
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.18), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.ng-packages-compare-copy h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(32px, 4.5vw, 62px);
    line-height: 1.14;
    font-weight: 950;
    letter-spacing: -.045em;
    max-width: 13ch;
}
.ng-packages-compare-copy p {
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-packages-compare-list {
    display: grid;
    gap: 10px;
}
.ng-packages-compare-list a {
    display: grid;
    grid-template-columns: 48px minmax(110px, .55fr) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border-radius: 22px;
    text-decoration: none;
    color: var(--ng-text);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(147,197,253,.14);
    transition: transform .25s ease, border-color .25s ease;
}
.ng-packages-compare-list a:hover {
    transform: translateX(-5px);
    border-color: rgba(147,197,253,.28);
}
.ng-packages-compare-list span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(91,140,255,.12);
}
.ng-packages-compare-list svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: #bfdbfe;
    stroke-width: 1.8;
}
.ng-packages-compare-list b {
    font-size: 13px;
    font-weight: 950;
}
.ng-packages-compare-list small {
    color: var(--ng-muted);
    line-height: 1.8;
}

.ng-packages-final-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(30px, 5vw, 58px);
    border-radius: 42px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 50% 0%, rgba(91,140,255,.20), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.12), transparent 34%),
        var(--ng-card);
    box-shadow: var(--ng-glow);
}
.ng-packages-final-card h2 {
    max-width: 15ch;
    margin: 0 auto;
    color: var(--ng-text);
    font-size: clamp(34px, 5.2vw, 72px);
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-packages-final-card p {
    max-width: 72ch;
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-packages-final-card .ng-packages-hero-actions {
    justify-content: center;
}

.ng-light .ng-packages-orbit-card,
.ng-light .ng-packages-decision-card,
.ng-light .ng-package-pro-card,
.ng-light .ng-packages-compare-card,
.ng-light .ng-packages-final-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.10), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.86));
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-packages-decision-icon,
.ng-light .ng-package-pro-icon,
.ng-light .ng-packages-compare-list span {
    background: rgba(37,99,235,.09);
}
.ng-light .ng-packages-decision-icon svg,
.ng-light .ng-package-pro-icon svg,
.ng-light .ng-packages-compare-list svg,
.ng-light .ng-packages-orbit-node svg {
    stroke: #1d4ed8;
}
.ng-light .ng-packages-orbit-node,
.ng-light .ng-package-pro-meta span,
.ng-light .ng-package-pro-advisor,
.ng-light .ng-packages-compare-list a {
    background: rgba(255,255,255,.68);
    border-color: rgba(37,99,235,.12);
}

@keyframes ngPackagesOrb {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(20px,-18px,0) scale(1.06); }
}
@keyframes ngPackagesLine {
    0%,100% { opacity: .18; transform: translateX(-5%); }
    50% { opacity: .60; transform: translateX(5%); }
}
@keyframes ngPackagesSpin {
    to { transform: rotate(360deg); }
}
@keyframes ngPackagesNode {
    0%,100% { translate: 0 0; }
    50% { translate: 0 -8px; }
}

@media (max-width: 1100px) {
    .ng-packages-decision-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ng-packages-decision-card:last-child {
        grid-column: 1 / -1;
    }
}
@media (max-width: 980px) {
    .ng-packages-hero-grid,
    .ng-packages-compare-card {
        grid-template-columns: 1fr;
    }
    .ng-packages-hero-copy {
        text-align: center;
    }
    .ng-packages-hero-copy .ng-kicker,
    .ng-packages-hero-copy h1,
    .ng-packages-hero-copy p {
        margin-inline: auto;
    }
    .ng-packages-hero-actions {
        justify-content: center;
    }
    .ng-packages-showcase-grid {
        grid-template-columns: 1fr;
    }
    .ng-package-pro-card,
    .ng-package-pro-card:nth-child(5) {
        grid-column: auto;
    }
}
@media (max-width: 640px) {
    .ng-packages-hero {
        padding-top: 54px;
    }
    .ng-packages-hero-copy h1 {
        font-size: clamp(38px, 12vw, 56px);
        max-width: 13ch;
    }
    .ng-packages-orbit-card {
        min-height: 340px;
        border-radius: 32px;
    }
    .ng-packages-orbit-node {
        width: 104px;
        min-height: 72px;
    }
    .ng-packages-orbit-node.node-2 { left: 10px; }
    .ng-packages-orbit-node.node-5 { right: 10px; }
    .ng-packages-decision-grid {
        grid-template-columns: 1fr;
    }
    .ng-packages-decision-card:last-child {
        grid-column: auto;
    }
    .ng-package-pro-meta {
        grid-template-columns: 1fr;
    }
    .ng-package-pro-actions .ng-btn,
    .ng-packages-final-card .ng-btn {
        width: 100%;
    }
    .ng-packages-compare-list a {
        grid-template-columns: 44px minmax(0, 1fr);
    }
    .ng-packages-compare-list small {
        grid-column: 2;
    }
}

/* Lite نسخه سبک همین برگه، بدون حذف محتوا */
html.ng-lite-mode .ng-packages-hero-bg,
html.ng-lite-mode .ng-package-pro-glow,
html.ng-lite-mode .ng-packages-orbit-card::before,
html.ng-lite-mode .ng-packages-orbit-card::after {
    display: none !important;
}
html.ng-lite-mode .ng-packages-orb,
html.ng-lite-mode .ng-packages-line,
html.ng-lite-mode .ng-packages-orbit-node,
html.ng-lite-mode .ng-package-pro-card,
html.ng-lite-mode .ng-packages-decision-card {
    animation: none !important;
    filter: none !important;
}
html.ng-lite-mode .ng-packages-orbit-card,
html.ng-lite-mode .ng-packages-decision-card,
html.ng-lite-mode .ng-package-pro-card,
html.ng-lite-mode .ng-packages-compare-card,
html.ng-lite-mode .ng-packages-final-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    background-image: none !important;
}
html.ng-lite-mode .ng-packages-orbit-card {
    min-height: 260px;
}
html.ng-lite-mode .ng-packages-orbit-node {
    position: static;
    transform: none !important;
}
html.ng-lite-mode .ng-packages-orbit-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
    padding: 18px;
}
html.ng-lite-mode .ng-packages-orbit-core {
    position: static;
    transform: none;
    width: auto;
    height: auto;
    min-height: 84px;
    grid-column: 1 / -1;
}


/* ===== V10.77 Packages page text and admin fixes ===== */

/* جلوگیری از شکستن بد کلمات فارسی در عنوان‌ها و توضیحات برگه پکیج‌ها */
.ng-packages-page h1,
.ng-packages-page h2,
.ng-packages-page h3,
.ng-packages-page p {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

/* عنوان Hero عرض بیشتری بگیرد تا جمله خراب نشود */
.ng-packages-hero-copy h1 {
    max-width: min(100%, 960px) !important;
    line-height: 1.16 !important;
}

/* به غیر از Hero، عرض عنوان و توضیح سکشن‌های برگه پکیج‌ها یکسان و کنترل‌شده باشد */
.ng-packages-page .ng-section-head {
    --ng-packages-heading-width: min(100%, 760px);
    width: 100%;
    max-width: var(--ng-packages-heading-width);
    margin-inline: auto;
}
.ng-packages-page .ng-section-head h2,
.ng-packages-page .ng-section-head p {
    width: 100%;
    max-width: var(--ng-packages-heading-width);
    margin-inline: auto;
}

/* راهنمای سریع: خط اول و دوم عنوان با کنترل خودمان باشد */
.ng-packages-choice-head h2 span {
    display: block;
}
.ng-packages-choice-head h2 {
    max-width: min(100%, 760px) !important;
}
.ng-packages-choice-head p,
.ng-packages-showcase-section .ng-section-head p {
    max-width: min(100%, 720px) !important;
}

/* توضیح‌ها تک‌کلمه‌ای در خط آخر نمانند */
.ng-packages-choice-head p,
.ng-packages-showcase-section .ng-section-head p,
.ng-packages-compare-copy p,
.ng-packages-final-card p {
    text-wrap: pretty;
}

/* فیلد کوچک نام پکیج در کارت‌های راهنمای سریع همیشه پایین و هم‌ردیف باشد */
.ng-packages-decision-card {
    display: flex;
    flex-direction: column;
}
.ng-packages-decision-card p {
    flex: 1 1 auto;
}
.ng-packages-decision-card small {
    margin-top: auto;
    align-self: flex-start;
}

/* انتخاب اصلی: عنوان و توضیح بیش از حد کشیده نشوند */
.ng-packages-showcase-section .ng-section-head h2 {
    max-width: min(100%, 760px) !important;
}

@media (max-width: 980px) {
    .ng-packages-hero-copy h1 {
        max-width: min(100%, 760px) !important;
    }
}

@media (max-width: 640px) {
    .ng-packages-page .ng-section-head {
        --ng-packages-heading-width: min(100%, 520px);
    }

    .ng-packages-hero-copy h1 {
        max-width: min(100%, 520px) !important;
        font-size: clamp(36px, 10vw, 54px) !important;
    }

    .ng-packages-choice-head h2,
    .ng-packages-showcase-section .ng-section-head h2 {
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.22;
    }
}

/* Lite هم همان کنترل متن را داشته باشد، بدون برگشت افکت‌های سنگین */
html.ng-lite-mode .ng-packages-hero-copy h1,
html.ng-lite-mode .ng-packages-page .ng-section-head h2,
html.ng-lite-mode .ng-packages-page .ng-section-head p {
    word-break: normal;
    overflow-wrap: normal;
}


/* ===== V10.78 Packages page balanced typography fix ===== */
/*
  اصلاح شکست عنوان و توضیح‌های برگه پکیج‌ها:
  - کلمه فارسی از وسط نشکند.
  - خط اول خیلی بلند و خط دوم تک‌کلمه‌ای نشود.
  - به جز Hero، عرض عنوان و توضیح سکشن‌ها یکدست بماند.
*/

.ng-packages-page {
    --ng-packages-heading-w: min(100%, 780px);
    --ng-packages-copy-w: min(100%, 680px);
}

.ng-packages-page h1,
.ng-packages-page h2,
.ng-packages-page h3,
.ng-packages-page p,
.ng-packages-page small,
.ng-packages-page b,
.ng-packages-page strong {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-break: strict;
    hyphens: none !important;
}

.ng-packages-page h1,
.ng-packages-page h2 {
    text-wrap: balance;
}

.ng-packages-page p {
    text-wrap: pretty;
}

/* Hero: عرض عنوان بیشتر و امن‌تر، بدون شکستن کلمات */
.ng-packages-hero-copy h1 {
    max-width: min(100%, 1040px) !important;
    line-height: 1.17 !important;
}
.ng-packages-hero-copy p {
    max-width: min(100%, 720px) !important;
}

/* سکشن‌های غیر Hero: عنوان و توضیح عرض واحد */
.ng-packages-page .ng-section-head {
    width: 100%;
    max-width: var(--ng-packages-heading-w) !important;
    margin-inline: auto !important;
}
.ng-packages-page .ng-section-head h2 {
    width: 100%;
    max-width: var(--ng-packages-heading-w) !important;
    margin-inline: auto !important;
    line-height: 1.18 !important;
}
.ng-packages-page .ng-section-head p {
    width: 100%;
    max-width: var(--ng-packages-copy-w) !important;
    margin-inline: auto !important;
    line-height: 2.05 !important;
}

/* راهنمای سریع: دو خط عمدی و تمیز */
.ng-packages-choice-head h2 {
    max-width: min(100%, 760px) !important;
}
.ng-packages-choice-head h2 span {
    display: block;
    white-space: normal;
}
.ng-packages-choice-head h2 span:first-child {
    margin-bottom: .05em;
}

/* انتخاب اصلی: دیگر کلمه «ببین» تنها در خط دوم نیفتد */
.ng-packages-showcase-section .ng-section-head h2 {
    max-width: min(100%, 860px) !important;
}
.ng-packages-showcase-section .ng-section-head p {
    max-width: min(100%, 700px) !important;
}

/* مقایسه و CTA نیز شکست سالم داشته باشند */
.ng-packages-compare-copy h2,
.ng-packages-final-card h2 {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
}
.ng-packages-final-card h2 {
    max-width: min(100%, 920px) !important;
}
.ng-packages-final-card p {
    max-width: min(100%, 720px) !important;
    text-wrap: pretty;
}

/* موبایل: همان منطق، با عرض مناسب صفحه */
@media (max-width: 640px) {
    .ng-packages-page {
        --ng-packages-heading-w: min(100%, 520px);
        --ng-packages-copy-w: min(100%, 500px);
    }

    .ng-packages-hero-copy h1 {
        max-width: min(100%, 520px) !important;
        line-height: 1.22 !important;
    }

    .ng-packages-choice-head h2,
    .ng-packages-showcase-section .ng-section-head h2,
    .ng-packages-final-card h2 {
        line-height: 1.24 !important;
    }

    .ng-packages-page .ng-section-head p,
    .ng-packages-final-card p {
        line-height: 2 !important;
    }
}

/* Lite هم همان منطق متن را داشته باشد، بدون اضافه کردن افکت */
html.ng-lite-mode .ng-packages-page h1,
html.ng-lite-mode .ng-packages-page h2,
html.ng-lite-mode .ng-packages-page h3,
html.ng-lite-mode .ng-packages-page p {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}


/* ===== V10.79 Packages compare mobile alignment ===== */
/* فقط بخش مقایسه سریع برگه پکیج‌ها در موبایل/تبلت اصلاح شده است. */
@media (max-width: 640px) {
    .ng-packages-compare-copy {
        text-align: center !important;
    }

    .ng-packages-compare-copy .ng-kicker {
        margin-inline: auto !important;
        align-self: center !important;
    }

    .ng-packages-compare-copy h2 {
        max-width: min(100%, 560px) !important;
        margin-inline: auto !important;
        text-align: center !important;
        line-height: 1.24 !important;
    }

    .ng-packages-compare-copy p {
        max-width: min(100%, 500px) !important;
        margin-inline: auto !important;
        text-align: center !important;
        line-height: 2 !important;
    }
}

@media (min-width: 641px) and (max-width: 980px) {
    .ng-packages-compare-copy {
        text-align: center !important;
    }

    .ng-packages-compare-copy .ng-kicker {
        margin-inline: auto !important;
    }

    .ng-packages-compare-copy h2 {
        max-width: min(100%, 680px) !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    .ng-packages-compare-copy p {
        max-width: min(100%, 620px) !important;
        margin-inline: auto !important;
        text-align: center !important;
    }
}

/* Lite هم همان چینش موبایل/تبلت را نگه دارد. */
@media (max-width: 980px) {
    html.ng-lite-mode .ng-packages-compare-copy,
    html.ng-lite-mode .ng-packages-compare-copy h2,
    html.ng-lite-mode .ng-packages-compare-copy p {
        text-align: center !important;
    }

    html.ng-lite-mode .ng-packages-compare-copy .ng-kicker {
        margin-inline: auto !important;
    }
}


/* ===== V10.80 Package detail page visual upgrade ===== */
/* فقط صفحات اختصاصی پکیج‌ها */

.ng-package-detail-page {
    --ng-package-heading-w: min(100%, 800px);
    --ng-package-copy-w: min(100%, 690px);
    position: relative;
    overflow: hidden;
}

.ng-package-detail-page h1,
.ng-package-detail-page h2,
.ng-package-detail-page h3,
.ng-package-detail-page p,
.ng-package-detail-page span,
.ng-package-detail-page small,
.ng-package-detail-page strong {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}

.ng-package-detail-page h1,
.ng-package-detail-page h2 {
    text-wrap: balance;
}

.ng-package-detail-page p {
    text-wrap: pretty;
}

/* Hero */
.ng-package-detail-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 118px) 0 clamp(48px, 6vw, 82px);
}

.ng-package-detail-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.ng-package-detail-word {
    position: absolute;
    top: -28px;
    right: clamp(16px, 6vw, 94px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.12);
    font-size: clamp(76px, 15vw, 230px);
    font-weight: 950;
    letter-spacing: -.08em;
    transform: rotate(2deg);
}

.ng-package-detail-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(26px);
    opacity: .62;
    animation: ngPackageDetailFloat 12s ease-in-out infinite alternate;
}

.ng-package-detail-orb.orb-a {
    width: 320px;
    height: 320px;
    left: -120px;
    top: 15%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}

.ng-package-detail-orb.orb-b {
    width: 280px;
    height: 280px;
    right: 10%;
    bottom: 2%;
    background: radial-gradient(circle, rgba(16,185,129,.16), transparent 70%);
    animation-delay: -5s;
}

.ng-package-detail-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.28), rgba(16,185,129,.18), transparent);
    animation: ngPackageDetailLine 7s ease-in-out infinite;
}

.ng-package-detail-line.line-a { top: 25%; }
.ng-package-detail-line.line-b { bottom: 18%; animation-delay: -3s; }

.ng-package-detail-hero .ng-container {
    position: relative;
    z-index: 2;
}

.ng-package-detail-grid {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, 390px);
    gap: clamp(22px, 5vw, 68px);
}

.ng-package-detail-hero-copy h1 {
    max-width: min(100%, 980px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6.2vw, 86px);
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.055em;
}

.ng-package-detail-hero-copy p {
    max-width: 720px;
    margin-top: 20px;
    color: var(--ng-muted);
    line-height: 2.12;
    font-size: 15px;
}

.ng-package-hero-pills span {
    position: relative;
    overflow: hidden;
}

.ng-package-hero-pills span::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 -120%;
    width: 80%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.16), transparent);
    transform: skewX(-18deg);
    transition: left .42s ease;
}

.ng-package-hero-pills span:hover::before {
    left: 120%;
}

/* Price / graphic card */
.ng-package-detail-price-card {
    position: relative;
    min-height: 370px;
    border-radius: 42px;
    overflow: hidden;
    background:
        radial-gradient(circle at 28% 8%, rgba(91,140,255,.24), transparent 35%),
        radial-gradient(circle at 82% 92%, rgba(16,185,129,.12), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032));
    box-shadow: 0 30px 90px rgba(2,6,23,.22);
}

.ng-package-detail-price-card::before,
.ng-package-detail-price-card::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    border: 1px dashed rgba(147,197,253,.18);
    pointer-events: none;
}

.ng-package-detail-price-card::before {
    inset: 38px;
}

.ng-package-detail-price-card::after {
    inset: 78px;
    animation: ngPackageDetailSpin 20s linear infinite;
}

.ng-package-detail-mini-kicker {
    position: relative;
    z-index: 2;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(91,140,255,.12);
    border: 1px solid rgba(147,197,253,.16);
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 950;
}

.ng-package-detail-price-card .ng-package-icon,
.ng-package-detail-price-card strong,
.ng-package-detail-price-card small,
.ng-package-detail-price-card .ng-btn {
    position: relative;
    z-index: 3;
}

.ng-package-detail-price-rings {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.ng-package-detail-price-rings i {
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 0 26px rgba(91,140,255,.55);
    animation: ngPackageDetailDot 4.4s ease-in-out infinite;
}

.ng-package-detail-price-rings i:nth-child(1) { top: 58px; right: 64px; }
.ng-package-detail-price-rings i:nth-child(2) { left: 72px; top: 112px; animation-delay: -1.2s; }
.ng-package-detail-price-rings i:nth-child(3) { bottom: 72px; right: 88px; animation-delay: -2.1s; }

/* Shared section heading rules */
.ng-package-detail-page .ng-section-head {
    max-width: var(--ng-package-heading-w);
    margin-inline: auto;
}

.ng-package-detail-page .ng-section-head h2 {
    max-width: var(--ng-package-heading-w);
    margin-inline: auto;
    line-height: 1.18;
}

.ng-package-detail-page .ng-section-head p {
    max-width: var(--ng-package-copy-w);
    margin-inline: auto;
    line-height: 2.08;
}

/* Fit / value */
.ng-package-detail-split {
    gap: clamp(24px, 5vw, 64px);
}

.ng-package-detail-copy h2 {
    max-width: var(--ng-package-heading-w);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(32px, 4.6vw, 62px);
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: -.045em;
}

.ng-package-detail-copy p {
    max-width: var(--ng-package-copy-w);
    color: var(--ng-muted);
    line-height: 2.1;
}

.ng-package-fit-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.ng-package-fit-checks span,
.ng-package-feature-list-pro span {
    position: relative;
    overflow: hidden;
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.ng-package-fit-checks span:hover,
.ng-package-feature-list-pro span:hover {
    transform: translateY(-3px);
    border-color: rgba(147,197,253,.28);
    box-shadow: 0 18px 44px rgba(2,6,23,.14);
}

.ng-package-value-panel-pro {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ng-border);
    box-shadow: 0 28px 80px rgba(2,6,23,.18);
}

.ng-package-value-panel-pro::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    left: -120px;
    top: -120px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.20), transparent 68%);
}

.ng-package-value-mark {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(91,140,255,.22), rgba(124,92,255,.18));
    border: 1px solid rgba(147,197,253,.20);
    margin-bottom: 16px;
}

.ng-package-value-mark svg {
    width: 36px;
    height: 36px;
    fill: none;
    stroke: #dbeafe;
    stroke-width: 1.8;
}

/* Structure cards */
.ng-package-structure-grid {
    position: relative;
}

.ng-package-section-card-pro {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    min-height: 220px;
}

.ng-package-section-card-pro::before {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    left: -80px;
    top: -80px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.16), transparent 68%);
    transition: transform .32s ease, opacity .32s ease;
}

.ng-package-section-card-pro:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 66px rgba(2,6,23,.18);
}

.ng-package-section-card-pro:hover::before {
    transform: scale(1.34) translate(18px, 18px);
    opacity: .95;
}

.ng-package-section-card-pro span {
    position: relative;
    z-index: 2;
    width: 42px;
    height: 42px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 950;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
}

.ng-package-section-card-pro h3,
.ng-package-section-card-pro p {
    position: relative;
    z-index: 2;
}

/* Process */
.ng-package-process-panel-pro {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ng-border);
    box-shadow: 0 28px 80px rgba(2,6,23,.18);
}

.ng-package-process-panel-pro::before {
    content: "FLOW";
    position: absolute;
    left: 22px;
    top: -18px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.12);
    font-size: 90px;
    font-weight: 950;
    letter-spacing: -.06em;
    pointer-events: none;
}

.ng-package-process-list div {
    transition: transform .24s ease, border-color .24s ease, background .24s ease;
}

.ng-package-process-list div:hover {
    transform: translateX(-4px);
    border-color: rgba(147,197,253,.26);
}

.ng-feature-list-large {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px;
}

/* Final CTA */
.ng-package-final-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    border-radius: 42px;
    padding: clamp(30px, 5vw, 58px);
    background:
        radial-gradient(circle at 50% 0%, rgba(91,140,255,.22), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.12), transparent 34%),
        var(--ng-card);
}

.ng-package-final-card::before {
    content: "START";
    position: absolute;
    right: 30px;
    top: -34px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(72px, 13vw, 180px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}

.ng-package-final-card h2 {
    position: relative;
    max-width: min(100%, 760px);
    margin-inline: auto;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 70px);
    line-height: 1.18;
    font-weight: 950;
}

.ng-package-final-card p {
    position: relative;
    max-width: min(100%, 720px);
    margin-inline: auto;
    color: var(--ng-muted);
    line-height: 2.1;
}

.ng-package-final-card .ng-btn {
    position: relative;
}

/* Light mode */
.ng-light .ng-package-detail-price-card,
.ng-light .ng-package-value-panel-pro,
.ng-light .ng-package-process-panel-pro,
.ng-light .ng-package-section-card-pro,
.ng-light .ng-package-final-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.11), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.86));
    border-color: rgba(30,58,138,.12);
}

.ng-light .ng-package-detail-word,
.ng-light .ng-package-process-panel-pro::before,
.ng-light .ng-package-final-card::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}

.ng-light .ng-package-value-mark svg,
.ng-light .ng-package-detail-price-card .ng-package-icon svg {
    stroke: #1d4ed8;
}

/* Animations */
@keyframes ngPackageDetailFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-20px,0) scale(1.06); }
}

@keyframes ngPackageDetailLine {
    0%,100% { opacity: .18; transform: translateX(-5%); }
    50% { opacity: .62; transform: translateX(5%); }
}

@keyframes ngPackageDetailSpin {
    to { transform: rotate(360deg); }
}

@keyframes ngPackageDetailDot {
    0%,100% { transform: scale(1); opacity: .68; }
    50% { transform: scale(1.45); opacity: 1; }
}

/* Responsive */
@media (max-width: 980px) {
    .ng-package-detail-grid,
    .ng-package-detail-split {
        grid-template-columns: 1fr;
    }

    .ng-package-detail-hero-copy {
        text-align: center;
    }

    .ng-package-detail-hero-copy .ng-kicker,
    .ng-package-detail-hero-copy h1,
    .ng-package-detail-hero-copy p {
        margin-inline: auto;
    }

    .ng-package-hero-pills,
    .ng-package-detail-hero .ng-hero-actions {
        justify-content: center;
    }

    .ng-package-detail-copy {
        text-align: center;
    }

    .ng-package-detail-copy .ng-kicker,
    .ng-package-detail-copy h2,
    .ng-package-detail-copy p {
        margin-inline: auto;
    }
}

@media (max-width: 720px) {
    .ng-package-detail-page {
        --ng-package-heading-w: min(100%, 520px);
        --ng-package-copy-w: min(100%, 500px);
    }

    .ng-package-detail-hero {
        padding-top: 54px;
    }

    .ng-package-detail-hero-copy h1 {
        font-size: clamp(36px, 10.5vw, 54px);
        line-height: 1.22;
    }

    .ng-package-detail-page .ng-section-head h2,
    .ng-package-detail-copy h2,
    .ng-package-final-card h2 {
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.24;
    }

    .ng-package-fit-checks,
    .ng-feature-list-large {
        grid-template-columns: 1fr;
    }

    .ng-package-detail-price-card {
        min-height: 310px;
        border-radius: 34px;
    }

    .ng-package-process-list div {
        grid-template-columns: 48px 1fr;
    }

    .ng-package-final-card .ng-btn {
        width: 100%;
    }
}

/* Lite: محتوای کامل، گرافیک سبک */
html.ng-lite-mode .ng-package-detail-bg,
html.ng-lite-mode .ng-package-detail-price-card::before,
html.ng-lite-mode .ng-package-detail-price-card::after,
html.ng-lite-mode .ng-package-detail-price-rings,
html.ng-lite-mode .ng-package-value-panel-pro::before,
html.ng-lite-mode .ng-package-section-card-pro::before,
html.ng-lite-mode .ng-package-process-panel-pro::before,
html.ng-lite-mode .ng-package-final-card::before {
    display: none !important;
}

html.ng-lite-mode .ng-package-detail-orb,
html.ng-lite-mode .ng-package-detail-line,
html.ng-lite-mode .ng-package-detail-price-card,
html.ng-lite-mode .ng-package-value-panel-pro,
html.ng-lite-mode .ng-package-process-panel-pro,
html.ng-lite-mode .ng-package-section-card-pro,
html.ng-lite-mode .ng-package-final-card {
    animation: none !important;
    filter: none !important;
    box-shadow: none !important;
}

html.ng-lite-mode .ng-package-detail-price-card,
html.ng-lite-mode .ng-package-value-panel-pro,
html.ng-lite-mode .ng-package-process-panel-pro,
html.ng-lite-mode .ng-package-section-card-pro,
html.ng-lite-mode .ng-package-final-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-image: none !important;
}

html.ng-lite-mode .ng-package-detail-page h1,
html.ng-lite-mode .ng-package-detail-page h2,
html.ng-lite-mode .ng-package-detail-page h3,
html.ng-lite-mode .ng-package-detail-page p {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}


/* ===== V10.81 Portfolio archive redesign ===== */
.ng-portfolio-page {
    --ng-portfolio-heading-w: min(100%, 820px);
    --ng-portfolio-copy-w: min(100%, 700px);
    position: relative;
    overflow: hidden;
}
.ng-portfolio-page h1,
.ng-portfolio-page h2,
.ng-portfolio-page h3,
.ng-portfolio-page p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-portfolio-page h1,
.ng-portfolio-page h2 {
    text-wrap: balance;
}
.ng-portfolio-page p {
    text-wrap: pretty;
}

/* Hero */
.ng-portfolio-hero-pro {
    position: relative;
    isolation: isolate;
    padding: clamp(74px, 9vw, 122px) 0 56px;
    overflow: hidden;
}
.ng-portfolio-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.ng-portfolio-word {
    position: absolute;
    top: -28px;
    right: clamp(12px, 5vw, 90px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.12);
    font-size: clamp(76px, 14vw, 224px);
    font-weight: 950;
    letter-spacing: -.08em;
    transform: rotate(2deg);
}
.ng-portfolio-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(26px);
    opacity: .62;
    animation: ngPortfolioFloat 12s ease-in-out infinite alternate;
}
.ng-portfolio-orb.orb-a {
    width: 320px;
    height: 320px;
    left: -120px;
    top: 16%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-portfolio-orb.orb-b {
    width: 280px;
    height: 280px;
    right: 10%;
    bottom: 3%;
    background: radial-gradient(circle, rgba(16,185,129,.15), transparent 70%);
    animation-delay: -5s;
}
.ng-portfolio-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.28), rgba(16,185,129,.18), transparent);
    animation: ngPortfolioLine 7s ease-in-out infinite;
}
.ng-portfolio-line.line-a { top: 25%; }
.ng-portfolio-line.line-b { bottom: 18%; animation-delay: -3s; }
.ng-portfolio-hero-pro .ng-container {
    position: relative;
    z-index: 2;
}
.ng-portfolio-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr);
    gap: clamp(22px, 5vw, 68px);
    align-items: center;
}
.ng-portfolio-hero-copy h1 {
    max-width: min(100%, 980px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6.4vw, 88px);
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-portfolio-hero-copy p {
    max-width: 720px;
    margin-top: 20px;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-portfolio-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}
.ng-portfolio-stat-card {
    position: relative;
    min-height: 390px;
    border-radius: 44px;
    padding: 34px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 28% 8%, rgba(91,140,255,.24), transparent 36%),
        radial-gradient(circle at 82% 92%, rgba(16,185,129,.12), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032));
}
.ng-portfolio-stat-card::before,
.ng-portfolio-stat-card::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    border: 1px dashed rgba(147,197,253,.18);
    pointer-events: none;
}
.ng-portfolio-stat-card::before { inset: 44px; }
.ng-portfolio-stat-card::after { inset: 88px; animation: ngPortfolioSpin 22s linear infinite; }
.ng-portfolio-stat-card strong {
    position: relative;
    z-index: 2;
    color: var(--ng-text);
    font-size: clamp(64px, 9vw, 118px);
    line-height: 1;
    font-weight: 950;
}
.ng-portfolio-stat-card small {
    position: relative;
    z-index: 2;
    color: var(--ng-soft);
    font-weight: 950;
}
.ng-portfolio-stat-chips {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-top: 22px;
}
.ng-portfolio-stat-chips span,
.ng-portfolio-package-tabs a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(147,197,253,.16);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

/* Shared section headings */
.ng-portfolio-page .ng-section-head {
    max-width: var(--ng-portfolio-heading-w);
    margin-inline: auto;
}
.ng-portfolio-page .ng-section-head h2 {
    max-width: var(--ng-portfolio-heading-w);
    margin-inline: auto;
    line-height: 1.18;
}
.ng-portfolio-page .ng-section-head p {
    max-width: var(--ng-portfolio-copy-w);
    margin-inline: auto;
    line-height: 2.08;
}

/* Featured masonry-like grid */
.ng-portfolio-featured-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}
.ng-portfolio-pro-card {
    grid-column: span 2;
    position: relative;
    border-radius: 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 0%, rgba(91,140,255,.14), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.028));
    border: 1px solid var(--ng-border);
    box-shadow: 0 24px 68px rgba(2,6,23,.15);
    transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ng-portfolio-featured-grid .ng-portfolio-pro-card.is-large {
    grid-column: span 3;
    grid-row: span 2;
}
.ng-portfolio-featured-grid .ng-portfolio-pro-card:nth-child(2),
.ng-portfolio-featured-grid .ng-portfolio-pro-card:nth-child(3) {
    grid-column: span 3;
}
.ng-portfolio-pro-card:hover {
    transform: translateY(-7px);
    border-color: rgba(147,197,253,.28);
    box-shadow: 0 34px 90px rgba(2,6,23,.22);
}
.ng-portfolio-pro-card a {
    display: block;
    height: 100%;
    color: inherit;
    text-decoration: none;
}
.ng-portfolio-pro-image {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--ng-card-2);
}
.ng-portfolio-pro-card.is-large .ng-portfolio-pro-image {
    aspect-ratio: 16 / 12;
}
.ng-portfolio-pro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .45s ease, filter .45s ease;
}
.ng-portfolio-pro-card:hover .ng-portfolio-pro-image img {
    transform: scale(1.06);
    filter: saturate(1.08) contrast(1.04);
}
.ng-portfolio-pro-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.26), transparent 38%),
        radial-gradient(circle at 80% 100%, rgba(16,185,129,.12), transparent 38%),
        linear-gradient(135deg, rgba(15,23,42,.88), rgba(30,41,59,.72));
}
.ng-portfolio-pro-placeholder span {
    position: absolute;
    width: 180px;
    height: 180px;
    border-radius: 999px;
    border: 1px dashed rgba(147,197,253,.20);
}
.ng-portfolio-pro-placeholder b {
    color: var(--ng-text);
    font-size: 72px;
    font-weight: 950;
}
.ng-portfolio-pro-badge {
    position: absolute;
    right: 14px;
    top: 14px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(15,23,42,.60);
    border: 1px solid rgba(255,255,255,.14);
    color: #dbeafe;
    font-size: 11px;
    font-weight: 950;
    backdrop-filter: blur(14px);
}
.ng-portfolio-pro-content {
    padding: 18px;
}
.ng-portfolio-pro-content h3 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(19px, 2vw, 26px);
    line-height: 1.35;
    font-weight: 950;
}
.ng-portfolio-pro-content p {
    margin: 9px 0 0;
    color: var(--ng-muted);
    line-height: 1.95;
    font-size: 13px;
}
.ng-portfolio-pro-content small {
    display: inline-flex;
    margin-top: 14px;
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}

/* Package categories */
.ng-portfolio-package-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    margin: 26px 0 34px;
}
.ng-portfolio-package-tabs a:hover {
    color: var(--ng-text);
    border-color: rgba(147,197,253,.30);
    transform: translateY(-2px);
}
.ng-portfolio-package-sections {
    display: grid;
    gap: 30px;
}
.ng-portfolio-package-block {
    position: relative;
    padding: clamp(20px, 3vw, 34px);
    border-radius: 42px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.13), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
    overflow: hidden;
}
.ng-portfolio-package-block::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    left: -120px;
    top: -120px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.17), transparent 68%);
    pointer-events: none;
}
.ng-portfolio-package-head {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    margin-bottom: 22px;
}
.ng-portfolio-package-icon {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(91,140,255,.22), rgba(124,92,255,.16));
    border: 1px solid rgba(147,197,253,.20);
}
.ng-portfolio-package-icon svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: #dbeafe;
    stroke-width: 1.8;
}
.ng-portfolio-package-head small {
    color: #93c5fd;
    font-weight: 950;
    font-size: 12px;
}
.ng-portfolio-package-head h3 {
    margin: 4px 0 0;
    color: var(--ng-text);
    font-size: clamp(25px, 3vw, 42px);
    line-height: 1.22;
    font-weight: 950;
    letter-spacing: -.04em;
}
.ng-portfolio-package-head p {
    max-width: 760px;
    margin: 8px 0 0;
    color: var(--ng-muted);
    line-height: 1.95;
}
.ng-portfolio-package-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 16px;
}
.ng-portfolio-empty-category {
    position: relative;
    z-index: 2;
    min-height: 130px;
    display: grid;
    place-items: center;
    text-align: center;
    gap: 8px;
    padding: 22px;
    border-radius: 28px;
    background: rgba(255,255,255,.045);
    border: 1px dashed rgba(147,197,253,.20);
}
.ng-portfolio-empty-category b {
    color: var(--ng-text);
}
.ng-portfolio-empty-category span {
    color: var(--ng-muted);
    font-size: 13px;
}

/* Final CTA */
.ng-portfolio-final-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(30px, 5vw, 58px);
    border-radius: 42px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 50% 0%, rgba(91,140,255,.20), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.12), transparent 34%),
        var(--ng-card);
    box-shadow: var(--ng-glow);
}
.ng-portfolio-final-card::before {
    content: "NEXT";
    position: absolute;
    right: 30px;
    top: -34px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(74px, 13vw, 180px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-portfolio-final-card h2 {
    position: relative;
    max-width: min(100%, 820px);
    margin: 0 auto;
    color: var(--ng-text);
    font-size: clamp(34px, 5.2vw, 72px);
    line-height: 1.18;
    font-weight: 950;
}
.ng-portfolio-final-card p {
    position: relative;
    max-width: min(100%, 720px);
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-portfolio-final-card .ng-portfolio-hero-actions {
    justify-content: center;
}

/* Light */
.ng-light .ng-portfolio-stat-card,
.ng-light .ng-portfolio-pro-card,
.ng-light .ng-portfolio-package-block,
.ng-light .ng-portfolio-final-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.10), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,250,255,.86));
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-portfolio-package-icon svg {
    stroke: #1d4ed8;
}
.ng-light .ng-portfolio-pro-badge {
    background: rgba(255,255,255,.78);
    color: #1d4ed8;
    border-color: rgba(37,99,235,.14);
}
.ng-light .ng-portfolio-word,
.ng-light .ng-portfolio-final-card::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}

/* Animations */
@keyframes ngPortfolioFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-20px,0) scale(1.06); }
}
@keyframes ngPortfolioLine {
    0%,100% { opacity: .18; transform: translateX(-5%); }
    50% { opacity: .62; transform: translateX(5%); }
}
@keyframes ngPortfolioSpin {
    to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 1080px) {
    .ng-portfolio-hero-grid {
        grid-template-columns: 1fr;
    }
    .ng-portfolio-hero-copy,
    .ng-portfolio-package-head {
        text-align: center;
    }
    .ng-portfolio-hero-copy .ng-kicker,
    .ng-portfolio-hero-copy h1,
    .ng-portfolio-hero-copy p,
    .ng-portfolio-package-head p {
        margin-inline: auto;
    }
    .ng-portfolio-hero-actions {
        justify-content: center;
    }
    .ng-portfolio-package-head {
        grid-template-columns: 1fr;
        justify-items: center;
    }
}
@media (max-width: 920px) {
    .ng-portfolio-featured-grid,
    .ng-portfolio-package-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .ng-portfolio-featured-grid .ng-portfolio-pro-card,
    .ng-portfolio-featured-grid .ng-portfolio-pro-card.is-large,
    .ng-portfolio-featured-grid .ng-portfolio-pro-card:nth-child(2),
    .ng-portfolio-featured-grid .ng-portfolio-pro-card:nth-child(3) {
        grid-column: auto;
        grid-row: auto;
    }
}
@media (max-width: 640px) {
    .ng-portfolio-page {
        --ng-portfolio-heading-w: min(100%, 520px);
        --ng-portfolio-copy-w: min(100%, 500px);
    }
    .ng-portfolio-hero-pro {
        padding-top: 54px;
    }
    .ng-portfolio-hero-copy h1 {
        font-size: clamp(36px, 10.4vw, 54px);
        line-height: 1.22;
    }
    .ng-portfolio-page .ng-section-head h2,
    .ng-portfolio-final-card h2 {
        font-size: clamp(31px, 8.8vw, 46px);
        line-height: 1.24;
    }
    .ng-portfolio-featured-grid,
    .ng-portfolio-package-grid {
        grid-template-columns: 1fr;
    }
    .ng-portfolio-stat-card {
        min-height: 300px;
        border-radius: 34px;
    }
    .ng-portfolio-package-block {
        border-radius: 32px;
        padding: 18px;
    }
    .ng-portfolio-final-card .ng-btn {
        width: 100%;
    }
}

/* Lite */
html.ng-lite-mode .ng-portfolio-hero-bg,
html.ng-lite-mode .ng-portfolio-stat-card::before,
html.ng-lite-mode .ng-portfolio-stat-card::after,
html.ng-lite-mode .ng-portfolio-package-block::before,
html.ng-lite-mode .ng-portfolio-final-card::before {
    display: none !important;
}
html.ng-lite-mode .ng-portfolio-orb,
html.ng-lite-mode .ng-portfolio-line,
html.ng-lite-mode .ng-portfolio-stat-card,
html.ng-lite-mode .ng-portfolio-pro-card,
html.ng-lite-mode .ng-portfolio-package-block,
html.ng-lite-mode .ng-portfolio-final-card {
    animation: none !important;
    filter: none !important;
    box-shadow: none !important;
}
html.ng-lite-mode .ng-portfolio-stat-card,
html.ng-lite-mode .ng-portfolio-pro-card,
html.ng-lite-mode .ng-portfolio-package-block,
html.ng-lite-mode .ng-portfolio-final-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-image: none !important;
}
html.ng-lite-mode .ng-portfolio-page h1,
html.ng-lite-mode .ng-portfolio-page h2,
html.ng-lite-mode .ng-portfolio-page h3,
html.ng-lite-mode .ng-portfolio-page p {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}


/* ===== V10.82 Portfolio package tabs + sliders ===== */
.ng-portfolio-tabs-section .ng-section-head h2 {
    max-width: min(100%, 860px);
}

.ng-portfolio-tabs {
    align-items: center;
}

.ng-portfolio-tabs button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.16);
    background: rgba(255,255,255,.055);
    color: var(--ng-soft);
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
}

.ng-portfolio-tabs button span {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(91,140,255,.12);
}

.ng-portfolio-tabs button svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
}

.ng-portfolio-tabs button:hover,
.ng-portfolio-tabs button.is-active {
    transform: translateY(-2px);
    color: var(--ng-text);
    border-color: rgba(147,197,253,.32);
    background: linear-gradient(135deg, rgba(91,140,255,.18), rgba(124,92,255,.12));
}

.ng-portfolio-tab-panels {
    position: relative;
}

.ng-portfolio-tab-panel {
    display: none;
}

.ng-portfolio-tab-panel.is-active {
    display: block;
    animation: ngPortfolioTabIn .32s ease both;
}

.ng-portfolio-tab-head {
    padding: clamp(18px, 3vw, 28px);
    margin-bottom: 0;
    border: 1px solid var(--ng-border);
    border-radius: 34px 34px 0 0;
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.14), transparent 35%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}

.ng-portfolio-tab-slider {
    position: relative;
    padding: clamp(16px, 3vw, 26px);
    border: 1px solid var(--ng-border);
    border-top: 0;
    border-radius: 0 0 34px 34px;
    background:
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.10), transparent 35%),
        rgba(255,255,255,.03);
    overflow: hidden;
}

.ng-portfolio-tab-viewport {
    overflow: hidden;
    border-radius: 28px;
    touch-action: pan-y;
}

.ng-portfolio-tab-track {
    display: flex;
    gap: 16px;
    direction: rtl;
    transform: translateX(0);
    transition: transform .34s ease;
    will-change: transform;
}

.ng-portfolio-tab-track.is-dragging {
    transition-duration: 0s !important;
}

.ng-portfolio-tab-track .ng-portfolio-pro-card {
    flex: 0 0 calc((100% - 32px) / 3);
    grid-column: auto !important;
    min-width: 0;
}

.ng-portfolio-tab-track .ng-portfolio-pro-image {
    aspect-ratio: 16 / 10;
}

.ng-portfolio-tab-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    border: 1px solid rgba(147,197,253,.20);
    background: rgba(15,23,42,.70);
    color: #e0f2fe;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 18px 46px rgba(2,6,23,.20);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.ng-portfolio-tab-nav:hover {
    transform: translateY(-50%) scale(1.05);
    border-color: rgba(147,197,253,.34);
    background: rgba(37,99,235,.38);
}

.ng-portfolio-tab-nav.prev {
    right: 10px;
}

.ng-portfolio-tab-nav.next {
    left: 10px;
}

.ng-portfolio-tab-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
}

.ng-portfolio-tab-dots i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(148,163,184,.38);
    transition: .22s ease;
}

.ng-portfolio-tab-dots i.active {
    width: 24px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
}

.ng-light .ng-portfolio-tabs button,
.ng-light .ng-portfolio-tab-head,
.ng-light .ng-portfolio-tab-slider {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
}

.ng-light .ng-portfolio-tab-nav {
    background: rgba(255,255,255,.86);
    color: #1d4ed8;
    border-color: rgba(37,99,235,.16);
}

@keyframes ngPortfolioTabIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1080px) {
    .ng-portfolio-tab-head {
        border-radius: 30px 30px 0 0;
    }
}

@media (max-width: 980px) {
    .ng-portfolio-tab-track .ng-portfolio-pro-card {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 680px) {
    .ng-portfolio-tabs {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        scrollbar-width: none;
    }
    .ng-portfolio-tabs::-webkit-scrollbar {
        display: none;
    }
    .ng-portfolio-tabs button {
        flex: 0 0 auto;
    }
    .ng-portfolio-tab-head {
        border-radius: 28px 28px 0 0;
    }
    .ng-portfolio-tab-slider {
        padding: 14px;
        border-radius: 0 0 28px 28px;
    }
    .ng-portfolio-tab-track .ng-portfolio-pro-card {
        flex-basis: 100%;
    }
    .ng-portfolio-tab-nav {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }
    .ng-portfolio-tab-nav.prev {
        right: 6px;
    }
    .ng-portfolio-tab-nav.next {
        left: 6px;
    }
}

/* Lite: تب و اسلایدر باقی بماند، افکت سنگین حذف شود */
html.ng-lite-mode .ng-portfolio-tab-panel.is-active {
    animation: none !important;
}

html.ng-lite-mode .ng-portfolio-tab-head,
html.ng-lite-mode .ng-portfolio-tab-slider,
html.ng-lite-mode .ng-portfolio-tabs button,
html.ng-lite-mode .ng-portfolio-tab-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    background-image: none !important;
}


/* ===== V10.83 Featured portfolio slider redesign ===== */
.ng-portfolio-featured-slider {
    position: relative;
    margin-top: 30px;
    padding: clamp(16px, 3vw, 26px);
    border-radius: 38px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.16), transparent 35%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.10), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
    overflow: hidden;
}

.ng-portfolio-featured-slider::before {
    content: "SHOWCASE";
    position: absolute;
    top: -30px;
    right: 24px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(64px, 11vw, 152px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}

.ng-portfolio-featured-viewport {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 30px;
    touch-action: pan-y;
}

.ng-portfolio-featured-track {
    display: flex;
    gap: 16px;
    direction: rtl;
    transform: translateX(0);
    transition: transform .34s ease;
    will-change: transform;
}

.ng-portfolio-featured-track.is-dragging {
    transition-duration: 0s !important;
}

.ng-portfolio-featured-track .ng-portfolio-pro-card {
    flex: 0 0 calc((100% - 48px) / 4);
    grid-column: auto !important;
}

.ng-portfolio-featured-track .ng-portfolio-pro-image {
    aspect-ratio: 16 / 11;
}

.ng-portfolio-featured-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    border: 1px solid rgba(147,197,253,.20);
    background: rgba(15,23,42,.72);
    color: #e0f2fe;
    cursor: pointer;
    transform: translateY(-50%);
    box-shadow: 0 18px 46px rgba(2,6,23,.20);
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.ng-portfolio-featured-nav:hover {
    transform: translateY(-50%) scale(1.05);
    border-color: rgba(147,197,253,.34);
    background: rgba(37,99,235,.38);
}

.ng-portfolio-featured-nav.prev { right: 10px; }
.ng-portfolio-featured-nav.next { left: 10px; }

.ng-portfolio-featured-dots {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 18px;
}

.ng-portfolio-featured-dots i {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(148,163,184,.38);
    transition: .22s ease;
}

.ng-portfolio-featured-dots i.active {
    width: 24px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
}

.ng-light .ng-portfolio-featured-slider {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
}

.ng-light .ng-portfolio-featured-nav {
    background: rgba(255,255,255,.88);
    color: #1d4ed8;
    border-color: rgba(37,99,235,.16);
}

@media (max-width: 980px) {
    .ng-portfolio-featured-track .ng-portfolio-pro-card {
        flex-basis: calc((100% - 16px) / 2);
    }
}

@media (max-width: 680px) {
    .ng-portfolio-featured-slider {
        padding: 14px;
        border-radius: 30px;
    }
    .ng-portfolio-featured-viewport {
        border-radius: 24px;
    }
    .ng-portfolio-featured-track .ng-portfolio-pro-card {
        flex-basis: 100%;
    }
    .ng-portfolio-featured-nav {
        width: 38px;
        height: 38px;
        border-radius: 14px;
    }
    .ng-portfolio-featured-nav.prev { right: 6px; }
    .ng-portfolio-featured-nav.next { left: 6px; }
}

/* Lite: اسلایدر منتخب فعال بماند، افکت‌های سنگین خاموش */
html.ng-lite-mode .ng-portfolio-featured-slider::before {
    display: none !important;
}

html.ng-lite-mode .ng-portfolio-featured-slider,
html.ng-lite-mode .ng-portfolio-featured-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    background-image: none !important;
}


/* ===== V10.85 Portfolio mobile swipe direction + tab clipping fix ===== */

/* در موبایل/تبلت تب‌ها موقع انتخاب از بالا نصفه نشوند */
@media (max-width: 980px) {
    .ng-portfolio-tabs {
        padding-top: 7px;
        padding-bottom: 8px;
        margin-top: 20px;
        align-items: center;
    }

    .ng-portfolio-tabs button,
    .ng-portfolio-tabs button:hover,
    .ng-portfolio-tabs button.is-active {
        transform: none !important;
    }
}

/* موبایل: فضای لمس بهتر برای تب‌ها و جلوگیری از clip شدن لبه دکمه */
@media (max-width: 680px) {
    .ng-portfolio-tabs {
        padding-inline: 2px;
        scroll-padding-inline: 14px;
    }

    .ng-portfolio-tabs button {
        min-height: 42px;
    }
}


/* ===== V10.86 Light mode graphic visibility + admin sync fixes ===== */

/* خط‌چین‌های بیضی/دایره‌ای کارت‌های گرافیکی در حالت روشن واضح‌تر باشند */
.ng-light .ng-packages-orbit-card::before,
.ng-light .ng-packages-orbit-card::after,
.ng-light .ng-package-detail-price-card::before,
.ng-light .ng-package-detail-price-card::after,
.ng-light .ng-portfolio-stat-card::before,
.ng-light .ng-portfolio-stat-card::after {
    border-color: rgba(37, 99, 235, .24) !important;
    opacity: 1 !important;
}

.ng-light .ng-packages-orbit-node,
.ng-light .ng-portfolio-stat-chips span {
    border-color: rgba(37, 99, 235, .20) !important;
}

/* آیکون مسیر اختصاصی صفحات اختصاصی پکیج‌ها در حالت روشن خواناتر باشد */
.ng-light .ng-package-detail-price-card .ng-package-icon {
    color: #1d4ed8 !important;
    background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(124,58,237,.10)) !important;
    border-color: rgba(37,99,235,.24) !important;
    box-shadow: 0 18px 38px rgba(37,99,235,.14) !important;
}

.ng-light .ng-package-detail-price-card .ng-package-icon svg,
.ng-light .ng-package-detail-price-card .ng-package-icon svg *,
.ng-light .ng-package-detail-price-card .ng-package-value-mark svg,
.ng-light .ng-package-detail-price-card .ng-package-value-mark svg * {
    stroke: #1d4ed8 !important;
    color: #1d4ed8 !important;
}

.ng-light .ng-package-detail-price-card .ng-package-icon svg [fill]:not([fill="none"]) {
    fill: #1d4ed8 !important;
}


/* ===== V10.89 Professional Footer redesign ===== */
.ng-footer-pro {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: clamp(60px, 8vw, 110px);
    padding: clamp(46px, 6vw, 82px) 0 24px;
    border-top: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 12% 0%, rgba(37,99,235,.16), transparent 34%),
        radial-gradient(circle at 86% 22%, rgba(124,58,237,.14), transparent 32%),
        linear-gradient(180deg, rgba(15,23,42,.38), rgba(15,23,42,.70));
}
.ng-footer-pro-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.ng-footer-pro-word {
    position: absolute;
    right: clamp(18px, 5vw, 90px);
    top: -26px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(74px, 14vw, 220px);
    font-weight: 950;
    letter-spacing: -.08em;
}
.ng-footer-pro-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(26px);
    opacity: .52;
    animation: ngFooterFloat 12s ease-in-out infinite alternate;
}
.ng-footer-pro-orb.orb-a {
    width: 300px;
    height: 300px;
    left: -110px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.20), transparent 68%);
}
.ng-footer-pro-orb.orb-b {
    width: 260px;
    height: 260px;
    right: 8%;
    bottom: -110px;
    background: radial-gradient(circle, rgba(16,185,129,.13), transparent 70%);
    animation-delay: -5s;
}
.ng-footer-pro .ng-container {
    position: relative;
    z-index: 2;
}
.ng-footer-pro-top {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    gap: 18px;
    align-items: stretch;
    margin-bottom: 18px;
}
.ng-footer-brand-pro,
.ng-footer-contact-card,
.ng-footer-license-panel {
    border: 1px solid var(--ng-border);
    border-radius: 34px;
    background:
        radial-gradient(circle at 0 0, rgba(91,140,255,.12), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
    box-shadow: 0 24px 70px rgba(2,6,23,.15);
}
.ng-footer-brand-pro {
    padding: clamp(22px, 3vw, 34px);
}
.ng-footer-brand-pro p {
    max-width: 66ch;
    color: var(--ng-muted);
    line-height: 2.1;
    margin: 18px 0 0;
}
.ng-socials-pro {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 20px;
}
.ng-socials-pro a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-radius: 16px;
    border: 1px solid rgba(147,197,253,.16);
    background: rgba(255,255,255,.055);
    color: var(--ng-soft);
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ng-socials-pro a:hover {
    transform: translateY(-2px);
    border-color: rgba(147,197,253,.32);
    color: var(--ng-text);
}
.ng-socials-pro a span {
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    font-size: 11px;
}
.ng-footer-contact-card {
    padding: clamp(20px, 3vw, 30px);
}
.ng-footer-contact-card h3,
.ng-footer-license-panel h3 {
    margin: 0 0 16px;
    color: var(--ng-text);
    font-size: clamp(20px, 2.2vw, 30px);
    line-height: 1.35;
    font-weight: 950;
}
.ng-footer-contact-list {
    display: grid;
    gap: 10px;
}
.ng-footer-contact-item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 68px;
    padding: 10px;
    border-radius: 22px;
    border: 1px solid rgba(147,197,253,.14);
    background: rgba(255,255,255,.052);
    text-decoration: none;
    color: inherit;
    transition: transform .2s ease, border-color .2s ease;
}
.ng-footer-contact-item:hover {
    transform: translateY(-2px);
    border-color: rgba(147,197,253,.28);
}
.ng-footer-contact-item i {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(91,140,255,.13);
    border: 1px solid rgba(147,197,253,.16);
}
.ng-footer-contact-item i::before {
    color: #bfdbfe;
    font-size: 20px;
    font-weight: 900;
}
.ng-footer-contact-item.phone i::before { content: "☎"; }
.ng-footer-contact-item.email i::before { content: "✉"; }
.ng-footer-contact-item.address i::before { content: "⌖"; }
.ng-footer-contact-item small {
    display: block;
    color: var(--ng-muted);
    font-size: 11px;
    font-weight: 850;
}
.ng-footer-contact-item b {
    display: block;
    color: var(--ng-text);
    font-size: 13px;
    line-height: 1.8;
    font-weight: 950;
    word-break: break-word;
}
.ng-footer-grid-pro {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(280px, 1.1fr);
    gap: 14px;
    margin-top: 14px;
}
.ng-footer-grid-pro .ng-footer-group,
.ng-footer-license-panel {
    margin: 0;
    min-height: 100%;
}
.ng-footer-grid-pro .ng-footer-group {
    border-radius: 28px;
    border: 1px solid var(--ng-border);
    background: rgba(255,255,255,.045);
    overflow: hidden;
}
.ng-footer-grid-pro .ng-footer-group summary {
    min-height: 58px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    color: var(--ng-text);
    font-weight: 950;
    cursor: pointer;
}
.ng-footer-grid-pro .ng-footer-links {
    padding: 0 18px 18px;
}
.ng-footer-grid-pro .ng-footer-links a,
.ng-footer-grid-pro .ng-footer-links span {
    min-height: 36px;
    display: flex;
    align-items: center;
    color: var(--ng-muted);
    text-decoration: none;
    font-size: 13px;
    font-weight: 850;
    transition: color .18s ease, transform .18s ease;
}
.ng-footer-grid-pro .ng-footer-links a:hover {
    color: var(--ng-text);
    transform: translateX(-4px);
}
.ng-footer-license-panel {
    padding: 20px;
}
.ng-footer-license-panel p {
    color: var(--ng-muted);
    line-height: 2;
    margin: 0 0 14px;
}
.ng-footer-trust-pro {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
}
.ng-footer-trust-pro img,
.ng-footer-trust-pro iframe {
    max-width: 92px;
    max-height: 92px;
    object-fit: contain;
    border-radius: 18px;
    background: rgba(255,255,255,.92);
    padding: 6px;
}
.ng-footer-trust-placeholder {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.ng-footer-trust-placeholder span {
    min-height: 64px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    border: 1px dashed rgba(147,197,253,.24);
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 950;
    background: rgba(255,255,255,.035);
}
.ng-footer-empty {
    color: var(--ng-muted);
    line-height: 2;
}
.ng-footer-bottom-pro {
    margin-top: 18px;
    min-height: 58px;
    padding: 12px 16px;
    border-radius: 22px;
    border: 1px solid var(--ng-border);
    background: rgba(255,255,255,.04);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 850;
}
.ng-light .ng-footer-pro {
    background:
        radial-gradient(circle at 12% 0%, rgba(37,99,235,.10), transparent 34%),
        radial-gradient(circle at 86% 22%, rgba(124,58,237,.08), transparent 32%),
        linear-gradient(180deg, rgba(248,250,252,.98), rgba(238,242,255,.95));
}
.ng-light .ng-footer-brand-pro,
.ng-light .ng-footer-contact-card,
.ng-light .ng-footer-license-panel,
.ng-light .ng-footer-grid-pro .ng-footer-group,
.ng-light .ng-footer-bottom-pro {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.08), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-footer-pro-word {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}
.ng-light .ng-footer-contact-item,
.ng-light .ng-socials-pro a,
.ng-light .ng-footer-trust-placeholder span {
    background: rgba(255,255,255,.70);
    border-color: rgba(37,99,235,.13);
}
.ng-light .ng-footer-contact-item i {
    background: rgba(37,99,235,.08);
    border-color: rgba(37,99,235,.13);
}
.ng-light .ng-footer-contact-item i::before {
    color: #1d4ed8;
}
@keyframes ngFooterFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@media (max-width: 1080px) {
    .ng-footer-pro-top,
    .ng-footer-grid-pro {
        grid-template-columns: 1fr 1fr;
    }
    .ng-footer-license-panel {
        grid-column: 1 / -1;
    }
}
@media (max-width: 720px) {
    .ng-footer-pro {
        margin-top: 70px;
        padding-top: 38px;
    }
    .ng-footer-pro-top,
    .ng-footer-grid-pro {
        grid-template-columns: 1fr;
    }
    .ng-footer-brand-pro,
    .ng-footer-contact-card,
    .ng-footer-license-panel {
        border-radius: 28px;
    }
    .ng-socials-pro a {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }
    .ng-footer-grid-pro .ng-footer-group summary {
        justify-content: space-between;
    }
    .ng-footer-grid-pro .ng-footer-group summary::after {
        content: "+";
        width: 26px;
        height: 26px;
        display: grid;
        place-items: center;
        border-radius: 10px;
        background: rgba(91,140,255,.12);
        color: var(--ng-text);
    }
    .ng-footer-grid-pro .ng-footer-group[open] summary::after {
        content: "−";
    }
    .ng-footer-bottom-pro {
        display: grid;
        text-align: center;
        justify-content: center;
    }
}
/* Lite footer keeps structure, removes heavy visual cost */
html.ng-lite-mode .ng-footer-pro-bg,
html.ng-lite-mode .ng-footer-pro-orb {
    display: none !important;
}
html.ng-lite-mode .ng-footer-brand-pro,
html.ng-lite-mode .ng-footer-contact-card,
html.ng-lite-mode .ng-footer-license-panel,
html.ng-lite-mode .ng-footer-grid-pro .ng-footer-group,
html.ng-lite-mode .ng-footer-bottom-pro {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}


/* ===== V10.90 Minimal world-class footer redesign ===== */
.ng-footer-minimal {
    position: relative;
    margin-top: clamp(54px, 7vw, 92px);
    padding: 0 0 22px;
    background: transparent !important;
    border-top: 0 !important;
}
.ng-footer-minimal-shell {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--ng-border);
    border-radius: 34px;
    background:
        radial-gradient(circle at 0 0, rgba(91,140,255,.13), transparent 32%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.08), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    box-shadow: 0 24px 70px rgba(2,6,23,.16);
}
.ng-footer-minimal-shell::before {
    content: "NETGARDI";
    position: absolute;
    left: 22px;
    top: -28px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.075);
    font-size: clamp(58px, 9vw, 128px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-footer-minimal-top {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .86fr);
    gap: 14px;
    align-items: center;
    padding: clamp(20px, 3vw, 30px);
    border-bottom: 1px solid var(--ng-border);
}
.ng-footer-minimal-brand p {
    max-width: 62ch;
    margin: 12px 0 0;
    color: var(--ng-muted);
    line-height: 2;
    font-size: 13px;
}
.ng-footer-minimal-contact {
    display: grid;
    gap: 8px;
}
.ng-footer-mini-contact {
    min-height: 54px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 8px;
    border-radius: 18px;
    border: 1px solid rgba(147,197,253,.13);
    background: rgba(255,255,255,.040);
    color: inherit;
    text-decoration: none;
}
.ng-footer-mini-contact i {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(91,140,255,.105);
    border: 1px solid rgba(147,197,253,.12);
}
.ng-footer-mini-contact i::before {
    color: #bfdbfe;
    font-size: 16px;
    font-weight: 900;
}
.ng-footer-mini-contact.phone i::before { content: "☎"; }
.ng-footer-mini-contact.email i::before { content: "✉"; }
.ng-footer-mini-contact.address i::before { content: "⌖"; }
.ng-footer-mini-contact small {
    display: block;
    color: var(--ng-muted);
    font-size: 10px;
    font-weight: 850;
}
.ng-footer-mini-contact b {
    display: block;
    color: var(--ng-text);
    font-size: 12px;
    line-height: 1.7;
    font-weight: 950;
    word-break: break-word;
}
.ng-footer-minimal-main {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
    gap: 14px;
    padding: 18px clamp(20px, 3vw, 30px);
}
.ng-footer-columns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.ng-footer-minimal .ng-footer-group {
    margin: 0 !important;
    border: 1px solid rgba(147,197,253,.10);
    border-radius: 22px;
    background: rgba(255,255,255,.030);
    overflow: hidden;
}
.ng-footer-minimal .ng-footer-group summary {
    min-height: 48px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    color: var(--ng-text);
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
}
.ng-footer-minimal .ng-footer-links {
    padding: 0 14px 12px;
}
.ng-footer-minimal .ng-footer-links a,
.ng-footer-minimal .ng-footer-links span {
    min-height: 30px;
    display: flex;
    align-items: center;
    color: var(--ng-muted);
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
    transition: color .18s ease, transform .18s ease;
}
.ng-footer-minimal .ng-footer-links a:hover {
    color: var(--ng-text);
    transform: translateX(-3px);
}
.ng-footer-side {
    display: grid;
    gap: 10px;
    align-content: start;
}
.ng-footer-social-custom {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.ng-footer-social-custom a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border-radius: 15px;
    border: 1px solid rgba(147,197,253,.13);
    background: rgba(255,255,255,.040);
    color: var(--ng-soft);
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    transition: .18s ease;
}
.ng-footer-social-custom a:hover {
    transform: translateY(-2px);
    color: var(--ng-text);
    border-color: rgba(147,197,253,.28);
}
.ng-footer-social-custom img,
.ng-footer-social-custom span {
    width: 24px;
    height: 24px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    object-fit: contain;
    background: rgba(255,255,255,.88);
    color: #1d4ed8;
    font-weight: 950;
}
.ng-footer-license-minimal {
    display: grid;
    gap: 10px;
    padding: 12px;
    border-radius: 20px;
    border: 1px solid rgba(147,197,253,.12);
    background: rgba(255,255,255,.035);
}
.ng-footer-license-minimal strong {
    display: block;
    color: var(--ng-text);
    font-size: 13px;
    font-weight: 950;
}
.ng-footer-license-minimal small {
    display: block;
    margin-top: 4px;
    color: var(--ng-muted);
    line-height: 1.8;
    font-size: 11px;
}
.ng-footer-trust-minimal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.ng-footer-trust-minimal img,
.ng-footer-trust-minimal iframe {
    max-width: 72px;
    max-height: 72px;
    object-fit: contain;
    border-radius: 14px;
    background: rgba(255,255,255,.92);
    padding: 4px;
}
.ng-footer-bottom-minimal {
    min-height: 48px;
    padding: 10px clamp(20px, 3vw, 30px);
    border-top: 1px solid var(--ng-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: var(--ng-muted);
    font-size: 11px;
    font-weight: 850;
    background: rgba(255,255,255,.025);
}
.ng-light .ng-footer-minimal-shell {
    background:
        radial-gradient(circle at 0 0, rgba(37,99,235,.080), transparent 32%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.050), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,252,.82));
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-footer-minimal-shell::before {
    -webkit-text-stroke-color: rgba(29,78,216,.085);
}
.ng-light .ng-footer-mini-contact,
.ng-light .ng-footer-minimal .ng-footer-group,
.ng-light .ng-footer-social-custom a,
.ng-light .ng-footer-license-minimal {
    background: rgba(255,255,255,.64);
    border-color: rgba(37,99,235,.11);
}
.ng-light .ng-footer-mini-contact i {
    background: rgba(37,99,235,.075);
    border-color: rgba(37,99,235,.12);
}
.ng-light .ng-footer-mini-contact i::before {
    color: #1d4ed8;
}
@media (max-width: 980px) {
    .ng-footer-minimal-top,
    .ng-footer-minimal-main {
        grid-template-columns: 1fr;
    }
    .ng-footer-minimal-contact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ng-footer-mini-contact.address {
        grid-column: 1 / -1;
    }
}
@media (max-width: 720px) {
    .ng-footer-minimal {
        margin-top: 58px;
    }
    .ng-footer-minimal-shell {
        border-radius: 28px;
    }
    .ng-footer-minimal-top {
        padding: 18px;
    }
    .ng-footer-minimal-main {
        padding: 14px 18px;
    }
    .ng-footer-minimal-contact,
    .ng-footer-columns {
        grid-template-columns: 1fr;
    }
    .ng-footer-minimal .ng-footer-group summary {
        justify-content: space-between;
    }
    .ng-footer-minimal .ng-footer-group summary::after {
        content: "+";
        width: 24px;
        height: 24px;
        display: grid;
        place-items: center;
        border-radius: 9px;
        background: rgba(91,140,255,.10);
        color: var(--ng-text);
    }
    .ng-footer-minimal .ng-footer-group[open] summary::after {
        content: "−";
    }
    .ng-footer-social-custom a {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }
    .ng-footer-bottom-minimal {
        display: grid;
        text-align: center;
        justify-content: center;
    }
}
html.ng-lite-mode .ng-footer-minimal-shell {
    box-shadow: none !important;
}
html.ng-lite-mode .ng-footer-minimal-shell::before {
    display: none !important;
}


/* ===== V10.91 Footer compact premium refinement ===== */
/* بازنگری فوتر: ارتفاع کمتر، چیدمان تماس حرفه‌ای‌تر، آیکون‌های SVG مدرن و تایپوگرافی لینک‌ها بهتر */

.ng-footer-minimal {
    margin-top: clamp(46px, 6vw, 76px) !important;
    padding-bottom: 18px !important;
}
.ng-footer-minimal-shell {
    border-radius: 30px !important;
    background:
        linear-gradient(135deg, rgba(91,140,255,.090), transparent 30%),
        linear-gradient(315deg, rgba(16,185,129,.055), transparent 28%),
        rgba(255,255,255,.038) !important;
    box-shadow: 0 20px 56px rgba(2,6,23,.13) !important;
}
.ng-footer-minimal-shell::before {
    top: -18px !important;
    left: 18px !important;
    font-size: clamp(52px, 8.5vw, 112px) !important;
    -webkit-text-stroke-color: rgba(147,197,253,.060) !important;
}
.ng-footer-minimal-shell::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(rgba(147,197,253,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147,197,253,.030) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.85), transparent 72%);
    opacity: .55;
}
.ng-footer-minimal-top {
    grid-template-columns: minmax(0, .92fr) minmax(460px, 1.08fr) !important;
    align-items: stretch !important;
    gap: 16px !important;
    padding: 20px 24px !important;
}
.ng-footer-minimal-brand {
    display: grid;
    align-content: center;
    min-width: 0;
}
.ng-footer-minimal-brand p {
    margin-top: 10px !important;
    max-width: 58ch !important;
    line-height: 1.9 !important;
    font-size: 12px !important;
}
.ng-footer-minimal-contact {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px !important;
    align-content: center;
}
.ng-footer-mini-contact {
    min-height: 74px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 10px !important;
    border-radius: 20px !important;
    background:
        linear-gradient(135deg, rgba(91,140,255,.075), rgba(255,255,255,.030)) !important;
    border-color: rgba(147,197,253,.15) !important;
}
.ng-footer-mini-contact:hover {
    transform: translateY(-2px);
    border-color: rgba(147,197,253,.28) !important;
}
.ng-footer-mini-contact i {
    width: 42px !important;
    height: 42px !important;
    border-radius: 16px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(135deg, rgba(91,140,255,.18), rgba(124,92,255,.10)) !important;
}
.ng-footer-mini-contact i::before {
    content: none !important;
}
.ng-footer-mini-contact i svg {
    width: 21px;
    height: 21px;
    display: block;
    fill: none;
    stroke: #dbeafe;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-footer-mini-contact small {
    font-size: 10px !important;
    letter-spacing: 0 !important;
}
.ng-footer-mini-contact b {
    font-size: 11.5px !important;
    line-height: 1.65 !important;
}
.ng-footer-mini-contact.address {
    grid-column: auto !important;
}
.ng-footer-minimal-main {
    grid-template-columns: minmax(0, 1fr) minmax(245px, .36fr) !important;
    padding: 16px 24px !important;
}
.ng-footer-columns {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}
.ng-footer-minimal .ng-footer-group {
    border-radius: 20px !important;
    background: rgba(255,255,255,.026) !important;
}
.ng-footer-minimal .ng-footer-group summary {
    min-height: 44px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
    font-weight: 950 !important;
    color: var(--ng-text) !important;
    position: relative;
}
.ng-footer-minimal .ng-footer-group summary::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 999px;
    margin-left: 8px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 0 0 4px rgba(91,140,255,.08);
}
.ng-footer-minimal .ng-footer-links {
    padding: 0 14px 12px !important;
}
.ng-footer-minimal .ng-footer-links a,
.ng-footer-minimal .ng-footer-links span {
    min-height: 28px !important;
    font-size: 11.8px !important;
    font-weight: 820 !important;
}
.ng-footer-side {
    gap: 9px !important;
}
.ng-footer-social-custom a {
    min-height: 36px !important;
    border-radius: 14px !important;
    font-size: 10.8px !important;
}
.ng-footer-social-custom img,
.ng-footer-social-custom span {
    width: 22px !important;
    height: 22px !important;
    border-radius: 8px !important;
}
.ng-footer-license-minimal {
    padding: 11px !important;
    border-radius: 18px !important;
}
.ng-footer-license-minimal strong {
    font-size: 12.5px !important;
}
.ng-footer-license-minimal small {
    font-size: 10.5px !important;
    line-height: 1.75 !important;
}
.ng-footer-trust-minimal img,
.ng-footer-trust-minimal iframe {
    max-width: 64px !important;
    max-height: 64px !important;
    border-radius: 13px !important;
}
.ng-footer-bottom-minimal {
    min-height: 44px !important;
    padding: 9px 24px !important;
    font-size: 10.8px !important;
}
.ng-light .ng-footer-minimal-shell {
    background:
        linear-gradient(135deg, rgba(37,99,235,.060), transparent 30%),
        linear-gradient(315deg, rgba(16,185,129,.045), transparent 28%),
        rgba(255,255,255,.84) !important;
}
.ng-light .ng-footer-mini-contact i svg {
    stroke: #1d4ed8 !important;
}
@media (max-width: 1080px) {
    .ng-footer-minimal-top {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-minimal-contact {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 820px) {
    .ng-footer-minimal-main {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-columns {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
}
@media (max-width: 720px) {
    .ng-footer-minimal-shell {
        border-radius: 26px !important;
    }
    .ng-footer-minimal-top,
    .ng-footer-minimal-main {
        padding: 16px !important;
    }
    .ng-footer-minimal-contact {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-mini-contact {
        min-height: 60px !important;
    }
    .ng-footer-columns {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-minimal .ng-footer-group summary::before {
        margin-left: 7px;
    }
    .ng-footer-bottom-minimal {
        padding: 10px 16px !important;
    }
}


/* ===== V10.92 Footer final compact polish ===== */
/* اصلاحات دقیق فوتر: جهت درست ایمیل/شماره، لوگوی بزرگ‌تر، شبکه‌های اجتماعی بدون عنوان، موبایل دو ستونه برای تماس/ایمیل */

.ng-footer-minimal .ng-logo-mark {
    width: clamp(58px, 4.4vw, 74px) !important;
    height: clamp(58px, 4.4vw, 74px) !important;
    border-radius: 20px !important;
}
.ng-footer-minimal .ng-logo-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}
.ng-footer-minimal .ng-logo strong {
    font-size: clamp(18px, 1.55vw, 24px) !important;
    line-height: 1.35 !important;
}
.ng-footer-minimal .ng-logo small {
    font-size: clamp(10px, .82vw, 12px) !important;
}
.ng-footer-minimal-brand {
    gap: 0 !important;
}
.ng-footer-minimal-brand p {
    margin-top: 6px !important;
    max-width: 60ch !important;
}

/* شماره تماس و ایمیل از نظر جهت نوشتار درست و خوانا باشند */
.ng-footer-mini-contact.phone b,
.ng-footer-mini-contact.email b {
    direction: ltr !important;
    unicode-bidi: plaintext !important;
    text-align: left !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace, "NgtManagedFont", Tahoma !important;
    letter-spacing: .01em;
}
.ng-footer-mini-contact.address b {
    direction: rtl !important;
    text-align: right !important;
}

/* چیدمان کارت‌های تماس: فشرده‌تر، حرفه‌ای‌تر، بدون افزایش ارتفاع */
.ng-footer-minimal-contact {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.ng-footer-mini-contact {
    min-width: 0;
}
.ng-footer-mini-contact span {
    min-width: 0;
}

/* آیکون‌های شبکه اجتماعی: فقط آیکون، بدون عنوان، کمی بزرگ‌تر */
.ng-footer-social-custom {
    align-items: center;
}
.ng-footer-social-custom a {
    width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    justify-content: center !important;
    border-radius: 16px !important;
}
.ng-footer-social-custom a b {
    display: none !important;
}
.ng-footer-social-custom img,
.ng-footer-social-custom span {
    width: 28px !important;
    height: 28px !important;
    border-radius: 10px !important;
}
.ng-footer-social-custom img {
    padding: 2px;
}

/* کمی توازن بهتر سمت راست فوتر */
.ng-footer-side {
    align-content: start;
}
.ng-footer-license-minimal {
    margin-top: 0;
}

/* تبلت: تماس‌ها اگر فضا کم شد دو ستونه شوند، آدرس تمام عرض */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-footer-minimal-contact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .ng-footer-mini-contact.address {
        grid-column: 1 / -1 !important;
    }
}

/* موبایل: تماس و ایمیل کنار هم، آدرس تمام عرض */
@media (max-width: 720px) {
    .ng-footer-minimal .ng-logo-mark {
        width: 62px !important;
        height: 62px !important;
    }
    .ng-footer-minimal-brand p {
        margin-top: 6px !important;
        line-height: 1.85 !important;
    }
    .ng-footer-minimal-contact {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }
    .ng-footer-mini-contact {
        min-height: 64px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        padding: 8px !important;
    }
    .ng-footer-mini-contact.address {
        grid-column: 1 / -1 !important;
    }
    .ng-footer-mini-contact i {
        width: 38px !important;
        height: 38px !important;
        border-radius: 14px !important;
    }
    .ng-footer-mini-contact i svg {
        width: 19px !important;
        height: 19px !important;
    }
    .ng-footer-mini-contact b {
        font-size: 10.5px !important;
        line-height: 1.55 !important;
    }
    .ng-footer-social-custom {
        justify-content: center;
    }
    .ng-footer-social-custom a {
        flex: 0 0 44px !important;
    }
}

/* موبایل‌های خیلی باریک: اگر متن‌ها جا نشدند، تماس‌ها همچنان نشکنند و قابل خواندن بمانند */
@media (max-width: 390px) {
    .ng-footer-minimal-contact {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-mini-contact.address {
        grid-column: auto !important;
    }
}


/* ===== V10.93 Footer typography/mobile brand fixes ===== */
/* اصلاح فونت شماره/ایمیل، جلوگیری از دوخط شدن نت گردی، و وسط‌چین شدن برند فقط در موبایل */

/* فونت شماره تماس و ایمیل دیگر monospace نیست؛ فقط جهت نوشتار LTR می‌ماند */
.ng-footer-mini-contact.phone b,
.ng-footer-mini-contact.email b {
    font-family: inherit !important;
    direction: ltr !important;
    unicode-bidi: isolate !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    font-variant-numeric: normal !important;
}

/* نام برند در فوتر یک تکه بماند و «نت» و «گردی» از هم جدا نشوند */
.ng-footer-minimal .ng-logo strong {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}
.ng-footer-minimal .ng-logo span:last-child {
    min-width: max-content;
}

/* تبلت: لوگو و نام برند نشکنند، اما چیدمان کلی دست نخورد */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-footer-minimal .ng-logo {
        width: max-content;
        max-width: 100%;
    }
    .ng-footer-minimal .ng-logo strong {
        white-space: nowrap !important;
    }
}

/* موبایل: لوگو، نام نت گردی و توضیح زیرش وسط‌چین و خوش‌عرض شوند */
@media (max-width: 720px) {
    .ng-footer-minimal-brand {
        text-align: center !important;
        justify-items: center !important;
        align-content: center !important;
    }

    .ng-footer-minimal .ng-logo {
        justify-content: center !important;
        align-items: center !important;
        margin-inline: auto !important;
        width: max-content !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .ng-footer-minimal .ng-logo span:last-child {
        text-align: center !important;
        min-width: auto !important;
    }

    .ng-footer-minimal .ng-logo strong,
    .ng-footer-minimal .ng-logo small {
        text-align: center !important;
        white-space: nowrap !important;
    }

    .ng-footer-minimal-brand p {
        max-width: min(100%, 390px) !important;
        margin-inline: auto !important;
        text-align: center !important;
    }

    /* در موبایل شماره تماس و ایمیل دو ستونه بمانند و هر کدام داخل خط خودش درست نمایش داده شود */
    .ng-footer-mini-contact.phone b,
    .ng-footer-mini-contact.email b {
        text-align: left !important;
        direction: ltr !important;
        unicode-bidi: isolate !important;
        white-space: nowrap !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* گوشی خیلی باریک: اگر دو ستون باعث فشردگی شدید شد، امن و خوانا تک‌ستونه شود */
@media (max-width: 360px) {
    .ng-footer-minimal-contact {
        grid-template-columns: 1fr !important;
    }
    .ng-footer-mini-contact.address {
        grid-column: auto !important;
    }
}


/* ===== V10.94 Footer background word + brand clipping fix ===== */
/* کلمه پس‌زمینه فوتر باید NET GARDI باشد و در حالت روشن خواناتر شود */
.ng-footer-minimal-shell::before {
    content: "NET GARDI" !important;
    letter-spacing: .015em !important;
    word-spacing: .12em !important;
    left: clamp(14px, 3vw, 26px) !important;
    top: -16px !important;
    max-width: calc(100% - 28px);
    white-space: nowrap !important;
    overflow: visible !important;
}

/* در حالت روشن کلمه پس‌زمینه خیلی کم‌رنگ نبود و خواناتر شد */
.ng-light .ng-footer-minimal-shell::before {
    -webkit-text-stroke-color: rgba(29, 78, 216, .18) !important;
    opacity: 1 !important;
}

/* در حالت تاریک هم فاصله NET و GARDI واضح باشد ولی شلوغ نشود */
html:not(.ng-light) .ng-footer-minimal-shell::before {
    -webkit-text-stroke-color: rgba(147,197,253,.095) !important;
    opacity: 1 !important;
}

/* جلوگیری از نصفه‌شدن یا clip شدن نوشته نت گردی کنار/زیر لوگو در موبایل و تبلت */
.ng-footer-minimal .ng-logo {
    overflow: visible !important;
}
.ng-footer-minimal .ng-logo span:last-child {
    overflow: visible !important;
    min-width: 0 !important;
    max-width: none !important;
}
.ng-footer-minimal .ng-logo strong {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1.45 !important;
}

/* تبلت: فضا برای نام برند کافی باشد و بریده نشود */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-footer-minimal .ng-logo {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        gap: 10px !important;
    }
    .ng-footer-minimal .ng-logo strong {
        font-size: clamp(18px, 2.2vw, 22px) !important;
    }
}

/* موبایل: برند وسط‌چین بماند ولی کلمه نت گردی کامل و بدون بریدگی نوشته شود */
@media (max-width: 720px) {
    .ng-footer-minimal .ng-logo {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        gap: 10px !important;
        overflow: visible !important;
    }

    .ng-footer-minimal .ng-logo span:last-child {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: visible !important;
    }

    .ng-footer-minimal .ng-logo strong {
        font-size: clamp(18px, 5.2vw, 22px) !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.45 !important;
        padding-inline: 1px;
    }

    .ng-footer-minimal .ng-logo small {
        white-space: normal !important;
        line-height: 1.55 !important;
        max-width: 190px;
        margin-inline: auto;
    }
}

/* موبایل‌های خیلی باریک: برای جلوگیری از بریدگی، فقط کمی سایز نام برند کم شود نه اینکه دو خط شود */
@media (max-width: 360px) {
    .ng-footer-minimal .ng-logo strong {
        font-size: 17px !important;
    }
}


/* ===== V10.95 FAQ page professional center ===== */
.ng-faq-page {
    --ng-faq-heading-w: min(100%, 900px);
    --ng-faq-copy-w: min(100%, 720px);
    position: relative;
    overflow: hidden;
}
.ng-faq-page h1,
.ng-faq-page h2,
.ng-faq-page h3,
.ng-faq-page p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-faq-page h1,
.ng-faq-page h2 {
    text-wrap: balance;
}
.ng-faq-page p {
    text-wrap: pretty;
}
.ng-faq-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 118px) 0 36px;
    overflow: hidden;
}
.ng-faq-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.ng-faq-word {
    position: absolute;
    top: -30px;
    right: clamp(14px, 5vw, 88px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.11);
    font-size: clamp(72px, 14vw, 218px);
    font-weight: 950;
    letter-spacing: -.08em;
}
.ng-faq-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(26px);
    opacity: .56;
    animation: ngFaqFloat 12s ease-in-out infinite alternate;
}
.ng-faq-orb.orb-a {
    width: 320px;
    height: 320px;
    left: -130px;
    top: 16%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-faq-orb.orb-b {
    width: 260px;
    height: 260px;
    right: 10%;
    bottom: 0;
    background: radial-gradient(circle, rgba(16,185,129,.14), transparent 70%);
    animation-delay: -5s;
}
.ng-faq-line {
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    background: linear-gradient(90deg, transparent, rgba(91,140,255,.26), rgba(16,185,129,.16), transparent);
    animation: ngFaqLine 7s ease-in-out infinite;
}
.ng-faq-line.line-a { top: 25%; }
.ng-faq-line.line-b { bottom: 20%; animation-delay: -3s; }
.ng-faq-hero .ng-container {
    position: relative;
    z-index: 2;
}
.ng-faq-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
    gap: clamp(20px, 5vw, 58px);
    align-items: center;
}
.ng-faq-hero-copy h1 {
    max-width: var(--ng-faq-heading-w);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6.2vw, 86px);
    line-height: 1.16;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-faq-hero-copy p {
    max-width: var(--ng-faq-copy-w);
    margin: 18px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-faq-help-card {
    min-height: 260px;
    display: grid;
    place-items: center;
    text-align: center;
    border-radius: 40px;
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.22), transparent 38%),
        radial-gradient(circle at 86% 100%, rgba(16,185,129,.10), transparent 36%),
        linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}
.ng-faq-help-card span {
    color: var(--ng-text);
    font-size: clamp(58px, 7vw, 98px);
    font-weight: 950;
    line-height: 1;
}
.ng-faq-help-card strong {
    color: var(--ng-text);
    font-size: 18px;
    font-weight: 950;
}
.ng-faq-help-card small {
    color: var(--ng-muted);
    font-weight: 850;
}
.ng-faq-search-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin-top: 28px;
    padding: 12px;
    border: 1px solid var(--ng-border);
    border-radius: 28px;
    background: rgba(255,255,255,.045);
}
.ng-faq-search {
    min-height: 56px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(147,197,253,.14);
    padding: 0 12px;
}
.ng-faq-search svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #93c5fd;
    stroke-width: 2;
}
.ng-faq-search input {
    width: 100%;
    min-height: 48px;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--ng-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 850;
}
.ng-faq-search input::placeholder {
    color: var(--ng-muted);
}
.ng-faq-quick-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.ng-faq-quick-stats span {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    background: rgba(91,140,255,.11);
    border: 1px solid rgba(147,197,253,.14);
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 950;
}
.ng-faq-layout {
    display: grid;
    grid-template-columns: minmax(230px, 290px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.ng-faq-tabs {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid var(--ng-border);
    border-radius: 30px;
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.12), transparent 34%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
}
.ng-faq-tabs button {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 18px;
    background: transparent;
    color: var(--ng-soft);
    font-family: inherit;
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
    padding: 0 12px;
    transition: .2s ease;
}
.ng-faq-tabs button small {
    min-width: 28px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: var(--ng-muted);
}
.ng-faq-tabs button:hover,
.ng-faq-tabs button.is-active {
    color: var(--ng-text);
    background: linear-gradient(135deg, rgba(91,140,255,.18), rgba(124,92,255,.12));
    border-color: rgba(147,197,253,.20);
    transform: translateY(-1px);
}
.ng-faq-content {
    display: grid;
    gap: 18px;
}
.ng-faq-category {
    border: 1px solid var(--ng-border);
    border-radius: 34px;
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.10), transparent 34%),
        rgba(255,255,255,.030);
    overflow: hidden;
}
.ng-faq-category.is-hidden,
.ng-faq-item.is-hidden {
    display: none !important;
}
.ng-faq-category-head {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--ng-border);
}
.ng-faq-category-head span {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(91,140,255,.12);
    color: #93c5fd;
    font-size: 11px;
    font-weight: 950;
}
.ng-faq-category-head h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.3;
    font-weight: 950;
}
.ng-faq-category-head small {
    color: var(--ng-muted);
    font-weight: 850;
}
.ng-faq-list-pro {
    padding: 14px;
    display: grid;
    gap: 9px;
}
.ng-faq-item-pro {
    border-radius: 22px !important;
    background: rgba(255,255,255,.046) !important;
}
.ng-faq-item-pro summary {
    min-height: 58px;
    padding-inline: 18px !important;
    font-weight: 950;
}
.ng-faq-item-pro div {
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-faq-empty {
    display: none;
    padding: 24px;
    border-radius: 26px;
    border: 1px dashed rgba(147,197,253,.24);
    background: rgba(91,140,255,.08);
    color: var(--ng-soft);
    text-align: center;
    font-weight: 950;
}
.ng-faq-empty.is-visible {
    display: block;
}
.ng-faq-final-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(30px, 5vw, 54px);
    border-radius: 40px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 50% 0%, rgba(91,140,255,.18), transparent 38%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.11), transparent 34%),
        var(--ng-card);
}
.ng-faq-final-card::before {
    content: "HELP";
    position: absolute;
    right: 26px;
    top: -32px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(74px, 12vw, 160px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-faq-final-card h2 {
    position: relative;
    max-width: min(100%, 780px);
    margin: 0 auto;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 68px);
    line-height: 1.18;
    font-weight: 950;
    text-wrap: balance;
}
.ng-faq-final-card p {
    position: relative;
    max-width: min(100%, 720px);
    margin: 14px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-faq-final-actions {
    position: relative;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 22px;
}
.ng-light .ng-faq-help-card,
.ng-light .ng-faq-search-shell,
.ng-light .ng-faq-tabs,
.ng-light .ng-faq-category,
.ng-light .ng-faq-final-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-faq-word,
.ng-light .ng-faq-final-card::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}
@keyframes ngFaqFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@keyframes ngFaqLine {
    0%,100% { opacity: .18; transform: translateX(-5%); }
    50% { opacity: .58; transform: translateX(5%); }
}
@media (max-width: 980px) {
    .ng-faq-hero-grid,
    .ng-faq-layout {
        grid-template-columns: 1fr;
    }
    .ng-faq-hero-copy {
        text-align: center;
    }
    .ng-faq-hero-copy .ng-kicker,
    .ng-faq-hero-copy h1,
    .ng-faq-hero-copy p {
        margin-inline: auto;
    }
    .ng-faq-tabs {
        position: relative;
        top: auto;
        display: flex;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
        border-radius: 24px;
    }
    .ng-faq-tabs::-webkit-scrollbar { display: none; }
    .ng-faq-tabs button {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}
@media (max-width: 680px) {
    .ng-faq-hero {
        padding-top: 54px;
    }
    .ng-faq-hero-copy h1 {
        font-size: clamp(36px, 10vw, 54px);
        line-height: 1.22;
    }
    .ng-faq-search-shell {
        grid-template-columns: 1fr;
    }
    .ng-faq-quick-stats {
        justify-content: center;
    }
    .ng-faq-category-head {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }
    .ng-faq-final-actions .ng-btn {
        width: 100%;
    }
}
html.ng-lite-mode .ng-faq-hero-bg,
html.ng-lite-mode .ng-faq-orb,
html.ng-lite-mode .ng-faq-line,
html.ng-lite-mode .ng-faq-final-card::before {
    display: none !important;
}
html.ng-lite-mode .ng-faq-help-card,
html.ng-lite-mode .ng-faq-tabs,
html.ng-lite-mode .ng-faq-category,
html.ng-lite-mode .ng-faq-final-card {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    animation: none !important;
}


/* ===== V10.96 FAQ CPT source corrections ===== */
.ng-faq-empty-home {
    padding: 18px;
    border-radius: 22px;
    border: 1px dashed rgba(147,197,253,.22);
    background: rgba(91,140,255,.075);
    color: var(--ng-muted);
    text-align: center;
    line-height: 2;
    font-size: 13px;
    font-weight: 850;
}
.ng-faq-final-actions .ng-btn:only-child {
    min-width: 190px;
}








/* ===== V10.96.4 FAQ mobile selector without palette shift ===== */
/*
  Base: V10.96.
  ساختار و طراحی دسکتاپ دست‌نخورده است.
  در موبایل/تبلت تب‌ها حذف می‌شوند و به‌جای آن select سبک می‌آید.
  انتخاب دسته در موبایل دیگر گروه‌ها را مخفی نمی‌کند؛ فقط به همان دسته اسکرول می‌کند.
  بنابراین ارتفاع/سطح‌های شفاف صفحه با تغییر دسته عوض نمی‌شود و رنگ کلی نمی‌پرد.
*/

.ng-faq-mobile-picker {
    display: none;
}

/* پاسخ آماده در موبایل و تبلت یک خط بماند */
.ng-faq-help-card strong {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

@media (max-width: 980px) {
    body.ng-body.ng-faq-mobile-stable {
        background-attachment: scroll !important;
    }

    body.ng-faq-mobile-stable .ng-faq-page,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-page,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-page,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-page {
        background: transparent !important;
        background-image: none !important;
        background-color: transparent !important;
    }

    .ng-faq-layout {
        grid-template-columns: 1fr !important;
    }

    .ng-faq-tabs {
        display: none !important;
    }

    .ng-faq-mobile-picker {
        display: grid !important;
        gap: 8px;
        padding: 12px;
        margin-bottom: 16px;
        border: 1px solid var(--ng-border);
        border-radius: 24px;
        background:
            radial-gradient(circle at 0% 0%, rgba(91,140,255,.12), transparent 34%),
            linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    }

    .ng-faq-mobile-picker label {
        color: var(--ng-muted);
        font-size: 11px;
        font-weight: 950;
        padding-inline: 4px;
    }

    .ng-faq-mobile-picker select {
        width: 100%;
        min-height: 48px;
        border-radius: 16px;
        border: 1px solid rgba(147,197,253,.18);
        background: rgba(255,255,255,.055);
        color: var(--ng-text);
        font-family: inherit;
        font-size: 13px;
        font-weight: 950;
        padding: 0 12px;
        outline: 0;
    }

    .ng-faq-mobile-picker select:focus {
        border-color: rgba(147,197,253,.34);
        box-shadow: 0 0 0 4px rgba(91,140,255,.10);
    }

    .ng-faq-help-card strong {
        width: max-content !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        line-height: 1.35 !important;
    }

    /* کارت‌ها در موبایل از پالت خود قالب استفاده می‌کنند، نه پالت جداگانه. */
    body.ng-faq-mobile-stable .ng-faq-category,
    body.ng-faq-mobile-stable .ng-faq-mobile-picker,
    body.ng-faq-mobile-stable .ng-faq-help-card,
    body.ng-faq-mobile-stable .ng-faq-search-shell,
    body.ng-faq-mobile-stable .ng-faq-final-card {
        background-clip: padding-box !important;
        border-color: var(--ng-border) !important;
    }

    body.ng-faq-mobile-stable .ng-faq-item-pro,
    body.ng-faq-mobile-stable .ng-faq-item-pro:nth-child(n),
    body.ng-faq-mobile-stable .ng-faq-item-pro[open] {
        border-color: rgba(147,197,253,.14) !important;
    }

    html.ng-light body.ng-faq-mobile-stable .ng-faq-category,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-mobile-picker,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-help-card,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-search-shell,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-final-card {
        background:
            radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
            rgba(255,255,255,.82) !important;
        border-color: rgba(30,58,138,.12) !important;
    }

    html.ng-light body.ng-faq-mobile-stable .ng-faq-mobile-picker select,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-item-pro,
    html.ng-light body.ng-faq-mobile-stable .ng-faq-search {
        background: rgba(255,255,255,.74) !important;
        border-color: rgba(30,58,138,.12) !important;
    }
}

/* Lite موبایل/تبلت: select و تمام کارت‌ها یکدست و سبک شوند. */
@media (max-width: 980px) {
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-hero-bg,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-word,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-orb,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-line,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-final-card::before {
        display: none !important;
    }

    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-help-card,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-search-shell,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-search,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-mobile-picker,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-mobile-picker select,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-category,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-category-head,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-list-pro,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro:nth-child(n),
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro[open],
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-final-card,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-empty {
        animation: none !important;
        transition-duration: 0s !important;
        transform: none !important;
        filter: none !important;
        box-shadow: none !important;
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }

    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-category,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-mobile-picker,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-help-card,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-final-card {
        background-image: none !important;
        background-color: var(--ng-card) !important;
        border-color: var(--ng-border) !important;
    }

    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-search-shell,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-search,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-mobile-picker select,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-category-head,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-list-pro,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro,
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro:nth-child(n),
    html.ng-lite-mode body.ng-faq-mobile-stable .ng-faq-item-pro[open] {
        background-image: none !important;
        background-color: var(--ng-card-2) !important;
        border-color: var(--ng-border) !important;
    }

    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-category,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-mobile-picker,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-help-card,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-final-card {
        background-color: rgba(255,255,255,.82) !important;
        border-color: rgba(30,58,138,.12) !important;
    }

    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-search-shell,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-search,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-mobile-picker select,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-category-head,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-list-pro,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-item-pro,
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-item-pro:nth-child(n),
    html.ng-lite-mode.ng-light body.ng-faq-mobile-stable .ng-faq-item-pro[open] {
        background-color: rgba(255,255,255,.74) !important;
        border-color: rgba(30,58,138,.12) !important;
    }
}


/* ===== V10.97 About page professional redesign ===== */
.ng-about-v97 {
    position: relative;
    overflow: hidden;
}
.ng-about-v97 h1,
.ng-about-v97 h2,
.ng-about-v97 h3,
.ng-about-v97 p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-about-v97 h1,
.ng-about-v97 h2 {
    text-wrap: balance;
}
.ng-about-v97 p {
    text-wrap: pretty;
}
.ng-about-v97-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 120px) 0 38px;
    overflow: hidden;
}
.ng-about-v97-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.ng-about-v97-word {
    position: absolute;
    top: -28px;
    left: clamp(18px, 5vw, 90px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.105);
    font-size: clamp(74px, 14vw, 220px);
    font-weight: 950;
    letter-spacing: -.04em;
    word-spacing: .12em;
}
.ng-light .ng-about-v97-word {
    -webkit-text-stroke-color: rgba(29,78,216,.13);
}
.ng-about-v97-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(28px);
    opacity: .55;
    animation: ngAboutFloat 12s ease-in-out infinite alternate;
}
.ng-about-v97-orb.orb-a {
    width: 340px;
    height: 340px;
    right: -130px;
    top: 14%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-about-v97-orb.orb-b {
    width: 280px;
    height: 280px;
    left: 8%;
    bottom: -70px;
    background: radial-gradient(circle, rgba(16,185,129,.14), transparent 70%);
    animation-delay: -5s;
}
.ng-about-v97-grid {
    position: absolute;
    inset: 0;
    opacity: .22;
    background:
        linear-gradient(rgba(147,197,253,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147,197,253,.09) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 24%, #000, transparent 66%);
}
.ng-about-v97-hero .ng-container {
    position: relative;
    z-index: 2;
}
.ng-about-v97-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
    gap: clamp(22px, 5vw, 70px);
    align-items: center;
}
.ng-about-v97-copy h1 {
    max-width: min(100%, 980px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6vw, 86px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-about-v97-copy p {
    max-width: min(100%, 740px);
    margin: 18px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-about-v97-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 24px;
}
.ng-about-v97-command-card {
    position: relative;
    min-height: 430px;
    padding: 24px;
    border-radius: 42px;
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.20), transparent 36%),
        radial-gradient(circle at 90% 100%, rgba(16,185,129,.12), transparent 34%),
        var(--ng-card);
    box-shadow: var(--ng-glow);
    overflow: hidden;
}
.ng-about-v97-command-card::before {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px dashed rgba(147,197,253,.22);
    border-radius: 34px;
    animation: ngAboutRotate 18s linear infinite;
}
.ng-about-v97-command-top {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}
.ng-about-v97-command-top span {
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 900;
}
.ng-about-v97-command-top b {
    color: var(--ng-text);
    font-weight: 950;
}
.ng-about-v97-command-lines {
    position: relative;
    z-index: 2;
    display: grid;
    gap: 12px;
    margin-top: 44px;
}
.ng-about-v97-command-lines i {
    height: 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(91,140,255,.70), rgba(124,92,255,.22), transparent);
}
.ng-about-v97-command-lines i:nth-child(2) { width: 82%; }
.ng-about-v97-command-lines i:nth-child(3) { width: 66%; }
.ng-about-v97-command-lines i:nth-child(4) { width: 90%; }
.ng-about-v97-flow {
    position: absolute;
    z-index: 2;
    inset-inline: 24px;
    bottom: 24px;
    display: grid;
    gap: 9px;
}
.ng-about-v97-flow span {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(147,197,253,.16);
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 950;
}
.ng-about-v97-flow span::after {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--ng-green);
    box-shadow: 0 0 0 6px rgba(16,185,129,.10);
}
.ng-about-v97-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(22px, 4vw, 42px);
}
.ng-about-v97-metric,
.ng-about-v97-purpose-card,
.ng-about-v97-trust-panel,
.ng-about-v97-values,
.ng-about-v97-cta {
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.11), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    box-shadow: 0 22px 70px rgba(2,6,23,.12);
}
.ng-about-v97-metric {
    min-height: 132px;
    padding: 18px;
    border-radius: 28px;
}
.ng-about-v97-metric span {
    display: block;
    color: var(--ng-text);
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1;
    font-weight: 950;
}
.ng-about-v97-metric b {
    display: block;
    margin-top: 10px;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-about-v97-metric small {
    display: block;
    margin-top: 6px;
    color: var(--ng-muted);
    line-height: 1.8;
}
.ng-about-v97-head h2,
.ng-about-v97-side-head h2 {
    max-width: min(100%, 900px);
}
.ng-about-v97-head p,
.ng-about-v97-side-head p {
    max-width: min(100%, 760px);
}
.ng-about-v97-purpose-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.ng-about-v97-purpose-card {
    min-height: 280px;
    padding: 24px;
    border-radius: 32px;
    transition: transform .22s ease, border-color .22s ease;
}
.ng-about-v97-purpose-card:hover {
    transform: translateY(-4px);
    border-color: rgba(147,197,253,.30);
}
.ng-about-v97-purpose-card i,
.ng-about-v97-value-grid span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(91,140,255,.22), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.18);
}
.ng-about-v97 svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-about-v97-purpose-card h3,
.ng-about-v97-value-grid h3 {
    margin: 18px 0 10px;
    color: var(--ng-text);
    font-size: 20px;
    font-weight: 950;
    line-height: 1.45;
}
.ng-about-v97-purpose-card p,
.ng-about-v97-value-grid p {
    margin: 0;
    color: var(--ng-muted);
    line-height: 2.05;
}
.ng-about-v97-split {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr);
    gap: clamp(22px, 5vw, 64px);
    align-items: start;
}
.ng-about-v97-side-head {
    position: sticky;
    top: 110px;
}
.ng-about-v97-timeline {
    position: relative;
    display: grid;
    gap: 14px;
}
.ng-about-v97-timeline::before {
    content: "";
    position: absolute;
    top: 26px;
    bottom: 26px;
    right: 33px;
    width: 2px;
    background: linear-gradient(180deg, var(--ng-blue), var(--ng-violet), var(--ng-green));
    opacity: .50;
}
.ng-about-v97-time-item {
    position: relative;
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}
.ng-about-v97-time-item > span {
    position: relative;
    z-index: 2;
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: var(--ng-card);
    border: 1px solid var(--ng-border);
    color: var(--ng-text);
    font-weight: 950;
}
.ng-about-v97-time-item > div {
    padding: 20px;
    border-radius: 28px;
    border: 1px solid var(--ng-border);
    background: var(--ng-card);
}
.ng-about-v97-time-item h3 {
    margin: 0 0 8px;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-about-v97-time-item p {
    margin: 0;
    color: var(--ng-muted);
    line-height: 2;
}
.ng-about-v97-trust-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr);
    gap: clamp(18px, 4vw, 46px);
    align-items: center;
    padding: clamp(24px, 4vw, 44px);
    border-radius: 40px;
}
.ng-about-v97-trust-copy h2 {
    margin: 0;
    max-width: min(100%, 880px);
    color: var(--ng-text);
    font-size: clamp(32px, 4.8vw, 64px);
    line-height: 1.2;
    font-weight: 950;
    letter-spacing: -.04em;
}
.ng-about-v97-trust-copy p {
    max-width: min(100%, 730px);
    margin: 16px 0 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-about-v97-trust-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ng-about-v97-trust-grid div,
.ng-about-v97-value-grid article {
    border: 1px solid var(--ng-border);
    background: rgba(255,255,255,.045);
    border-radius: 24px;
    padding: 18px;
}
.ng-about-v97-trust-grid b {
    display: block;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-about-v97-trust-grid small {
    display: block;
    margin-top: 8px;
    color: var(--ng-muted);
    line-height: 1.85;
}
.ng-about-v97-values {
    padding: clamp(22px, 4vw, 38px);
    border-radius: 40px;
}
.ng-about-v97-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 22px;
}
.ng-about-v97-value-grid article {
    min-height: 260px;
}
.ng-about-v97-cta {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: clamp(32px, 5vw, 58px);
    border-radius: 42px;
}
.ng-about-v97-cta::before {
    content: "ABOUT";
    position: absolute;
    right: 28px;
    top: -34px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(80px, 13vw, 170px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-about-v97-cta > * {
    position: relative;
    z-index: 2;
}
.ng-about-v97-cta > span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}
.ng-about-v97-cta h2 {
    max-width: min(100%, 860px);
    margin: 12px auto 0;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 66px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-about-v97-cta p {
    max-width: min(100%, 700px);
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-about-v97-cta div {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}
.ng-light .ng-about-v97-metric,
.ng-light .ng-about-v97-purpose-card,
.ng-light .ng-about-v97-trust-panel,
.ng-light .ng-about-v97-values,
.ng-light .ng-about-v97-cta,
.ng-light .ng-about-v97-time-item > div,
.ng-light .ng-about-v97-time-item > span,
.ng-light .ng-about-v97-command-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-about-v97-trust-grid div,
.ng-light .ng-about-v97-value-grid article {
    background: rgba(255,255,255,.64);
    border-color: rgba(30,58,138,.10);
}
@keyframes ngAboutFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@keyframes ngAboutRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@media (max-width: 1080px) {
    .ng-about-v97-hero-grid,
    .ng-about-v97-split,
    .ng-about-v97-trust-panel {
        grid-template-columns: 1fr;
    }
    .ng-about-v97-side-head {
        position: relative;
        top: auto;
    }
    .ng-about-v97-metrics,
    .ng-about-v97-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ng-about-v97-purpose-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .ng-about-v97-hero {
        padding-top: 54px;
    }
    .ng-about-v97-copy,
    .ng-about-v97-head,
    .ng-about-v97-side-head {
        text-align: center;
    }
    .ng-about-v97-copy .ng-kicker,
    .ng-about-v97-copy h1,
    .ng-about-v97-copy p,
    .ng-about-v97-head .ng-kicker,
    .ng-about-v97-head h2,
    .ng-about-v97-head p,
    .ng-about-v97-side-head .ng-kicker,
    .ng-about-v97-side-head h2,
    .ng-about-v97-side-head p {
        margin-inline: auto;
    }
    .ng-about-v97-copy h1 {
        font-size: clamp(36px, 10vw, 54px);
        line-height: 1.22;
    }
    .ng-about-v97-actions,
    .ng-about-v97-cta div {
        display: grid;
    }
    .ng-about-v97-actions .ng-btn,
    .ng-about-v97-cta .ng-btn {
        width: 100%;
    }
    .ng-about-v97-command-card {
        min-height: 370px;
        border-radius: 32px;
    }
    .ng-about-v97-metrics,
    .ng-about-v97-value-grid,
    .ng-about-v97-trust-grid {
        grid-template-columns: 1fr;
    }
    .ng-about-v97-time-item {
        grid-template-columns: 54px minmax(0, 1fr);
    }
    .ng-about-v97-time-item > span {
        width: 54px;
        height: 54px;
        border-radius: 20px;
    }
    .ng-about-v97-timeline::before {
        right: 26px;
    }
}
html.ng-lite-mode .ng-about-v97-bg,
html.ng-lite-mode .ng-about-v97-orb,
html.ng-lite-mode .ng-about-v97-grid,
html.ng-lite-mode .ng-about-v97-command-card::before,
html.ng-lite-mode .ng-about-v97-cta::before {
    display: none !important;
}
html.ng-lite-mode .ng-about-v97 *,
html.ng-lite-mode .ng-about-v97 *::before,
html.ng-lite-mode .ng-about-v97 *::after {
    animation: none !important;
    transition-duration: 0s !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
}
html.ng-lite-mode .ng-about-v97-metric,
html.ng-lite-mode .ng-about-v97-purpose-card,
html.ng-lite-mode .ng-about-v97-trust-panel,
html.ng-lite-mode .ng-about-v97-values,
html.ng-lite-mode .ng-about-v97-cta,
html.ng-lite-mode .ng-about-v97-time-item > div,
html.ng-lite-mode .ng-about-v97-time-item > span,
html.ng-lite-mode .ng-about-v97-command-card {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card) !important;
    border-color: var(--ng-border) !important;
}
html.ng-lite-mode .ng-about-v97-trust-grid div,
html.ng-lite-mode .ng-about-v97-value-grid article,
html.ng-lite-mode .ng-about-v97-flow span {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card-2) !important;
    border-color: var(--ng-border) !important;
}
html.ng-lite-mode.ng-light .ng-about-v97-metric,
html.ng-lite-mode.ng-light .ng-about-v97-purpose-card,
html.ng-lite-mode.ng-light .ng-about-v97-trust-panel,
html.ng-lite-mode.ng-light .ng-about-v97-values,
html.ng-lite-mode.ng-light .ng-about-v97-cta,
html.ng-lite-mode.ng-light .ng-about-v97-time-item > div,
html.ng-lite-mode.ng-light .ng-about-v97-time-item > span,
html.ng-lite-mode.ng-light .ng-about-v97-command-card {
    background-color: rgba(255,255,255,.82) !important;
    border-color: rgba(30,58,138,.12) !important;
}


/* ===== V10.98 About requested refinements ===== */
/* مدیریت متن‌ها در PHP اضافه شد؛ این بخش فقط اصلاحات ریسپانسیو/چینش خواسته‌شده است. */

/* بخش چیزی که برای ما مهم است: عنوان و توضیح وسط‌چین */
.ng-about-v97-trust-copy {
    text-align: center !important;
}
.ng-about-v97-trust-copy .ng-kicker,
.ng-about-v97-trust-copy h2,
.ng-about-v97-trust-copy p {
    margin-inline: auto !important;
}

/* تبلت: شمارنده‌های هیرو وسط‌چین باشند */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-about-v97-metrics {
        justify-items: center !important;
    }
    .ng-about-v97-metric {
        width: 100%;
        text-align: center !important;
    }
}

/* موبایل: شمارنده‌ها دو ستونه و وسط‌چین؛ برای صفحه خیلی کوچک همان حالت امن قبلی/تک‌ستونه */
@media (max-width: 720px) {
    .ng-about-v97-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        justify-items: center !important;
        text-align: center !important;
    }
    .ng-about-v97-metric {
        width: 100%;
        min-height: 124px;
        text-align: center !important;
    }
    .ng-about-v97-metric span,
    .ng-about-v97-metric b,
    .ng-about-v97-metric small {
        text-align: center !important;
    }
}
@media (max-width: 390px) {
    .ng-about-v97-metrics {
        grid-template-columns: 1fr !important;
    }
}


/* ===== V10.99 About page palette inheritance + glow clipping fix ===== */
/*
  اصلاح محدود به صفحه درباره ما:
  - بک‌گراند اختصاصی برای خود صفحه تعریف نمی‌شود؛ صفحه از پالت اصلی قالب ارث‌بری می‌کند.
  - هاله رنگی پایین/کناره کارت‌ها دیگر نصفه و بریده دیده نمی‌شود.
  - ساختار، متن‌ها، دسکتاپ، لایت و حالت عادی حفظ شده‌اند.
*/

/* صفحه درباره ما شفاف می‌ماند تا دقیقاً بک‌گراند اصلی قالب پشت هدر و کل صفحه یکدست باشد. */
.ng-about-v97 {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
    overflow: visible !important;
}

/* سکشن‌ها هم بک‌گراند جدا نسازند و فقط از body/قالب اصلی استفاده کنند. */
.ng-about-v97 .ng-section,
.ng-about-v97-hero,
.ng-about-v97-section {
    background: transparent !important;
    background-image: none !important;
    background-color: transparent !important;
}

/* علت نصفه شدن هاله: overflow hidden روی Hero و برخی کارت‌های گرافیکی. */
.ng-about-v97-hero {
    overflow: visible !important;
}

/* هاله‌های گرافیکی Hero نرم‌تر و پشت کارت‌ها پخش شوند، نه بریده‌شده. */
.ng-about-v97-bg {
    inset: -120px 0 -140px !important;
    overflow: visible !important;
}

.ng-about-v97-orb {
    filter: blur(44px) !important;
    opacity: .46 !important;
}

.ng-about-v97-orb.orb-a {
    right: -190px !important;
    top: 10% !important;
}

.ng-about-v97-orb.orb-b {
    left: 4% !important;
    bottom: -120px !important;
}

/* کارت گرافیکی و کارت‌های صفحه اجازه بدهند glow طبیعی دیده شود، اما محتوای داخلی‌شان خراب نشود. */
.ng-about-v97-command-card,
.ng-about-v97-metric,
.ng-about-v97-purpose-card,
.ng-about-v97-trust-panel,
.ng-about-v97-values,
.ng-about-v97-cta {
    overflow: visible !important;
}

/* فقط عناصر تزئینی داخل کارت هیرو کنترل شوند تا border داخلی از کارت بیرون نزند. */
.ng-about-v97-command-card::before {
    overflow: hidden;
}

/* یک هاله بسیار نرم پشت کارت‌ها با pseudo جدا، بدون اینکه داخل خود کادر نصف شود. */
.ng-about-v97-metric,
.ng-about-v97-command-card,
.ng-about-v97-trust-panel {
    position: relative;
    isolation: isolate;
}

.ng-about-v97-metric::before,
.ng-about-v97-command-card::after,
.ng-about-v97-trust-panel::before {
    content: "";
    position: absolute;
    inset: -18px;
    z-index: -1;
    border-radius: inherit;
    background:
        radial-gradient(circle at 24% 0%, rgba(91,140,255,.13), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.08), transparent 40%);
    filter: blur(12px);
    opacity: .55;
    pointer-events: none;
}

/* حالت روشن: همان پالت قالب؛ هاله خیلی ظریف و تمیزتر. */
.ng-light .ng-about-v97-metric::before,
.ng-light .ng-about-v97-command-card::after,
.ng-light .ng-about-v97-trust-panel::before {
    background:
        radial-gradient(circle at 24% 0%, rgba(37,99,235,.09), transparent 42%),
        radial-gradient(circle at 100% 100%, rgba(16,185,129,.055), transparent 40%);
    opacity: .48;
}

/* Lite: هاله و تزئینات اضافی حذف شوند تا سبک و هماهنگ بماند. */
html.ng-lite-mode .ng-about-v97-metric::before,
html.ng-lite-mode .ng-about-v97-command-card::after,
html.ng-lite-mode .ng-about-v97-trust-panel::before {
    display: none !important;
}

/* در موبایل و تبلت هم بک‌گراند از قالب ارث‌بری کند و هاله‌ها بریده نشوند. */
@media (max-width: 1080px) {
    .ng-about-v97,
    .ng-about-v97-hero,
    .ng-about-v97-section {
        background: transparent !important;
    }

    .ng-about-v97-bg {
        inset: -90px 0 -120px !important;
    }
}

@media (max-width: 720px) {
    .ng-about-v97-orb {
        filter: blur(36px) !important;
        opacity: .38 !important;
    }

    .ng-about-v97-orb.orb-a {
        right: -210px !important;
    }

    .ng-about-v97-orb.orb-b {
        left: -90px !important;
        bottom: -130px !important;
    }
}


/* ===== V10.100 About hero background word position fix ===== */
/* فقط جای نوشته تزئینی NET GARDI صفحه درباره ما اصلاح شد تا پشت هدر نیفتد. */
.ng-about-v97-word {
    top: clamp(72px, 8vw, 118px) !important;
    left: clamp(20px, 6vw, 120px) !important;
    right: auto !important;
    transform: none !important;
    font-size: clamp(68px, 13vw, 190px) !important;
    line-height: 1 !important;
    opacity: .82 !important;
    z-index: 0 !important;
}

.ng-about-v97-hero .ng-container {
    position: relative;
    z-index: 2 !important;
}

@media (max-width: 1080px) {
    .ng-about-v97-word {
        top: clamp(84px, 12vw, 132px) !important;
        left: 18px !important;
        font-size: clamp(58px, 16vw, 142px) !important;
        opacity: .70 !important;
    }
}

@media (max-width: 720px) {
    .ng-about-v97-word {
        top: 92px !important;
        left: 12px !important;
        font-size: clamp(54px, 18vw, 96px) !important;
        opacity: .52 !important;
    }
}

html.ng-lite-mode .ng-about-v97-word {
    display: none !important;
}


/* ===== V10.101 Contact page professional redesign ===== */
.ng-contact-v101 {
    position: relative;
    overflow: visible;
    background: transparent !important;
}
.ng-contact-v101 h1,
.ng-contact-v101 h2,
.ng-contact-v101 h3,
.ng-contact-v101 p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-contact-v101 h1,
.ng-contact-v101 h2 {
    text-wrap: balance;
}
.ng-contact-v101 p {
    text-wrap: pretty;
}
.ng-contact-v101-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 116px) 0 34px;
    overflow: visible;
}
.ng-contact-v101-bg {
    position: absolute;
    inset: -70px 0 -110px;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
}
.ng-contact-v101-word {
    position: absolute;
    top: clamp(70px, 8vw, 112px);
    left: clamp(18px, 5vw, 88px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(72px, 14vw, 220px);
    font-weight: 950;
    letter-spacing: -.08em;
    opacity: .82;
}
.ng-light .ng-contact-v101-word {
    -webkit-text-stroke-color: rgba(29,78,216,.13);
}
.ng-contact-v101-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(44px);
    opacity: .48;
    animation: ngContactFloat 12s ease-in-out infinite alternate;
}
.ng-contact-v101-orb.orb-a {
    width: 340px;
    height: 340px;
    right: -160px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-contact-v101-orb.orb-b {
    width: 280px;
    height: 280px;
    left: 6%;
    bottom: -110px;
    background: radial-gradient(circle, rgba(16,185,129,.14), transparent 70%);
    animation-delay: -5s;
}
.ng-contact-v101-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background:
        linear-gradient(rgba(147,197,253,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147,197,253,.09) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 24%, #000, transparent 66%);
}
.ng-contact-v101-hero .ng-container,
.ng-contact-v101-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-contact-v101-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 410px);
    gap: clamp(22px, 5vw, 64px);
    align-items: center;
}
.ng-contact-v101-copy h1 {
    max-width: min(100%, 960px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6vw, 84px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-contact-v101-copy p {
    max-width: min(100%, 730px);
    margin: 18px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-contact-v101-signal-card,
.ng-contact-v101-form-card,
.ng-contact-v101-side,
.ng-contact-v101-guide,
.ng-contact-v101-trust-grid article,
.ng-contact-v101-cta {
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.11), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    box-shadow: 0 22px 70px rgba(2,6,23,.12);
}
.ng-contact-v101-signal-card {
    min-height: 360px;
    padding: 24px;
    border-radius: 40px;
    display: grid;
    align-content: space-between;
    position: relative;
    overflow: hidden;
}
.ng-contact-v101-signal-card::before {
    content: "";
    position: absolute;
    inset: 26px;
    border-radius: 50%;
    border: 1px dashed rgba(147,197,253,.24);
    transform: rotate(-12deg);
}
.ng-contact-v101-signal-card > * {
    position: relative;
    z-index: 2;
}
.ng-contact-v101-signal-card span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}
.ng-contact-v101-signal-card b {
    display: block;
    max-width: 260px;
    color: var(--ng-text);
    font-size: 32px;
    line-height: 1.35;
    font-weight: 950;
}
.ng-contact-v101-signal-card div {
    display: grid;
    gap: 9px;
}
.ng-contact-v101-signal-card i {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 16px;
    border: 1px solid rgba(147,197,253,.16);
    background: rgba(255,255,255,.055);
    color: var(--ng-soft);
    font-style: normal;
    font-size: 12px;
    font-weight: 950;
}
.ng-contact-v101-main {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
    gap: 18px;
    align-items: start;
}
.ng-contact-v101-form-card,
.ng-contact-v101-side {
    border-radius: 38px;
    padding: clamp(22px, 3vw, 34px);
}
.ng-contact-v101-form-head h2,
.ng-contact-v101-info-head h2,
.ng-contact-v101-guide-copy h2 {
    max-width: min(100%, 760px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1.22;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-contact-v101-form-head p,
.ng-contact-v101-info-head p {
    max-width: min(100%, 650px);
    margin: 14px 0 0;
    color: var(--ng-muted);
    line-height: 2.08;
}
.ng-contact-v101-alert {
    margin: 18px 0 0;
    padding: 14px 16px;
    border-radius: 18px;
    font-weight: 900;
    line-height: 1.9;
}
.ng-contact-v101-alert.success {
    border: 1px solid rgba(16,185,129,.28);
    background: rgba(16,185,129,.10);
    color: #bbf7d0;
}
.ng-contact-v101-alert.error {
    border: 1px solid rgba(248,113,113,.28);
    background: rgba(248,113,113,.10);
    color: #fecaca;
}
.ng-light .ng-contact-v101-alert.success { color: #047857; }
.ng-light .ng-contact-v101-alert.error { color: #b91c1c; }
.ng-contact-v101-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}
.ng-contact-v101-form label {
    display: grid;
    gap: 8px;
}
.ng-contact-v101-form label.wide {
    grid-column: 1 / -1;
}
.ng-contact-v101-form span {
    color: var(--ng-soft);
    font-size: 12px;
    font-weight: 950;
}
.ng-contact-v101-form input,
.ng-contact-v101-form textarea,
.ng-contact-v101-form select {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(147,197,253,.16);
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    color: var(--ng-text);
    font-family: inherit;
    font-size: 14px;
    font-weight: 850;
    outline: 0;
    padding: 0 14px;
}
.ng-contact-v101-form textarea {
    padding-top: 14px;
    resize: vertical;
    line-height: 2;
}
.ng-contact-v101-form input:focus,
.ng-contact-v101-form textarea:focus,
.ng-contact-v101-form select:focus {
    border-color: rgba(147,197,253,.34);
    box-shadow: 0 0 0 4px rgba(91,140,255,.10);
}
.ng-contact-v101-form [dir="ltr"] {
    text-align: left;
}
.ng-contact-v101-form button {
    grid-column: 1 / -1;
    width: fit-content;
    min-width: 180px;
}
.ng-contact-v101-card-list {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}
.ng-contact-v101-info-card {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    min-height: 92px;
    padding: 14px;
    border-radius: 24px;
    border: 1px solid rgba(147,197,253,.14);
    background: rgba(255,255,255,.045);
}
.ng-contact-v101-info-card i,
.ng-contact-v101-trust-grid i {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    color: #bfdbfe;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.16);
}
.ng-contact-v101 svg {
    width: 26px;
    height: 26px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-contact-v101-info-card strong {
    display: block;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-contact-v101-info-card small {
    display: block;
    margin-top: 4px;
    color: var(--ng-muted);
    line-height: 1.75;
}
.ng-contact-v101-info-card b {
    display: block;
    margin-top: 8px;
    color: var(--ng-soft);
    font-size: 13px;
    line-height: 1.8;
    word-break: break-word;
}
.ng-contact-v101-info-card b.ltr {
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}
.ng-contact-v101-guide {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 18px;
    align-items: start;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 38px;
}
.ng-contact-v101-guide-list {
    display: grid;
    gap: 10px;
}
.ng-contact-v101-guide-list div {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 22px;
    border: 1px solid rgba(147,197,253,.14);
    background: rgba(255,255,255,.045);
}
.ng-contact-v101-guide-list span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    color: #fff;
    font-weight: 950;
}
.ng-contact-v101-guide-list p {
    margin: 0;
    color: var(--ng-muted);
    line-height: 2;
    font-weight: 850;
}
.ng-contact-v101-trust-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}
.ng-contact-v101-trust-grid article {
    min-height: 230px;
    padding: 22px;
    border-radius: 30px;
}
.ng-contact-v101-trust-grid h3 {
    margin: 16px 0 10px;
    color: var(--ng-text);
    font-size: 19px;
    line-height: 1.45;
    font-weight: 950;
}
.ng-contact-v101-trust-grid p {
    margin: 0;
    color: var(--ng-muted);
    line-height: 2;
}
.ng-contact-v101-cta {
    text-align: center;
    padding: clamp(32px, 5vw, 58px);
    border-radius: 42px;
    position: relative;
    overflow: hidden;
}
.ng-contact-v101-cta::before {
    content: "CONNECT";
    position: absolute;
    left: 28px;
    top: -30px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(76px, 12vw, 160px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-contact-v101-cta > * {
    position: relative;
    z-index: 2;
}
.ng-contact-v101-cta > span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}
.ng-contact-v101-cta h2 {
    max-width: min(100%, 860px);
    margin: 12px auto 0;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 66px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-contact-v101-cta p {
    max-width: min(100%, 700px);
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-contact-v101-cta div {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}
.ng-light .ng-contact-v101-signal-card,
.ng-light .ng-contact-v101-form-card,
.ng-light .ng-contact-v101-side,
.ng-light .ng-contact-v101-guide,
.ng-light .ng-contact-v101-trust-grid article,
.ng-light .ng-contact-v101-cta {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-contact-v101-info-card,
.ng-light .ng-contact-v101-guide-list div {
    background: rgba(255,255,255,.64);
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-contact-v101-form input,
.ng-light .ng-contact-v101-form textarea,
.ng-light .ng-contact-v101-form select {
    background: rgba(255,255,255,.74);
    border-color: rgba(30,58,138,.12);
}
.ng-light .ng-contact-v101-cta::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
}
@keyframes ngContactFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@media (max-width: 1080px) {
    .ng-contact-v101-hero-grid,
    .ng-contact-v101-main,
    .ng-contact-v101-guide {
        grid-template-columns: 1fr;
    }
    .ng-contact-v101-trust-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .ng-contact-v101-hero {
        padding-top: 54px;
    }
    .ng-contact-v101-copy,
    .ng-contact-v101-form-head,
    .ng-contact-v101-info-head,
    .ng-contact-v101-guide-copy {
        text-align: center;
    }
    .ng-contact-v101-copy .ng-kicker,
    .ng-contact-v101-copy h1,
    .ng-contact-v101-copy p,
    .ng-contact-v101-form-head .ng-kicker,
    .ng-contact-v101-form-head h2,
    .ng-contact-v101-form-head p,
    .ng-contact-v101-info-head .ng-kicker,
    .ng-contact-v101-info-head h2,
    .ng-contact-v101-info-head p,
    .ng-contact-v101-guide-copy .ng-kicker,
    .ng-contact-v101-guide-copy h2 {
        margin-inline: auto;
    }
    .ng-contact-v101-copy h1 {
        font-size: clamp(36px, 10vw, 54px);
        line-height: 1.22;
    }
    .ng-contact-v101-form {
        grid-template-columns: 1fr;
    }
    .ng-contact-v101-form button,
    .ng-contact-v101-cta .ng-btn {
        width: 100%;
    }
    .ng-contact-v101-cta div {
        display: grid;
    }
    .ng-contact-v101-word {
        top: 94px;
        left: 12px;
        font-size: clamp(56px, 18vw, 100px);
        opacity: .50;
    }
}
html.ng-lite-mode .ng-contact-v101-bg,
html.ng-lite-mode .ng-contact-v101-orb,
html.ng-lite-mode .ng-contact-v101-grid,
html.ng-lite-mode .ng-contact-v101-word,
html.ng-lite-mode .ng-contact-v101-signal-card::before,
html.ng-lite-mode .ng-contact-v101-cta::before {
    display: none !important;
}
html.ng-lite-mode .ng-contact-v101 *,
html.ng-lite-mode .ng-contact-v101 *::before,
html.ng-lite-mode .ng-contact-v101 *::after {
    animation: none !important;
    transition-duration: 0s !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
}
html.ng-lite-mode .ng-contact-v101-signal-card,
html.ng-lite-mode .ng-contact-v101-form-card,
html.ng-lite-mode .ng-contact-v101-side,
html.ng-lite-mode .ng-contact-v101-guide,
html.ng-lite-mode .ng-contact-v101-trust-grid article,
html.ng-lite-mode .ng-contact-v101-cta {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card) !important;
    border-color: var(--ng-border) !important;
}
html.ng-lite-mode .ng-contact-v101-info-card,
html.ng-lite-mode .ng-contact-v101-guide-list div,
html.ng-lite-mode .ng-contact-v101-form input,
html.ng-lite-mode .ng-contact-v101-form textarea,
html.ng-lite-mode .ng-contact-v101-form select,
html.ng-lite-mode .ng-contact-v101-signal-card i {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card-2) !important;
    border-color: var(--ng-border) !important;
}
html.ng-lite-mode.ng-light .ng-contact-v101-signal-card,
html.ng-lite-mode.ng-light .ng-contact-v101-form-card,
html.ng-lite-mode.ng-light .ng-contact-v101-side,
html.ng-lite-mode.ng-light .ng-contact-v101-guide,
html.ng-lite-mode.ng-light .ng-contact-v101-trust-grid article,
html.ng-lite-mode.ng-light .ng-contact-v101-cta {
    background-color: rgba(255,255,255,.82) !important;
    border-color: rgba(30,58,138,.12) !important;
}


/* ===== V10.102 Contact page microinteractions + select fix ===== */
/* فقط اصلاحات صفحه تماس با ما: حرکت بیضی خط‌چین، استایل dropdown، هاور، فوکوس و پارالاکس سبک */

/* بیضی خط‌چین کارت هیرو تماس متحرک شد */
.ng-contact-v101-signal-card::before {
    animation: ngContactOrbit 16s linear infinite !important;
    transform-origin: center !important;
    will-change: transform;
}

.ng-contact-v101-signal-card::after {
    content: "";
    position: absolute;
    inset: 72px;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.12);
    transform: rotate(18deg);
    animation: ngContactOrbitReverse 22s linear infinite !important;
    pointer-events: none;
}

/* پارالکس نرم و امن برای کارت گرافیکی هیرو */
.ng-contact-v101-signal-card {
    transform: perspective(900px) rotateX(var(--ng-contact-tilt-y, 0deg)) rotateY(var(--ng-contact-tilt-x, 0deg)) translate3d(0, var(--ng-contact-lift, 0), 0);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    will-change: transform;
}

.ng-contact-v101-signal-card:hover {
    --ng-contact-lift: -4px;
    border-color: rgba(147,197,253,.28);
}

/* هاور کارت‌ها و ردیف‌های اطلاعات */
.ng-contact-v101-form-card,
.ng-contact-v101-side,
.ng-contact-v101-guide,
.ng-contact-v101-trust-grid article,
.ng-contact-v101-cta,
.ng-contact-v101-info-card,
.ng-contact-v101-guide-list div {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.ng-contact-v101-info-card:hover,
.ng-contact-v101-guide-list div:hover,
.ng-contact-v101-trust-grid article:hover {
    transform: translateY(-4px);
    border-color: rgba(147,197,253,.30);
    box-shadow: 0 20px 54px rgba(2,6,23,.18);
}

.ng-contact-v101-form-card:hover,
.ng-contact-v101-side:hover,
.ng-contact-v101-guide:hover,
.ng-contact-v101-cta:hover {
    border-color: rgba(147,197,253,.24);
}

/* میکرواینترکشن آیکون‌ها */
.ng-contact-v101-info-card i,
.ng-contact-v101-trust-grid i {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ng-contact-v101-info-card:hover i,
.ng-contact-v101-trust-grid article:hover i {
    transform: scale(1.05) rotate(-2deg);
    box-shadow: 0 14px 30px rgba(37,99,235,.18);
    border-color: rgba(147,197,253,.30);
}

/* فیلدها: فوکوس و هاور تمیزتر */
.ng-contact-v101-form input:hover,
.ng-contact-v101-form textarea:hover,
.ng-contact-v101-form select:hover {
    border-color: rgba(147,197,253,.28);
    background: rgba(255,255,255,.070);
}

/* حل مشکل سفید شدن dropdown در دسکتاپ/مرورگرها */
.ng-contact-v101-form select {
    color-scheme: dark;
    appearance: auto;
    -webkit-appearance: menulist;
}

.ng-contact-v101-form select option,
.ng-contact-v101-form select optgroup {
    background: #0f1c31 !important;
    color: #f8fafc !important;
    font-family: Vazirmatn, Tahoma, sans-serif !important;
    font-weight: 850;
}

.ng-light .ng-contact-v101-form select {
    color-scheme: light;
}

.ng-light .ng-contact-v101-form select option,
.ng-light .ng-contact-v101-form select optgroup {
    background: #ffffff !important;
    color: #0f172a !important;
}

/* در بعضی مرورگرها باز شدن لیست option از CSS کامل تبعیت نمی‌کند؛ خود select حداقل همیشه با پالت قالب می‌ماند */
.ng-contact-v101-form select:focus {
    background:
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.055)) !important;
}

.ng-light .ng-contact-v101-form select:focus {
    background: rgba(255,255,255,.86) !important;
}

/* CTA و کارت‌ها کمی زنده‌تر */
.ng-contact-v101-cta::after {
    content: "";
    position: absolute;
    inset: auto 10% -70px 10%;
    height: 140px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.14), transparent 68%);
    filter: blur(18px);
    pointer-events: none;
}

/* Lite: حرکت‌ها و هاورهای سنگین خاموش بمانند */
html.ng-lite-mode .ng-contact-v101-signal-card,
html.ng-lite-mode .ng-contact-v101-form-card,
html.ng-lite-mode .ng-contact-v101-side,
html.ng-lite-mode .ng-contact-v101-guide,
html.ng-lite-mode .ng-contact-v101-trust-grid article,
html.ng-lite-mode .ng-contact-v101-cta,
html.ng-lite-mode .ng-contact-v101-info-card,
html.ng-lite-mode .ng-contact-v101-guide-list div,
html.ng-lite-mode .ng-contact-v101-info-card i,
html.ng-lite-mode .ng-contact-v101-trust-grid i {
    transform: none !important;
    transition: none !important;
    box-shadow: none !important;
}

html.ng-lite-mode .ng-contact-v101-signal-card::before,
html.ng-lite-mode .ng-contact-v101-signal-card::after,
html.ng-lite-mode .ng-contact-v101-cta::after {
    display: none !important;
}

@keyframes ngContactOrbit {
    from { transform: rotate(-12deg); }
    to { transform: rotate(348deg); }
}

@keyframes ngContactOrbitReverse {
    from { transform: rotate(18deg); }
    to { transform: rotate(-342deg); }
}

@media (max-width: 980px) {
    .ng-contact-v101-signal-card {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-contact-v101-signal-card::before,
    .ng-contact-v101-signal-card::after {
        animation: none !important;
    }
    .ng-contact-v101-signal-card,
    .ng-contact-v101-info-card,
    .ng-contact-v101-guide-list div,
    .ng-contact-v101-trust-grid article {
        transition: none !important;
        transform: none !important;
    }
}


/* ===== V10.103 About page hover + animation + parallax polish ===== */
/* فقط صفحه درباره ما: هاور کارت‌ها، میکرواینترکشن، خط‌چین متحرک و پارالاکس سبک */

/* کارت گرافیکی هیرو درباره ما زنده‌تر شد */
.ng-about-v97-command-card {
    transform: perspective(900px) rotateX(var(--ng-about-tilt-y, 0deg)) rotateY(var(--ng-about-tilt-x, 0deg)) translate3d(0, var(--ng-about-lift, 0), 0);
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
    will-change: transform;
}

.ng-about-v97-command-card:hover {
    --ng-about-lift: -4px;
    border-color: rgba(147,197,253,.30);
}

/* خط‌چین داخلی کارت هیرو متحرک شد */
.ng-about-v97-command-card::before {
    animation: ngAboutOrbit 18s linear infinite !important;
    transform-origin: center !important;
    will-change: transform;
}

/* یک مدار ظریف دوم برای عمق بیشتر */
.ng-about-v97-command-card::after {
    content: "";
    position: absolute;
    inset: 70px;
    z-index: 1;
    border-radius: 999px;
    border: 1px solid rgba(147,197,253,.12);
    transform: rotate(22deg);
    animation: ngAboutOrbitReverse 24s linear infinite;
    pointer-events: none;
}

/* محتوای کارت هیرو بالای مدار دوم بماند */
.ng-about-v97-command-top,
.ng-about-v97-command-lines,
.ng-about-v97-flow {
    position: relative;
    z-index: 3;
}

/* هاور کارت‌ها و آیتم‌ها */
.ng-about-v97-metric,
.ng-about-v97-purpose-card,
.ng-about-v97-time-item > div,
.ng-about-v97-time-item > span,
.ng-about-v97-trust-grid div,
.ng-about-v97-value-grid article,
.ng-about-v97-cta,
.ng-about-v97-values,
.ng-about-v97-trust-panel,
.ng-about-v97-flow span {
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}

.ng-about-v97-metric:hover,
.ng-about-v97-purpose-card:hover,
.ng-about-v97-time-item:hover > div,
.ng-about-v97-trust-grid div:hover,
.ng-about-v97-value-grid article:hover {
    transform: translateY(-4px);
    border-color: rgba(147,197,253,.30);
    box-shadow: 0 20px 54px rgba(2,6,23,.18);
}

.ng-about-v97-time-item:hover > span {
    transform: scale(1.04);
    border-color: rgba(147,197,253,.30);
    box-shadow: 0 14px 34px rgba(37,99,235,.18);
}

.ng-about-v97-values:hover,
.ng-about-v97-trust-panel:hover,
.ng-about-v97-cta:hover {
    border-color: rgba(147,197,253,.24);
}

/* آیکون‌ها زنده‌تر شوند */
.ng-about-v97-purpose-card i,
.ng-about-v97-value-grid span {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.ng-about-v97-purpose-card:hover i,
.ng-about-v97-value-grid article:hover span {
    transform: scale(1.06) rotate(-2deg);
    box-shadow: 0 14px 30px rgba(37,99,235,.18);
    border-color: rgba(147,197,253,.30);
}

/* خط‌های کارت گرافیکی با hover کمی روشن‌تر شوند */
.ng-about-v97-command-lines i,
.ng-about-v97-flow span {
    transition: transform .22s ease, opacity .22s ease, border-color .22s ease, background-color .22s ease;
}

.ng-about-v97-command-card:hover .ng-about-v97-command-lines i {
    opacity: 1;
    transform: translateX(-3px);
}

.ng-about-v97-flow span:hover {
    transform: translateX(-3px);
    border-color: rgba(147,197,253,.28);
    background: rgba(255,255,255,.075);
}

/* CTA یک هاله نرم و کنترل‌شده بگیرد */
.ng-about-v97-cta::after {
    content: "";
    position: absolute;
    inset: auto 10% -72px 10%;
    height: 140px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(91,140,255,.14), transparent 68%);
    filter: blur(18px);
    pointer-events: none;
}

/* هاله‌های پشت کارت‌ها با هاور کمی طبیعی‌تر شوند */
.ng-about-v97-metric:hover::before,
.ng-about-v97-command-card:hover::after,
.ng-about-v97-trust-panel:hover::before {
    opacity: .72;
}

/* انیمیشن‌های ظریف */
@keyframes ngAboutOrbit {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes ngAboutOrbitReverse {
    from { transform: rotate(22deg); }
    to { transform: rotate(-338deg); }
}

/* موبایل/تبلت: پارالاکس خاموش، هاورهای سبک‌تر */
@media (max-width: 980px) {
    .ng-about-v97-command-card {
        transform: none !important;
    }

    .ng-about-v97-metric:hover,
    .ng-about-v97-purpose-card:hover,
    .ng-about-v97-time-item:hover > div,
    .ng-about-v97-trust-grid div:hover,
    .ng-about-v97-value-grid article:hover {
        transform: translateY(-2px);
    }
}

/* Lite و reduced-motion: حرکت‌های سنگین خاموش بمانند */
html.ng-lite-mode .ng-about-v97-command-card,
html.ng-lite-mode .ng-about-v97-metric,
html.ng-lite-mode .ng-about-v97-purpose-card,
html.ng-lite-mode .ng-about-v97-time-item > div,
html.ng-lite-mode .ng-about-v97-time-item > span,
html.ng-lite-mode .ng-about-v97-trust-grid div,
html.ng-lite-mode .ng-about-v97-value-grid article,
html.ng-lite-mode .ng-about-v97-cta,
html.ng-lite-mode .ng-about-v97-values,
html.ng-lite-mode .ng-about-v97-trust-panel,
html.ng-lite-mode .ng-about-v97-flow span,
html.ng-lite-mode .ng-about-v97-purpose-card i,
html.ng-lite-mode .ng-about-v97-value-grid span {
    transform: none !important;
    transition: none !important;
    box-shadow: none !important;
}

html.ng-lite-mode .ng-about-v97-command-card::before,
html.ng-lite-mode .ng-about-v97-command-card::after,
html.ng-lite-mode .ng-about-v97-cta::after {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .ng-about-v97-command-card::before,
    .ng-about-v97-command-card::after {
        animation: none !important;
    }
    .ng-about-v97-command-card,
    .ng-about-v97-metric,
    .ng-about-v97-purpose-card,
    .ng-about-v97-time-item > div,
    .ng-about-v97-time-item > span,
    .ng-about-v97-trust-grid div,
    .ng-about-v97-value-grid article {
        transition: none !important;
        transform: none !important;
    }
}


/* ===== V10.104 Light mode visibility fixes for Contact/About ===== */
/*
  اصلاحات دقیق:
  - آیکون‌های کارت‌های تماس و اعتماد در حالت روشن واضح‌تر شدند.
  - خط‌چین بیضی کارت گرافیکی تماس در حالت روشن واضح‌تر شد.
  - خط‌چین متحرک کارت گرافیکی درباره ما در حالت روشن واضح‌تر شد.
  - آیتم‌های «سفارش / هاب اطلاعات / ...» داخل کارت درباره ما از سمت چپ به کارت نمی‌چسبند.
*/

/* Contact page: icon contrast in light mode */
.ng-light .ng-contact-v101-info-card i,
.ng-light .ng-contact-v101-trust-grid i {
    color: #2563eb !important;
    background:
        radial-gradient(circle at 35% 20%, rgba(37,99,235,.18), transparent 54%),
        linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.075)) !important;
    border-color: rgba(37,99,235,.22) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 10px 24px rgba(37,99,235,.10) !important;
}

.ng-light .ng-contact-v101-info-card i svg,
.ng-light .ng-contact-v101-trust-grid i svg {
    stroke: #2563eb !important;
    opacity: 1 !important;
}

/* Contact hero dashed ellipse visibility in light mode */
.ng-light .ng-contact-v101-signal-card::before {
    border-color: rgba(37,99,235,.28) !important;
    opacity: 1 !important;
}

.ng-light .ng-contact-v101-signal-card::after {
    border-color: rgba(37,99,235,.18) !important;
    opacity: 1 !important;
}

.ng-light .ng-contact-v101-signal-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.10), transparent 35%),
        radial-gradient(circle at 90% 100%, rgba(16,185,129,.06), transparent 34%),
        rgba(255,255,255,.82) !important;
}

/* About hero dashed orbit visibility in light mode */
.ng-light .ng-about-v97-command-card::before {
    border-color: rgba(37,99,235,.28) !important;
    opacity: 1 !important;
}

.ng-light .ng-about-v97-command-card::after {
    border-color: rgba(37,99,235,.18) !important;
    opacity: 1 !important;
}

.ng-light .ng-about-v97-command-card {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.10), transparent 35%),
        radial-gradient(circle at 90% 100%, rgba(16,185,129,.06), transparent 34%),
        rgba(255,255,255,.82) !important;
}

/* About hero flow chips: prevent sticking to left edge */
.ng-about-v97-flow {
    inset-inline: 24px !important;
}

.ng-about-v97-flow span {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-inline: 16px 14px !important;
    gap: 12px !important;
    overflow: hidden;
}

.ng-about-v97-flow span::after {
    flex: 0 0 auto;
}

@media (max-width: 720px) {
    .ng-about-v97-flow {
        inset-inline: 18px !important;
        bottom: 18px !important;
    }

    .ng-about-v97-flow span {
        padding-inline: 14px !important;
    }
}

/* In Lite these decorative rings remain off as before */
html.ng-lite-mode .ng-contact-v101-signal-card::before,
html.ng-lite-mode .ng-contact-v101-signal-card::after,
html.ng-lite-mode .ng-about-v97-command-card::before,
html.ng-lite-mode .ng-about-v97-command-card::after {
    display: none !important;
}


/* ===== V10.105 About hero flow alignment + Contact admin menu separation ===== */
/*
  CSS فقط برای اصلاح چسبیدن آیتم‌های کارت گرافیکی درباره ما.
  پیام‌های تماس در PHP از زیرمنوی مدیریت سایت جدا شدند و منوی مستقل پیشخوان گرفتند.
*/

/* About hero flow chips: align from the right and keep a safe left gutter */
.ng-about-v97-flow {
    inset-inline: 24px !important;
    justify-items: end !important;
    align-items: stretch !important;
}

.ng-about-v97-flow span {
    width: min(100%, 340px) !important;
    max-width: calc(100% - 6px) !important;
    margin-right: 0 !important;
    margin-left: auto !important;
    box-sizing: border-box !important;
    justify-content: space-between !important;
    padding-inline: 16px 14px !important;
}

.ng-about-v97-flow span::after {
    flex: 0 0 auto !important;
}

@media (max-width: 720px) {
    .ng-about-v97-flow {
        inset-inline: 18px !important;
        bottom: 18px !important;
    }

    .ng-about-v97-flow span {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding-inline: 14px !important;
    }
}


/* ===== V10.106 Terms page professional legal design ===== */
.ng-terms-v106 {
    position: relative;
    overflow: visible;
    background: transparent !important;
}
.ng-terms-v106 h1,
.ng-terms-v106 h2,
.ng-terms-v106 h3,
.ng-terms-v106 p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-terms-v106 h1,
.ng-terms-v106 h2 {
    text-wrap: balance;
}
.ng-terms-v106 p {
    text-wrap: pretty;
}
.ng-terms-v106-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 116px) 0 34px;
    overflow: visible;
}
.ng-terms-v106-bg {
    position: absolute;
    inset: -70px 0 -110px;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
}
.ng-terms-v106-word {
    position: absolute;
    top: clamp(76px, 8vw, 116px);
    left: clamp(18px, 5vw, 88px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(72px, 14vw, 220px);
    font-weight: 950;
    letter-spacing: -.08em;
    opacity: .82;
}
.ng-light .ng-terms-v106-word {
    -webkit-text-stroke-color: rgba(29,78,216,.13);
}
.ng-terms-v106-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(44px);
    opacity: .48;
    animation: ngTermsFloat 12s ease-in-out infinite alternate;
}
.ng-terms-v106-orb.orb-a {
    width: 340px;
    height: 340px;
    right: -160px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-terms-v106-orb.orb-b {
    width: 280px;
    height: 280px;
    left: 6%;
    bottom: -110px;
    background: radial-gradient(circle, rgba(16,185,129,.14), transparent 70%);
    animation-delay: -5s;
}
.ng-terms-v106-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background:
        linear-gradient(rgba(147,197,253,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147,197,253,.09) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 24%, #000, transparent 66%);
}
.ng-terms-v106-hero .ng-container,
.ng-terms-v106-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-terms-v106-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: clamp(22px, 5vw, 64px);
    align-items: center;
}
.ng-terms-v106-copy h1 {
    max-width: min(100%, 980px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6vw, 84px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-terms-v106-copy p {
    max-width: min(100%, 760px);
    margin: 18px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-terms-v106-seal,
.ng-terms-v106-note,
.ng-terms-v106-summary article,
.ng-terms-v106-sidebar,
.ng-terms-v106-item,
.ng-terms-v106-obligations,
.ng-terms-v106-notice,
.ng-terms-v106-cta {
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.11), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    box-shadow: 0 22px 70px rgba(2,6,23,.12);
}
.ng-terms-v106-seal {
    min-height: 310px;
    border-radius: 38px;
    padding: 24px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    gap: 14px;
    position: relative;
    overflow: hidden;
    transform: perspective(900px) rotateX(var(--ng-terms-tilt-y, 0deg)) rotateY(var(--ng-terms-tilt-x, 0deg)) translate3d(0, var(--ng-terms-lift, 0), 0);
    transition: transform .22s ease, border-color .22s ease;
}
.ng-terms-v106-seal:hover {
    --ng-terms-lift: -4px;
    border-color: rgba(147,197,253,.30);
}
.ng-terms-v106-seal::before {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: 50%;
    border: 1px dashed rgba(147,197,253,.22);
    animation: ngTermsOrbit 18s linear infinite;
}
.ng-terms-v106-seal > * {
    position: relative;
    z-index: 2;
}
.ng-terms-v106-seal span {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    color: #bfdbfe;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.16);
}
.ng-terms-v106 svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-terms-v106-seal b {
    color: var(--ng-text);
    line-height: 1.8;
    font-weight: 950;
}
.ng-terms-v106-seal small {
    color: var(--ng-muted);
    line-height: 1.8;
    font-weight: 850;
}
.ng-terms-v106-note {
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 24px;
    color: var(--ng-soft);
    line-height: 2;
    font-weight: 850;
}
.ng-terms-v106-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.ng-terms-v106-summary article {
    min-height: 156px;
    padding: 18px;
    border-radius: 28px;
    transition: transform .22s ease, border-color .22s ease;
}
.ng-terms-v106-summary article:hover,
.ng-terms-v106-item:hover {
    transform: translateY(-4px);
    border-color: rgba(147,197,253,.30);
}
.ng-terms-v106-summary strong {
    display: block;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-terms-v106-summary p {
    margin: 10px 0 0;
    color: var(--ng-muted);
    line-height: 2;
}
.ng-terms-v106-layout {
    display: grid;
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.ng-terms-v106-sidebar {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 30px;
}
.ng-terms-v106-sidebar span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
    padding: 6px 10px;
}
.ng-terms-v106-sidebar a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 16px;
    color: var(--ng-soft);
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.7;
    border: 1px solid transparent;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.ng-terms-v106-sidebar a:hover {
    background: rgba(255,255,255,.055);
    border-color: rgba(147,197,253,.18);
    transform: translateX(-2px);
}
.ng-terms-v106-content {
    display: grid;
    gap: 12px;
}
.ng-terms-v106-item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 16px;
    padding: clamp(18px, 3vw, 26px);
    border-radius: 30px;
    scroll-margin-top: 110px;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ng-terms-v106-item i,
.ng-terms-v106-notice i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: #bfdbfe;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.16);
    transition: transform .22s ease, border-color .22s ease;
}
.ng-terms-v106-item:hover i {
    transform: scale(1.05) rotate(-2deg);
    border-color: rgba(147,197,253,.30);
}
.ng-terms-v106-item h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.35;
    font-weight: 950;
}
.ng-terms-v106-item p {
    margin: 12px 0 0;
    color: var(--ng-muted);
    line-height: 2.15;
}
.ng-terms-v106-obligations {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 22px;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 38px;
}
.ng-terms-v106-obligations h2,
.ng-terms-v106-notice h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1.22;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-terms-v106-obligations ul {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
    list-style: none;
}
.ng-terms-v106-obligations li {
    position: relative;
    padding: 14px 46px 14px 16px;
    border-radius: 20px;
    border: 1px solid rgba(147,197,253,.14);
    background: rgba(255,255,255,.045);
    color: var(--ng-muted);
    line-height: 2;
    font-weight: 850;
}
.ng-terms-v106-obligations li::before {
    content: "✓";
    position: absolute;
    right: 14px;
    top: 14px;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(16,185,129,.14);
    color: var(--ng-green);
    font-weight: 950;
}
.ng-terms-v106-notice {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 18px;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 38px;
}
.ng-terms-v106-notice p {
    margin: 12px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-terms-v106-cta {
    text-align: center;
    padding: clamp(32px, 5vw, 58px);
    border-radius: 42px;
    position: relative;
    overflow: hidden;
}
.ng-terms-v106-cta::before {
    content: "AGREEMENT";
    position: absolute;
    left: 28px;
    top: -30px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(76px, 12vw, 160px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-terms-v106-cta > * {
    position: relative;
    z-index: 2;
}
.ng-terms-v106-cta > span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}
.ng-terms-v106-cta h2 {
    max-width: min(100%, 860px);
    margin: 12px auto 0;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 66px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-terms-v106-cta p {
    max-width: min(100%, 700px);
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-terms-v106-cta div {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}
.ng-light .ng-terms-v106-seal,
.ng-light .ng-terms-v106-note,
.ng-light .ng-terms-v106-summary article,
.ng-light .ng-terms-v106-sidebar,
.ng-light .ng-terms-v106-item,
.ng-light .ng-terms-v106-obligations,
.ng-light .ng-terms-v106-notice,
.ng-light .ng-terms-v106-cta {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-terms-v106-item i,
.ng-light .ng-terms-v106-notice i,
.ng-light .ng-terms-v106-seal span {
    color: #2563eb;
    background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.075));
    border-color: rgba(37,99,235,.20);
}
.ng-light .ng-terms-v106-obligations li {
    background: rgba(255,255,255,.64);
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-terms-v106-cta::before,
.ng-light .ng-terms-v106-seal::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
    border-color: rgba(37,99,235,.20);
}
@keyframes ngTermsFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@keyframes ngTermsOrbit {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@media (max-width: 1080px) {
    .ng-terms-v106-hero-grid,
    .ng-terms-v106-layout,
    .ng-terms-v106-obligations,
    .ng-terms-v106-notice {
        grid-template-columns: 1fr;
    }
    .ng-terms-v106-sidebar {
        position: relative;
        top: auto;
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .ng-terms-v106-sidebar::-webkit-scrollbar { display: none; }
    .ng-terms-v106-sidebar span,
    .ng-terms-v106-sidebar a {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .ng-terms-v106-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .ng-terms-v106-hero {
        padding-top: 54px;
    }
    .ng-terms-v106-copy,
    .ng-terms-v106-obligations,
    .ng-terms-v106-notice {
        text-align: center;
    }
    .ng-terms-v106-copy .ng-kicker,
    .ng-terms-v106-copy h1,
    .ng-terms-v106-copy p {
        margin-inline: auto;
    }
    .ng-terms-v106-copy h1 {
        font-size: clamp(36px, 10vw, 54px);
        line-height: 1.22;
    }
    .ng-terms-v106-summary {
        grid-template-columns: 1fr;
    }
    .ng-terms-v106-item {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }
    .ng-terms-v106-cta div {
        display: grid;
    }
    .ng-terms-v106-cta .ng-btn {
        width: 100%;
    }
    .ng-terms-v106-word {
        top: 94px;
        left: 12px;
        font-size: clamp(56px, 18vw, 100px);
        opacity: .50;
    }
}
html.ng-lite-mode .ng-terms-v106-bg,
html.ng-lite-mode .ng-terms-v106-orb,
html.ng-lite-mode .ng-terms-v106-grid,
html.ng-lite-mode .ng-terms-v106-word,
html.ng-lite-mode .ng-terms-v106-seal::before,
html.ng-lite-mode .ng-terms-v106-cta::before {
    display: none !important;
}
html.ng-lite-mode .ng-terms-v106 *,
html.ng-lite-mode .ng-terms-v106 *::before,
html.ng-lite-mode .ng-terms-v106 *::after {
    animation: none !important;
    transition-duration: 0s !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
}
html.ng-lite-mode .ng-terms-v106-seal,
html.ng-lite-mode .ng-terms-v106-note,
html.ng-lite-mode .ng-terms-v106-summary article,
html.ng-lite-mode .ng-terms-v106-sidebar,
html.ng-lite-mode .ng-terms-v106-item,
html.ng-lite-mode .ng-terms-v106-obligations,
html.ng-lite-mode .ng-terms-v106-notice,
html.ng-lite-mode .ng-terms-v106-cta {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card) !important;
    border-color: var(--ng-border) !important;
    transform: none !important;
}
html.ng-lite-mode .ng-terms-v106-obligations li {
    background-color: var(--ng-card-2) !important;
    border-color: var(--ng-border) !important;
}


/* ===== V10.107 Privacy page professional policy design ===== */
.ng-privacy-v107 {
    position: relative;
    overflow: visible;
    background: transparent !important;
}
.ng-privacy-v107 h1,
.ng-privacy-v107 h2,
.ng-privacy-v107 h3,
.ng-privacy-v107 p {
    word-break: keep-all;
    overflow-wrap: normal;
    hyphens: none;
}
.ng-privacy-v107 h1,
.ng-privacy-v107 h2 { text-wrap: balance; }
.ng-privacy-v107 p { text-wrap: pretty; }
.ng-privacy-v107-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(72px, 8vw, 116px) 0 34px;
    overflow: visible;
}
.ng-privacy-v107-bg {
    position: absolute;
    inset: -70px 0 -110px;
    z-index: 0;
    pointer-events: none;
    overflow: visible;
}
.ng-privacy-v107-word {
    position: absolute;
    top: clamp(76px, 8vw, 116px);
    left: clamp(18px, 5vw, 88px);
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(72px, 14vw, 220px);
    font-weight: 950;
    letter-spacing: -.08em;
    opacity: .82;
}
.ng-light .ng-privacy-v107-word { -webkit-text-stroke-color: rgba(29,78,216,.13); }
.ng-privacy-v107-orb {
    position: absolute;
    border-radius: 999px;
    filter: blur(44px);
    opacity: .48;
    animation: ngPrivacyFloat 12s ease-in-out infinite alternate;
}
.ng-privacy-v107-orb.orb-a {
    width: 340px;
    height: 340px;
    right: -160px;
    top: 12%;
    background: radial-gradient(circle, rgba(91,140,255,.24), transparent 68%);
}
.ng-privacy-v107-orb.orb-b {
    width: 280px;
    height: 280px;
    left: 6%;
    bottom: -110px;
    background: radial-gradient(circle, rgba(16,185,129,.14), transparent 70%);
    animation-delay: -5s;
}
.ng-privacy-v107-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background:
        linear-gradient(rgba(147,197,253,.10) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147,197,253,.09) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: radial-gradient(circle at 50% 24%, #000, transparent 66%);
}
.ng-privacy-v107-hero .ng-container,
.ng-privacy-v107-section .ng-container {
    position: relative;
    z-index: 2;
}
.ng-privacy-v107-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    gap: clamp(22px, 5vw, 64px);
    align-items: center;
}
.ng-privacy-v107-copy h1 {
    max-width: min(100%, 980px);
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(42px, 6vw, 84px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.055em;
}
.ng-privacy-v107-copy p {
    max-width: min(100%, 760px);
    margin: 18px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-privacy-v107-seal,
.ng-privacy-v107-note,
.ng-privacy-v107-summary article,
.ng-privacy-v107-sidebar,
.ng-privacy-v107-item,
.ng-privacy-v107-map,
.ng-privacy-v107-rights,
.ng-privacy-v107-notice,
.ng-privacy-v107-cta {
    border: 1px solid var(--ng-border);
    background:
        radial-gradient(circle at 0% 0%, rgba(91,140,255,.11), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.026));
    box-shadow: 0 22px 70px rgba(2,6,23,.12);
}
.ng-privacy-v107-seal {
    min-height: 310px;
    border-radius: 38px;
    padding: 24px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    gap: 14px;
    position: relative;
    overflow: hidden;
    transform: perspective(900px) rotateX(var(--ng-privacy-tilt-y, 0deg)) rotateY(var(--ng-privacy-tilt-x, 0deg)) translate3d(0, var(--ng-privacy-lift, 0), 0);
    transition: transform .22s ease, border-color .22s ease;
}
.ng-privacy-v107-seal:hover {
    --ng-privacy-lift: -4px;
    border-color: rgba(147,197,253,.30);
}
.ng-privacy-v107-seal::before {
    content: "";
    position: absolute;
    inset: 28px;
    border-radius: 50%;
    border: 1px dashed rgba(147,197,253,.22);
    animation: ngPrivacyOrbit 18s linear infinite;
}
.ng-privacy-v107-seal > * {
    position: relative;
    z-index: 2;
}
.ng-privacy-v107-seal span {
    width: 74px;
    height: 74px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    color: #bfdbfe;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.16);
}
.ng-privacy-v107 svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.ng-privacy-v107-seal b {
    color: var(--ng-text);
    line-height: 1.8;
    font-weight: 950;
}
.ng-privacy-v107-seal small {
    color: var(--ng-muted);
    line-height: 1.8;
    font-weight: 850;
}
.ng-privacy-v107-note {
    margin-top: 24px;
    padding: 16px 18px;
    border-radius: 24px;
    color: var(--ng-soft);
    line-height: 2;
    font-weight: 850;
}
.ng-privacy-v107-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.ng-privacy-v107-summary article {
    min-height: 156px;
    padding: 18px;
    border-radius: 28px;
    transition: transform .22s ease, border-color .22s ease;
}
.ng-privacy-v107-summary article:hover,
.ng-privacy-v107-item:hover {
    transform: translateY(-4px);
    border-color: rgba(147,197,253,.30);
}
.ng-privacy-v107-summary strong {
    display: block;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-privacy-v107-summary p {
    margin: 10px 0 0;
    color: var(--ng-muted);
    line-height: 2;
}
.ng-privacy-v107-layout {
    display: grid;
    grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}
.ng-privacy-v107-sidebar {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 8px;
    padding: 14px;
    border-radius: 30px;
}
.ng-privacy-v107-sidebar span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
    padding: 6px 10px;
}
.ng-privacy-v107-sidebar a {
    min-height: 42px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 16px;
    color: var(--ng-soft);
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.7;
    border: 1px solid transparent;
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}
.ng-privacy-v107-sidebar a:hover {
    background: rgba(255,255,255,.055);
    border-color: rgba(147,197,253,.18);
    transform: translateX(-2px);
}
.ng-privacy-v107-content {
    display: grid;
    gap: 12px;
}
.ng-privacy-v107-item {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 16px;
    padding: clamp(18px, 3vw, 26px);
    border-radius: 30px;
    scroll-margin-top: 110px;
    transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.ng-privacy-v107-item i,
.ng-privacy-v107-notice i {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: #bfdbfe;
    background: linear-gradient(135deg, rgba(91,140,255,.20), rgba(124,92,255,.12));
    border: 1px solid rgba(147,197,253,.16);
    transition: transform .22s ease, border-color .22s ease;
}
.ng-privacy-v107-item:hover i {
    transform: scale(1.05) rotate(-2deg);
    border-color: rgba(147,197,253,.30);
}
.ng-privacy-v107-item h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(22px, 3vw, 34px);
    line-height: 1.35;
    font-weight: 950;
}
.ng-privacy-v107-item p {
    margin: 12px 0 0;
    color: var(--ng-muted);
    line-height: 2.15;
}
.ng-privacy-v107-map,
.ng-privacy-v107-rights {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    gap: 22px;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 38px;
}
.ng-privacy-v107-map h2,
.ng-privacy-v107-rights h2,
.ng-privacy-v107-notice h2 {
    margin: 0;
    color: var(--ng-text);
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1.22;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-privacy-v107-map-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ng-privacy-v107-map-grid article,
.ng-privacy-v107-rights li {
    border: 1px solid rgba(147,197,253,.14);
    background: rgba(255,255,255,.045);
    border-radius: 22px;
    padding: 16px;
}
.ng-privacy-v107-map-grid b {
    display: block;
    color: var(--ng-text);
    font-weight: 950;
}
.ng-privacy-v107-map-grid p {
    margin: 8px 0 0;
    color: var(--ng-muted);
    line-height: 2;
}
.ng-privacy-v107-rights ul {
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
    list-style: none;
}
.ng-privacy-v107-rights li {
    position: relative;
    padding: 14px 46px 14px 16px;
    color: var(--ng-muted);
    line-height: 2;
    font-weight: 850;
}
.ng-privacy-v107-rights li::before {
    content: "✓";
    position: absolute;
    right: 14px;
    top: 14px;
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(16,185,129,.14);
    color: var(--ng-green);
    font-weight: 950;
}
.ng-privacy-v107-notice {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 18px;
    padding: clamp(22px, 4vw, 38px);
    border-radius: 38px;
}
.ng-privacy-v107-notice p {
    margin: 12px 0 0;
    color: var(--ng-muted);
    line-height: 2.12;
}
.ng-privacy-v107-cta {
    text-align: center;
    padding: clamp(32px, 5vw, 58px);
    border-radius: 42px;
    position: relative;
    overflow: hidden;
}
.ng-privacy-v107-cta::before {
    content: "DATA RIGHTS";
    position: absolute;
    left: 28px;
    top: -30px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(147,197,253,.10);
    font-size: clamp(76px, 12vw, 160px);
    font-weight: 950;
    letter-spacing: -.08em;
    pointer-events: none;
}
.ng-privacy-v107-cta > * {
    position: relative;
    z-index: 2;
}
.ng-privacy-v107-cta > span {
    color: #93c5fd;
    font-size: 12px;
    font-weight: 950;
}
.ng-privacy-v107-cta h2 {
    max-width: min(100%, 860px);
    margin: 12px auto 0;
    color: var(--ng-text);
    font-size: clamp(34px, 5vw, 66px);
    line-height: 1.18;
    font-weight: 950;
    letter-spacing: -.045em;
}
.ng-privacy-v107-cta p {
    max-width: min(100%, 700px);
    margin: 16px auto 0;
    color: var(--ng-muted);
    line-height: 2.1;
}
.ng-privacy-v107-cta div {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 24px;
}
.ng-light .ng-privacy-v107-seal,
.ng-light .ng-privacy-v107-note,
.ng-light .ng-privacy-v107-summary article,
.ng-light .ng-privacy-v107-sidebar,
.ng-light .ng-privacy-v107-item,
.ng-light .ng-privacy-v107-map,
.ng-light .ng-privacy-v107-rights,
.ng-light .ng-privacy-v107-notice,
.ng-light .ng-privacy-v107-cta {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.09), transparent 35%),
        rgba(255,255,255,.82);
    border-color: rgba(30,58,138,.12);
    box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.ng-light .ng-privacy-v107-item i,
.ng-light .ng-privacy-v107-notice i,
.ng-light .ng-privacy-v107-seal span {
    color: #2563eb;
    background: linear-gradient(135deg, rgba(37,99,235,.12), rgba(124,58,237,.075));
    border-color: rgba(37,99,235,.20);
}
.ng-light .ng-privacy-v107-map-grid article,
.ng-light .ng-privacy-v107-rights li {
    background: rgba(255,255,255,.64);
    border-color: rgba(30,58,138,.10);
}
.ng-light .ng-privacy-v107-cta::before,
.ng-light .ng-privacy-v107-seal::before {
    -webkit-text-stroke-color: rgba(29,78,216,.12);
    border-color: rgba(37,99,235,.20);
}
@keyframes ngPrivacyFloat {
    from { transform: translate3d(0,0,0) scale(1); }
    to { transform: translate3d(18px,-18px,0) scale(1.05); }
}
@keyframes ngPrivacyOrbit {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
@media (max-width: 1080px) {
    .ng-privacy-v107-hero-grid,
    .ng-privacy-v107-layout,
    .ng-privacy-v107-map,
    .ng-privacy-v107-rights,
    .ng-privacy-v107-notice {
        grid-template-columns: 1fr;
    }
    .ng-privacy-v107-sidebar {
        position: relative;
        top: auto;
        display: flex;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .ng-privacy-v107-sidebar::-webkit-scrollbar { display: none; }
    .ng-privacy-v107-sidebar span,
    .ng-privacy-v107-sidebar a {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .ng-privacy-v107-summary,
    .ng-privacy-v107-map-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .ng-privacy-v107-hero {
        padding-top: 54px;
    }
    .ng-privacy-v107-copy,
    .ng-privacy-v107-map,
    .ng-privacy-v107-rights,
    .ng-privacy-v107-notice {
        text-align: center;
    }
    .ng-privacy-v107-copy .ng-kicker,
    .ng-privacy-v107-copy h1,
    .ng-privacy-v107-copy p {
        margin-inline: auto;
    }
    .ng-privacy-v107-copy h1 {
        font-size: clamp(36px, 10vw, 54px);
        line-height: 1.22;
    }
    .ng-privacy-v107-summary,
    .ng-privacy-v107-map-grid {
        grid-template-columns: 1fr;
    }
    .ng-privacy-v107-item {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
    }
    .ng-privacy-v107-cta div {
        display: grid;
    }
    .ng-privacy-v107-cta .ng-btn {
        width: 100%;
    }
    .ng-privacy-v107-word {
        top: 94px;
        left: 12px;
        font-size: clamp(56px, 18vw, 100px);
        opacity: .50;
    }
}
html.ng-lite-mode .ng-privacy-v107-bg,
html.ng-lite-mode .ng-privacy-v107-orb,
html.ng-lite-mode .ng-privacy-v107-grid,
html.ng-lite-mode .ng-privacy-v107-word,
html.ng-lite-mode .ng-privacy-v107-seal::before,
html.ng-lite-mode .ng-privacy-v107-cta::before {
    display: none !important;
}
html.ng-lite-mode .ng-privacy-v107 *,
html.ng-lite-mode .ng-privacy-v107 *::before,
html.ng-lite-mode .ng-privacy-v107 *::after {
    animation: none !important;
    transition-duration: 0s !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
}
html.ng-lite-mode .ng-privacy-v107-seal,
html.ng-lite-mode .ng-privacy-v107-note,
html.ng-lite-mode .ng-privacy-v107-summary article,
html.ng-lite-mode .ng-privacy-v107-sidebar,
html.ng-lite-mode .ng-privacy-v107-item,
html.ng-lite-mode .ng-privacy-v107-map,
html.ng-lite-mode .ng-privacy-v107-rights,
html.ng-lite-mode .ng-privacy-v107-notice,
html.ng-lite-mode .ng-privacy-v107-cta {
    box-shadow: none !important;
    background-image: none !important;
    background-color: var(--ng-card) !important;
    border-color: var(--ng-border) !important;
    transform: none !important;
}
html.ng-lite-mode .ng-privacy-v107-map-grid article,
html.ng-lite-mode .ng-privacy-v107-rights li {
    background-color: var(--ng-card-2) !important;
    border-color: var(--ng-border) !important;
}


/* ===== V10.108 Privacy page load/cache safety patch ===== */
/*
  اصلاح علت به‌هم‌ریختگی صفحه حریم خصوصی:
  نسخه قبلی پکیج V10.107 در metadata و enqueue هنوز 4.1.106 مانده بود،
  بنابراین مرورگر ممکن بود CSS قدیمی را از کش بخواند. این نسخه cache-bust شده است.
  این چند خط فقط ایمنی اضافه برای صفحه حریم خصوصی است.
*/

.ng-privacy-v107 {
    display: block !important;
    width: 100% !important;
}

.ng-privacy-v107 .ng-container {
    max-width: none;
}

.ng-privacy-v107-sidebar a,
.ng-privacy-v107-copy h1,
.ng-privacy-v107-item h2,
.ng-privacy-v107-map h2,
.ng-privacy-v107-rights h2,
.ng-privacy-v107-notice h2,
.ng-privacy-v107-cta h2 {
    word-break: keep-all !important;
    overflow-wrap: normal !important;
}

@media (max-width: 720px) {
    .ng-privacy-v107-sidebar {
        max-width: 100%;
        overflow-x: auto !important;
    }
}


/* ===== V10.109 Mobile / Tablet Sticky Bottom Navigation ===== */
.ng-bottom-nav {
    display: none;
}

@media (max-width: 1080px) {
    body.ng-body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }

    .ng-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 998;
        display: block;
        padding: 10px max(12px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
        pointer-events: none;
    }

    .ng-bottom-nav::before {
        content: "";
        position: absolute;
        inset: auto 0 0;
        height: 120px;
        background: linear-gradient(180deg, transparent, rgba(2, 6, 23, .55) 46%, rgba(2, 6, 23, .80));
        pointer-events: none;
    }

    .ng-bottom-nav-inner {
        position: relative;
        z-index: 2;
        width: min(680px, 100%);
        min-height: 70px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: center;
        gap: 6px;
        padding: 7px;
        border: 1px solid rgba(148, 163, 184, .20);
        border-radius: 28px;
        background:
            radial-gradient(circle at 50% 0%, rgba(91,140,255,.16), transparent 45%),
            rgba(15, 23, 42, .82);
        box-shadow: 0 18px 55px rgba(2,6,23,.35);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        pointer-events: auto;
    }

    .ng-bottom-nav-item {
        position: relative;
        min-width: 0;
        min-height: 56px;
        display: grid;
        place-items: center;
        align-content: center;
        gap: 4px;
        text-decoration: none;
        border: 1px solid transparent;
        border-radius: 21px;
        color: var(--ng-muted);
        font-size: 10.5px;
        font-weight: 950;
        line-height: 1;
        transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
        -webkit-tap-highlight-color: transparent;
    }

    .ng-bottom-nav-item b {
        display: block;
        max-width: 100%;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: 10.5px;
        font-weight: 950;
    }

    .ng-bottom-nav-ico {
        width: 25px;
        height: 25px;
        display: grid;
        place-items: center;
        color: currentColor;
    }

    .ng-bottom-nav-ico svg {
        width: 24px;
        height: 24px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.85;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .ng-bottom-nav-item:hover,
    .ng-bottom-nav-item:focus-visible,
    .ng-bottom-nav-item.is-active {
        color: var(--ng-text);
        background: rgba(255,255,255,.070);
        border-color: rgba(147,197,253,.18);
        transform: translateY(-2px);
        outline: none;
    }

    .ng-bottom-nav-item.is-primary {
        min-height: 64px;
        margin-top: -20px;
        color: #fff;
        border-radius: 24px;
        background:
            radial-gradient(circle at 50% 20%, rgba(255,255,255,.28), transparent 36%),
            linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
        border-color: rgba(255,255,255,.18);
        box-shadow: 0 16px 38px rgba(37,99,235,.32);
    }

    .ng-bottom-nav-item.is-primary .ng-bottom-nav-ico {
        width: 30px;
        height: 30px;
    }

    .ng-bottom-nav-item.is-primary .ng-bottom-nav-ico svg {
        width: 28px;
        height: 28px;
    }

    .ng-bottom-nav-item.is-primary:hover,
    .ng-bottom-nav-item.is-primary:focus-visible {
        transform: translateY(-4px);
        box-shadow: 0 20px 44px rgba(37,99,235,.40);
    }

    html.ng-light .ng-bottom-nav::before {
        background: linear-gradient(180deg, transparent, rgba(248,250,252,.76) 48%, rgba(248,250,252,.96));
    }

    html.ng-light .ng-bottom-nav-inner {
        background:
            radial-gradient(circle at 50% 0%, rgba(37,99,235,.10), transparent 45%),
            rgba(255, 255, 255, .86);
        border-color: rgba(15, 23, 42, .10);
        box-shadow: 0 18px 48px rgba(15,23,42,.14);
    }

    html.ng-light .ng-bottom-nav-item:hover,
    html.ng-light .ng-bottom-nav-item:focus-visible,
    html.ng-light .ng-bottom-nav-item.is-active {
        background: rgba(37,99,235,.075);
        border-color: rgba(37,99,235,.14);
    }

    html.ng-lite-mode .ng-bottom-nav::before {
        background: linear-gradient(180deg, transparent, rgba(2,6,23,.62));
    }

    html.ng-lite-mode.ng-light .ng-bottom-nav::before {
        background: linear-gradient(180deg, transparent, rgba(248,250,252,.92));
    }

    html.ng-lite-mode .ng-bottom-nav-inner {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
        box-shadow: none !important;
        background-image: none !important;
        background-color: var(--ng-card) !important;
        border-color: var(--ng-border) !important;
    }

    html.ng-lite-mode .ng-bottom-nav-item,
    html.ng-lite-mode .ng-bottom-nav-item.is-primary {
        transition: none !important;
        transform: none !important;
        box-shadow: none !important;
    }
}

@media (max-width: 390px) {
    .ng-bottom-nav {
        padding-inline: 8px;
    }

    .ng-bottom-nav-inner {
        gap: 4px;
        padding: 6px;
        border-radius: 24px;
    }

    .ng-bottom-nav-item {
        min-height: 52px;
        border-radius: 18px;
    }

    .ng-bottom-nav-item b {
        font-size: 9.5px;
    }

    .ng-bottom-nav-ico svg {
        width: 22px;
        height: 22px;
    }

    .ng-bottom-nav-item.is-primary {
        min-height: 60px;
        margin-top: -18px;
    }
}

@media (min-width: 1081px) {
    body.ng-body {
        padding-bottom: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ng-bottom-nav-item,
    .ng-bottom-nav-item.is-primary {
        transition: none !important;
        transform: none !important;
    }
}


/* ===== V10.110 Bottom nav center action + contact icon/label polish ===== */
/*
  اصلاحات دقیق:
  - دکمه ثبت سفارش دیگر از کادر ناوبری به بالا بیرون نمی‌زند.
  - دکمه اصلی دقیقاً در مرکز ارتفاعی نوار قرار می‌گیرد.
  - برای متن «تماس با ما» فضای لیبل بهتر شد.
*/

@media (max-width: 1080px) {
    .ng-bottom-nav-inner {
        min-height: 76px !important;
        align-items: center !important;
        overflow: visible;
    }

    .ng-bottom-nav-item {
        min-height: 58px !important;
        align-self: center !important;
    }

    .ng-bottom-nav-item.is-primary {
        min-height: 60px !important;
        margin-top: 0 !important;
        transform: none !important;
        align-self: center !important;
        border-radius: 22px !important;
        box-shadow: 0 12px 30px rgba(37,99,235,.28) !important;
    }

    .ng-bottom-nav-item.is-primary:hover,
    .ng-bottom-nav-item.is-primary:focus-visible {
        transform: translateY(-2px) !important;
        box-shadow: 0 16px 36px rgba(37,99,235,.34) !important;
    }

    .ng-bottom-nav-item b {
        font-size: 10px !important;
        letter-spacing: -.02em;
    }

    .ng-bottom-nav-item[href*="contact"] b {
        font-size: 9.5px !important;
    }
}

@media (max-width: 390px) {
    .ng-bottom-nav-inner {
        min-height: 72px !important;
    }

    .ng-bottom-nav-item.is-primary {
        min-height: 58px !important;
        margin-top: 0 !important;
    }

    .ng-bottom-nav-item[href*="contact"] b {
        font-size: 8.8px !important;
    }
}

html.ng-lite-mode .ng-bottom-nav-item.is-primary,
html.ng-lite-mode .ng-bottom-nav-item.is-primary:hover,
html.ng-lite-mode .ng-bottom-nav-item.is-primary:focus-visible {
    transform: none !important;
    box-shadow: none !important;
}


/* ===== V10.111 Smart Netgardi Chatbot ===== */
.ng-chatbot {
    position: fixed;
    right: max(18px, env(safe-area-inset-right, 0px));
    bottom: max(22px, env(safe-area-inset-bottom, 0px));
    z-index: 1002;
    font-family: inherit;
}

.ng-chatbot-fab {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 30% 18%, rgba(255,255,255,.28), transparent 35%),
        linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    box-shadow: 0 22px 52px rgba(37,99,235,.35);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.ng-chatbot-fab:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 28px 64px rgba(37,99,235,.42);
}

.ng-chatbot-fab svg {
    width: 31px;
    height: 31px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.85;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ng-chatbot-panel {
    position: absolute;
    right: 0;
    bottom: 82px;
    width: min(420px, calc(100vw - 28px));
    max-height: min(720px, calc(100vh - 120px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    border: 1px solid var(--ng-border);
    border-radius: 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 20% 0%, rgba(91,140,255,.16), transparent 38%),
        rgba(15,23,42,.88);
    box-shadow: 0 28px 90px rgba(2,6,23,.42);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    transform-origin: bottom right;
    animation: ngChatbotOpen .22s ease both;
}

.ng-chatbot-head {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border-bottom: 1px solid var(--ng-border);
    background: rgba(255,255,255,.045);
}

.ng-chatbot-head small {
    display: block;
    color: #93c5fd;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .06em;
}

.ng-chatbot-head strong {
    display: block;
    margin-top: 4px;
    color: var(--ng-text);
    font-size: 16px;
    font-weight: 950;
}

.ng-chatbot-close {
    width: 38px;
    height: 38px;
    border: 1px solid var(--ng-border);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    color: var(--ng-text);
    font-size: 24px;
    cursor: pointer;
}

.ng-chatbot-body {
    min-height: 0;
    overflow: auto;
    padding: 14px;
    display: grid;
    gap: 12px;
}

.ng-chatbot-message {
    max-width: 88%;
    width: fit-content;
    padding: 12px 14px;
    border-radius: 20px;
    color: var(--ng-text);
    line-height: 1.9;
    font-size: 13px;
    font-weight: 800;
}

.ng-chatbot-message.bot {
    margin-left: auto;
    background: rgba(255,255,255,.060);
    border: 1px solid rgba(147,197,253,.14);
    border-top-right-radius: 8px;
}

.ng-chatbot-message.user {
    margin-right: auto;
    background: linear-gradient(135deg, rgba(91,140,255,.24), rgba(124,92,255,.16));
    border: 1px solid rgba(147,197,253,.18);
    border-top-left-radius: 8px;
}

.ng-chatbot-lead,
.ng-chatbot-input {
    display: grid;
    gap: 10px;
}

.ng-chatbot-lead label {
    display: grid;
    gap: 7px;
}

.ng-chatbot-lead span {
    color: var(--ng-soft);
    font-size: 11px;
    font-weight: 950;
}

.ng-chatbot-lead input,
.ng-chatbot-input input {
    width: 100%;
    min-height: 48px;
    border: 1px solid rgba(147,197,253,.16);
    border-radius: 17px;
    background: rgba(255,255,255,.055);
    color: var(--ng-text);
    padding: 0 13px;
    font-family: inherit;
    font-weight: 850;
    outline: none;
}

.ng-chatbot-lead input:focus,
.ng-chatbot-input input:focus {
    border-color: rgba(147,197,253,.34);
    box-shadow: 0 0 0 4px rgba(91,140,255,.10);
}

.ng-chatbot-lead button,
.ng-chatbot-input button,
.ng-chatbot-human {
    min-height: 46px;
    border: 0;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(135deg, var(--ng-blue), var(--ng-violet));
    font-family: inherit;
    font-weight: 950;
    cursor: pointer;
}

.ng-chatbot-chat {
    display: grid;
    gap: 12px;
}

.ng-chatbot-quick {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.ng-chatbot-quick::-webkit-scrollbar {
    display: none;
}

.ng-chatbot-quick button {
    flex: 0 0 auto;
    max-width: 230px;
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(147,197,253,.15);
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    color: var(--ng-soft);
    font-family: inherit;
    font-size: 11px;
    font-weight: 950;
    cursor: pointer;
    white-space: nowrap;
}

.ng-chatbot-quick button:hover {
    color: var(--ng-text);
    border-color: rgba(147,197,253,.30);
}

.ng-chatbot-messages {
    display: grid;
    gap: 10px;
}

.ng-chatbot-input {
    grid-template-columns: minmax(0, 1fr) 74px;
    position: sticky;
    bottom: -14px;
    padding-top: 4px;
    background: linear-gradient(180deg, transparent, rgba(15,23,42,.92) 24%);
}

.ng-chatbot-human {
    background: rgba(255,255,255,.070);
    border: 1px solid rgba(147,197,253,.16);
    color: var(--ng-text);
}

html.ng-light .ng-chatbot-panel {
    background:
        radial-gradient(circle at 20% 0%, rgba(37,99,235,.10), transparent 38%),
        rgba(255,255,255,.90);
    box-shadow: 0 24px 64px rgba(15,23,42,.18);
}

html.ng-light .ng-chatbot-head,
html.ng-light .ng-chatbot-message.bot,
html.ng-light .ng-chatbot-quick button,
html.ng-light .ng-chatbot-lead input,
html.ng-light .ng-chatbot-input input,
html.ng-light .ng-chatbot-human {
    background: rgba(255,255,255,.70);
    border-color: rgba(30,58,138,.12);
}

html.ng-light .ng-chatbot-input {
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.92) 24%);
}

html.ng-lite-mode .ng-chatbot-panel {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background-image: none !important;
    background-color: var(--ng-card) !important;
    box-shadow: none !important;
}

html.ng-lite-mode .ng-chatbot-fab,
html.ng-lite-mode .ng-chatbot-panel,
html.ng-lite-mode .ng-chatbot-fab:hover {
    transition: none !important;
    transform: none !important;
}

@media (max-width: 1080px) {
    .ng-chatbot {
        right: 14px;
        bottom: calc(104px + env(safe-area-inset-bottom, 0px));
    }

    .ng-chatbot-panel {
        position: fixed;
        right: 10px;
        left: 10px;
        bottom: calc(104px + env(safe-area-inset-bottom, 0px));
        width: auto;
        max-height: min(620px, calc(100vh - 150px));
        border-radius: 30px;
    }

    .ng-chatbot-fab {
        width: 58px;
        height: 58px;
        border-radius: 22px;
    }
}

@media (max-width: 520px) {
    .ng-chatbot-panel {
        left: 8px;
        right: 8px;
        max-height: calc(100vh - 138px);
    }

    .ng-chatbot-input {
        grid-template-columns: minmax(0, 1fr) 64px;
    }
}

@keyframes ngChatbotOpen {
    from { opacity: 0; transform: translateY(12px) scale(.96); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}


/* ===== V10.112 Smart Chatbot professional fixes ===== */
.ng-chatbot [hidden],
.ng-chatbot-panel[hidden],
.ng-chatbot-chat[hidden],
.ng-chatbot-lead[hidden] {
    display: none !important;
}

.ng-chatbot-panel {
    width: min(440px, calc(100vw - 28px)) !important;
}

.ng-chatbot-lead {
    padding: 14px;
    border: 1px solid rgba(147,197,253,.13);
    border-radius: 24px;
    background: rgba(255,255,255,.035);
}

.ng-chatbot-quick {
    padding: 2px 0 8px;
    margin-top: 2px;
}

.ng-chatbot-quick button {
    max-width: 260px;
}

.ng-chatbot-body {
    overscroll-behavior: contain;
}

.ng-chatbot-input input {
    min-width: 0;
}

@media (min-width:1081px) {
    .ng-chatbot {
        bottom: 24px !important;
        right: 24px !important;
    }
}

@media (max-width:1080px) {
    .ng-chatbot {
        bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
        right: 14px !important;
    }
    .ng-chatbot-panel {
        bottom: calc(100px + env(safe-area-inset-bottom, 0px)) !important;
    }
}


/* ===== V10.113 Smart Chatbot online/pro polish ===== */
.ng-chatbot-message {
    white-space: pre-line !important;
}

.ng-chatbot-quick {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible !important;
    gap: 8px !important;
    padding: 4px 0 8px !important;
}

.ng-chatbot-quick button {
    width: 100% !important;
    max-width: none !important;
    min-height: 42px !important;
    height: auto !important;
    white-space: normal !important;
    line-height: 1.7 !important;
    text-align: center !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
}

.ng-chatbot-panel {
    max-height: min(760px, calc(100vh - 110px)) !important;
}

.ng-chatbot-body {
    scrollbar-width: thin;
}

.ng-chatbot-human {
    position: relative;
}

.ng-chatbot-human::before {
    content: "●";
    color: var(--ng-green);
    margin-left: 6px;
}

@media (max-width: 520px) {
    .ng-chatbot-quick {
        grid-template-columns: 1fr !important;
    }
}


/* ===== V10.114 Chatbot frontend refinement ===== */
.ng-chatbot-quick button {
    overflow: visible !important;
}

.ng-chatbot-message,
.ng-chatbot-message p {
    white-space: pre-line !important;
}

.ng-chatbot-input input::placeholder {
    opacity: .72;
}


/* ===== V10.115 Chat admin final polish ===== */
body.toplevel_page_ng-smart-chat #wpfooter,
body.chatbot_page_ng-smart-chat-settings #wpfooter,
body.admin_page_ng-smart-chat-settings #wpfooter {
    display: none !important;
}

.ng-chat-pro-row,
.ng-chat-pro-row.is-active {
    min-height: 76px !important;
    max-height: 92px !important;
    overflow: hidden !important;
    align-content: center !important;
}

.ng-chat-pro-row strong,
.ng-chat-pro-row small {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.ng-chat-admin-shell.ng-chat-admin-light .ng-chat-pro-row em {
    color: #1d4ed8 !important;
    background: rgba(37,99,235,.10) !important;
    border-color: rgba(37,99,235,.20) !important;
}

.ng-chat-admin-shell select option,
.ng-chat-admin-shell select optgroup {
    background: #101a2d !important;
    color: #eef4ff !important;
}

.ng-chat-admin-shell.ng-chat-admin-light select option,
.ng-chat-admin-shell.ng-chat-admin-light select optgroup {
    background: #ffffff !important;
    color: #101827 !important;
}

.ng-chat-settings-pro .ng-chat-settings-card {
    max-width: 1180px !important;
    margin-inline: auto !important;
    padding: 22px !important;
}

.ng-chat-settings-pro .ng-chat-settings-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.ng-chat-settings-pro .ng-chat-settings-grid > label {
    grid-column: span 6 !important;
    min-height: auto !important;
    border: 1px solid var(--ngca-border);
    border-radius: 20px;
    padding: 14px;
    background: var(--ngca-panel-2);
}

.ng-chat-settings-pro .ng-chat-settings-grid > label.wide {
    grid-column: 1 / -1 !important;
}

.ng-chat-settings-pro .ng-chat-toggle {
    grid-column: span 6 !important;
    min-height: 74px !important;
    display: flex !important;
}

.ng-chat-settings-pro .ng-chat-settings-grid input,
.ng-chat-settings-pro .ng-chat-settings-grid textarea,
.ng-chat-settings-pro .ng-chat-qa-row input,
.ng-chat-settings-pro .ng-chat-qa-row textarea {
    min-height: 44px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
}

.ng-chat-settings-pro .ng-chat-settings-grid textarea[name="system_prompt"] {
    min-height: 150px !important;
}

.ng-chat-settings-pro .ng-chat-qa-builder {
    max-width: 1180px !important;
    margin-inline: auto !important;
    padding: 20px !important;
}

.ng-chat-settings-pro .ng-chat-qa-row {
    grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr) !important;
    padding: 14px !important;
    min-height: auto !important;
}

.ng-chat-settings-pro .button-hero {
    display: block !important;
    width: fit-content !important;
    min-width: 190px !important;
    margin: 18px auto 0 !important;
}

.ng-chat-settings-pro .ng-chat-settings-hero {
    max-width: 1180px !important;
    margin-inline: auto !important;
}

.ng-chat-settings-pro .ng-chat-settings-hero .ng-chat-theme-toggle {
    margin-top: 14px !important;
}

@media (max-width: 900px) {
    .ng-chat-settings-pro .ng-chat-settings-grid > label,
    .ng-chat-settings-pro .ng-chat-toggle {
        grid-column: 1 / -1 !important;
    }
    .ng-chat-settings-pro .ng-chat-qa-row {
        grid-template-columns: 1fr !important;
    }
}


/* ===== V10.120 Chat live admin final polish ===== */
.ng-chat-admin-shell.ng-chat-has-new .ng-chat-pro-list {
    animation: ngChatNewPulse .9s ease both;
}
@keyframes ngChatNewPulse {
    0%,100% { box-shadow: var(--ngca-shadow); }
    35% { box-shadow: 0 0 0 4px rgba(37,99,235,.18), var(--ngca-shadow); }
}
.ng-chatbot-human[hidden] {
    display: none !important;
}


/* ===== V10.121 Chat admin live script fix ===== */
.ng-chat-admin-shell.ng-chat-has-new .ng-chat-pro-list {
    animation: ngChatAdminNewPulseV121 .9s ease both;
}
@keyframes ngChatAdminNewPulseV121 {
    0%,100% { box-shadow: var(--ngca-shadow); }
    35% { box-shadow: 0 0 0 4px rgba(37,99,235,.18), var(--ngca-shadow); }
}


/* ===== V10.122 User chat notification sound + unread badge ===== */
.ng-chatbot-head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ng-chatbot-sound {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid var(--ng-border);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    color: var(--ng-text);
    cursor: pointer;
}

.ng-chatbot-sound svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ng-chatbot-sound .ng-sound-off {
    display: none;
}

.ng-chatbot-sound.is-muted .ng-sound-wave {
    display: none;
}

.ng-chatbot-sound.is-muted .ng-sound-off {
    display: block;
}

.ng-chatbot.has-unread .ng-chatbot-fab::after {
    content: attr(data-unread);
    position: absolute;
    top: -7px;
    right: -7px;
    min-width: 23px;
    height: 23px;
    padding: 0 6px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #ef4444, #f97316);
    border: 2px solid var(--ng-bg);
    font-size: 11px;
    font-weight: 950;
    line-height: 1;
    box-shadow: 0 8px 20px rgba(239,68,68,.28);
}

.ng-chatbot.has-unread .ng-chatbot-fab::before {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 30px;
    border: 1px solid rgba(239,68,68,.42);
    animation: ngChatUnreadRing 1.3s ease-out infinite;
}

.ng-chatbot.ng-chatbot-pulse .ng-chatbot-fab {
    animation: ngChatFabPulse .9s ease both;
}

@keyframes ngChatUnreadRing {
    from { opacity: .75; transform: scale(.88); }
    to { opacity: 0; transform: scale(1.22); }
}

@keyframes ngChatFabPulse {
    0%, 100% { transform: translateY(0) scale(1); }
    35% { transform: translateY(-3px) scale(1.05); }
}

html.ng-lite-mode .ng-chatbot.has-unread .ng-chatbot-fab::before,
html.ng-lite-mode .ng-chatbot.ng-chatbot-pulse .ng-chatbot-fab {
    animation: none !important;
}

@media (max-width: 520px) {
    .ng-chatbot-sound,
    .ng-chatbot-close {
        width: 36px;
        height: 36px;
    }
}




/* ===== V10.124 Chatbot Lite mode stronger background ===== */
/*
  اصلاح دقیق:
  - تغییر V10.123 روی حالت روشن برگردانده شد.
  - فقط در حالت Lite، بک‌گراند چت محکم‌تر و غیرشفاف‌تر شد.
*/

html.ng-lite-mode .ng-chatbot-panel {
    background:
        radial-gradient(circle at 18% 0%, rgba(37,99,235,.12), transparent 34%),
        rgba(15,23,42,.96) !important;
    border-color: rgba(148,163,184,.24) !important;
    box-shadow: 0 18px 46px rgba(2,6,23,.30) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-panel {
    background:
        radial-gradient(circle at 18% 0%, rgba(37,99,235,.12), transparent 34%),
        rgba(226,232,240,.98) !important;
    border-color: rgba(15,23,42,.18) !important;
    box-shadow: 0 18px 42px rgba(15,23,42,.18) !important;
}

html.ng-lite-mode .ng-chatbot-head {
    background: rgba(15,23,42,.92) !important;
    border-bottom-color: rgba(148,163,184,.22) !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-head {
    background: rgba(203,213,225,.92) !important;
    border-bottom-color: rgba(15,23,42,.14) !important;
}

html.ng-lite-mode .ng-chatbot-body {
    background: rgba(15,23,42,.88) !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-body {
    background: rgba(226,232,240,.94) !important;
}

html.ng-lite-mode .ng-chatbot-message.bot,
html.ng-lite-mode .ng-chatbot-lead,
html.ng-lite-mode .ng-chatbot-quick button,
html.ng-lite-mode .ng-chatbot-human,
html.ng-lite-mode .ng-chatbot-sound,
html.ng-lite-mode .ng-chatbot-close {
    background: rgba(30,41,59,.96) !important;
    border-color: rgba(148,163,184,.22) !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-message.bot,
html.ng-lite-mode.ng-light .ng-chatbot-lead,
html.ng-lite-mode.ng-light .ng-chatbot-quick button,
html.ng-lite-mode.ng-light .ng-chatbot-human,
html.ng-lite-mode.ng-light .ng-chatbot-sound,
html.ng-lite-mode.ng-light .ng-chatbot-close {
    background: rgba(255,255,255,.94) !important;
    border-color: rgba(15,23,42,.13) !important;
}

html.ng-lite-mode .ng-chatbot-lead input,
html.ng-lite-mode .ng-chatbot-input input {
    background: rgba(15,23,42,.94) !important;
    border-color: rgba(148,163,184,.24) !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-lead input,
html.ng-lite-mode.ng-light .ng-chatbot-input input {
    background: rgba(255,255,255,.96) !important;
    border-color: rgba(15,23,42,.16) !important;
}

html.ng-lite-mode .ng-chatbot-input {
    background: linear-gradient(180deg, transparent, rgba(15,23,42,.96) 26%) !important;
}

html.ng-lite-mode.ng-light .ng-chatbot-input {
    background: linear-gradient(180deg, transparent, rgba(226,232,240,.98) 26%) !important;
}


/* ===== V10.125 Chatbot mobile/tablet panel + input zoom fix ===== */
/*
  اصلاحات دقیق موبایل/تبلت:
  - پنجره چت در حالت عادی از بالا نصف/بریده نمی‌شود.
  - در Lite، هدر سایت روی هدر چت نمی‌افتد.
  - فیلدهای نام، شماره تماس و پیام در مرورگرهای موبایل باعث auto zoom نمی‌شوند.
*/

.ng-chatbot {
    z-index: 2147483000 !important;
}

.ng-chatbot-panel {
    z-index: 2147483001 !important;
}

.ng-chatbot-fab {
    position: relative;
    z-index: 2147483002 !important;
}

/* جلوگیری از زوم خودکار iOS/Chrome mobile: فونت input کمتر از 16px نباشد */
.ng-chatbot input,
.ng-chatbot textarea,
.ng-chatbot select,
.ng-chatbot button {
    font-size: 16px !important;
}

/* متن‌های کوچک داخل دکمه‌ها با transform کوچک‌تر دیده شوند، نه font-size کمتر از 16 در inputها */
.ng-chatbot-quick button,
.ng-chatbot-human,
.ng-chatbot-lead button,
.ng-chatbot-input button {
    font-size: 13px !important;
}

.ng-chatbot-lead span,
.ng-chatbot-head small,
.ng-chatbot-message {
    font-size: 13px;
}

@media (max-width: 1080px) {
    .ng-chatbot {
        z-index: 2147483000 !important;
    }

    .ng-chatbot-panel {
        position: fixed !important;
        left: max(10px, env(safe-area-inset-left, 0px)) !important;
        right: max(10px, env(safe-area-inset-right, 0px)) !important;
        top: max(12px, env(safe-area-inset-top, 0px)) !important;
        bottom: calc(98px + env(safe-area-inset-bottom, 0px)) !important;
        width: auto !important;
        max-width: none !important;
        max-height: none !important;
        height: auto !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) !important;
        border-radius: 28px !important;
        overflow: hidden !important;
        transform: none !important;
    }

    .ng-chatbot-panel[hidden] {
        display: none !important;
    }

    .ng-chatbot-head {
        position: relative !important;
        z-index: 3 !important;
        min-height: 74px !important;
        flex: 0 0 auto !important;
    }

    .ng-chatbot-body {
        min-height: 0 !important;
        height: auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* موبایل‌های کوتاه: فاصله پایین کمتر شود تا هدر چت بالا کامل بماند */
@media (max-width: 520px) and (max-height: 720px) {
    .ng-chatbot-panel {
        top: max(8px, env(safe-area-inset-top, 0px)) !important;
        bottom: calc(86px + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 24px !important;
    }

    .ng-chatbot-head {
        min-height: 68px !important;
        padding: 12px !important;
    }
}

/* تبلت: پنل کامل، ولی زیادی پهن نشود */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-chatbot-panel {
        left: auto !important;
        right: max(18px, env(safe-area-inset-right, 0px)) !important;
        top: max(18px, env(safe-area-inset-top, 0px)) !important;
        bottom: calc(108px + env(safe-area-inset-bottom, 0px)) !important;
        width: min(470px, calc(100vw - 36px)) !important;
        max-width: 470px !important;
    }
}

/* در Lite هم هدر سایت هر z-index داشته باشد، پنل چت بالاتر می‌ماند */
html.ng-lite-mode .ng-chatbot,
html.ng-lite-mode .ng-chatbot-panel,
html.ng-lite-mode .ng-chatbot-fab {
    z-index: 2147483000 !important;
}

html.ng-lite-mode .ng-chatbot-panel {
    isolation: isolate;
}


/* ===== V10.134 Chatbot stable restore polish ===== */
/*
  این نسخه از V10.125 پایدار ساخته شده و تغییرات پرریسک V10.126 تا V10.133 حذف شده‌اند.
  فقط اصلاحات بی‌خطر استایلی اضافه شده:
  - کارت خوشامد شروع چت جمع‌وجورتر
  - فاصله واقعی دکمه پشتیبانی انسانی از پایین پنل در موبایل/تبلت
  - اطمینان از قابل کلیک بودن دکمه‌های هدر چت بدون دستکاری منطق اصلی
*/

.ng-chatbot-head,
.ng-chatbot-head-actions,
.ng-chatbot-close,
.ng-chatbot-sound {
    position: relative !important;
    z-index: 20 !important;
    pointer-events: auto !important;
}

.ng-chatbot-close,
.ng-chatbot-sound {
    touch-action: manipulation !important;
    cursor: pointer !important;
}

@media (max-width: 1080px) {
    .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: clamp(92px, 18vh, 148px) !important;
        overflow-y: auto !important;
        padding: 12px 14px !important;
        line-height: 1.72 !important;
        font-size: 13px !important;
        border-radius: 21px !important;
    }

    .ng-chatbot-lead {
        padding: 14px !important;
        gap: 10px !important;
    }

    .ng-chatbot-lead input {
        min-height: 46px !important;
        height: 46px !important;
        font-size: 16px !important;
    }

    .ng-chatbot-lead button {
        min-height: 50px !important;
        height: 50px !important;
        font-size: 14px !important;
    }

    .ng-chatbot-chat {
        padding-bottom: 16px !important;
    }

    .ng-chatbot-human {
        width: calc(100% - 8px) !important;
        margin: 10px auto 18px !important;
        min-height: 44px !important;
        border-radius: 17px !important;
        flex: 0 0 auto !important;
    }

    .ng-chatbot-messages {
        padding-bottom: 10px !important;
    }
}

@media (max-width: 520px) and (max-height: 760px) {
    .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        max-height: 108px !important;
        padding: 10px 12px !important;
        line-height: 1.62 !important;
        font-size: 12.5px !important;
    }

    .ng-chatbot-lead {
        padding: 12px !important;
        gap: 9px !important;
    }

    .ng-chatbot-lead input {
        min-height: 44px !important;
        height: 44px !important;
    }

    .ng-chatbot-lead button {
        min-height: 48px !important;
        height: 48px !important;
    }
}

/* تبلت: فاصله دکمه پشتیبانی و کلیک‌پذیری هدر حفظ شود */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-chatbot-human {
        margin-bottom: 20px !important;
    }
}


/* ===== V10.135 Chatbot three targeted fixes ===== */
/*
  1) کارت خوشامد فقط در صفحه شروع فشرده می‌شود؛ بعد از شروع گفتگو کامل نمایش داده می‌شود.
  2) آیکون چت در موبایل/تبلت، در حالت عادی و Lite، هنگام باز بودن پنل یکسان مخفی می‌شود.
  3) فاصله پشتیبانی انسانی در موبایل/تبلت بدون دستکاری منطق اصلی پایدارتر شد.
*/

/* آیکون شناور وقتی پنل باز است در همه حالت‌ها مخفی شود */
.ng-chatbot.is-open .ng-chatbot-fab {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: scale(.92) !important;
}

@media (max-width: 1080px) {
    .ng-chatbot.is-open .ng-chatbot-fab,
    html.ng-lite-mode .ng-chatbot.is-open .ng-chatbot-fab {
        display: none !important;
    }
}

/* فشرده‌سازی پیام خوشامد فقط قبل از شروع گفتگو */
@media (max-width: 1080px) {
    .ng-chatbot:not(.is-chat-started) .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: clamp(92px, 18vh, 148px) !important;
        overflow-y: auto !important;
        padding: 12px 14px !important;
        line-height: 1.72 !important;
        font-size: 13px !important;
        border-radius: 21px !important;
    }

    .ng-chatbot.is-chat-started .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        max-height: none !important;
        overflow: visible !important;
        padding: 12px 14px !important;
        line-height: 1.85 !important;
    }

    .ng-chatbot-human {
        display: block !important;
        width: calc(100% - 12px) !important;
        margin: 12px auto 22px !important;
        min-height: 44px !important;
        flex: 0 0 auto !important;
    }

    .ng-chatbot-chat {
        padding-bottom: 14px !important;
    }
}

@media (max-width: 520px) and (max-height: 760px) {
    .ng-chatbot:not(.is-chat-started) .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        max-height: 108px !important;
        padding: 10px 12px !important;
        line-height: 1.62 !important;
        font-size: 12.5px !important;
    }

    .ng-chatbot.is-chat-started .ng-chatbot-body > .ng-chatbot-message.bot:first-child {
        max-height: none !important;
        overflow: visible !important;
    }
}

/* تبلت: فاصله پایین دکمه انسانی کمی بیشتر */
@media (min-width: 721px) and (max-width: 1080px) {
    .ng-chatbot-human {
        margin-bottom: 24px !important;
    }
}


/* ===== V10.136 Chatbot welcome card final fix ===== */
/*
  فقط اصلاح کارت خوشامد:
  - کارت خوشامد صفحه شروع compact می‌ماند.
  - بعد از شروع گفتگو، همان کارت ثابت خوشامد دیگر داخل صفحه چت نمایش داده نمی‌شود
    تا نصفه/بریده دیده نشود و پیام‌های واقعی داخل history نمایش داده شوند.
  - این تغییر فقط روی intro card با کلاس اختصاصی اعمال می‌شود.
*/

.ng-chatbot.is-chat-started .ng-chatbot-intro {
    display: none !important;
}

@media (max-width: 1080px) {
    .ng-chatbot:not(.is-chat-started) .ng-chatbot-intro {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 12px 14px !important;
        line-height: 1.72 !important;
        font-size: 13px !important;
        border-radius: 21px !important;
    }

    .ng-chatbot.is-chat-started .ng-chatbot-intro {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
}

@media (max-width: 520px) and (max-height: 760px) {
    .ng-chatbot:not(.is-chat-started) .ng-chatbot-intro {
        padding: 10px 12px !important;
        line-height: 1.62 !important;
        font-size: 12.5px !important;
    }
}


/* ===== V10.137 Chatbot intro hide + closed-panel notification sound fix ===== */
/*
  فقط دو مورد:
  1) کارت خوشامد ثابت بعد از شروع چت در عادی و Lite کامل حذف می‌شود.
  2) استایل badge/pulse برای پیام جدید وقتی پنل بسته است حفظ و تقویت می‌شود.
*/

/* بعد از شروع چت، intro ثابت به هیچ عنوان نمایش داده نشود؛ پیام‌های واقعی داخل messages هستند */
.ng-chatbot.is-chat-started .ng-chatbot-intro,
.ng-chatbot[data-chat-started="1"] .ng-chatbot-intro,
html.ng-lite-mode .ng-chatbot.is-chat-started .ng-chatbot-intro,
html.ng-lite-mode .ng-chatbot[data-chat-started="1"] .ng-chatbot-intro,
html.ng-light .ng-chatbot.is-chat-started .ng-chatbot-intro,
html.ng-light .ng-chatbot[data-chat-started="1"] .ng-chatbot-intro {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* صفحه شروع: intro کامل باشد، نه نصفه */
.ng-chatbot:not(.is-chat-started) .ng-chatbot-intro {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

@media (max-width: 1080px) {
    html.ng-lite-mode .ng-chatbot:not(.is-chat-started) .ng-chatbot-intro,
    .ng-chatbot:not(.is-chat-started) .ng-chatbot-intro {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px 14px !important;
        line-height: 1.72 !important;
        font-size: 13px !important;
        border-radius: 21px !important;
    }
}

/* badge/pulse روی آیکون وقتی پنل بسته است واضح بماند */
.ng-chatbot.has-unread .ng-chatbot-fab {
    overflow: visible !important;
}


/* ===== V10.139 About page mobile/tablet horizontal overflow fix ===== */
/*
  مشکل اسکرول چپ/راست فقط در صفحه درباره ما بود.
  علت اصلی از ترکیب overflow: visible، هاله‌های بیرون‌زده و عناصر گرافیکی absolute در نسخه‌های قبلی بود.
  این اصلاح فقط صفحه درباره ما را در موبایل/تبلت محدود می‌کند و سایر صفحات/چت‌بات را دست نمی‌زند.
*/

@media (max-width: 1080px) {
    html,
    body {
        max-width: 100%;
    }

    .ng-about-v97 {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
        contain: paint;
    }

    @supports not (overflow: clip) {
        .ng-about-v97 {
            overflow-x: hidden !important;
        }
    }

    .ng-about-v97 *,
    .ng-about-v97 *::before,
    .ng-about-v97 *::after {
        max-width: 100%;
        box-sizing: border-box;
    }

    .ng-about-v97 .ng-container {
        width: min(100% - 24px, var(--ng-container, 1180px)) !important;
        max-width: calc(100vw - 24px) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        overflow: visible;
    }

    .ng-about-v97-hero {
        max-width: 100vw !important;
        overflow-x: clip !important;
        overflow-y: visible !important;
    }

    @supports not (overflow: clip) {
        .ng-about-v97-hero {
            overflow-x: hidden !important;
        }
    }

    .ng-about-v97-bg {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        contain: paint;
    }

    .ng-about-v97-word {
        max-width: 100vw !important;
        overflow: hidden !important;
        white-space: nowrap !important;
    }

    .ng-about-v97-orb.orb-a {
        right: -120px !important;
    }

    .ng-about-v97-orb.orb-b {
        left: -70px !important;
    }

    .ng-about-v97-hero-grid,
    .ng-about-v97-split,
    .ng-about-v97-trust-panel,
    .ng-about-v97-purpose-grid,
    .ng-about-v97-value-grid,
    .ng-about-v97-metrics,
    .ng-about-v97-trust-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .ng-about-v97-copy,
    .ng-about-v97-command-card,
    .ng-about-v97-metric,
    .ng-about-v97-purpose-card,
    .ng-about-v97-time-item,
    .ng-about-v97-time-item > div,
    .ng-about-v97-trust-panel,
    .ng-about-v97-values,
    .ng-about-v97-cta {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .ng-about-v97-command-card,
    .ng-about-v97-metric,
    .ng-about-v97-trust-panel {
        overflow-x: clip !important;
    }

    @supports not (overflow: clip) {
        .ng-about-v97-command-card,
        .ng-about-v97-metric,
        .ng-about-v97-trust-panel {
            overflow-x: hidden !important;
        }
    }
}

@media (max-width: 720px) {
    .ng-about-v97 .ng-container {
        width: min(100% - 20px, var(--ng-container, 1180px)) !important;
        max-width: calc(100vw - 20px) !important;
    }

    .ng-about-v97-copy h1,
    .ng-about-v97-copy p,
    .ng-about-v97-head h2,
    .ng-about-v97-head p,
    .ng-about-v97-side-head h2,
    .ng-about-v97-side-head p,
    .ng-about-v97-trust-copy h2,
    .ng-about-v97-trust-copy p,
    .ng-about-v97-cta h2,
    .ng-about-v97-cta p {
        max-width: 100% !important;
    }

    .ng-about-v97-actions,
    .ng-about-v97-cta div {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ng-about-v97-orb.orb-a {
        right: -150px !important;
    }

    .ng-about-v97-orb.orb-b {
        left: -90px !important;
    }
}




/* ===== V10.141 Final cleanup: contact security + chatbot OTP styles only ===== */
.ng-contact-v101-hp {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.ng-chatbot-otp {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: center;
}
.ng-chatbot-otp input[name="otp_code"] {
    min-height: 46px;
    border-radius: 16px;
    text-align: center;
    direction: ltr;
}
.ng-chatbot-otp-status {
    grid-column: 1 / -1;
    min-height: 20px;
    color: var(--ng-muted);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.6;
}
@media (max-width: 520px) {
    .ng-chatbot-otp {
        grid-template-columns: 1fr;
    }
}


/* ===== V10.143 Chatbot OTP existing-system flow fix ===== */
.ng-chatbot.is-otp-step .ng-chatbot-otp {
    display: grid !important;
}
.ng-chatbot.is-otp-step .ng-chatbot-otp-status {
    color: var(--ng-text);
}


/* ===== V10.145 Chatbot OTP root fixed ===== */
.ng-chatbot-otp[hidden] {
    display: none !important;
}
.ng-chatbot-otp:not([hidden]),
.ng-chatbot.is-otp-step .ng-chatbot-otp {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-items: center !important;
}
.ng-chatbot-otp input[name="otp_code"] {
    min-height: 46px;
    border-radius: 16px;
    text-align: center;
    direction: ltr;
    font-size: 16px;
}
.ng-chatbot-otp-status {
    color: var(--ng-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.8;
}


/* ===== V10.146 Chatbot OTP resend button ===== */
.ng-chatbot-resend-otp {
    min-height: 42px;
    border-radius: 15px;
    border: 1px solid var(--ng-border);
    background: var(--ng-card-2);
    color: var(--ng-text);
    font-weight: 950;
    cursor: pointer;
}
.ng-chatbot-resend-otp:disabled {
    opacity: .55;
    cursor: not-allowed;
}




/* ===== V10.148 Browser chrome sync + contact native font precise fix ===== */
/*
  نکته: برای نوار بالای Safari/Chrome، رنگ باید با theme-color واقعی و JS هماهنگ شود؛
  نه با media prefers-color-scheme. برای select هم appearance مرورگر دست‌نخورده می‌ماند
  تا فلش/آیکون native خراب نشود؛ فقط فونت و وزن اصلاح می‌شود.
*/
html,
body,
body.ng-body {
    background-color: var(--ng-bg, #07111f);
}

@supports (padding-top: env(safe-area-inset-top)) {
    body.ng-body::before {
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: env(safe-area-inset-top);
        background-color: var(--ng-bg, #07111f);
        z-index: 2147482000;
        pointer-events: none;
    }
}

.ng-contact-v101-form select,
.ng-contact-v101-form option,
.ng-contact-v101-form optgroup,
.ng-contact-v101-form button {
    font-family: Vazirmatn, Tahoma, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.ng-contact-v101-form select {
    font-weight: 850 !important;
    line-height: 1.6 !important;
    padding-left: 14px !important;
    background-image: none !important;
}

.ng-contact-v101-form button {
    font-weight: 950 !important;
    line-height: 1.4 !important;
}


/* ===== V10.149 Final admin delete actions ===== */
.ng-danger-action,
.wp-core-ui .ng-danger-action {
    border-color: rgba(239,68,68,.45) !important;
    color: #dc2626 !important;
    background: rgba(239,68,68,.07) !important;
    font-weight: 900 !important;
}
.ng-danger-action:hover,
.wp-core-ui .ng-danger-action:hover {
    border-color: rgba(220,38,38,.75) !important;
    color: #b91c1c !important;
    background: rgba(239,68,68,.12) !important;
}


/* ===== V10.149b Chat selected delete button alignment ===== */
.ng-chat-pro-thread-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
@media (max-width: 720px) {
    .ng-chat-pro-thread-head {
        display: grid;
        gap: 10px;
    }
    .ng-chat-pro-thread-head .ng-danger-action {
        width: 100%;
        text-align: center;
    }
}


/* ===== V10.151 Learning Center - scoped, responsive, dark/light safe ===== */
/* ===== V10.152 Learning page design parity + Lite mode ===== */
.ng-learning-page{position:relative;overflow:hidden}.ng-learning-hero{position:relative;isolation:isolate;padding:clamp(74px,9vw,122px) 0 54px;overflow:hidden;text-align:initial}.ng-learning-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.ng-learning-word{position:absolute;top:-24px;right:clamp(12px,5vw,86px);color:transparent;-webkit-text-stroke:1px rgba(147,197,253,.11);font-size:clamp(74px,14vw,220px);font-weight:950;letter-spacing:-.08em;transform:rotate(2deg)}.ng-learning-orb{position:absolute;border-radius:999px;filter:blur(26px);opacity:.62;animation:ngPackagesOrb 13s ease-in-out infinite alternate}.ng-learning-orb.orb-a{width:310px;height:310px;left:-110px;top:18%;background:radial-gradient(circle,rgba(91,140,255,.24),transparent 68%)}.ng-learning-orb.orb-b{width:270px;height:270px;right:8%;bottom:4%;background:radial-gradient(circle,rgba(16,185,129,.15),transparent 70%);animation-delay:-5s}.ng-learning-line{position:absolute;height:1px;left:0;right:0;background:linear-gradient(90deg,transparent,rgba(91,140,255,.25),rgba(16,185,129,.16),transparent);animation:ngPackagesLine 7s ease-in-out infinite}.ng-learning-line.line-a{top:24%}.ng-learning-line.line-b{bottom:18%;animation-delay:-3s}.ng-learning-hero .ng-container{position:relative;z-index:2}.ng-learning-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(22px,5vw,70px);align-items:center}.ng-learning-hero-copy h1{max-width:13ch;margin:0;color:var(--ng-text);font-size:clamp(42px,6.8vw,88px);line-height:1.09;font-weight:950;letter-spacing:-.055em;text-wrap:balance}.ng-learning-hero-copy p{max-width:690px;margin:22px 0 0;color:var(--ng-muted);font-size:clamp(15px,1.55vw,19px);line-height:2.15}.ng-learning-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.ng-learning-hero-panel{min-height:430px;border-radius:38px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035)),var(--ng-card);box-shadow:var(--ng-glow)}.ng-learning-hero-panel::before{content:"";position:absolute;width:310px;height:310px;border-radius:999px;right:-110px;top:-125px;background:radial-gradient(circle,rgba(91,140,255,.26),transparent 68%);pointer-events:none}.ng-learning-hero-panel::after{content:"";position:absolute;width:260px;height:260px;border-radius:999px;left:-95px;bottom:-120px;background:radial-gradient(circle,rgba(24,194,156,.16),transparent 68%);pointer-events:none}.ng-learning-panel-top,.ng-learning-panel-core,.ng-learning-panel-flow{position:relative;z-index:1}.ng-learning-panel-top{display:flex;gap:10px;flex-wrap:wrap}.ng-learning-panel-top span{border:1px solid var(--ng-border);border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.06);color:var(--ng-soft);font-size:12px;font-weight:950}.ng-learning-panel-core{padding:26px;border-radius:30px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.ng-learning-panel-core b{display:block;color:var(--ng-text);font-size:clamp(30px,4vw,54px);font-weight:950;line-height:1.2;letter-spacing:-.04em}.ng-learning-panel-core small{display:block;margin-top:12px;color:var(--ng-muted);line-height:2;font-size:14px}.ng-learning-panel-flow{display:grid;gap:10px}.ng-learning-panel-flow i{height:11px;border-radius:999px;background:linear-gradient(90deg,rgba(91,140,255,.28),rgba(24,194,156,.18),transparent);border:1px solid rgba(255,255,255,.06)}.ng-learning-panel-flow i:nth-child(2){width:78%;margin-right:auto}.ng-learning-panel-flow i:nth-child(3){width:54%;margin-right:auto}.ng-learning-cats{padding:8px 0 20px}.ng-learning-cat-list{display:flex;gap:10px;flex-wrap:wrap}.ng-learning-cat-list a,.ng-learning-section-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--ng-border);background:rgba(255,255,255,.05);border-radius:999px;padding:9px 14px;color:var(--ng-soft);text-decoration:none;font-size:13px;font-weight:950;transition:transform .22s ease,border-color .22s ease,background .22s ease}.ng-learning-cat-list a:hover,.ng-learning-section-link:hover{transform:translateY(-2px);border-color:rgba(91,140,255,.42);background:rgba(91,140,255,.10)}.ng-learning-main-head{text-align:center}.ng-learning-main-head h2{margin-inline:auto}.ng-learning-main-head p{margin-inline:auto}.ng-learning-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.ng-learning-section-head h2{max-width:14ch;margin:6px 0 10px;color:var(--ng-text);font-size:clamp(30px,4vw,54px);line-height:1.18;font-weight:950;letter-spacing:-.045em;text-wrap:balance}.ng-learning-section-head p{max-width:760px;color:var(--ng-muted);line-height:2}.ng-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ng-learning-featured-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ng-learning-card{border-radius:30px;overflow:hidden;min-width:0;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.ng-learning-card:hover{transform:translateY(-4px);border-color:rgba(91,140,255,.34)}.ng-learning-thumb{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,rgba(91,140,255,.18),rgba(24,194,156,.10)),rgba(255,255,255,.04);position:relative;overflow:hidden;text-decoration:none}.ng-learning-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(2,6,23,.18));pointer-events:none}.ng-learning-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.ng-learning-card:hover .ng-learning-thumb img{transform:scale(1.045)}.ng-learning-thumb span{position:absolute;inset:auto 16px 16px auto;z-index:1;border-radius:999px;background:rgba(15,23,42,.66);border:1px solid rgba(255,255,255,.12);padding:8px 12px;color:#fff;font-weight:950;font-size:12px}.ng-learning-body{padding:19px}.ng-learning-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.ng-learning-meta span,.ng-learning-badge{font-size:12px;border-radius:999px;padding:6px 9px;background:rgba(91,140,255,.10);border:1px solid rgba(91,140,255,.22);color:var(--ng-soft);font-weight:900}.ng-learning-badge{display:inline-block;margin-bottom:8px;background:rgba(24,194,156,.10);border-color:rgba(24,194,156,.22)}.ng-learning-body h3{margin:0 0 10px;color:var(--ng-text);font-size:18px;line-height:1.75;font-weight:950;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:anywhere}.ng-learning-body h3 a{color:inherit;text-decoration:none}.ng-learning-body p{margin:0 0 14px;color:var(--ng-muted);line-height:2;font-size:14px}.ng-learning-more{display:inline-flex;color:var(--ng-accent);text-decoration:none;font-weight:950}.ng-learning-empty{grid-column:1/-1;border-style:dashed;border-radius:24px;padding:28px;text-align:center;color:var(--ng-muted)}.ng-learning-tutorial-zone{position:relative}.ng-learning-tutorial-zone::before{content:"";position:absolute;inset:10% 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(91,140,255,.16),transparent);pointer-events:none}.ng-learning-cta{border-radius:36px;padding:36px;text-align:center;overflow:hidden;position:relative}.ng-learning-cta::before{content:"";position:absolute;width:320px;height:320px;border-radius:999px;right:-120px;top:-150px;background:radial-gradient(circle,rgba(91,140,255,.20),transparent 68%);pointer-events:none}.ng-learning-cta>*{position:relative;z-index:1}.ng-learning-cta h2{max-width:850px;margin:12px auto;color:var(--ng-text);font-size:clamp(28px,4vw,54px);line-height:1.34;font-weight:950;letter-spacing:-.04em;text-wrap:balance}.ng-learning-cta p{max-width:760px;margin:0 auto 22px;color:var(--ng-muted);line-height:2}.ng-learning-cta div{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}html.ng-light .ng-learning-panel-top span,html.ng-light .ng-learning-cat-list a,html.ng-light .ng-learning-section-link{background:rgba(255,255,255,.70);border-color:rgba(15,23,42,.10)}html.ng-light .ng-learning-panel-core{background:rgba(255,255,255,.58);border-color:rgba(15,23,42,.10)}@media(max-width:1080px){.ng-learning-hero-grid{grid-template-columns:1fr}.ng-learning-hero-panel{min-height:280px}.ng-learning-featured-grid,.ng-learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ng-learning-hero-copy h1{max-width:14ch}}@media(max-width:720px){.ng-learning-hero{padding:92px 0 44px}.ng-learning-word{font-size:76px;top:18px;right:10px}.ng-learning-hero-copy h1{font-size:clamp(36px,11vw,52px);line-height:1.18;max-width:100%}.ng-learning-hero-copy p,.ng-learning-section-head p{font-size:14px;line-height:2}.ng-learning-actions .ng-btn,.ng-learning-cta .ng-btn{width:100%;justify-content:center}.ng-learning-section-head{display:grid}.ng-learning-section-head h2{font-size:clamp(28px,9vw,40px);max-width:100%}.ng-learning-grid,.ng-learning-featured-grid{grid-template-columns:1fr}.ng-learning-card{border-radius:24px}.ng-learning-hero-panel{min-height:auto;border-radius:28px;padding:20px}.ng-learning-panel-core{padding:20px;border-radius:24px}.ng-learning-cta{padding:24px;border-radius:28px}.ng-learning-cat-list{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.ng-learning-cat-list a{white-space:nowrap;scroll-snap-align:start}.ng-learning-body h3{font-size:17px;line-height:1.75}}
html.ng-lite-mode .ng-learning-bg,html.ng-lite-mode .ng-learning-word,html.ng-lite-mode .ng-learning-orb,html.ng-lite-mode .ng-learning-line,html.ng-lite-mode .ng-learning-hero-panel::before,html.ng-lite-mode .ng-learning-hero-panel::after,html.ng-lite-mode .ng-learning-cta::before,html.ng-lite-mode .ng-learning-tutorial-zone::before{display:none!important}html.ng-lite-mode .ng-learning-hero,html.ng-lite-mode .ng-learning-hero-panel,html.ng-lite-mode .ng-learning-card,html.ng-lite-mode .ng-learning-cta,html.ng-lite-mode .ng-learning-cat-list a,html.ng-lite-mode .ng-learning-section-link{background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;box-shadow:none!important;text-shadow:none!important;will-change:auto!important;transform:none!important;transition:none!important}html.ng-lite-mode .ng-learning-card:hover,html.ng-lite-mode .ng-learning-cat-list a:hover,html.ng-lite-mode .ng-learning-section-link:hover{transform:none!important;box-shadow:none!important}html.ng-lite-mode .ng-learning-thumb img{transition:none!important;transform:none!important}html.ng-lite-mode .ng-learning-hero-panel,html.ng-lite-mode .ng-learning-card,html.ng-lite-mode .ng-learning-cta{background-color:rgba(15,23,42,.58)!important}html.ng-lite-mode.ng-light .ng-learning-hero-panel,html.ng-lite-mode.ng-light .ng-learning-card,html.ng-lite-mode.ng-light .ng-learning-cta{background-color:rgba(255,255,255,.92)!important}@media(max-width:900px){html.ng-lite-mode .ng-learning-page,html.ng-lite-mode .ng-learning-page *{max-width:100%;box-sizing:border-box}html.ng-lite-mode .ng-learning-hero .ng-container,html.ng-lite-mode .ng-learning-page .ng-section .ng-container,html.ng-lite-mode .ng-learning-cats .ng-container{max-width:min(100% - 28px,720px)!important;margin-inline:auto!important;padding-inline:0!important}.ng-learning-panel-flow{display:none}}

/* V10.156 - Learning Lite audit + professional content cards (scoped) */
.ng-learning-page .ng-learning-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:100%;
    border-radius:32px;
    overflow:hidden;
    background:
        linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035)),
        radial-gradient(circle at 12% 0,rgba(91,140,255,.12),transparent 36%),
        var(--ng-card);
    border:1px solid rgba(255,255,255,.095);
    box-shadow:0 22px 70px rgba(2,6,23,.22), inset 0 1px 0 rgba(255,255,255,.065);
}
.ng-learning-page .ng-learning-card::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(135deg,rgba(91,140,255,.18),transparent 34%,rgba(24,194,156,.10));
    opacity:.36;
    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    padding:1px;
    -webkit-mask-composite:xor;
    mask-composite:exclude;
}
.ng-learning-page .ng-learning-card::after{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    left:-78px;
    bottom:-88px;
    border-radius:999px;
    background:radial-gradient(circle,rgba(91,140,255,.12),transparent 70%);
    pointer-events:none;
}
.ng-learning-page .ng-learning-card.is-tutorial::after{background:radial-gradient(circle,rgba(24,194,156,.13),transparent 70%)}
.ng-learning-page .ng-learning-card:hover{
    transform:translateY(-5px);
    border-color:rgba(91,140,255,.32);
    box-shadow:0 28px 85px rgba(2,6,23,.28),0 0 0 1px rgba(91,140,255,.08) inset;
}
.ng-learning-page .ng-learning-thumb{
    margin:12px 12px 0;
    border-radius:24px;
    aspect-ratio:16/9.6;
    border:1px solid rgba(255,255,255,.08);
    background:
        linear-gradient(135deg,rgba(91,140,255,.22),rgba(24,194,156,.11)),
        linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));
}
.ng-learning-page .ng-learning-card.is-tutorial .ng-learning-thumb{background:linear-gradient(135deg,rgba(24,194,156,.18),rgba(91,140,255,.12)),linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}
.ng-learning-page .ng-learning-thumb::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(140deg,transparent 0 42%,rgba(255,255,255,.16) 48%,transparent 56%);
    transform:translateX(42%);
    opacity:.22;
    pointer-events:none;
}
.ng-learning-page .ng-learning-thumb::after{background:linear-gradient(180deg,rgba(2,6,23,.04),rgba(2,6,23,.34))}
.ng-learning-page .ng-learning-type-chip{
    position:absolute;
    z-index:2;
    inset:14px 14px auto auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    border-radius:999px;
    padding:7px 12px;
    color:#fff;
    background:rgba(15,23,42,.72);
    border:1px solid rgba(255,255,255,.16);
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
    font-size:12px;
    font-weight:950;
    line-height:1;
    box-shadow:0 12px 30px rgba(2,6,23,.18);
}
.ng-learning-page .ng-learning-card.is-tutorial .ng-learning-type-chip{background:rgba(6,78,59,.74)}
.ng-learning-page .ng-learning-body{
    position:relative;
    z-index:1;
    display:flex;
    flex:1;
    flex-direction:column;
    padding:18px 20px 19px;
}
.ng-learning-page .ng-learning-meta-top{
    gap:7px;
    margin-bottom:12px;
    min-height:31px;
}
.ng-learning-page .ng-learning-meta span,
.ng-learning-page .ng-learning-badge{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    border-radius:999px;
    padding:6px 10px;
    background:rgba(91,140,255,.105);
    border:1px solid rgba(91,140,255,.22);
    color:var(--ng-soft);
    font-size:11.5px;
    font-weight:950;
    line-height:1.25;
}
.ng-learning-page .ng-learning-badge{
    width:max-content;
    max-width:100%;
    margin-bottom:10px;
    background:rgba(24,194,156,.11);
    border-color:rgba(24,194,156,.24);
}
.ng-learning-page .ng-learning-body h3{
    margin:0 0 10px;
    font-size:18.5px;
    line-height:1.72;
    letter-spacing:-.02em;
}
.ng-learning-page .ng-learning-body p{
    margin:0 0 18px;
    line-height:2.05;
    font-size:14px;
}
.ng-learning-page .ng-learning-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid rgba(255,255,255,.075);
}
.ng-learning-page .ng-learning-date{
    color:var(--ng-muted);
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}
.ng-learning-page .ng-learning-more{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:36px;
    border-radius:999px;
    padding:8px 12px;
    color:var(--ng-accent);
    background:rgba(91,140,255,.10);
    border:1px solid rgba(91,140,255,.18);
    font-size:13px;
    font-weight:950;
    transition:transform .22s ease,background .22s ease,border-color .22s ease;
}
.ng-learning-page .ng-learning-more i{font-style:normal;font-size:12px;line-height:1;transform:translateY(-1px)}
.ng-learning-page .ng-learning-more:hover{transform:translateY(-2px);background:rgba(91,140,255,.14);border-color:rgba(91,140,255,.30)}
html.ng-light .ng-learning-page .ng-learning-card{
    background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.62)),radial-gradient(circle at 14% 0,rgba(91,140,255,.10),transparent 38%);
    border-color:rgba(15,23,42,.08);
    box-shadow:0 18px 58px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.74);
}
html.ng-light .ng-learning-page .ng-learning-thumb{border-color:rgba(15,23,42,.08)}
html.ng-light .ng-learning-page .ng-learning-card-footer{border-top-color:rgba(15,23,42,.075)}
html.ng-light .ng-learning-page .ng-learning-meta span,
html.ng-light .ng-learning-page .ng-learning-badge,
html.ng-light .ng-learning-page .ng-learning-more{background:rgba(255,255,255,.68);border-color:rgba(15,23,42,.09)}

/* Lite Mode audit: scoped to learning page, keeps layout/design, removes only expensive visuals. */
html.ng-lite-mode .ng-learning-page .ng-learning-card,
html.ng-lite-mode .ng-learning-page .ng-learning-thumb,
html.ng-lite-mode .ng-learning-page .ng-learning-type-chip,
html.ng-lite-mode .ng-learning-page .ng-learning-more,
html.ng-lite-mode .ng-learning-page .ng-learning-meta span,
html.ng-lite-mode .ng-learning-page .ng-learning-badge{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    text-shadow:none!important;
    box-shadow:none!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
}
html.ng-lite-mode .ng-learning-page .ng-learning-card::before,
html.ng-lite-mode .ng-learning-page .ng-learning-card::after,
html.ng-lite-mode .ng-learning-page .ng-learning-thumb::before,
html.ng-lite-mode .ng-learning-page .ng-learning-thumb::after{
    display:none!important;
}
html.ng-lite-mode .ng-learning-page .ng-learning-card,
html.ng-lite-mode .ng-learning-page .ng-learning-card:hover,
html.ng-lite-mode .ng-learning-page .ng-learning-more:hover{
    transform:none!important;
}
html.ng-lite-mode .ng-learning-page .ng-learning-card{
    background:rgba(15,23,42,.58)!important;
    border-color:rgba(255,255,255,.10)!important;
}
html.ng-lite-mode.ng-light .ng-learning-page .ng-learning-card{
    background:rgba(255,255,255,.92)!important;
    border-color:rgba(15,23,42,.08)!important;
}
html.ng-lite-mode .ng-learning-page .ng-learning-thumb{
    background:rgba(255,255,255,.045)!important;
}
html.ng-lite-mode.ng-light .ng-learning-page .ng-learning-thumb{
    background:rgba(15,23,42,.035)!important;
}
html.ng-lite-mode .ng-learning-page .ng-learning-thumb img,
html.ng-lite-mode .ng-learning-page .ng-learning-card:hover .ng-learning-thumb img{
    transform:none!important;
    transition:none!important;
}
@media(max-width:720px){
    .ng-learning-page .ng-learning-card{border-radius:26px}
    .ng-learning-page .ng-learning-thumb{margin:10px 10px 0;border-radius:20px}
    .ng-learning-page .ng-learning-body{padding:16px 16px 17px}
    .ng-learning-page .ng-learning-card-footer{align-items:flex-start;flex-direction:column}
    .ng-learning-page .ng-learning-date{white-space:normal}
    .ng-learning-page .ng-learning-more{width:100%}
}

/* ===== V10.158 Learning featured: 8 items, responsive carousel (4/2/1 per view) ===== */
.ng-learning-featured-slider{
    position:relative;
    isolation:isolate;
    overflow:visible;
}
.ng-learning-featured-viewport{
    overflow:hidden;
    border-radius:32px;
    padding:2px;
    margin:-2px;
    touch-action:pan-y;
}
.ng-learning-featured-track{
    --ng-learning-featured-gap:16px;
    display:flex;
    gap:var(--ng-learning-featured-gap);
    will-change:transform;
    transition:transform .42s cubic-bezier(.2,.8,.2,1);
    direction:rtl;
}
.ng-learning-featured-track.is-dragging{
    transition:none;
    cursor:grabbing;
}
.ng-learning-featured-track .ng-learning-card{
    flex:0 0 calc((100% - (3 * var(--ng-learning-featured-gap))) / 4);
    min-width:0;
    height:auto;
}
.ng-learning-featured-track .ng-learning-body{
    display:flex;
    flex-direction:column;
    min-height:255px;
}
.ng-learning-featured-track .ng-learning-body p{
    flex:1 1 auto;
}
.ng-learning-featured-nav{
    position:absolute;
    top:50%;
    z-index:5;
    width:42px;
    height:42px;
    border-radius:999px;
    border:1px solid var(--ng-border);
    background:rgba(15,23,42,.70);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transform:translateY(-50%);
    box-shadow:0 18px 45px rgba(2,6,23,.26);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    font-size:30px;
    line-height:1;
    transition:transform .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease;
}
.ng-learning-featured-nav:hover{
    transform:translateY(-50%) scale(1.04);
    border-color:rgba(91,140,255,.42);
    background:rgba(37,99,235,.72);
}
.ng-learning-featured-nav.prev{right:-16px;}
.ng-learning-featured-nav.next{left:-16px;}
.ng-learning-featured-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    margin-top:18px;
}
.ng-learning-featured-dots i{
    width:8px;
    height:8px;
    border-radius:999px;
    background:var(--ng-border);
    opacity:.78;
    transition:width .22s ease,background .22s ease,opacity .22s ease;
}
.ng-learning-featured-dots i.active{
    width:25px;
    background:linear-gradient(90deg,var(--ng-accent),var(--ng-accent-2));
    opacity:1;
}
.ng-learning-featured-slider.is-single-page .ng-learning-featured-nav,
.ng-learning-featured-slider.is-single-page .ng-learning-featured-dots{
    display:none;
}
html.ng-light .ng-learning-featured-nav{
    background:rgba(255,255,255,.82);
    color:#0f172a;
    border-color:rgba(15,23,42,.12);
}
@media(max-width:1180px){
    .ng-learning-featured-track .ng-learning-card{
        flex-basis:calc((100% - var(--ng-learning-featured-gap)) / 2);
    }
    .ng-learning-featured-viewport{
        border-radius:30px;
    }
    .ng-learning-featured-nav.prev{right:-10px;}
    .ng-learning-featured-nav.next{left:-10px;}
}
@media(max-width:720px){
    .ng-learning-featured-track{
        --ng-learning-featured-gap:14px;
    }
    .ng-learning-featured-track .ng-learning-card{
        flex-basis:100%;
    }
    .ng-learning-featured-track .ng-learning-body{
        min-height:auto;
    }
    .ng-learning-featured-nav{
        width:38px;
        height:38px;
        font-size:26px;
    }
    .ng-learning-featured-nav.prev{right:8px;}
    .ng-learning-featured-nav.next{left:8px;}
}
html.ng-lite-mode .ng-learning-featured-track{
    will-change:auto;
    transition:none;
}
html.ng-lite-mode .ng-learning-featured-nav{
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
    transition:none;
}
html.ng-lite-mode .ng-learning-featured-nav:hover{
    transform:translateY(-50%);
}
html.ng-lite-mode .ng-learning-featured-dots i{
    transition:none;
}


/* V10.159 Learning magazine pages */
.ng-mag-page{position:relative;overflow:hidden}.ng-mag-hero,.ng-mag-single-hero{position:relative;padding:clamp(78px,9vw,122px) 0 36px;overflow:hidden}.ng-mag-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}.ng-mag-hero-word{position:absolute;top:-10px;right:clamp(14px,4vw,70px);color:transparent;-webkit-text-stroke:1px rgba(147,197,253,.11);font-size:clamp(76px,14vw,210px);font-weight:950;letter-spacing:-.08em;line-height:.9}.ng-mag-hero-orb{position:absolute;border-radius:999px;filter:blur(32px);opacity:.62;animation:ngPackagesOrb 14s ease-in-out infinite alternate}.ng-mag-hero-orb.orb-a{width:300px;height:300px;right:-90px;top:8%;background:radial-gradient(circle,rgba(91,140,255,.18),transparent 68%)}.ng-mag-hero-orb.orb-b{width:260px;height:260px;left:-70px;bottom:2%;background:radial-gradient(circle,rgba(24,194,156,.15),transparent 70%);animation-delay:-4s}.ng-mag-hero .ng-container,.ng-mag-single-hero .ng-container{position:relative;z-index:2}.ng-mag-breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ng-soft);font-size:12px;font-weight:900;margin-bottom:18px}.ng-mag-breadcrumbs a,.ng-mag-breadcrumbs span{color:inherit;text-decoration:none}.ng-mag-breadcrumbs i{font-style:normal;opacity:.55}.ng-mag-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(320px,.94fr);gap:22px;align-items:center}.ng-mag-hero-copy h1{margin:0;color:var(--ng-text);font-size:clamp(38px,6.3vw,78px);line-height:1.08;font-weight:950;letter-spacing:-.05em;text-wrap:balance;max-width:14ch}.ng-mag-hero-copy p{max-width:760px;margin:18px 0 0;color:var(--ng-muted);font-size:clamp(15px,1.45vw,18px);line-height:2.05}.ng-mag-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.ng-mag-hero-panel{min-height:300px;padding:26px;border-radius:34px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),var(--ng-card);box-shadow:var(--ng-glow)}.ng-mag-panel-head{display:flex;flex-wrap:wrap;gap:10px}.ng-mag-panel-head span{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:999px;border:1px solid var(--ng-border);background:rgba(255,255,255,.06);color:var(--ng-soft);font-weight:900;font-size:12px}.ng-mag-panel-stat{padding:26px;border-radius:28px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03))}.ng-mag-panel-stat b{display:block;color:var(--ng-text);font-size:clamp(38px,5vw,66px);line-height:1;font-weight:950}.ng-mag-panel-stat small{display:block;margin-top:12px;color:var(--ng-muted);line-height:1.9}.ng-mag-panel-foot{display:grid;gap:10px}.ng-mag-panel-foot i{height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(91,140,255,.26),rgba(24,194,156,.18),transparent);border:1px solid rgba(255,255,255,.05)}.ng-mag-panel-foot i:nth-child(2){width:76%;margin-right:auto}.ng-mag-panel-foot i:nth-child(3){width:54%;margin-right:auto}
.ng-mag-editorial-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:20px;align-items:start}.ng-mag-editorial-main,.ng-mag-editorial-side,.ng-mag-sidebar,.ng-mag-single-sidebar,.ng-mag-main-column,.ng-mag-single-main{min-width:0}.ng-mag-widget,.ng-mag-article-card,.ng-mag-single-shell{position:relative;overflow:hidden;border-radius:32px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025)),var(--ng-card);box-shadow:var(--ng-shadow)}.ng-mag-widget{padding:20px}.ng-mag-widget + .ng-mag-widget{margin-top:18px}.ng-mag-widget-head{display:grid;gap:6px;margin-bottom:16px}.ng-mag-widget-head h3{margin:0;color:var(--ng-text);font-size:24px;line-height:1.35;font-weight:950;letter-spacing:-.03em}.ng-mag-compact-list{display:grid;gap:14px}.ng-mag-card{position:relative;display:grid;grid-template-columns:1fr;overflow:hidden;border-radius:30px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)),var(--ng-card);box-shadow:var(--ng-shadow);min-width:0}.ng-mag-card-thumb{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,rgba(91,140,255,.16),rgba(24,194,156,.12));text-decoration:none}.ng-mag-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.ng-mag-card:hover .ng-mag-card-thumb img{transform:scale(1.04)}.ng-mag-card-chip,.ng-mag-card-fallback{position:absolute;top:14px;right:14px;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 10px;border-radius:999px;background:rgba(2,6,23,.74);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:12px;font-weight:950}.ng-mag-card-fallback{inset:auto auto 14px 14px;top:auto;right:auto}.ng-mag-card-body{padding:18px;display:grid;gap:10px}.ng-mag-card-meta,.ng-mag-term-pills,.ng-mag-pill-cloud,.ng-mag-share-links{display:flex;flex-wrap:wrap;gap:8px}.ng-mag-card-meta span,.ng-mag-card-badge,.ng-mag-term-pills a,.ng-mag-pill-cloud a,.ng-mag-share-links a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border-radius:999px;background:rgba(91,140,255,.10);border:1px solid rgba(91,140,255,.22);color:var(--ng-soft);font-size:12px;font-weight:900;text-decoration:none}.ng-mag-card-badge{background:rgba(24,194,156,.10);border-color:rgba(24,194,156,.22)}.ng-mag-card-title{margin:0;color:var(--ng-text);font-size:21px;line-height:1.65;font-weight:950;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere}.ng-mag-card.is-lead .ng-mag-card-title{font-size:clamp(28px,3.2vw,40px);line-height:1.4}.ng-mag-card.is-compact .ng-mag-card-title{font-size:15px;line-height:1.7}.ng-mag-card-title a{color:inherit;text-decoration:none}.ng-mag-card-excerpt{margin:0;color:var(--ng-muted);line-height:2;font-size:14px}.ng-mag-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.ng-mag-card-date{color:var(--ng-soft);font-size:12px;font-weight:900}.ng-mag-card-link{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid rgba(91,140,255,.24);background:rgba(91,140,255,.08);color:var(--ng-accent);font-weight:950;text-decoration:none;transition:transform .22s ease,border-color .22s ease,background .22s ease}.ng-mag-card-link i{font-style:normal;font-size:12px}.ng-mag-card-link:hover{transform:translateY(-2px);background:rgba(91,140,255,.14);border-color:rgba(91,140,255,.34)}.ng-mag-card.is-lead .ng-mag-card-thumb{aspect-ratio:16/9}.ng-mag-card.is-compact{grid-template-columns:128px minmax(0,1fr);align-items:stretch;border-radius:24px}.ng-mag-card.is-compact .ng-mag-card-thumb{height:100%;aspect-ratio:auto;min-height:100%}.ng-mag-card.is-compact .ng-mag-card-body{padding:14px}.ng-mag-card.is-compact .ng-mag-card-excerpt{display:none}.ng-mag-card.is-compact .ng-mag-card-footer{padding-top:8px}.ng-mag-card.is-tutorial .ng-mag-card-thumb{background:linear-gradient(135deg,rgba(24,194,156,.16),rgba(91,140,255,.12))}.ng-mag-carousel-zone .ng-section-head,.ng-mag-related-band .ng-section-head,.ng-mag-content-wrap .ng-section-head{margin-bottom:20px}.ng-mag-head-inline h2{margin:6px 0 8px;color:var(--ng-text);font-size:clamp(28px,3.7vw,52px);line-height:1.2;font-weight:950;letter-spacing:-.04em}.ng-mag-head-inline p{max-width:760px;margin:0;color:var(--ng-muted);line-height:2}.ng-mag-layout,.ng-mag-single-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.36fr);gap:20px;align-items:start}.ng-mag-post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ng-mag-pagination{margin-top:24px}.ng-mag-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:0}.ng-mag-pagination a,.ng-mag-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 12px;border-radius:14px;border:1px solid var(--ng-border);background:rgba(255,255,255,.05);color:var(--ng-soft);text-decoration:none;font-weight:900}.ng-mag-pagination .current{background:rgba(91,140,255,.14);color:var(--ng-text);border-color:rgba(91,140,255,.34)}.ng-mag-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.ng-mag-search-form input{min-height:50px;border-radius:18px;border:1px solid var(--ng-border);background:rgba(255,255,255,.06);padding:0 16px;color:var(--ng-text)}.ng-mag-search-form button{min-height:50px;padding:0 18px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--ng-accent),var(--ng-accent-2));color:#fff;font-weight:900;cursor:pointer}.ng-mag-cta-box h3{margin:8px 0 10px;color:var(--ng-text);font-size:26px;line-height:1.45;font-weight:950}.ng-mag-cta-box p{margin:0;color:var(--ng-muted);line-height:2}.ng-mag-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ng-mag-single-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:18px;padding:20px}.ng-mag-single-copy{display:grid;align-content:center;gap:14px}.ng-mag-single-meta-top,.ng-mag-single-stats{display:flex;flex-wrap:wrap;gap:10px}.ng-mag-single-kind,.ng-mag-single-badge,.ng-mag-single-stats span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid var(--ng-border);background:rgba(255,255,255,.06);color:var(--ng-soft);font-size:12px;font-weight:950}.ng-mag-single-badge{background:rgba(24,194,156,.10);border-color:rgba(24,194,156,.22)}.ng-mag-single-copy h1{margin:0;color:var(--ng-text);font-size:clamp(34px,4.4vw,62px);line-height:1.16;font-weight:950;letter-spacing:-.05em;text-wrap:balance}.ng-mag-single-excerpt{margin:0;color:var(--ng-muted);font-size:17px;line-height:2}.ng-mag-single-cover{border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.04)}.ng-mag-single-cover img{display:block;width:100%;height:100%;object-fit:cover}.ng-mag-article-card{padding:clamp(20px,3vw,34px)}.ng-mag-article-content{color:var(--ng-muted);line-height:2.15;font-size:16px}.ng-mag-article-content>*:first-child{margin-top:0}.ng-mag-article-content h2,.ng-mag-article-content h3{color:var(--ng-text);line-height:1.45;font-weight:950;letter-spacing:-.03em;scroll-margin-top:120px}.ng-mag-article-content h2{font-size:clamp(26px,3vw,38px);margin:34px 0 14px}.ng-mag-article-content h3{font-size:clamp(20px,2.4vw,28px);margin:28px 0 12px}.ng-mag-article-content p,.ng-mag-article-content ul,.ng-mag-article-content ol,.ng-mag-article-content blockquote{margin:0 0 18px}.ng-mag-article-content ul,.ng-mag-article-content ol{padding-right:22px}.ng-mag-article-content a{color:var(--ng-accent);text-decoration:none}.ng-mag-article-content img{max-width:100%;height:auto;border-radius:24px;border:1px solid var(--ng-border)}.ng-mag-article-content blockquote{padding:20px 22px;border-radius:24px;border:1px solid rgba(91,140,255,.16);background:rgba(91,140,255,.08);color:var(--ng-text)}.ng-mag-info-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.ng-mag-info-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ng-mag-info-list li:last-child{border-bottom:0;padding-bottom:0}.ng-mag-info-list strong{color:var(--ng-text);font-size:13px}.ng-mag-info-list span{color:var(--ng-soft);font-size:13px}.ng-mag-toc{display:grid;gap:8px}.ng-mag-toc a{display:block;padding:10px 12px;border-radius:16px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.04);color:var(--ng-soft);text-decoration:none;font-weight:900;font-size:13px;line-height:1.8}.ng-mag-toc a.level-3{margin-right:16px;font-weight:700}.ng-mag-related-band{padding-top:6px}.ng-mag-carousel .ng-learning-featured-track .ng-mag-card{flex:0 0 calc((100% - (3 * var(--ng-learning-featured-gap))) / 4)}
html.ng-light .ng-mag-widget,html.ng-light .ng-mag-article-card,html.ng-light .ng-mag-single-shell,html.ng-light .ng-mag-card,html.ng-light .ng-mag-hero-panel{background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.70)),var(--ng-card);border-color:rgba(15,23,42,.08)}html.ng-light .ng-mag-panel-head span,html.ng-light .ng-mag-card-meta span,html.ng-light .ng-mag-card-badge,html.ng-light .ng-mag-term-pills a,html.ng-light .ng-mag-pill-cloud a,html.ng-light .ng-mag-share-links a,html.ng-light .ng-mag-single-kind,html.ng-light .ng-mag-single-badge,html.ng-light .ng-mag-single-stats span,html.ng-light .ng-mag-search-form input,html.ng-light .ng-mag-pagination a,html.ng-light .ng-mag-pagination span{background:rgba(255,255,255,.72);border-color:rgba(15,23,42,.09)}
@media(max-width:1180px){.ng-mag-hero-grid,.ng-mag-editorial-grid,.ng-mag-layout,.ng-mag-single-layout,.ng-mag-single-shell{grid-template-columns:1fr}.ng-mag-hero-copy h1,.ng-mag-single-copy h1{max-width:100%}.ng-mag-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.ng-mag-hero{padding-top:90px}.ng-mag-post-grid{grid-template-columns:1fr}.ng-mag-card.is-compact{grid-template-columns:110px minmax(0,1fr)}.ng-mag-search-form{grid-template-columns:1fr}.ng-mag-cta-actions .ng-btn,.ng-mag-hero-actions .ng-btn{width:100%;justify-content:center}.ng-mag-single-shell{padding:14px}.ng-mag-single-cover{order:-1}.ng-mag-hero-word{font-size:86px;top:18px}.ng-mag-widget,.ng-mag-article-card,.ng-mag-single-shell,.ng-mag-card{border-radius:26px}}
@media(max-width:620px){.ng-mag-card.is-compact{grid-template-columns:1fr}.ng-mag-card.is-compact .ng-mag-card-thumb{aspect-ratio:16/10}.ng-mag-card-footer{flex-direction:column;align-items:flex-start}.ng-mag-card-link{width:100%;justify-content:center}.ng-mag-hero-copy h1{font-size:clamp(34px,10vw,46px)}.ng-mag-single-copy h1{font-size:clamp(30px,9vw,42px)}.ng-mag-widget-head h3,.ng-mag-cta-box h3{font-size:22px}}
html.ng-lite-mode .ng-mag-hero-bg,html.ng-lite-mode .ng-mag-hero-word,html.ng-lite-mode .ng-mag-hero-orb{display:none!important}html.ng-lite-mode .ng-mag-page *,html.ng-lite-mode .ng-mag-page *::before,html.ng-lite-mode .ng-mag-page *::after{animation:none!important}html.ng-lite-mode .ng-mag-widget,html.ng-lite-mode .ng-mag-article-card,html.ng-lite-mode .ng-mag-single-shell,html.ng-lite-mode .ng-mag-card,html.ng-lite-mode .ng-mag-hero-panel,html.ng-lite-mode .ng-mag-search-form input,html.ng-lite-mode .ng-mag-pagination a,html.ng-lite-mode .ng-mag-pagination span,html.ng-lite-mode .ng-mag-card-link,html.ng-lite-mode .ng-mag-share-links a,html.ng-lite-mode .ng-mag-pill-cloud a,html.ng-lite-mode .ng-mag-term-pills a,html.ng-lite-mode .ng-mag-card-meta span,html.ng-lite-mode .ng-mag-card-badge,html.ng-lite-mode .ng-mag-single-kind,html.ng-lite-mode .ng-mag-single-badge,html.ng-lite-mode .ng-mag-single-stats span{background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;box-shadow:none!important;text-shadow:none!important;transition:none!important;transform:none!important}html.ng-lite-mode .ng-mag-card:hover .ng-mag-card-thumb img,html.ng-lite-mode .ng-mag-card-thumb img{transform:none!important;transition:none!important}html.ng-lite-mode .ng-mag-page .ng-container{max-width:min(100% - 28px,1180px)!important}html.ng-lite-mode .ng-mag-widget,html.ng-lite-mode .ng-mag-article-card,html.ng-lite-mode .ng-mag-single-shell,html.ng-lite-mode .ng-mag-card,html.ng-lite-mode .ng-mag-hero-panel{background-color:rgba(15,23,42,.58)!important}html.ng-lite-mode.ng-light .ng-mag-widget,html.ng-lite-mode.ng-light .ng-mag-article-card,html.ng-lite-mode.ng-light .ng-mag-single-shell,html.ng-lite-mode.ng-light .ng-mag-card,html.ng-lite-mode.ng-light .ng-mag-hero-panel{background-color:rgba(255,255,255,.94)!important}


/* V10.160 Learning magazine visual polish */
.ng-mag-hero-panel,.ng-mag-single-cover{transform:perspective(900px) rotateX(var(--ng-mag-tilt-y,0deg)) rotateY(var(--ng-mag-tilt-x,0deg));transition:transform .18s ease,border-color .25s ease,box-shadow .25s ease}
.ng-mag-visual-editorial,.ng-mag-visual-tutorial{min-height:420px;gap:18px;position:relative;isolation:isolate}
.ng-mag-visual-editorial::before,.ng-mag-visual-tutorial::before{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at 20% 14%,rgba(91,140,255,.25),transparent 34%),radial-gradient(circle at 84% 86%,rgba(24,194,156,.16),transparent 36%);z-index:-1}
.ng-mag-visual-core{position:relative;flex:1;min-height:190px}
.ng-mag-visual-ring{position:absolute;inset:16px;border-radius:42px;border:1px solid rgba(91,140,255,.20);background:linear-gradient(135deg,rgba(91,140,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.ng-mag-mini-paper{position:absolute;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.035));box-shadow:0 18px 50px rgba(2,6,23,.22);padding:16px;display:grid;gap:10px;min-width:128px}
.ng-mag-mini-paper b{color:var(--ng-text);font-weight:950}
.ng-mag-mini-paper i{display:block;height:9px;border-radius:999px;background:linear-gradient(90deg,rgba(91,140,255,.36),rgba(24,194,156,.18),transparent)}
.ng-mag-mini-paper.main{right:12%;top:8%;width:58%;min-height:150px;transform:rotate(-2deg)}
.ng-mag-mini-paper.side{left:10%;top:32%;width:38%;transform:rotate(4deg)}
.ng-mag-mini-paper.foot{right:22%;bottom:0;width:46%;transform:rotate(1deg)}
.ng-mag-visual-steps{position:relative;flex:1;display:grid;align-content:center;gap:16px;padding:18px}
.ng-mag-visual-steps::before{content:"";position:absolute;right:44px;top:44px;bottom:44px;width:2px;background:linear-gradient(180deg,rgba(24,194,156,.40),rgba(91,140,255,.14));border-radius:999px}
.ng-mag-visual-steps div{position:relative;display:flex;align-items:center;gap:14px;padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(90deg,rgba(24,194,156,.11),rgba(255,255,255,.035));box-shadow:0 14px 38px rgba(2,6,23,.16)}
.ng-mag-visual-steps b{width:54px;height:54px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--ng-accent-2),var(--ng-accent));font-size:20px;box-shadow:0 12px 30px rgba(24,194,156,.18)}
.ng-mag-visual-steps span{color:var(--ng-text);font-weight:950}
.ng-mag-page.ng_article .ng-mag-card,.ng-mag-page.ng_article .ng-mag-widget,.ng-mag-page.ng_article .ng-mag-single-shell{background-image:radial-gradient(circle at 12% 0,rgba(91,140,255,.09),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))}
.ng-mag-page.ng_tutorial .ng-mag-card,.ng-mag-page.ng_tutorial .ng-mag-widget,.ng-mag-page.ng_tutorial .ng-mag-single-shell{background-image:radial-gradient(circle at 86% 0,rgba(24,194,156,.105),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022))}
.ng-mag-card::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(147,197,253,.28),rgba(24,194,156,.18),transparent);pointer-events:none}
.ng-mag-card::after{content:"";position:absolute;inset:auto -80px -110px auto;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(91,140,255,.10),transparent 70%);pointer-events:none;opacity:.85}
.ng-mag-card.is-tutorial::after{background:radial-gradient(circle,rgba(24,194,156,.115),transparent 70%)}
.ng-mag-card:hover{border-color:rgba(91,140,255,.32);box-shadow:0 22px 70px rgba(2,6,23,.24),0 0 0 1px rgba(91,140,255,.06)}
.ng-mag-card.is-tutorial:hover{border-color:rgba(24,194,156,.28)}
.ng-mag-card-thumb::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(91,140,255,.16),transparent 38%),linear-gradient(180deg,transparent,rgba(2,6,23,.36));pointer-events:none}
.ng-mag-card-chip{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ng-mag-card-meta span,.ng-mag-card-badge,.ng-mag-single-kind,.ng-mag-single-badge,.ng-mag-single-stats span{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.ng-mag-card-title a{background:linear-gradient(currentColor,currentColor) 100% 100% / 0 1px no-repeat;transition:background-size .25s ease}
.ng-mag-card-title a:hover{background-size:100% 1px}
.ng-mag-search-form{padding:8px;border-radius:24px;border:1px solid rgba(91,140,255,.16);background:linear-gradient(135deg,rgba(91,140,255,.08),rgba(24,194,156,.035))}
.ng-mag-search-form input{box-shadow:inset 0 1px 0 rgba(255,255,255,.05);font-family:inherit}
.ng-mag-search-form input:focus{outline:none;border-color:rgba(91,140,255,.42);background:rgba(91,140,255,.08)}
.ng-mag-search-form button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;box-shadow:0 16px 34px rgba(91,140,255,.18);transition:transform .2s ease,box-shadow .2s ease}
.ng-mag-search-form button::before{content:"⌕";font-size:18px;line-height:1}
.ng-mag-search-form button:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(91,140,255,.26)}
.ng-mag-single-cover{position:relative;min-height:360px}
.ng-mag-single-cover::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(91,140,255,.16),transparent 46%),linear-gradient(180deg,transparent,rgba(2,6,23,.34));pointer-events:none}
.ng-mag-single-cover em{position:absolute;z-index:2;inset:auto 22px 22px auto;width:120px;height:120px;border-radius:34px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));box-shadow:0 20px 60px rgba(2,6,23,.24);pointer-events:none}
.ng-mag-single-cover-tutorial em{border-radius:999px;background:radial-gradient(circle,rgba(24,194,156,.24),rgba(255,255,255,.04))}
.ng-mag-single-visual-fallback{position:absolute;inset:0;padding:28px;display:grid;align-content:center;justify-items:center;gap:14px;background:radial-gradient(circle at 30% 20%,rgba(91,140,255,.18),transparent 38%),radial-gradient(circle at 78% 72%,rgba(24,194,156,.16),transparent 40%)}
.ng-mag-single-cover-tutorial .ng-mag-single-visual-fallback{background:radial-gradient(circle at 70% 18%,rgba(24,194,156,.20),transparent 38%),radial-gradient(circle at 20% 72%,rgba(91,140,255,.14),transparent 42%)}
.ng-mag-single-visual-fallback span{width:130px;height:130px;border-radius:38px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035));box-shadow:0 20px 70px rgba(2,6,23,.26)}
.ng-mag-single-cover-tutorial .ng-mag-single-visual-fallback span{border-radius:999px}
.ng-mag-single-visual-fallback b{position:relative;z-index:2;color:var(--ng-text);font-size:clamp(30px,4vw,54px);font-weight:950}
.ng-mag-single-visual-fallback i{display:block;width:min(70%,260px);height:10px;border-radius:999px;background:linear-gradient(90deg,rgba(91,140,255,.35),rgba(24,194,156,.16),transparent)}
.ng-mag-shortcode-box{display:grid;gap:12px;margin-top:16px;padding:14px;border-radius:22px;border:1px solid rgba(91,140,255,.18);background:linear-gradient(135deg,rgba(91,140,255,.08),rgba(255,255,255,.025))}
.ng-mag-shortcode-box b{display:block;color:var(--ng-text);font-size:13px}
.ng-mag-shortcode-box small{display:block;margin-top:4px;color:var(--ng-muted);line-height:1.8}
.ng-mag-shortcode-box code{display:block;direction:ltr;text-align:left;padding:12px;border-radius:16px;background:rgba(2,6,23,.30);border:1px solid rgba(255,255,255,.07);color:var(--ng-soft);font-size:12px;white-space:normal;overflow-wrap:anywhere}
.ng-mag-shortcode-box button{min-height:42px;border:0;border-radius:16px;background:linear-gradient(135deg,var(--ng-accent),var(--ng-accent-2));color:#fff;font-family:inherit;font-weight:950;cursor:pointer}
.ng-mag-shortcode-share{padding:16px;border-radius:22px;border:1px solid var(--ng-border);background:rgba(255,255,255,.05)}
.ng-mag-shortcode-share strong{display:block;color:var(--ng-text);margin-bottom:10px}
.ng-mag-shortcode-share div{display:flex;flex-wrap:wrap;gap:8px}
.ng-mag-shortcode-share a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border-radius:999px;border:1px solid rgba(91,140,255,.20);background:rgba(91,140,255,.08);color:var(--ng-soft);text-decoration:none;font-weight:900;font-size:12px}
html.ng-light .ng-mag-card::before{background:linear-gradient(90deg,transparent,rgba(37,99,235,.20),rgba(5,150,105,.13),transparent)}
html.ng-light .ng-mag-search-form,html.ng-light .ng-mag-shortcode-box,html.ng-light .ng-mag-shortcode-share{background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.66));border-color:rgba(15,23,42,.09)}
html.ng-light .ng-mag-shortcode-box code{background:rgba(248,250,252,.88);border-color:rgba(15,23,42,.08);color:#334155}
html.ng-light .ng-mag-mini-paper,html.ng-light .ng-mag-visual-steps div,html.ng-light .ng-mag-visual-ring{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.54));border-color:rgba(15,23,42,.08)}
@media(max-width:1180px){.ng-mag-visual-editorial,.ng-mag-visual-tutorial{min-height:340px}.ng-mag-visual-core{min-height:210px}}
@media(max-width:820px){.ng-mag-visual-editorial,.ng-mag-visual-tutorial{min-height:auto}.ng-mag-single-cover{min-height:260px}.ng-mag-search-form{padding:6px}.ng-mag-visual-steps::before{right:38px}.ng-mag-mini-paper.main{right:8%;width:62%}.ng-mag-mini-paper.side{left:6%;width:42%}}
html.ng-lite-mode .ng-mag-hero-panel,html.ng-lite-mode .ng-mag-single-cover{transform:none!important}
html.ng-lite-mode .ng-mag-visual-editorial::before,html.ng-lite-mode .ng-mag-visual-tutorial::before,html.ng-lite-mode .ng-mag-card::before,html.ng-lite-mode .ng-mag-card::after,html.ng-lite-mode .ng-mag-card-thumb::before,html.ng-lite-mode .ng-mag-single-cover::before,html.ng-lite-mode .ng-mag-single-cover em{display:none!important}
html.ng-lite-mode .ng-mag-mini-paper,html.ng-lite-mode .ng-mag-visual-ring,html.ng-lite-mode .ng-mag-visual-steps div,html.ng-lite-mode .ng-mag-search-form,html.ng-lite-mode .ng-mag-shortcode-box,html.ng-lite-mode .ng-mag-shortcode-share{background-image:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;filter:none!important;box-shadow:none!important;transform:none!important;transition:none!important}

/* V10.161 Learning Light Mode polish + share shortcode fix visuals */
html.ng-light .ng-mag-hero-word,
html.ng-light .ng-learning-word{
    -webkit-text-stroke:1.35px rgba(37,99,235,.22)!important;
    opacity:.95!important;
    filter:drop-shadow(0 14px 34px rgba(37,99,235,.10));
}
html.ng-light .ng-mag-hero-orb.orb-a,
html.ng-light .ng-learning-orb.orb-a{opacity:.75!important;background:radial-gradient(circle,rgba(59,130,246,.20),transparent 68%)!important}
html.ng-light .ng-mag-hero-orb.orb-b,
html.ng-light .ng-learning-orb.orb-b{opacity:.72!important;background:radial-gradient(circle,rgba(20,184,166,.16),transparent 70%)!important}
html.ng-light .ng-mag-hero-panel,
html.ng-light .ng-mag-widget,
html.ng-light .ng-mag-article-card,
html.ng-light .ng-mag-single-shell,
html.ng-light .ng-mag-card,
html.ng-light .ng-learning-card,
html.ng-light .ng-learning-hero-panel,
html.ng-light .ng-learning-cta{
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.78))!important;
    border-color:rgba(37,99,235,.105)!important;
    box-shadow:0 24px 70px rgba(15,23,42,.085), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
html.ng-light .ng-mag-card:hover,
html.ng-light .ng-learning-card:hover{
    border-color:rgba(37,99,235,.24)!important;
    box-shadow:0 28px 80px rgba(37,99,235,.13), 0 12px 38px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
html.ng-light .ng-mag-search-form{
    grid-template-columns:minmax(0,1fr) minmax(104px,auto)!important;
    align-items:center!important;
    gap:10px!important;
    padding:10px!important;
    background:linear-gradient(135deg,rgba(37,99,235,.075),rgba(20,184,166,.055)),rgba(255,255,255,.92)!important;
    border-color:rgba(37,99,235,.16)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.98),0 14px 38px rgba(15,23,42,.055)!important;
}
html.ng-light .ng-mag-search-form input{
    background:#fff!important;
    border-color:rgba(15,23,42,.10)!important;
    color:#0f172a!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96)!important;
}
html.ng-light .ng-mag-search-form input::placeholder{color:#64748b!important;opacity:1!important}
.ng-mag-search-form button{
    min-width:104px!important;
    white-space:nowrap!important;
    background:linear-gradient(135deg,#315cf6,#6848f5)!important;
    color:#fff!important;
    border:1px solid rgba(49,92,246,.22)!important;
    text-shadow:0 1px 1px rgba(2,6,23,.18)!important;
    box-shadow:0 14px 34px rgba(49,92,246,.24)!important;
}
html.ng-light .ng-mag-search-form button{
    background:linear-gradient(135deg,#2563eb,#5b4df1)!important;
    color:#fff!important;
    box-shadow:0 16px 38px rgba(37,99,235,.22)!important;
}
.ng-mag-search-form button::before{font-weight:950!important;color:currentColor!important;opacity:.95!important}
html.ng-light .ng-mag-visual-steps div{
    background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(239,246,255,.78))!important;
    border-color:rgba(37,99,235,.12)!important;
    box-shadow:0 18px 48px rgba(15,23,42,.08)!important;
}
html.ng-light .ng-mag-visual-steps b{
    color:#fff!important;
    background:linear-gradient(135deg,#0f766e,#2563eb)!important;
    box-shadow:0 16px 34px rgba(37,99,235,.20), inset 0 1px 0 rgba(255,255,255,.22)!important;
    border:1px solid rgba(255,255,255,.35)!important;
    text-shadow:0 1px 1px rgba(2,6,23,.26)!important;
}
html.ng-light .ng-mag-visual-steps span{color:#0f172a!important}
html.ng-light .ng-mag-visual-steps::before{
    background:linear-gradient(180deg,rgba(37,99,235,.34),rgba(20,184,166,.24))!important;
    box-shadow:0 0 0 4px rgba(37,99,235,.04)!important;
}
html.ng-light .ng-mag-mini-paper,
html.ng-light .ng-mag-visual-ring{
    background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(239,246,255,.68))!important;
    border-color:rgba(37,99,235,.13)!important;
    box-shadow:0 18px 48px rgba(37,99,235,.08)!important;
}
html.ng-light .ng-mag-mini-paper.main::before{background:linear-gradient(90deg,#2563eb,#14b8a6)!important;opacity:.75!important}
html.ng-light .ng-mag-mini-paper.side::before{background:linear-gradient(90deg,#14b8a6,#2563eb)!important;opacity:.55!important}
html.ng-light .ng-mag-card-thumb::before,
html.ng-light .ng-learning-thumb::before{
    background:linear-gradient(135deg,rgba(37,99,235,.10),transparent 40%),linear-gradient(180deg,transparent,rgba(15,23,42,.18))!important;
}
html.ng-light .ng-mag-card-chip,
html.ng-light .ng-learning-type-chip{
    background:rgba(15,23,42,.76)!important;
    color:#fff!important;
    border-color:rgba(255,255,255,.34)!important;
    box-shadow:0 12px 28px rgba(15,23,42,.16)!important;
}
html.ng-light .ng-mag-card-meta span,
html.ng-light .ng-mag-card-badge,
html.ng-light .ng-mag-term-pills a,
html.ng-light .ng-mag-pill-cloud a,
html.ng-light .ng-mag-share-links a,
html.ng-light .ng-mag-single-kind,
html.ng-light .ng-mag-single-badge,
html.ng-light .ng-mag-single-stats span,
html.ng-light .ng-learning-meta span,
html.ng-light .ng-learning-badge,
html.ng-light .ng-learning-more{
    background:rgba(255,255,255,.86)!important;
    border-color:rgba(37,99,235,.13)!important;
    color:#334155!important;
}
html.ng-light .ng-mag-card-badge,
html.ng-light .ng-learning-badge{color:#0f766e!important;border-color:rgba(20,184,166,.18)!important;background:rgba(240,253,250,.92)!important}
html.ng-light .ng-mag-card-link,
html.ng-light .ng-learning-more{
    background:rgba(239,246,255,.94)!important;
    color:#2563eb!important;
    border-color:rgba(37,99,235,.16)!important;
}
html.ng-light .ng-mag-card-link:hover,
html.ng-light .ng-learning-more:hover{background:#fff!important;border-color:rgba(37,99,235,.25)!important}
html.ng-light .ng-mag-single-cover::before{background:linear-gradient(135deg,rgba(37,99,235,.10),transparent 46%),linear-gradient(180deg,transparent,rgba(15,23,42,.18))!important}
html.ng-light .ng-mag-shortcode-box,
html.ng-light .ng-mag-shortcode-share{
    background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(239,246,255,.80))!important;
    border-color:rgba(37,99,235,.13)!important;
    box-shadow:0 16px 44px rgba(15,23,42,.06)!important;
}
html.ng-light .ng-mag-shortcode-box code{
    background:#fff!important;
    border-color:rgba(37,99,235,.12)!important;
    color:#1e293b!important;
}
html.ng-light .ng-mag-shortcode-box button{
    background:linear-gradient(135deg,#2563eb,#5b4df1)!important;
    color:#fff!important;
}
@media(max-width:820px){
    html.ng-light .ng-mag-search-form{grid-template-columns:1fr!important}
    .ng-mag-search-form button{width:100%!important;justify-content:center!important}
}
html.ng-lite-mode .ng-mag-search-form button,
html.ng-lite-mode .ng-mag-visual-steps b{
    box-shadow:none!important;
    text-shadow:none!important;
    transform:none!important;
    transition:none!important;
}
html.ng-lite-mode.ng-light .ng-mag-search-form button,
html.ng-lite-mode.ng-light .ng-mag-visual-steps b{
    background:#2563eb!important;
    color:#fff!important;
}


/* V10.163 Learning magazine mobile/tablet carousel fix + managed-text polish */
.ng-mag-carousel .ng-learning-featured-track{display:flex!important;align-items:stretch;gap:var(--ng-learning-featured-gap,16px);will-change:transform}.ng-mag-carousel .ng-learning-featured-track .ng-mag-card{flex:0 0 calc((100% - (3 * var(--ng-learning-featured-gap,16px))) / 4)!important;min-width:0;max-width:none}.ng-mag-carousel .ng-learning-featured-viewport{overflow:hidden;width:100%;padding:4px 2px 12px;box-sizing:border-box}.ng-mag-carousel .ng-mag-card{height:auto}.ng-mag-carousel .ng-mag-card .ng-mag-card-thumb{min-height:0}.ng-mag-carousel .ng-learning-featured-nav{z-index:5}.ng-mag-carousel.is-single-page .ng-learning-featured-nav,.ng-mag-carousel.is-single-page .ng-learning-featured-dots{display:none!important}
@media(max-width:1180px){.ng-mag-carousel .ng-learning-featured-track .ng-mag-card{flex-basis:calc((100% - var(--ng-learning-featured-gap,16px)) / 2)!important}.ng-mag-carousel .ng-learning-featured-viewport{padding-inline:2px}.ng-mag-carousel .ng-learning-featured-nav.prev{right:-8px}.ng-mag-carousel .ng-learning-featured-nav.next{left:-8px}}
@media(max-width:720px){.ng-mag-carousel .ng-learning-featured-track{--ng-learning-featured-gap:14px}.ng-mag-carousel .ng-learning-featured-track .ng-mag-card{flex-basis:100%!important;width:100%!important}.ng-mag-carousel .ng-learning-featured-viewport{padding:2px 0 12px;overflow:hidden}.ng-mag-carousel .ng-learning-featured-nav{width:50px;height:50px}.ng-mag-carousel .ng-learning-featured-nav.prev{right:8px}.ng-mag-carousel .ng-learning-featured-nav.next{left:8px}.ng-mag-carousel .ng-mag-card{border-radius:26px}.ng-mag-carousel .ng-mag-card-footer{align-items:flex-start;flex-direction:column}.ng-mag-carousel .ng-mag-card-link{width:100%;justify-content:center}}
html.ng-lite-mode .ng-mag-carousel .ng-learning-featured-track{will-change:auto!important;transition:none!important}


/* V10.167 Learning/Magazine Lite final audit
   Rule copied from stable inner pages: keep layout and identity, remove only expensive glass/blur/animation/parallax layers. */
html.ng-lite-mode .ng-learning-page,
html.ng-lite-mode .ng-mag-page{
    overflow-x:hidden!important;
}
html.ng-lite-mode .ng-learning-page *,
html.ng-lite-mode .ng-learning-page *::before,
html.ng-lite-mode .ng-learning-page *::after,
html.ng-lite-mode .ng-mag-page *,
html.ng-lite-mode .ng-mag-page *::before,
html.ng-lite-mode .ng-mag-page *::after{
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
}
html.ng-lite-mode .ng-learning-page .ng-reveal,
html.ng-lite-mode .ng-mag-page .ng-reveal,
html.ng-lite-mode .ng-learning-page .ng-card,
html.ng-lite-mode .ng-mag-page .ng-card{
    opacity:1!important;
    filter:none!important;
}
/* Page/hero layers: no heavy background paint; keep cheap word/lines for identity. */
html.ng-lite-mode .ng-learning-hero,
html.ng-lite-mode .ng-mag-hero,
html.ng-lite-mode .ng-mag-single-hero,
html.ng-lite-mode .ng-mag-tax-hero{
    background-image:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    box-shadow:none!important;
    text-shadow:none!important;
    overflow:hidden!important;
}
html.ng-lite-mode .ng-learning-bg,
html.ng-lite-mode .ng-learning-word,
html.ng-lite-mode .ng-learning-line,
html.ng-lite-mode .ng-mag-hero-bg,
html.ng-lite-mode .ng-mag-hero-word{
    display:block!important;
    filter:none!important;
    animation:none!important;
    transform:none!important;
    will-change:auto!important;
}
html.ng-lite-mode .ng-learning-word,
html.ng-lite-mode .ng-mag-hero-word{
    opacity:.34!important;
    -webkit-text-stroke-width:1px!important;
    text-shadow:none!important;
}
html.ng-lite-mode.ng-light .ng-learning-word,
html.ng-lite-mode.ng-light .ng-mag-hero-word{
    opacity:.48!important;
    -webkit-text-stroke-color:rgba(37,99,235,.17)!important;
}
/* Blur-orbs are the main weak-device cost. In Lite they become small static spots on desktop and disappear on weak mobile widths. */
html.ng-lite-mode .ng-learning-orb,
html.ng-lite-mode .ng-mag-hero-orb{
    filter:none!important;
    animation:none!important;
    opacity:.14!important;
    transform:none!important;
    will-change:auto!important;
    background:rgba(91,140,255,.12)!important;
}
html.ng-lite-mode .ng-learning-orb.orb-b,
html.ng-lite-mode .ng-mag-hero-orb.orb-b{
    background:rgba(24,194,156,.10)!important;
}
/* Cards/widgets follow stable inner-page Lite: flat color, border, no glass, no gradient, no shadow. */
html.ng-lite-mode .ng-learning-card,
html.ng-lite-mode .ng-learning-hero-panel,
html.ng-lite-mode .ng-learning-cta,
html.ng-lite-mode .ng-learning-cat-list a,
html.ng-lite-mode .ng-learning-section-link,
html.ng-lite-mode .ng-mag-card,
html.ng-lite-mode .ng-mag-widget,
html.ng-lite-mode .ng-mag-article-card,
html.ng-lite-mode .ng-mag-single-shell,
html.ng-lite-mode .ng-mag-hero-panel,
html.ng-lite-mode .ng-mag-single-cover,
html.ng-lite-mode .ng-mag-shortlink-card,
html.ng-lite-mode .ng-mag-shortcode-box,
html.ng-lite-mode .ng-mag-shortcode-share,
html.ng-lite-mode .ng-mag-search-form,
html.ng-lite-mode .ng-mag-search-form input,
html.ng-lite-mode .ng-mag-pagination a,
html.ng-lite-mode .ng-mag-pagination span{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    box-shadow:none!important;
    text-shadow:none!important;
    background-image:none!important;
    will-change:auto!important;
}
html.ng-lite-mode .ng-learning-card,
html.ng-lite-mode .ng-learning-hero-panel,
html.ng-lite-mode .ng-learning-cta,
html.ng-lite-mode .ng-mag-card,
html.ng-lite-mode .ng-mag-widget,
html.ng-lite-mode .ng-mag-article-card,
html.ng-lite-mode .ng-mag-single-shell,
html.ng-lite-mode .ng-mag-hero-panel,
html.ng-lite-mode .ng-mag-single-cover,
html.ng-lite-mode .ng-mag-shortlink-card,
html.ng-lite-mode .ng-mag-shortcode-box,
html.ng-lite-mode .ng-mag-shortcode-share{
    background-color:rgba(15,23,42,.58)!important;
    border-color:rgba(148,163,184,.16)!important;
}
html.ng-lite-mode.ng-light .ng-learning-card,
html.ng-lite-mode.ng-light .ng-learning-hero-panel,
html.ng-lite-mode.ng-light .ng-learning-cta,
html.ng-lite-mode.ng-light .ng-mag-card,
html.ng-lite-mode.ng-light .ng-mag-widget,
html.ng-lite-mode.ng-light .ng-mag-article-card,
html.ng-lite-mode.ng-light .ng-mag-single-shell,
html.ng-lite-mode.ng-light .ng-mag-hero-panel,
html.ng-lite-mode.ng-light .ng-mag-single-cover,
html.ng-lite-mode.ng-light .ng-mag-shortlink-card,
html.ng-lite-mode.ng-light .ng-mag-shortcode-box,
html.ng-lite-mode.ng-light .ng-mag-shortcode-share{
    background-color:rgba(255,255,255,.92)!important;
    border-color:rgba(15,23,42,.10)!important;
}
/* Remove pseudo glows and decorative overlays; actual cards/visual elements remain. */
html.ng-lite-mode .ng-learning-card::before,
html.ng-lite-mode .ng-learning-card::after,
html.ng-lite-mode .ng-learning-thumb::before,
html.ng-lite-mode .ng-learning-thumb::after,
html.ng-lite-mode .ng-learning-hero-panel::before,
html.ng-lite-mode .ng-learning-hero-panel::after,
html.ng-lite-mode .ng-learning-cta::before,
html.ng-lite-mode .ng-learning-tutorial-zone::before,
html.ng-lite-mode .ng-mag-card::before,
html.ng-lite-mode .ng-mag-card::after,
html.ng-lite-mode .ng-mag-card-thumb::before,
html.ng-lite-mode .ng-mag-card-thumb::after,
html.ng-lite-mode .ng-mag-widget::before,
html.ng-lite-mode .ng-mag-widget::after,
html.ng-lite-mode .ng-mag-article-card::before,
html.ng-lite-mode .ng-mag-article-card::after,
html.ng-lite-mode .ng-mag-single-shell::before,
html.ng-lite-mode .ng-mag-single-shell::after,
html.ng-lite-mode .ng-mag-single-cover::before,
html.ng-lite-mode .ng-mag-single-cover::after,
html.ng-lite-mode .ng-mag-visual-editorial::before,
html.ng-lite-mode .ng-mag-visual-tutorial::before,
html.ng-lite-mode .ng-mag-final-glow{
    display:none!important;
}
/* Magazine hero visual: keep shapes, turn them into flat Lite components. */
html.ng-lite-mode .ng-mag-visual-editorial,
html.ng-lite-mode .ng-mag-visual-tutorial,
html.ng-lite-mode .ng-mag-visual-core,
html.ng-lite-mode .ng-mag-visual-ring,
html.ng-lite-mode .ng-mag-mini-paper,
html.ng-lite-mode .ng-mag-visual-steps,
html.ng-lite-mode .ng-mag-visual-steps div,
html.ng-lite-mode .ng-mag-visual-steps li,
html.ng-lite-mode .ng-mag-single-cover em{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    box-shadow:none!important;
    animation:none!important;
    transform:none!important;
    text-shadow:none!important;
    will-change:auto!important;
}
html.ng-lite-mode .ng-mag-mini-paper,
html.ng-lite-mode .ng-mag-visual-steps div,
html.ng-lite-mode .ng-mag-visual-steps li,
html.ng-lite-mode .ng-mag-visual-ring{
    background-image:none!important;
    background-color:rgba(15,23,42,.48)!important;
    border-color:rgba(148,163,184,.16)!important;
}
html.ng-lite-mode.ng-light .ng-mag-mini-paper,
html.ng-lite-mode.ng-light .ng-mag-visual-steps div,
html.ng-lite-mode.ng-light .ng-mag-visual-steps li,
html.ng-lite-mode.ng-light .ng-mag-visual-ring{
    background-color:rgba(255,255,255,.90)!important;
    border-color:rgba(15,23,42,.10)!important;
}
html.ng-lite-mode .ng-mag-visual-steps::before{
    box-shadow:none!important;
    filter:none!important;
    background:rgba(91,140,255,.28)!important;
}
html.ng-lite-mode.ng-light .ng-mag-visual-steps b{
    background:#2563eb!important;
    color:#fff!important;
    box-shadow:none!important;
    text-shadow:none!important;
}
/* Thumbnails keep image/content but no hover zoom or expensive filter. */
html.ng-lite-mode .ng-learning-thumb,
html.ng-lite-mode .ng-mag-card-thumb{
    background-image:none!important;
    background-color:rgba(91,140,255,.10)!important;
    filter:none!important;
    box-shadow:none!important;
}
html.ng-lite-mode .ng-learning-thumb img,
html.ng-lite-mode .ng-mag-card-thumb img,
html.ng-lite-mode .ng-mag-single-cover img,
html.ng-lite-mode .ng-mag-card:hover .ng-mag-card-thumb img,
html.ng-lite-mode .ng-learning-card:hover .ng-learning-thumb img{
    transform:none!important;
    transition:none!important;
    filter:none!important;
    box-shadow:none!important;
    will-change:auto!important;
}
/* Chips/buttons stay visible but flat. */
html.ng-lite-mode .ng-learning-type-chip,
html.ng-lite-mode .ng-learning-meta span,
html.ng-lite-mode .ng-learning-badge,
html.ng-lite-mode .ng-learning-more,
html.ng-lite-mode .ng-mag-card-chip,
html.ng-lite-mode .ng-mag-card-meta span,
html.ng-lite-mode .ng-mag-card-badge,
html.ng-lite-mode .ng-mag-single-kind,
html.ng-lite-mode .ng-mag-single-badge,
html.ng-lite-mode .ng-mag-single-stats span,
html.ng-lite-mode .ng-mag-card-link,
html.ng-lite-mode .ng-mag-share-links a,
html.ng-lite-mode .ng-mag-pill-cloud a,
html.ng-lite-mode .ng-mag-term-pills a,
html.ng-lite-mode .ng-mag-search-form button{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    box-shadow:none!important;
    text-shadow:none!important;
    background-image:none!important;
    transform:none!important;
}
html.ng-lite-mode .ng-mag-search-form button,
html.ng-lite-mode .ng-mag-shortcode-box button{
    background:#315cf6!important;
    color:#fff!important;
    border-color:rgba(49,92,246,.30)!important;
}
/* No hover repaint in Lite. */
html.ng-lite-mode .ng-learning-card:hover,
html.ng-lite-mode .ng-mag-card:hover,
html.ng-lite-mode .ng-mag-widget:hover,
html.ng-lite-mode .ng-learning-more:hover,
html.ng-lite-mode .ng-mag-card-link:hover,
html.ng-lite-mode .ng-mag-search-form button:hover,
html.ng-lite-mode .ng-btn:hover{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
}
/* Single content page performance: no sticky/floating sidebar and no extra paint during scroll in Lite. */
html.ng-lite-mode .ng-mag-sidebar,
html.ng-lite-mode .ng-mag-single-sidebar,
html.ng-lite-mode .ng-mag-editorial-side{
    position:static!important;
    top:auto!important;
    transform:none!important;
    will-change:auto!important;
}
html.ng-lite-mode .ng-mag-article-content,
html.ng-lite-mode .ng-mag-article-content *{
    text-shadow:none!important;
    filter:none!important;
}
html.ng-lite-mode .ng-mag-article-content img,
html.ng-lite-mode .ng-mag-article-content video,
html.ng-lite-mode .ng-mag-article-content iframe{
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
    transition:none!important;
    max-width:100%!important;
}
/* Carousel remains touch-enabled; only its expensive paint hints are removed. Do not force transform:none on the track. */
html.ng-lite-mode .ng-learning-featured-track,
html.ng-lite-mode .ng-mag-carousel .ng-learning-featured-track{
    will-change:auto!important;
    backface-visibility:visible!important;
}
html.ng-lite-mode .ng-learning-featured-nav,
html.ng-lite-mode .ng-learning-featured-dots i{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
    box-shadow:none!important;
    background-image:none!important;
}
@media(max-width:1180px){
    html.ng-lite-mode .ng-mag-layout,
    html.ng-lite-mode .ng-mag-single-layout,
    html.ng-lite-mode .ng-mag-editorial-grid,
    html.ng-lite-mode .ng-mag-hero-grid,
    html.ng-lite-mode .ng-mag-single-shell,
    html.ng-lite-mode .ng-learning-hero-grid{
        grid-template-columns:minmax(0,1fr)!important;
    }
}
@media(max-width:900px){
    html.ng-lite-mode .ng-learning-page .ng-container,
    html.ng-lite-mode .ng-mag-page .ng-container,
    html.ng-lite-mode .ng-learning-page .ng-section .ng-container,
    html.ng-lite-mode .ng-mag-page .ng-section .ng-container{
        max-width:min(100% - 28px,720px)!important;
        margin-inline:auto!important;
        padding-inline:0!important;
        box-sizing:border-box!important;
    }
    html.ng-lite-mode .ng-mag-hero,
    html.ng-lite-mode .ng-mag-single-hero,
    html.ng-lite-mode .ng-mag-tax-hero{
        padding-top:28px!important;
        padding-bottom:32px!important;
    }
    html.ng-lite-mode .ng-learning-hero{
        padding-top:36px!important;
        padding-bottom:34px!important;
    }
    html.ng-lite-mode .ng-mag-breadcrumbs{
        margin-bottom:12px!important;
    }
    html.ng-lite-mode .ng-mag-widget,
    html.ng-lite-mode .ng-mag-article-card,
    html.ng-lite-mode .ng-mag-single-shell,
    html.ng-lite-mode .ng-mag-card,
    html.ng-lite-mode .ng-learning-card,
    html.ng-lite-mode .ng-learning-hero-panel{
        border-radius:24px!important;
    }
    html.ng-lite-mode .ng-mag-visual-editorial,
    html.ng-lite-mode .ng-mag-visual-tutorial{
        min-height:250px!important;
    }
    html.ng-lite-mode .ng-learning-orb,
    html.ng-lite-mode .ng-mag-hero-orb{
        display:none!important;
    }
    html.ng-lite-mode .ng-mag-carousel .ng-learning-featured-viewport,
    html.ng-lite-mode .ng-learning-featured-viewport{
        overflow:hidden!important;
        touch-action:pan-y!important;
        padding-inline:0!important;
    }
    html.ng-lite-mode .ng-mag-carousel .ng-learning-featured-track .ng-mag-card{
        min-width:0!important;
        max-width:none!important;
    }
}
@media(max-width:720px){
    html.ng-lite-mode .ng-mag-carousel .ng-learning-featured-track .ng-mag-card,
    html.ng-lite-mode .ng-learning-featured-track .ng-learning-card{
        flex-basis:100%!important;
        width:100%!important;
    }
    html.ng-lite-mode .ng-mag-card.is-compact{
        grid-template-columns:1fr!important;
    }
    html.ng-lite-mode .ng-mag-hero-word,
    html.ng-lite-mode .ng-learning-word{
        font-size:72px!important;
        top:10px!important;
    }
    html.ng-lite-mode .ng-mag-visual-editorial,
    html.ng-lite-mode .ng-mag-visual-tutorial{
        min-height:220px!important;
    }
}


/* V10.168 Search button inline SVG icon fix */
.ng-mag-search-form button::before{content:none!important;display:none!important;}
.ng-mag-search-form button .ng-mag-search-icon{width:18px;height:18px;display:inline-block;flex:0 0 18px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ng-mag-search-form button span{display:inline-flex;align-items:center;}
html.ng-lite-mode .ng-mag-search-form button .ng-mag-search-icon{filter:none!important;transform:none!important;}


/* V10.169 Learning/Magazine Lite root performance fix
   فلسفه: طراحی Lite حفظ می‌شود؛ فقط منبع‌های واقعی لگ در موبایل ضعیف حذف می‌شوند. */
@media (max-width:1180px){
    html.ng-lite-mode .ng-learning-page .ng-reveal,
    html.ng-lite-mode .ng-mag-page .ng-reveal,
    html.ng-lite-mode .ng-learning-page .ng-card,
    html.ng-lite-mode .ng-mag-page .ng-card,
    html.ng-lite-mode .ng-mag-page .ng-section-head,
    html.ng-lite-mode .ng-learning-page .ng-section-head{
        opacity:1!important;
        transform:none!important;
    }

    /* در Lite موبایل/تبلت، کاروسل‌های بخش مقاله/آموزش از JS transform آزاد می‌شوند و native scroll-snap می‌گیرند. */
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite{
        overflow:visible!important;
        contain:none!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-viewport,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-viewport{
        overflow-x:auto!important;
        overflow-y:hidden!important;
        -webkit-overflow-scrolling:touch!important;
        scroll-snap-type:x mandatory!important;
        touch-action:pan-x pan-y!important;
        overscroll-behavior-x:contain!important;
        padding-inline:0!important;
        scrollbar-width:none!important;
        transform:none!important;
        will-change:auto!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-viewport::-webkit-scrollbar,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-viewport::-webkit-scrollbar{display:none!important}
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-track,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-track{
        transform:none!important;
        will-change:auto!important;
        backface-visibility:visible!important;
        transition:none!important;
        align-items:stretch!important;
        width:max-content!important;
        max-width:none!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav,
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots{display:none!important}

    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-card,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-mag-card{
        scroll-snap-align:start!important;
        transform:none!important;
        will-change:auto!important;
        flex:0 0 min(48vw,360px)!important;
        width:min(48vw,360px)!important;
        max-width:min(48vw,360px)!important;
        min-width:0!important;
    }

    /* صفحه تکی محتوا: جلوگیری از repaintهای ریز حین اسکرول، بدون تغییر چیدمان. */
    html.ng-lite-mode .ng-mag-single-page .ng-mag-single-sidebar,
    html.ng-lite-mode .ng-mag-single-page .ng-mag-sidebar,
    html.ng-lite-mode .ng-mag-single-page .ng-mag-widget,
    html.ng-lite-mode .ng-mag-single-page .ng-mag-article-card,
    html.ng-lite-mode .ng-mag-single-page .ng-mag-card,
    html.ng-lite-mode .ng-mag-single-page .ng-mag-single-shell{
        contain:none!important;
        will-change:auto!important;
        transform:none!important;
        transition:none!important;
    }
    html.ng-lite-mode .ng-mag-page .ng-mag-card-thumb,
    html.ng-lite-mode .ng-learning-page .ng-learning-thumb,
    html.ng-lite-mode .ng-mag-page .ng-mag-single-cover{
        isolation:auto!important;
        will-change:auto!important;
    }
}
@media (max-width:720px){
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-card,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-mag-card{
        flex-basis:100%!important;
        width:100%!important;
        max-width:100%!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-track,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-track{
        width:100%!important;
    }
}
@media (min-width:721px) and (max-width:1180px){
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-card,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-mag-card{
        flex-basis:calc((100vw - 56px - 16px) / 2)!important;
        width:calc((100vw - 56px - 16px) / 2)!important;
        max-width:360px!important;
    }
}

/* V10.170 Learning: keep carousel controls visible in Lite + inline SVG read-more icon */
.ng-learning-more .ng-readmore-svg,
.ng-mag-card-link .ng-readmore-svg{
    width:16px;
    height:16px;
    flex:0 0 16px;
    stroke:currentColor;
    stroke-width:2.35;
    stroke-linecap:round;
    stroke-linejoin:round;
    fill:none;
    transform:scaleX(-1);
}
.ng-mag-card-link .ng-readmore-svg{margin-inline-start:2px}
.ng-learning-more .ng-readmore-svg{margin-inline-start:6px}
html.ng-lite-mode .ng-learning-more .ng-readmore-svg,
html.ng-lite-mode .ng-mag-card-link .ng-readmore-svg{filter:none!important;transition:none!important;transform:scaleX(-1)!important}
@media (max-width:1180px){
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav{
        display:flex!important;
        visibility:visible!important;
        pointer-events:auto!important;
        -webkit-backdrop-filter:none!important;
        backdrop-filter:none!important;
        filter:none!important;
        box-shadow:none!important;
        transform:none!important;
        transition:none!important;
        background:rgba(15,23,42,.72)!important;
        border-color:rgba(148,163,184,.22)!important;
        color:#fff!important;
    }
    html.ng-lite-mode.ng-light .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav,
    html.ng-lite-mode.ng-light .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-nav{
        background:rgba(255,255,255,.96)!important;
        border-color:rgba(37,99,235,.18)!important;
        color:#1d4ed8!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots{
        display:flex!important;
        visibility:visible!important;
        pointer-events:auto!important;
        transform:none!important;
        transition:none!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots i,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots i{
        display:block!important;
        width:8px!important;
        height:8px!important;
        min-width:8px!important;
        border-radius:999px!important;
        background:rgba(148,163,184,.42)!important;
        border:0!important;
        box-shadow:none!important;
        filter:none!important;
        transition:none!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots i.active,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite .ng-learning-featured-dots i.active{
        width:22px!important;
        background:var(--ng-accent)!important;
    }
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite.is-single-page .ng-learning-featured-nav,
    html.ng-lite-mode .ng-learning-page .ng-learning-featured-slider.is-native-lite.is-single-page .ng-learning-featured-dots,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite.is-single-page .ng-learning-featured-nav,
    html.ng-lite-mode .ng-mag-page .ng-learning-featured-slider.is-native-lite.is-single-page .ng-learning-featured-dots{
        display:none!important;
    }
}


/* V10.176 Professional 404 page — aligned with Netgardi normal/Lite framework */
.ng-error404-v172{position:relative;overflow:hidden}.ng-error404-hero{position:relative;isolation:isolate;padding:clamp(82px,8vw,124px) 0 44px;overflow:hidden}.ng-error404-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.ng-error404-word{position:absolute;top:-34px;right:clamp(12px,5vw,86px);color:transparent;-webkit-text-stroke:1px rgba(147,197,253,.14);font-size:clamp(122px,22vw,330px);line-height:.86;font-weight:950;letter-spacing:-.08em;opacity:.86}.ng-error404-orb{position:absolute;border-radius:999px;filter:blur(26px);opacity:.58;animation:ngPackagesOrb 13s ease-in-out infinite alternate}.ng-error404-orb.orb-a{width:320px;height:320px;left:-120px;top:12%;background:radial-gradient(circle,rgba(91,140,255,.20),transparent 68%)}.ng-error404-orb.orb-b{width:270px;height:270px;right:13%;bottom:6%;background:radial-gradient(circle,rgba(24,194,156,.14),transparent 70%);animation-delay:-5s}.ng-error404-line{position:absolute;height:1px;left:0;right:0;background:linear-gradient(90deg,transparent,rgba(91,140,255,.22),rgba(24,194,156,.14),transparent);animation:ngPackagesLine 7s ease-in-out infinite}.ng-error404-line.line-a{top:27%}.ng-error404-line.line-b{bottom:19%;animation-delay:-3s}.ng-error404-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(330px,.94fr);gap:clamp(22px,5vw,64px);align-items:center}.ng-error404-copy h1{max-width:13ch;margin:0;color:var(--ng-text);font-size:clamp(42px,6.3vw,82px);line-height:1.1;font-weight:950;letter-spacing:-.055em;text-wrap:balance}.ng-error404-copy p{max-width:720px;margin:20px 0 0;color:var(--ng-muted);font-size:clamp(15px,1.45vw,19px);line-height:2.1}.ng-error404-search,.ng-error404-search *{font-family:inherit!important;box-sizing:border-box}.ng-error404-search{max-width:760px;margin-top:26px;display:flex!important;align-items:center;gap:10px;padding:9px;border:1px solid var(--ng-border);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--ng-shadow);direction:rtl;overflow:hidden}.ng-error404-search>span{flex:0 0 44px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;border-radius:17px;background:rgba(91,140,255,.12);border:1px solid rgba(91,140,255,.22);color:var(--ng-accent)}.ng-error404-search svg,.ng-error404-actions svg,.ng-error404-suggestion svg,.ng-error404-visual svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.ng-error404-search input{flex:1 1 auto;min-width:0;width:100%;min-height:46px;border:0!important;background:transparent!important;color:var(--ng-text);font-size:14px;font-weight:850;line-height:1.6;text-align:right;outline:0!important;box-shadow:none!important;padding:0 4px}.ng-error404-search input::placeholder{color:var(--ng-muted);font-weight:850;opacity:.88}.ng-error404-search button{flex:0 0 auto;min-width:108px;min-height:46px;border:1px solid rgba(255,255,255,.16)!important;border-radius:18px;padding:0 18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,var(--ng-accent),var(--ng-accent-2));color:#fff!important;font-size:13px!important;font-weight:950!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap;text-align:center;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,.20);overflow:visible!important}.ng-error404-search button::before,.ng-error404-search button::after,.ng-error404-search button i,.ng-error404-search button svg{content:none!important;display:none!important}.ng-error404-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.ng-error404-actions .ng-btn{gap:8px}.ng-error404-visual{min-height:430px;border-radius:40px;padding:28px;display:grid;align-content:space-between;position:relative;overflow:hidden;background:radial-gradient(circle at 14% 0,rgba(91,140,255,.14),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035)),var(--ng-card);box-shadow:var(--ng-glow)}.ng-error404-visual::before{content:"";position:absolute;width:300px;height:300px;border-radius:999px;right:-120px;top:-120px;background:radial-gradient(circle,rgba(91,140,255,.20),transparent 70%);pointer-events:none}.ng-error404-visual-code{position:relative;z-index:1;color:transparent;-webkit-text-stroke:1.5px rgba(147,197,253,.34);font-size:clamp(78px,11vw,140px);font-weight:950;line-height:.9;letter-spacing:-.08em}.ng-error404-visual-card{position:relative;z-index:1;padding:24px;border-radius:30px;border:1px solid var(--ng-border);background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.032))}.ng-error404-visual-card i{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:18px;background:rgba(91,140,255,.12);border:1px solid rgba(91,140,255,.24);color:var(--ng-accent);margin-bottom:14px}.ng-error404-visual-card b{display:block;color:var(--ng-text);font-size:clamp(22px,3vw,32px);font-weight:950;line-height:1.4}.ng-error404-visual-card small{display:block;margin-top:10px;color:var(--ng-muted);line-height:2}.ng-error404-visual-map{position:relative;z-index:1;min-height:116px;margin-top:18px;border-radius:28px;border:1px solid rgba(91,140,255,.18);background:linear-gradient(135deg,rgba(91,140,255,.10),rgba(24,194,156,.055));overflow:hidden}.ng-error404-visual-map .node{position:absolute;width:22px;height:22px;border-radius:999px;background:rgba(91,140,255,.16);border:1px solid rgba(147,197,253,.42);box-shadow:0 0 0 10px rgba(91,140,255,.055)}.ng-error404-visual-map .node-a{right:16%;bottom:18%}.ng-error404-visual-map .node-b{right:48%;top:22%}.ng-error404-visual-map .node-c{left:20%;bottom:28%;background:rgba(24,194,156,.14)}.ng-error404-visual-map .node-d{left:13%;top:24%}.ng-error404-visual-map .path{position:absolute;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(91,140,255,.42),rgba(24,194,156,.24));transform-origin:center}.ng-error404-visual-map .path-a{width:160px;right:22%;bottom:40%;transform:rotate(-22deg)}.ng-error404-visual-map .path-b{width:190px;left:20%;top:44%;transform:rotate(18deg)}.ng-error404-visual-map .path-c{width:120px;right:44%;top:62%;transform:rotate(52deg)}.ng-error404-suggestions-section{padding-top:10px}.ng-error404-head{text-align:center}.ng-error404-head h2{margin-inline:auto}.ng-error404-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ng-error404-suggestion{position:relative;overflow:hidden;display:grid;gap:10px;padding:22px;border-radius:28px;text-decoration:none;transition:transform .22s ease,border-color .22s ease}.ng-error404-suggestion:hover{transform:translateY(-3px);border-color:rgba(91,140,255,.35)}.ng-error404-suggestion i,.ng-error404-suggestion em{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:rgba(91,140,255,.12);border:1px solid rgba(91,140,255,.22);color:var(--ng-accent);font-style:normal}.ng-error404-suggestion b{color:var(--ng-text);font-size:18px;font-weight:950;line-height:1.5}.ng-error404-suggestion small{color:var(--ng-muted);line-height:1.9}.ng-error404-suggestion em{position:absolute;left:18px;bottom:18px;width:36px;height:36px}.ng-error404-help{margin-top:18px;border-radius:30px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.ng-error404-help h3{margin:8px 0;color:var(--ng-text);font-size:clamp(22px,3vw,34px);font-weight:950;line-height:1.35}.ng-error404-help p{margin:0;color:var(--ng-muted);line-height:2}
html.ng-light .ng-error404-search{background:rgba(255,255,255,.88);border-color:rgba(37,99,235,.16);box-shadow:0 12px 28px rgba(37,99,235,.08)}html.ng-light .ng-error404-search button{background:linear-gradient(135deg,#2563eb,#5b3df5);color:#fff!important;border-color:rgba(37,99,235,.18)!important}html.ng-light .ng-error404-search>span{background:rgba(37,99,235,.08);border-color:rgba(37,99,235,.16)}html.ng-light .ng-error404-visual,html.ng-light .ng-error404-visual-card,html.ng-light .ng-error404-visual-map,html.ng-light .ng-error404-help,html.ng-light .ng-error404-suggestion{border-color:rgba(15,23,42,.08)}
@media(max-width:1080px){.ng-error404-grid{grid-template-columns:1fr}.ng-error404-visual{min-height:360px}.ng-error404-copy h1{max-width:100%}.ng-error404-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.ng-error404-hero{padding:90px 0 42px}.ng-error404-word{font-size:88px;top:18px;right:12px}.ng-error404-search{gap:8px;padding:7px;border-radius:24px}.ng-error404-search>span{flex-basis:38px;width:38px;height:38px;border-radius:15px}.ng-error404-search input{min-height:42px;font-size:13px}.ng-error404-search button{min-width:82px;min-height:42px;padding:0 12px!important;border-radius:16px;font-size:12px!important}.ng-error404-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ng-error404-actions .ng-btn{width:auto;min-width:0;max-width:none;justify-content:center;padding-inline:10px;text-align:center}.ng-error404-suggestions{grid-template-columns:1fr}.ng-error404-help{display:grid;text-align:center}.ng-error404-help .ng-btn{width:100%;justify-content:center}.ng-error404-visual{border-radius:30px;padding:20px;min-height:330px}.ng-error404-visual-map{min-height:96px}}
@media(max-width:380px){.ng-error404-search{display:grid!important;grid-template-columns:38px minmax(0,1fr);gap:8px}.ng-error404-search button{grid-column:1/-1;width:100%;min-width:0}.ng-error404-actions{grid-template-columns:1fr}}
@keyframes ng404NodeFloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-6px,0)}}@keyframes ng404PathPulse{from{opacity:.42}to{opacity:.78}}.ng-error404-visual-map .node{animation:ng404NodeFloat 5.8s ease-in-out infinite alternate}.ng-error404-visual-map .node-b{animation-delay:-1.6s}.ng-error404-visual-map .node-c{animation-delay:-3s}.ng-error404-visual-map .node-d{animation-delay:-4.2s}.ng-error404-visual-map .path{animation:ng404PathPulse 4.8s ease-in-out infinite alternate}
/* Lite 404 follows the older theme rule: same layout, static/solid graphics, no blur/backdrop/animation/heavy shadow */
html.ng-lite-mode .ng-error404-v172,html.ng-lite-mode .ng-error404-v172 *{will-change:auto!important;backface-visibility:visible!important}html.ng-lite-mode .ng-error404-v172 .ng-reveal,html.ng-lite-mode .ng-error404-v172 .ng-card,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-card,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-map,html.ng-lite-mode .ng-error404-v172 .ng-error404-search,html.ng-lite-mode .ng-error404-v172 .ng-error404-suggestion,html.ng-lite-mode .ng-error404-v172 .ng-error404-help{opacity:1!important;transform:none!important;filter:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;background-image:none!important}html.ng-lite-mode .ng-error404-v172 *,html.ng-lite-mode .ng-error404-v172 *::before,html.ng-lite-mode .ng-error404-v172 *::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-orb,html.ng-lite-mode .ng-error404-v172 .ng-error404-line,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual::before{display:none!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-word,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-code{display:block!important;-webkit-text-stroke:0!important;text-stroke:0!important;color:rgba(147,197,253,.16)!important;opacity:1!important;text-shadow:none!important;filter:none!important;transform:none!important}html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-word,html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-visual-code{color:rgba(37,99,235,.12)!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-search{background-color:rgba(15,23,42,.62)!important;border-color:rgba(148,163,184,.18)!important}html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-search{background-color:rgba(255,255,255,.94)!important;border-color:rgba(37,99,235,.16)!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-search button{background:#315cf4!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important}html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-search button{background:#2563eb!important;color:#fff!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-visual,html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-card,html.ng-lite-mode .ng-error404-v172 .ng-error404-suggestion,html.ng-lite-mode .ng-error404-v172 .ng-error404-help{background-color:rgba(15,23,42,.58)!important;border-color:rgba(148,163,184,.18)!important}html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-visual,html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-visual-card,html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-suggestion,html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-help{background-color:rgba(255,255,255,.94)!important;border-color:rgba(15,23,42,.08)!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-map{background-color:rgba(91,140,255,.055)!important;border-color:rgba(91,140,255,.16)!important}html.ng-lite-mode.ng-light .ng-error404-v172 .ng-error404-visual-map{background-color:rgba(37,99,235,.045)!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-map .node{box-shadow:none!important;background-color:rgba(91,140,255,.16)!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-map .path{opacity:.42!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-suggestion:hover,html.ng-lite-mode .ng-error404-v172 .ng-btn:hover{transform:none!important;filter:none!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-copy h1,html.ng-lite-mode .ng-error404-v172 .ng-error404-copy p{filter:none!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-hero{overflow:hidden!important}
@media(max-width:720px){html.ng-lite-mode .ng-error404-v172 .ng-error404-hero{padding-top:82px!important;padding-bottom:34px!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-word{font-size:84px!important;top:18px!important;right:12px!important}html.ng-lite-mode .ng-error404-v172 .ng-error404-visual-code{font-size:72px!important}.ng-error404-v172 .ng-error404-search{max-width:100%}}


/* V10.189 Main site chatbot mobile/tablet compact polish
   Scope: only the normal site chatbot (.ng-chatbot) rendered by wp_footer.
   Raw-page chatbots use their own scoped classes and are intentionally untouched. */
@media (max-width: 1080px) {
    body:not(.ng-raw-page) .ng-chatbot {
        right: 12px !important;
        bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-panel {
        right: 12px !important;
        left: 12px !important;
        bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important;
        width: auto !important;
        max-height: min(560px, calc(100dvh - 160px)) !important;
        border-radius: 28px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-head {
        min-height: 64px !important;
        padding: 12px 14px !important;
        gap: 10px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-head strong {
        margin-top: 2px !important;
        font-size: 15px !important;
        line-height: 1.45 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-head small {
        font-size: 9.5px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-head-actions {
        gap: 7px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-close,
    body:not(.ng-raw-page) .ng-chatbot-sound {
        width: 36px !important;
        height: 36px !important;
        border-radius: 14px !important;
        flex: 0 0 36px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-body {
        padding: 12px !important;
        gap: 10px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-message {
        max-width: 90% !important;
        padding: 10px 12px !important;
        border-radius: 18px !important;
        font-size: 12.5px !important;
        line-height: 1.85 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-intro {
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead {
        padding: 12px !important;
        gap: 9px !important;
        border-radius: 22px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead label {
        gap: 6px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead span {
        font-size: 10.5px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead input,
    body:not(.ng-raw-page) .ng-chatbot-input input {
        min-height: 44px !important;
        border-radius: 15px !important;
        padding-inline: 12px !important;
        font-size: 12.5px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead button,
    body:not(.ng-raw-page) .ng-chatbot-input button,
    body:not(.ng-raw-page) .ng-chatbot-human {
        min-height: 44px !important;
        border-radius: 15px !important;
        font-size: 12.5px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-chat {
        gap: 10px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-quick {
        gap: 7px !important;
        padding: 2px 0 6px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-quick button {
        min-height: 38px !important;
        border-radius: 15px !important;
        padding: 7px 9px !important;
        font-size: 10.8px !important;
        line-height: 1.65 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-messages {
        gap: 8px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-input {
        grid-template-columns: minmax(0, 1fr) 62px !important;
        gap: 8px !important;
        bottom: -12px !important;
        padding-top: 4px !important;
    }
}
@media (max-width: 520px) {
    body:not(.ng-raw-page) .ng-chatbot-panel {
        left: 10px !important;
        right: 10px !important;
        max-height: min(548px, calc(100dvh - 150px)) !important;
        border-radius: 26px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-body {
        padding: 11px !important;
        gap: 9px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-intro {
        padding: 10px 11px !important;
        line-height: 1.82 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead {
        padding: 11px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-quick {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 380px) {
    body:not(.ng-raw-page) .ng-chatbot-panel {
        left: 8px !important;
        right: 8px !important;
        max-height: min(530px, calc(100dvh - 142px)) !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-head {
        padding: 11px 12px !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-quick {
        grid-template-columns: 1fr !important;
    }
}


/* V10.190 Chatbot mobile center/no-zoom + raw chatbot light support
   - Only normal site chatbot is centered on mobile/tablet.
   - Raw-page chatbots keep their independent layout, only light/dark sync gets polished. */
@media (max-width: 1080px) {
    body:not(.ng-raw-page) .ng-chatbot.is-open {
        top: 50% !important;
        right: 0 !important;
        left: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        height: 0 !important;
        z-index: 1002 !important;
    }
    body:not(.ng-raw-page) .ng-chatbot.is-open .ng-chatbot-panel {
        position: fixed !important;
        top: 50% !important;
        bottom: auto !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-height: min(560px, calc(100dvh - 120px)) !important;
        transform: translateY(-50%) !important;
        transform-origin: center center !important;
        animation: ngChatbotOpenCentered .20s ease both !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead input,
    body:not(.ng-raw-page) .ng-chatbot-input input,
    body:not(.ng-raw-page) .ng-chatbot-otp input,
    body:not(.ng-raw-page) .ng-chatbot-lead textarea,
    body:not(.ng-raw-page) .ng-chatbot-input textarea {
        font-size: 16px !important;
        line-height: 1.45 !important;
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }
    body:not(.ng-raw-page) .ng-chatbot-lead span,
    body:not(.ng-raw-page) .ng-chatbot-head small,
    body:not(.ng-raw-page) .ng-chatbot-message {
        -webkit-text-size-adjust: 100% !important;
        text-size-adjust: 100% !important;
    }
}
@media (max-width: 520px) {
    body:not(.ng-raw-page) .ng-chatbot.is-open .ng-chatbot-panel {
        left: 10px !important;
        right: 10px !important;
        max-height: min(548px, calc(100dvh - 108px)) !important;
    }
}
@media (max-width: 380px) {
    body:not(.ng-raw-page) .ng-chatbot.is-open .ng-chatbot-panel {
        left: 8px !important;
        right: 8px !important;
        max-height: min(530px, calc(100dvh - 96px)) !important;
    }
}
@keyframes ngChatbotOpenCentered {
    from { opacity: 0; transform: translateY(calc(-50% + 12px)) scale(.965); }
    to { opacity: 1; transform: translateY(-50%) scale(1); }
}

/* Raw-page chatbot light mode: same independent component, synced with raw-page theme. */
.ng-raw-chatbot.ng-raw-chatbot-light {
    --ngrc-bg:#ffffff;
    --ngrc-panel:rgba(255,255,255,.96);
    --ngrc-card:rgba(255,255,255,.78);
    --ngrc-card2:#eef4ff;
    --ngrc-border:rgba(15,23,42,.12);
    --ngrc-text:#0f172a;
    --ngrc-muted:#475569;
    --ngrc-soft:#64748b;
}
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-panel {
    background:var(--ngrc-panel) !important;
    color:var(--ngrc-text) !important;
    border-color:var(--ngrc-border) !important;
    box-shadow:0 22px 70px rgba(15,23,42,.16) !important;
}
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-head,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-message.bot,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-lead,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-quick button,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-human,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-iconbtn {
    background:rgba(248,251,255,.88) !important;
    color:var(--ngrc-text) !important;
    border-color:rgba(15,23,42,.10) !important;
}
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-lead input,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-input input,
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-otp input {
    background:#ffffff !important;
    color:var(--ngrc-text) !important;
    border-color:rgba(15,23,42,.12) !important;
}
.ng-raw-chatbot.ng-raw-chatbot-light .ng-raw-chatbot-input {
    background:linear-gradient(180deg,transparent,rgba(255,255,255,.94) 24%) !important;
}


/* ===== V10.203 Site chatbot smart scroll + hidden scrollbars ===== */
.ng-chatbot .ng-chatbot-body,
.ng-chatbot .ng-chatbot-messages,
.ng-chatbot .ng-chatbot-panel{
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
}
.ng-chatbot .ng-chatbot-body::-webkit-scrollbar,
.ng-chatbot .ng-chatbot-messages::-webkit-scrollbar,
.ng-chatbot .ng-chatbot-panel::-webkit-scrollbar{
    width:0!important;
    height:0!important;
    display:none!important;
}
.ng-chatbot .ng-chatbot-body{
    overscroll-behavior:contain;
}
