/* =========================================================
   Varena Sun Energy — Immediate responsive, header and footer fixes
   Version: 1.3.0
   ========================================================= */

:root {
    --vse-navy: #0b1f3a;
    --vse-blue: #0b4dbb;
    --vse-blue-dark: #073b91;
    --vse-gold: #f4b400;
    --vse-gold-hover: #d99d00;
    --vse-ink: #10233f;
    --vse-muted: #5f6f82;
    --vse-line: #dce5ef;
    --vse-soft: #f4f7fb;
    --vse-white: #ffffff;
    --vse-radius: 18px;
    --vse-shadow: 0 12px 36px rgba(11, 31, 58, 0.12);
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

/* ---------- Professional Persian typography ---------- */
:root {
    --vse-font-fa: "Vazirmatn", Tahoma, Arial, sans-serif;
}

html,
body.vse-site-shell,
body.vse-site-shell button,
body.vse-site-shell input,
body.vse-site-shell textarea,
body.vse-site-shell select,
body.vse-site-shell option,
body.vse-site-shell .site-title,
body.vse-site-shell .site-description,
body.vse-site-shell .primary-menu-container,
body.vse-site-shell .mobile-navigation,
body.vse-site-shell .entry-content,
body.vse-site-shell .vse-global-footer,
body.vse-site-shell .vse-footer-cta,
body.vse-site-shell #vsun-calculator {
    font-family: var(--vse-font-fa) !important;
    font-variation-settings: "wght" 400;
    font-feature-settings: "kern" 1, "liga" 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.vse-site-shell h1,
body.vse-site-shell h2,
body.vse-site-shell h3,
body.vse-site-shell h4,
body.vse-site-shell h5,
body.vse-site-shell h6,
body.vse-site-shell strong,
body.vse-site-shell b {
    font-family: var(--vse-font-fa) !important;
    font-weight: 800;
    font-variation-settings: "wght" 800;
    letter-spacing: -0.025em;
}

body.vse-site-shell p,
body.vse-site-shell li,
body.vse-site-shell label,
body.vse-site-shell td,
body.vse-site-shell th {
    font-weight: 400;
    font-variation-settings: "wght" 400;
    line-height: 1.9;
}

body.vse-site-shell a,
body.vse-site-shell button,
body.vse-site-shell .button,
body.vse-site-shell .wp-block-button__link,
body.vse-site-shell .header-button,
body.vse-site-shell input[type="submit"] {
    font-family: var(--vse-font-fa) !important;
    font-weight: 700;
    font-variation-settings: "wght" 700;
}

body.vse-site-shell .primary-menu-container > ul > li > a,
body.vse-site-shell .mobile-navigation a {
    font-weight: 600;
    font-variation-settings: "wght" 600;
}

body.vse-site-shell input,
body.vse-site-shell textarea,
body.vse-site-shell select {
    font-size: 16px;
    line-height: 1.6;
}

@media (max-width: 767px) {
    body.vse-site-shell h1 {
        letter-spacing: -0.035em;
    }

    body.vse-site-shell h2,
    body.vse-site-shell h3 {
        letter-spacing: -0.025em;
    }
}

body.vse-site-shell {
    overflow-x: hidden;
    background: var(--vse-white);
}

body.vse-site-shell,
body.vse-site-shell button,
body.vse-site-shell input,
body.vse-site-shell textarea,
body.vse-site-shell select {
    font-family: var(--vse-font-fa) !important;
}

body.vse-site-shell img,
body.vse-site-shell svg {
    max-width: 100%;
}

body.vse-site-shell h1,
body.vse-site-shell h2,
body.vse-site-shell h3,
body.vse-site-shell h4,
body.vse-site-shell p,
body.vse-site-shell a {
    overflow-wrap: break-word;
    word-break: normal;
}

/* ---------- Kadence header ---------- */
body.vse-site-shell #masthead {
    position: sticky;
    top: 0;
    z-index: 9990;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 1px 0 rgba(15, 45, 82, 0.08), 0 10px 28px rgba(15, 45, 82, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

body.admin-bar.vse-site-shell #masthead {
    top: 32px;
}

.vse-site-shell .site-header-row-container-inner,
.vse-site-shell .site-main-header-wrap .site-header-row-container-inner {
    min-height: 82px;
}

.vse-site-shell .site-branding,
.vse-site-shell .site-branding a.brand,
.vse-site-shell .site-branding .site-title-wrap {
    min-width: 0;
}

.vse-site-shell .site-branding .custom-logo,
.vse-site-shell .site-branding-logo-only .custom-logo {
    width: auto;
    max-width: 190px;
    max-height: 70px;
    object-fit: contain;
}

.vse-site-shell .primary-menu-container > ul > li > a {
    font-weight: 700;
    line-height: 1.4;
    padding-inline: 13px;
    white-space: nowrap;
}

.vse-site-shell .primary-menu-container > ul > li.current-menu-item > a,
.vse-site-shell .primary-menu-container > ul > li.current_page_item > a,
.vse-site-shell .primary-menu-container > ul > li > a:hover {
    color: var(--vse-gold);
}

.vse-site-shell .header-button,
.vse-site-shell .header-button-wrap .button {
    min-height: 46px;
    border-radius: 13px;
    padding: 11px 20px;
    background: var(--vse-gold);
    color: #fff;
    font-weight: 800;
    box-shadow: 0 9px 22px rgba(244, 180, 0, 0.25);
}

.vse-site-shell .header-button:hover,
.vse-site-shell .header-button-wrap .button:hover {
    background: var(--vse-gold-hover);
    color: #fff;
    transform: translateY(-1px);
}

/* ---------- Remove old/default footers ---------- */
.vse-site-shell .site-footer,
.vse-site-shell #colophon {
    display: none !important;
}

/* Footer previously inserted inside the homepage content. */
.home.vse-site-shell .entry-content > .wp-block-group.alignfull.has-background[style*="background-color:#0b1f3a"] {
    display: none !important;
}

.home.vse-site-shell .entry-content > p:empty,
.home.vse-site-shell .entry-content > p:last-child:empty {
    display: none;
}

/* ---------- Homepage responsive foundation ---------- */
.home.vse-site-shell .entry-content {
    margin: 0;
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child {
    isolation: isolate;
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-cover__background {
    background: linear-gradient(105deg, rgba(4, 21, 44, 0.82), rgba(11, 31, 58, 0.42)) !important;
    opacity: 1 !important;
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container {
    width: min(100%, 1050px);
    margin-inline: auto;
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-heading {
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.32);
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-buttons {
    gap: 14px;
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-button__link {
    min-width: 210px;
    letter-spacing: 0 !important;
    border-radius: 999px !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 10px 28px rgba(244, 180, 0, 0.28);
}

.home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-button__link:hover {
    transform: translateY(-2px);
    background: var(--vse-gold-hover) !important;
    box-shadow: 0 14px 34px rgba(244, 180, 0, 0.38);
}

.home.vse-site-shell .wp-block-columns .wp-block-column,
.home.vse-site-shell .wp-block-uagb-container,
.home.vse-site-shell .uagb-container-inner-blocks-wrap {
    min-width: 0;
}

.home.vse-site-shell .entry-content > .wp-block-columns {
    width: min(100% - 32px, 1180px);
    margin-inline: auto;
    gap: 28px;
}

.home.vse-site-shell .entry-content > .wp-block-uagb-container {
    width: min(100% - 32px, 1180px);
    margin-inline: auto;
}

.home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-gallery img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* ---------- Calculator landing page ---------- */
.page-id-1290.vse-site-shell .entry-content {
    width: min(100% - 32px, 1200px);
    margin-inline: auto;
}

.page-id-1290.vse-site-shell .entry-content > h2:first-child {
    color: var(--vse-ink);
    line-height: 1.35;
}

.page-id-1290.vse-site-shell .entry-content > p {
    line-height: 2;
    color: #243a55;
}

.page-id-1290.vse-site-shell .entry-content .wp-block-button__link {
    background: var(--vse-gold);
    color: #fff;
    border-radius: 16px;
    font-weight: 800;
    box-shadow: 0 12px 30px rgba(244, 180, 0, 0.28);
}

/* ---------- Global VSE footer ---------- */
.vse-footer-cta,
.vse-global-footer {
    direction: rtl;
}

.vse-footer-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #0b4dbb 0%, #0b1f3a 74%);
    color: #fff;
    padding: 54px 24px;
}

.vse-footer-cta::before {
    content: "VSE";
    position: absolute;
    inset-inline-start: 4%;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.055);
    font-size: clamp(100px, 18vw, 250px);
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.vse-footer-cta__inner {
    position: relative;
    z-index: 1;
    width: min(100%, 1180px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 36px;
}

.vse-footer-cta__eyebrow {
    display: inline-flex;
    margin-bottom: 8px;
    color: #ffd76a;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.vse-footer-cta h2 {
    margin: 0 0 12px;
    color: #fff;
    font-size: clamp(25px, 3vw, 38px);
    line-height: 1.45;
}

.vse-footer-cta p {
    margin: 0;
    max-width: 760px;
    color: rgba(255,255,255,0.82);
    font-size: 16px;
    line-height: 2;
}

.vse-footer-cta__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.vse-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 12px 22px;
    border: 2px solid transparent;
    border-radius: 14px;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.vse-btn:hover {
    transform: translateY(-2px);
}

.vse-btn--gold {
    background: var(--vse-gold);
    color: #fff;
    box-shadow: 0 10px 26px rgba(244, 180, 0, 0.26);
}

.vse-btn--gold:hover {
    background: var(--vse-gold-hover);
    color: #fff;
}

.vse-btn--outline {
    border-color: rgba(255,255,255,0.65);
    background: rgba(255,255,255,0.04);
    color: #fff;
}

.vse-btn--outline:hover {
    border-color: #fff;
    background: rgba(255,255,255,0.1);
    color: #fff;
}

.vse-global-footer {
    background: #071a32;
    color: rgba(255,255,255,0.78);
    padding: 64px 24px 0;
}

.vse-global-footer__inner {
    width: min(100%, 1180px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(160px, 0.8fr));
    gap: 44px;
}

.vse-footer-brand .custom-logo-link {
    display: inline-flex;
    margin-bottom: 20px;
}

.vse-footer-brand .custom-logo {
    width: auto;
    max-width: 220px;
    max-height: 85px;
    object-fit: contain;
    filter: drop-shadow(0 7px 18px rgba(0,0,0,0.18));
}

.vse-footer-logo__text {
    color: #fff;
    font-size: 24px;
    font-weight: 900;
}

.vse-footer-brand p {
    margin: 0 0 14px;
    line-height: 2;
}

.vse-footer-brand strong {
    display: block;
    color: #fff;
    line-height: 1.9;
}

.vse-digital-badge {
    display: inline-flex;
    margin-top: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(244,180,0,0.36);
    border-radius: 999px;
    color: #ffd76a;
    background: rgba(244,180,0,0.08);
    font-size: 12px;
    font-weight: 800;
}

.vse-footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.vse-footer-column h2 {
    position: relative;
    margin: 0 0 15px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 20px;
    line-height: 1.4;
}

.vse-footer-column h2::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: var(--vse-gold);
}

.vse-footer-column a,
.vse-footer-column p,
.vse-footer-column span {
    margin: 0;
    color: rgba(255,255,255,0.76);
    font-size: 14px;
    line-height: 1.85;
    text-decoration: none;
}

.vse-footer-column a:hover {
    color: #ffd76a;
}

.vse-footer-contact p span {
    display: block;
    color: rgba(255,255,255,0.45);
    font-size: 11px;
}

.vse-global-footer__bottom {
    width: min(100%, 1180px);
    margin: 48px auto 0;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.vse-global-footer__bottom p {
    margin: 0;
    color: rgba(255,255,255,0.55);
    font-size: 12px;
}

.vse-global-footer__bottom strong {
    color: #ffd76a;
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
    .vse-site-shell .primary-menu-container > ul > li > a {
        padding-inline: 8px;
        font-size: 14px;
    }

    .vse-site-shell .site-branding .custom-logo,
    .vse-site-shell .site-branding-logo-only .custom-logo {
        max-width: 165px;
    }

    .vse-footer-cta__inner {
        grid-template-columns: 1fr;
    }

    .vse-footer-cta__actions {
        justify-content: flex-start;
    }

    .vse-global-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
    body.admin-bar.vse-site-shell #masthead {
        top: 46px;
    }

    .vse-site-shell .site-header-row-container-inner,
    .vse-site-shell .site-main-header-wrap .site-header-row-container-inner {
        min-height: 72px;
    }

    .vse-site-shell .site-branding .custom-logo,
    .vse-site-shell .site-branding-logo-only .custom-logo {
        width: auto !important;
        max-width: 158px !important;
        max-height: 58px !important;
    }

    .vse-site-shell .mobile-toggle-open-container .menu-toggle-open,
    .vse-site-shell .menu-toggle-open {
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 8px;
        border-radius: 12px;
        color: var(--vse-ink);
        background: var(--vse-soft);
    }

    .vse-site-shell .popup-drawer .drawer-inner {
        width: min(88vw, 360px);
        background: #fff;
    }

    .vse-site-shell .mobile-navigation ul li a {
        min-height: 48px;
        padding: 12px 18px;
        color: var(--vse-ink);
        font-size: 16px;
        font-weight: 750;
        line-height: 1.5;
    }

    .vse-site-shell .mobile-navigation ul li.current-menu-item > a,
    .vse-site-shell .mobile-navigation ul li a:hover {
        color: var(--vse-blue);
        background: var(--vse-soft);
    }

    /* Homepage hero: override desktop inline spacing and font sizes. */
    .home.vse-site-shell .entry-content > .wp-block-cover:first-child {
        min-height: 640px !important;
        padding: 48px 20px !important;
        background-position: center center;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container {
        width: 100%;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child h2.wp-block-heading {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 16px !important;
        font-size: clamp(40px, 12vw, 54px) !important;
        line-height: 1.22 !important;
        letter-spacing: 0 !important;
        white-space: normal !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child h1.wp-block-heading {
        width: 100% !important;
        margin: 0 !important;
        padding: 10px 0 24px !important;
        font-size: clamp(20px, 6vw, 27px) !important;
        line-height: 1.85 !important;
        white-space: normal !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-buttons {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-button {
        width: 100%;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child .wp-block-button__link {
        width: 100%;
        min-width: 0;
        padding: 13px 18px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    .home.vse-site-shell .entry-content > h2,
    .home.vse-site-shell .entry-content > .wp-block-heading {
        padding-inline: 18px;
        font-size: 28px !important;
        line-height: 1.5;
    }

    .home.vse-site-shell .entry-content > blockquote {
        margin-inline: 18px;
    }

    .home.vse-site-shell .entry-content > .wp-block-columns {
        width: calc(100% - 32px);
        flex-direction: column;
        gap: 30px;
        padding: 18px 0 34px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        width: 100%;
        padding: 20px 16px;
        border: 1px solid var(--vse-line);
        border-radius: var(--vse-radius);
        background: #fff;
        box-shadow: 0 8px 24px rgba(15,45,82,0.06);
    }

    /* Force top-level Spectra grids to one safe column on small screens. */
    .home.vse-site-shell .entry-content > .wp-block-uagb-container,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container > .uagb-container-inner-blocks-wrap {
        width: calc(100% - 32px);
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        margin-inline: auto;
        gap: 22px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-uagb-container,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container .uagb-container-inner-blocks-wrap {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container h2 {
        font-size: 30px !important;
        line-height: 1.55 !important;
        text-align: center !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container p {
        padding-block: 8px !important;
        font-size: 17px !important;
        line-height: 2 !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-buttons {
        justify-content: center;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-button__link {
        padding: 12px 24px !important;
        font-size: 17px !important;
        border-radius: 13px;
    }

    .home.vse-site-shell .entry-content > .wp-block-uagb-container figure,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container img {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Calculator landing page. */
    .page-id-1290.vse-site-shell .entry-content {
        width: calc(100% - 28px);
        padding-top: 12px;
    }

    .page-id-1290.vse-site-shell .entry-content > h2:first-child {
        margin-block: 28px 22px !important;
        font-size: 34px !important;
        line-height: 1.55 !important;
    }

    .page-id-1290.vse-site-shell .entry-content > p {
        margin-block: 16px !important;
        font-size: 18px !important;
        line-height: 2 !important;
    }

    .page-id-1290.vse-site-shell .entry-content .wp-block-buttons,
    .page-id-1290.vse-site-shell .entry-content .wp-block-button {
        width: 100%;
    }

    .page-id-1290.vse-site-shell .entry-content .wp-block-button__link {
        width: 100%;
        padding: 14px 20px !important;
        font-size: 20px !important;
    }

    /* Footer. */
    .vse-footer-cta {
        padding: 42px 18px;
    }

    .vse-footer-cta__inner {
        gap: 26px;
    }

    .vse-footer-cta h2 {
        font-size: 26px;
    }

    .vse-footer-cta p {
        font-size: 14px;
    }

    .vse-footer-cta__actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .vse-btn {
        width: 100%;
    }

    .vse-global-footer {
        padding: 48px 20px 0;
    }

    .vse-global-footer__inner {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .vse-footer-brand .custom-logo {
        max-width: 200px;
    }

    .vse-footer-column {
        width: 100%;
    }

    .vse-footer-column h2 {
        font-size: 19px;
    }

    .vse-global-footer__bottom {
        margin-top: 38px;
        padding-block: 18px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}

@media (max-width: 420px) {
    .vse-site-shell .site-branding .custom-logo,
    .vse-site-shell .site-branding-logo-only .custom-logo {
        max-width: 138px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child {
        min-height: 600px !important;
        padding-inline: 16px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child h2.wp-block-heading {
        font-size: 40px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-cover:first-child h1.wp-block-heading {
        font-size: 19px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}


/* =========================================================
   1.1.1 — Active-child compatibility and mobile hotfix
   ========================================================= */

/* The logo already contains the full brand name; avoid a duplicated text title. */
.vse-site-shell .site-branding .site-title-wrap,
.vse-site-shell .site-branding .site-title,
.vse-site-shell .site-branding .site-description {
    display: none !important;
}

.vse-site-shell .site-branding,
.vse-site-shell .site-branding a.brand,
.vse-site-shell .site-branding .custom-logo-link {
    display: inline-flex;
    align-items: center;
    width: auto;
}

/* Remove Kadence's default page title strip and the large gap above the homepage hero. */
.home.vse-site-shell .entry-hero.page-hero-section,
.home.vse-site-shell .page-hero-section,
.home.vse-site-shell .entry-header:not(.site-header-main-section),
.home.vse-site-shell .content-title-style-above .entry-header {
    display: none !important;
}

.home.vse-site-shell .content-area,
.home.vse-site-shell #primary,
.home.vse-site-shell .site-main,
.home.vse-site-shell article.page,
.home.vse-site-shell .entry-content-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.home.vse-site-shell .entry-content-wrap {
    padding-inline: 0 !important;
}

@media (min-width: 768px) {
    .vse-site-shell .site-branding .custom-logo,
    .vse-site-shell .site-branding-logo-only .custom-logo {
        max-width: 205px;
        max-height: 72px;
    }
}

@media (max-width: 767px) {
    /* Restore a clean, compact mobile header after activating the child theme. */
    .vse-site-shell .site-header-row-container-inner,
    .vse-site-shell .site-main-header-wrap .site-header-row-container-inner {
        min-height: 68px !important;
    }

    .vse-site-shell .site-branding .custom-logo,
    .vse-site-shell .site-branding-logo-only .custom-logo {
        max-width: 150px !important;
        max-height: 54px !important;
    }

    /* Spectra's current container class differs from older UAGB builds.
       Cover both names and force the calculator teaser to one column. */
    .home.vse-site-shell .entry-content > .wp-block-spectra-container,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"],
    .home.vse-site-shell .entry-content > .wp-block-uagb-container {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 42px 18px !important;
        gap: 26px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container > *,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] > *,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container > * {
        box-sizing: border-box !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-inline: auto !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container h2,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] h2,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container h2 {
        width: 100% !important;
        margin: 0 auto 14px !important;
        padding: 0 !important;
        font-size: 30px !important;
        line-height: 1.55 !important;
        text-align: center !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container p,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] p,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container p {
        width: 100% !important;
        margin: 0 auto 14px !important;
        padding: 0 !important;
        font-size: 16px !important;
        line-height: 2 !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container p.has-text-align-right,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] p.has-text-align-right,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container p.has-text-align-right {
        max-width: 330px !important;
        text-align: right !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container .wp-block-buttons,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] .wp-block-buttons,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-buttons {
        width: 100% !important;
        justify-content: center !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container .wp-block-button,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] .wp-block-button,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-button {
        width: min(100%, 300px) !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container .wp-block-button__link,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] .wp-block-button__link,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container .wp-block-button__link {
        width: 100% !important;
        padding: 13px 20px !important;
        font-size: 17px !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container figure,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] figure,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container figure {
        width: min(100%, 560px) !important;
        margin: 0 auto !important;
    }

    .home.vse-site-shell .entry-content > .wp-block-spectra-container img,
    .home.vse-site-shell .entry-content > [class*="wp-block-spectra-container"] img,
    .home.vse-site-shell .entry-content > .wp-block-uagb-container img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: cover !important;
    }
}


/* ---------- 1.1.2: keep WordPress emoji icons inline ----------
   WordPress/Safari may render emoji as <img class="emoji">. The mobile
   calculator teaser has a broad responsive image rule, so these icons must
   be explicitly excluded from full-width image sizing. */
body.vse-site-shell img.emoji,
body.vse-site-shell img.wp-smiley,
.home.vse-site-shell .entry-content img.emoji,
.home.vse-site-shell .entry-content img.wp-smiley {
    display: inline-block !important;
    width: 1em !important;
    min-width: 1em !important;
    max-width: 1em !important;
    height: 1em !important;
    min-height: 1em !important;
    max-height: 1em !important;
    margin: 0 0.08em !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    object-fit: contain !important;
    vertical-align: -0.12em !important;
}



/* ---------- 1.2.2: cinematic scroll-window parallax ----------
   The image remains accessible in the markup, while its pixels are painted as
   a larger background inside the same clipped frame. Scrolling changes the
   visible crop substantially, similar to a professional fixed-background window. */
@media (min-width: 901px) {
    .home.vse-site-shell .vse-sticky-split,
    .home.vse-site-shell .vse-sticky-media,
    .home.vse-site-shell .vse-sticky-content {
        min-height: 0 !important;
        height: auto !important;
        position: relative !important;
        top: auto !important;
    }

    .home.vse-site-shell .vse-parallax-frame {
        position: relative !important;
        overflow: hidden !important;
        isolation: isolate;
        border-radius: 18px !important;
        background-repeat: no-repeat !important;
        background-position-x: center !important;
        background-position-y: var(--vse-parallax-position, 50%) !important;
        background-size: 165% auto !important;
        background-color: #eaf0f6;
        transform: translateZ(0);
        backface-visibility: hidden;
        will-change: background-position;
    }

    .home.vse-site-shell .vse-parallax-frame.vse-parallax-active img.vse-parallax-image {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: none !important;
    }
}

@media (max-width: 900px), (prefers-reduced-motion: reduce) {
    .home.vse-site-shell .vse-parallax-frame {
        background-image: none !important;
        background-size: auto !important;
        will-change: auto;
    }

    .home.vse-site-shell .vse-parallax-frame img.vse-parallax-image {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
}


/* =========================================================
   1.3.0 — Professional home-page content system
   ========================================================= */

.home.vse-site-shell .vse-hero-summary {
    width: min(100%, 780px);
    margin: -12px auto 34px !important;
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: clamp(16px, 1.5vw, 20px) !important;
    line-height: 2 !important;
    text-align: center !important;
}

.home.vse-site-shell .vse-home-upgrade,
.home.vse-site-shell .vse-home-trust {
    direction: rtl;
    color: var(--vse-ink);
}

.home.vse-site-shell .vse-home-upgrade *,
.home.vse-site-shell .vse-home-trust * {
    box-sizing: border-box;
}

.home.vse-site-shell .vse-home-container {
    width: min(100% - 48px, 1200px);
    margin-inline: auto;
}

.home.vse-site-shell .vse-home-section {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 96px 0;
}

.home.vse-site-shell .vse-home-heading {
    max-width: 820px;
    margin: 0 auto 50px;
    text-align: center;
}

.home.vse-site-shell .vse-home-heading > span,
.home.vse-site-shell .vse-home-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 13px;
    color: var(--vse-blue);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.02em;
}

.home.vse-site-shell .vse-home-heading > span::before,
.home.vse-site-shell .vse-home-kicker::before {
    width: 30px;
    height: 3px;
    border-radius: 999px;
    background: var(--vse-gold);
    content: "";
}

.home.vse-site-shell .vse-home-heading h2,
.home.vse-site-shell .vse-home-why h2,
.home.vse-site-shell .vse-home-coverage h2,
.home.vse-site-shell .vse-home-faq h2 {
    margin: 0 0 16px;
    color: var(--vse-navy);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.45;
}

.home.vse-site-shell .vse-home-heading p,
.home.vse-site-shell .vse-home-why p,
.home.vse-site-shell .vse-home-coverage p,
.home.vse-site-shell .vse-home-faq__intro p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 17px;
    line-height: 2;
}

.home.vse-site-shell .vse-home-icon {
    display: inline-grid;
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    place-items: center;
    border-radius: 16px;
    background: rgba(11, 77, 187, 0.08);
    color: var(--vse-blue);
}

.home.vse-site-shell .vse-home-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home.vse-site-shell .vse-home-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 14px;
    text-decoration: none !important;
    transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}

.home.vse-site-shell .vse-home-btn:hover {
    transform: translateY(-2px);
}

.home.vse-site-shell .vse-home-btn--primary {
    background: var(--vse-blue);
    box-shadow: 0 12px 24px rgba(11, 77, 187, 0.2);
    color: #fff !important;
}

.home.vse-site-shell .vse-home-btn--primary:hover {
    background: var(--vse-blue-dark);
    box-shadow: 0 15px 30px rgba(11, 77, 187, 0.28);
}

.home.vse-site-shell .vse-home-btn--light {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.08);
    color: #fff !important;
}

.home.vse-site-shell .vse-home-btn--light:hover {
    border-color: rgba(255, 255, 255, 0.48);
    background: rgba(255, 255, 255, 0.15);
}

.home.vse-site-shell .vse-home-btn--gold {
    background: var(--vse-gold);
    box-shadow: 0 12px 28px rgba(244, 180, 0, 0.22);
    color: var(--vse-navy) !important;
}

.home.vse-site-shell .vse-home-btn--gold:hover {
    background: #ffc426;
}

.home.vse-site-shell .vse-home-actions,
.home.vse-site-shell .vse-home-centered-action {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.home.vse-site-shell .vse-home-centered-action {
    justify-content: center;
    margin-top: 38px;
}

/* Trust strip: generated at the end of editor content, then moved below hero. */
.home.vse-site-shell .vse-home-trust {
    position: relative;
    z-index: 6;
    margin: -30px 0 0;
    padding: 0 24px;
}

.home.vse-site-shell .vse-home-trust__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    width: min(100%, 1200px);
    border: 1px solid rgba(11, 31, 58, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(11, 31, 58, 0.14);
}

.home.vse-site-shell .vse-home-trust article {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 13px;
    padding: 24px 20px;
}

.home.vse-site-shell .vse-home-trust article + article {
    border-right: 1px solid var(--vse-line);
}

.home.vse-site-shell .vse-home-trust .vse-home-icon {
    width: 46px;
    height: 46px;
    border-radius: 14px;
}

.home.vse-site-shell .vse-home-trust .vse-home-icon svg {
    width: 23px;
    height: 23px;
}

.home.vse-site-shell .vse-home-trust strong,
.home.vse-site-shell .vse-home-trust small {
    display: block;
}

.home.vse-site-shell .vse-home-trust strong {
    margin-bottom: 4px;
    color: var(--vse-navy);
    font-size: 15px;
}

.home.vse-site-shell .vse-home-trust small {
    color: var(--vse-muted);
    font-size: 12px;
    line-height: 1.7;
}

/* Applications */
.home.vse-site-shell .vse-home-applications {
    background:
        radial-gradient(circle at 12% 15%, rgba(244, 180, 0, 0.08), transparent 24%),
        linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}

.home.vse-site-shell .vse-application-grid {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 18px;
}

.home.vse-site-shell .vse-application-card {
    grid-column: span 2;
    min-width: 0;
    padding: 28px 22px;
    border: 1px solid rgba(11, 31, 58, 0.08);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 10px 28px rgba(11, 31, 58, 0.07);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.home.vse-site-shell .vse-application-card:hover {
    transform: translateY(-6px);
    border-color: rgba(11, 77, 187, 0.2);
    box-shadow: 0 20px 38px rgba(11, 31, 58, 0.12);
}

.home.vse-site-shell .vse-application-card h3 {
    margin: 20px 0 10px;
    color: var(--vse-navy);
    font-size: 20px;
    line-height: 1.55;
}

.home.vse-site-shell .vse-application-card p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 1.95;
}

/* Why VSE */
.home.vse-site-shell .vse-home-why {
    overflow: hidden;
    background:
        radial-gradient(circle at 5% 20%, rgba(11, 77, 187, 0.6), transparent 30%),
        radial-gradient(circle at 95% 90%, rgba(244, 180, 0, 0.14), transparent 26%),
        var(--vse-navy);
}

.home.vse-site-shell .vse-home-why__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
    align-items: center;
    gap: 70px;
}

.home.vse-site-shell .vse-home-why .vse-home-kicker,
.home.vse-site-shell .vse-home-why h2,
.home.vse-site-shell .vse-home-why p,
.home.vse-site-shell .vse-home-why li {
    color: #fff;
}

.home.vse-site-shell .vse-home-why p {
    color: rgba(255, 255, 255, 0.75);
}

.home.vse-site-shell .vse-home-why ul {
    display: grid;
    gap: 12px;
    margin: 28px 0 32px;
    padding: 0;
    list-style: none;
}

.home.vse-site-shell .vse-home-why li {
    position: relative;
    margin: 0;
    padding-right: 30px;
    font-size: 15px;
    line-height: 1.8;
}

.home.vse-site-shell .vse-home-why li::before {
    position: absolute;
    top: 0.62em;
    right: 0;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: var(--vse-gold);
    box-shadow: inset 0 0 0 5px var(--vse-navy);
    content: "";
}

.home.vse-site-shell .vse-home-why__facts {
    display: grid;
    gap: 16px;
}

.home.vse-site-shell .vse-fact-card {
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
}

.home.vse-site-shell .vse-fact-card--featured {
    border-color: rgba(244, 180, 0, 0.42);
    background: linear-gradient(135deg, rgba(244, 180, 0, 0.18), rgba(255, 255, 255, 0.06));
}

.home.vse-site-shell .vse-fact-card strong,
.home.vse-site-shell .vse-fact-card span {
    display: block;
}

.home.vse-site-shell .vse-fact-card strong {
    margin-bottom: 8px;
    color: #fff;
    font-size: 25px;
}

.home.vse-site-shell .vse-fact-card span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.9;
}

/* Process */
.home.vse-site-shell .vse-home-process {
    background: #fff;
}

.home.vse-site-shell .vse-process-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home.vse-site-shell .vse-process-grid::before {
    position: absolute;
    top: 38px;
    right: 12.5%;
    left: 12.5%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(11, 77, 187, 0.28), transparent);
    content: "";
}

.home.vse-site-shell .vse-process-grid li {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 28px 22px 26px;
    border: 1px solid var(--vse-line);
    border-radius: 20px;
    background: #fff;
    text-align: center;
}

.home.vse-site-shell .vse-process-number {
    position: absolute;
    top: 16px;
    left: 16px;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: var(--vse-gold);
    color: var(--vse-navy);
    font-size: 13px;
    font-weight: 900;
}

.home.vse-site-shell .vse-process-grid .vse-home-icon {
    margin-inline: auto;
}

.home.vse-site-shell .vse-process-grid h3 {
    margin: 20px 0 10px;
    color: var(--vse-navy);
    font-size: 19px;
    line-height: 1.55;
}

.home.vse-site-shell .vse-process-grid p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 1.9;
}

/* Solutions without fabricated project claims */
.home.vse-site-shell .vse-home-solutions {
    background:
        linear-gradient(135deg, rgba(11, 77, 187, 0.94), rgba(7, 40, 87, 0.98)),
        var(--vse-blue);
}

.home.vse-site-shell .vse-home-heading--light > span,
.home.vse-site-shell .vse-home-heading--light h2,
.home.vse-site-shell .vse-home-heading--light p {
    color: #fff;
}

.home.vse-site-shell .vse-home-heading--light p {
    color: rgba(255, 255, 255, 0.74);
}

.home.vse-site-shell .vse-solution-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.home.vse-site-shell .vse-solution-grid article {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 26px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
}

.home.vse-site-shell .vse-solution-grid .vse-home-icon {
    background: rgba(255, 255, 255, 0.12);
    color: var(--vse-gold);
}

.home.vse-site-shell .vse-solution-grid h3 {
    margin: 1px 0 8px;
    color: #fff;
    font-size: 20px;
}

.home.vse-site-shell .vse-solution-grid p {
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.9;
}

/* Coverage */
.home.vse-site-shell .vse-home-coverage {
    padding: 72px 0;
    background: #f4f7fb;
}

.home.vse-site-shell .vse-home-coverage__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 44px;
    padding: 42px;
    border: 1px solid rgba(11, 77, 187, 0.12);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 20%, rgba(244, 180, 0, 0.12), transparent 28%),
        #fff;
    box-shadow: 0 16px 44px rgba(11, 31, 58, 0.08);
}

.home.vse-site-shell .vse-home-coverage h2 {
    font-size: clamp(28px, 3.3vw, 42px);
}

/* FAQ */
.home.vse-site-shell .vse-home-faq {
    background: #fff;
}

.home.vse-site-shell .vse-home-faq__grid {
    display: grid;
    grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: 64px;
}

.home.vse-site-shell .vse-home-faq__intro {
    position: sticky;
    top: 110px;
}

.home.vse-site-shell .vse-home-faq__intro a {
    display: inline-block;
    margin-top: 24px;
    color: var(--vse-blue);
    font-weight: 800;
    text-decoration: none;
}

.home.vse-site-shell .vse-faq-list {
    display: grid;
    gap: 12px;
}

.home.vse-site-shell .vse-faq-list details {
    overflow: hidden;
    border: 1px solid var(--vse-line);
    border-radius: 16px;
    background: #fff;
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.home.vse-site-shell .vse-faq-list details[open] {
    border-color: rgba(11, 77, 187, 0.28);
    box-shadow: 0 12px 28px rgba(11, 31, 58, 0.08);
}

.home.vse-site-shell .vse-faq-list summary {
    position: relative;
    padding: 20px 24px 20px 58px;
    color: var(--vse-navy);
    font-size: 16px;
    font-weight: 800;
    line-height: 1.8;
    cursor: pointer;
    list-style: none;
}

.home.vse-site-shell .vse-faq-list summary::-webkit-details-marker {
    display: none;
}

.home.vse-site-shell .vse-faq-list summary::before,
.home.vse-site-shell .vse-faq-list summary::after {
    position: absolute;
    top: 50%;
    left: 24px;
    width: 16px;
    height: 2px;
    border-radius: 999px;
    background: var(--vse-blue);
    content: "";
    transition: transform 180ms ease;
}

.home.vse-site-shell .vse-faq-list summary::after {
    transform: rotate(90deg);
}

.home.vse-site-shell .vse-faq-list details[open] summary::after {
    transform: rotate(0deg);
}

.home.vse-site-shell .vse-faq-list details p {
    margin: 0;
    padding: 0 24px 22px;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 2;
}

@media (max-width: 1080px) {
    .home.vse-site-shell .vse-home-trust__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home.vse-site-shell .vse-home-trust article:nth-child(3) {
        border-right: 0;
        border-top: 1px solid var(--vse-line);
    }

    .home.vse-site-shell .vse-home-trust article:nth-child(4) {
        border-top: 1px solid var(--vse-line);
    }

    .home.vse-site-shell .vse-application-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .home.vse-site-shell .vse-application-card {
        grid-column: span 2;
    }

    .home.vse-site-shell .vse-application-card:nth-child(4),
    .home.vse-site-shell .vse-application-card:nth-child(5) {
        grid-column: span 3;
    }

    .home.vse-site-shell .vse-home-why__grid {
        gap: 44px;
    }
}

@media (max-width: 900px) {
    .home.vse-site-shell .vse-home-section {
        padding: 76px 0;
    }

    .home.vse-site-shell .vse-home-why__grid,
    .home.vse-site-shell .vse-home-faq__grid {
        grid-template-columns: 1fr;
    }

    .home.vse-site-shell .vse-home-faq__intro {
        position: static;
    }

    .home.vse-site-shell .vse-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home.vse-site-shell .vse-process-grid::before {
        display: none;
    }

    .home.vse-site-shell .vse-home-coverage__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .home.vse-site-shell .vse-home-container {
        width: min(100% - 32px, 1200px);
    }

    .home.vse-site-shell .vse-home-section {
        padding: 62px 0;
    }

    .home.vse-site-shell .vse-home-heading {
        margin-bottom: 34px;
    }

    .home.vse-site-shell .vse-home-heading h2,
    .home.vse-site-shell .vse-home-why h2,
    .home.vse-site-shell .vse-home-coverage h2,
    .home.vse-site-shell .vse-home-faq h2 {
        font-size: 30px;
        line-height: 1.55;
    }

    .home.vse-site-shell .vse-home-heading p,
    .home.vse-site-shell .vse-home-why p,
    .home.vse-site-shell .vse-home-coverage p,
    .home.vse-site-shell .vse-home-faq__intro p {
        font-size: 15px;
    }

    .home.vse-site-shell .vse-home-trust {
        margin-top: 0;
        padding: 0;
    }

    .home.vse-site-shell .vse-home-trust__grid {
        width: 100%;
        grid-template-columns: 1fr;
        border-radius: 0;
        box-shadow: 0 10px 28px rgba(11, 31, 58, 0.08);
    }

    .home.vse-site-shell .vse-home-trust article {
        padding: 18px 20px;
    }

    .home.vse-site-shell .vse-home-trust article + article,
    .home.vse-site-shell .vse-home-trust article:nth-child(3),
    .home.vse-site-shell .vse-home-trust article:nth-child(4) {
        border-top: 1px solid var(--vse-line);
        border-right: 0;
    }

    .home.vse-site-shell .vse-application-grid,
    .home.vse-site-shell .vse-process-grid,
    .home.vse-site-shell .vse-solution-grid {
        grid-template-columns: 1fr;
    }

    .home.vse-site-shell .vse-application-card,
    .home.vse-site-shell .vse-application-card:nth-child(4),
    .home.vse-site-shell .vse-application-card:nth-child(5) {
        grid-column: auto;
    }

    .home.vse-site-shell .vse-home-why__grid,
    .home.vse-site-shell .vse-home-faq__grid {
        gap: 38px;
    }

    .home.vse-site-shell .vse-home-actions,
    .home.vse-site-shell .vse-home-centered-action {
        align-items: stretch;
        flex-direction: column;
    }

    .home.vse-site-shell .vse-home-btn {
        width: 100%;
    }

    .home.vse-site-shell .vse-home-coverage {
        padding: 48px 0;
    }

    .home.vse-site-shell .vse-home-coverage__inner {
        gap: 28px;
        padding: 28px 22px;
        border-radius: 20px;
    }

    .home.vse-site-shell .vse-solution-grid article {
        padding: 22px;
    }

    .home.vse-site-shell .vse-faq-list summary {
        padding: 18px 20px 18px 52px;
        font-size: 15px;
    }

    .home.vse-site-shell .vse-faq-list summary::before,
    .home.vse-site-shell .vse-faq-list summary::after {
        left: 20px;
    }

    .home.vse-site-shell .vse-faq-list details p {
        padding: 0 20px 20px;
    }

    .home.vse-site-shell .vse-hero-summary {
        margin-bottom: 26px !important;
        padding-inline: 6px !important;
        font-size: 15px !important;
        line-height: 1.9 !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home.vse-site-shell .vse-home-btn,
    .home.vse-site-shell .vse-application-card,
    .home.vse-site-shell .vse-faq-list details {
        transition: none !important;
    }
}


/* ==========================================================================
   VSE SERVICES PAGE — 1.4.0
   ========================================================================== */

.vse-services-page .entry-header,
.vse-services-page .entry-title,
.vse-services-page .page-title {
    display: none !important;
}

.vse-services-page .content-area,
.vse-services-page .site-main,
.vse-services-page .content-container,
.vse-services-page .entry-content-wrap,
.vse-services-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vse-services-page .content-bg,
.vse-services-page .site-container,
.vse-services-page .site-content {
    max-width: none !important;
    padding-inline: 0 !important;
}

.vse-services {
    --vse-blue: #0646b8;
    --vse-blue-dark: #032d78;
    --vse-navy: #061a35;
    --vse-gold: #f6b91a;
    --vse-bg: #f5f8fc;
    --vse-text: #15243a;
    --vse-muted: #5d6b7f;
    --vse-border: #dce5f0;
    direction: rtl;
    overflow: hidden;
    color: var(--vse-text);
    background: #fff;
    font-family: "Vazirmatn", Tahoma, sans-serif;
}

.vse-services *,
.vse-services *::before,
.vse-services *::after {
    box-sizing: border-box;
}

.vse-services-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.vse-services-hero {
    position: relative;
    padding: 108px 0 96px;
    background:
        radial-gradient(circle at 15% 10%, rgba(246,185,26,.19), transparent 25%),
        radial-gradient(circle at 85% 65%, rgba(55,126,255,.28), transparent 34%),
        linear-gradient(135deg, #031d4a 0%, #0646b8 56%, #0c6ddf 100%);
    color: #fff;
}

.vse-services-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .16;
    background-image:
        linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
}

.vse-services-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    align-items: center;
    gap: 72px;
}

.vse-services-kicker,
.vse-services-heading > span,
.vse-services-final__inner > div > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--vse-gold);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

.vse-services-kicker::before,
.vse-services-heading > span::before,
.vse-services-final__inner > div > span::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
}

.vse-services-hero h1 {
    max-width: 770px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(38px, 5vw, 68px);
    line-height: 1.28;
    letter-spacing: -.035em;
}

.vse-services-hero__copy > p {
    max-width: 720px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 18px;
    line-height: 2;
}

.vse-services-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 34px;
}

.vse-services-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.vse-services-btn:hover {
    transform: translateY(-2px);
}

.vse-services-btn--primary {
    color: #fff !important;
    background: var(--vse-blue);
    box-shadow: 0 12px 28px rgba(6,70,184,.22);
}

.vse-services-hero .vse-services-btn--primary {
    color: var(--vse-navy) !important;
    background: var(--vse-gold);
    box-shadow: 0 14px 32px rgba(246,185,26,.24);
}

.vse-services-btn--outline {
    border-color: rgba(255,255,255,.52);
    color: #fff !important;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}

.vse-services-btn--gold {
    color: var(--vse-navy) !important;
    background: var(--vse-gold);
}

.vse-services-btn--outline-light {
    border-color: rgba(255,255,255,.48);
    color: #fff !important;
    background: transparent;
}

.vse-services-hero__points {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 32px;
}

.vse-services-hero__points span {
    position: relative;
    padding-right: 20px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 700;
}

.vse-services-hero__points span::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-gold);
    font-weight: 900;
}

.vse-services-hero__panel {
    display: grid;
    place-items: center;
    min-height: 430px;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 34px;
    background: rgba(255,255,255,.09);
    box-shadow: 0 28px 80px rgba(0,0,0,.2);
    backdrop-filter: blur(16px);
}

.vse-services-hero__panel > p {
    margin: 26px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 14px;
    font-weight: 700;
}

.vse-services-orbit {
    position: relative;
    width: 310px;
    aspect-ratio: 1;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 50%;
}

.vse-services-orbit::before,
.vse-services-orbit::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.17);
    border-radius: 50%;
}

.vse-services-orbit::before { inset: 40px; }
.vse-services-orbit::after { inset: 82px; }

.vse-services-orbit__core {
    position: absolute;
    inset: 50% auto auto 50%;
    display: grid;
    width: 104px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    color: var(--vse-navy);
    background: var(--vse-gold);
    box-shadow: 0 0 0 12px rgba(246,185,26,.12), 0 18px 38px rgba(0,0,0,.22);
    font-size: 28px;
    font-weight: 900;
    transform: translate(-50%, -50%);
}

.vse-services-orbit__item {
    position: absolute;
    display: grid;
    min-width: 78px;
    min-height: 40px;
    place-items: center;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 999px;
    color: #fff;
    background: rgba(3,29,74,.72);
    font-size: 13px;
    font-weight: 800;
}

.vse-services-orbit__item--1 { top: -10px; left: 50%; transform: translateX(-50%); }
.vse-services-orbit__item--2 { top: 50%; left: -30px; transform: translateY(-50%); }
.vse-services-orbit__item--3 { right: -25px; bottom: 42px; }
.vse-services-orbit__item--4 { right: 24px; top: 25px; }

.vse-services-strip {
    position: relative;
    z-index: 2;
    margin-top: -32px;
}

.vse-services-strip__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    overflow: hidden;
    border: 1px solid var(--vse-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(6,26,53,.12);
}

.vse-services-strip article {
    padding: 25px 24px;
    text-align: center;
}

.vse-services-strip article + article {
    border-right: 1px solid var(--vse-border);
}

.vse-services-strip strong,
.vse-services-strip span {
    display: block;
}

.vse-services-strip strong {
    margin-bottom: 6px;
    color: var(--vse-blue);
    font-size: 18px;
}

.vse-services-strip span {
    color: var(--vse-muted);
    font-size: 12px;
}

.vse-services-section {
    padding: 100px 0;
}

.vse-services-section:nth-of-type(even) {
    background: var(--vse-bg);
}

.vse-services-heading {
    max-width: 760px;
    margin: 0 auto 50px;
    text-align: center;
}

.vse-services-heading > span {
    justify-content: center;
    color: var(--vse-blue);
}

.vse-services-heading h2,
.vse-services-equipment h2,
.vse-services-coverage h2,
.vse-services-final h2 {
    margin: 0 0 18px;
    color: var(--vse-navy);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.35;
    letter-spacing: -.025em;
}

.vse-services-heading p,
.vse-services-equipment p,
.vse-services-coverage p,
.vse-services-final p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 16px;
    line-height: 2;
}

.vse-services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.vse-service-card {
    position: relative;
    min-height: 100%;
    padding: 34px 30px 30px;
    overflow: hidden;
    border: 1px solid var(--vse-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(6,26,53,.06);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.vse-service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(6,70,184,.28);
    box-shadow: 0 24px 50px rgba(6,26,53,.12);
}

.vse-service-card--featured {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(145deg, var(--vse-blue-dark), var(--vse-blue));
}

.vse-service-card__number {
    position: absolute;
    top: 17px;
    left: 20px;
    color: rgba(6,70,184,.09);
    font-size: 64px;
    font-weight: 900;
    line-height: 1;
}

.vse-service-card--featured .vse-service-card__number {
    color: rgba(255,255,255,.09);
}

.vse-service-card__icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin-bottom: 24px;
    border-radius: 15px;
    color: var(--vse-blue);
    background: #edf4ff;
}

.vse-service-card__icon svg {
    width: 28px;
    height: 28px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vse-service-card--featured .vse-service-card__icon {
    color: var(--vse-navy);
    background: var(--vse-gold);
}

.vse-service-card h3 {
    position: relative;
    margin: 0 0 14px;
    color: var(--vse-navy);
    font-size: 21px;
    line-height: 1.5;
}

.vse-service-card > p {
    margin: 0 0 18px;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 1.95;
}

.vse-service-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-service-card li {
    position: relative;
    margin-top: 9px;
    padding-right: 18px;
    color: #435269;
    font-size: 13px;
    line-height: 1.8;
}

.vse-service-card li::before {
    content: "";
    position: absolute;
    top: .72em;
    right: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--vse-gold);
}

.vse-service-card--featured h3,
.vse-service-card--featured > p,
.vse-service-card--featured li {
    color: #fff;
}

.vse-services-solutions {
    background: var(--vse-navy) !important;
}

.vse-services-heading--light h2,
.vse-services-heading--light p {
    color: #fff;
}

.vse-services-heading--light p {
    color: rgba(255,255,255,.68);
}

.vse-services-heading--light > span {
    color: var(--vse-gold);
}

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

.vse-services-solution-grid article {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: rgba(255,255,255,.06);
    transition: transform .22s ease, background .22s ease;
}

.vse-services-solution-grid article:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.1);
}

.vse-services-solution-grid h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 19px;
}

.vse-services-solution-grid p {
    margin: 0;
    color: rgba(255,255,255,.66);
    font-size: 13px;
    line-height: 1.9;
}

.vse-services-solution-grid .vse-service-card__icon {
    color: var(--vse-gold);
    background: rgba(246,185,26,.1);
}

.vse-system-types-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
    gap: 20px;
}

.vse-system-types-grid article {
    padding: 36px 30px;
    border: 1px solid var(--vse-border);
    border-radius: 20px;
    background: #fff;
}

.vse-system-types-grid article > span {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--vse-blue);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
}

.vse-system-types-grid h3 {
    margin: 0 0 14px;
    color: var(--vse-navy);
    font-size: 23px;
}

.vse-system-types-grid p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 2;
}

.vse-system-types-grid__featured {
    color: #fff;
    border-color: transparent !important;
    background: linear-gradient(145deg, var(--vse-blue), #0c6ddf) !important;
    box-shadow: 0 22px 55px rgba(6,70,184,.2);
    transform: translateY(-12px);
}

.vse-system-types-grid__featured > span {
    color: var(--vse-gold) !important;
}

.vse-system-types-grid__featured h3,
.vse-system-types-grid__featured p {
    color: #fff;
}

.vse-services-process {
    background: var(--vse-bg);
}

.vse-services-process__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-services-process__grid li {
    position: relative;
    padding: 0 20px;
    text-align: center;
}

.vse-services-process__grid li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 28px;
    left: -14%;
    width: 28%;
    height: 2px;
    background: linear-gradient(90deg, var(--vse-border), var(--vse-blue));
}

.vse-services-process__grid strong {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 auto 20px;
    border: 5px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: var(--vse-blue);
    box-shadow: 0 0 0 1px var(--vse-border), 0 10px 25px rgba(6,70,184,.16);
    font-size: 18px;
}

.vse-services-process__grid h3 {
    margin: 0 0 9px;
    color: var(--vse-navy);
    font-size: 17px;
}

.vse-services-process__grid p {
    margin: 0;
    color: var(--vse-muted);
    font-size: 12px;
    line-height: 1.8;
}

.vse-services-equipment__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr);
    align-items: center;
    gap: 80px;
}

.vse-services-equipment ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 22px;
    margin: 28px 0 24px;
    padding: 0;
    list-style: none;
}

.vse-services-equipment li {
    position: relative;
    padding-right: 20px;
    color: #3c4b60;
    font-size: 14px;
}

.vse-services-equipment li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-blue);
    font-weight: 900;
}

.vse-services-text-link {
    color: var(--vse-blue) !important;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none !important;
}

.vse-services-equipment__visual {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 46px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 50%, rgba(246,185,26,.22), transparent 30%),
        linear-gradient(145deg, var(--vse-navy), var(--vse-blue-dark));
    box-shadow: 0 28px 70px rgba(6,26,53,.18);
}

.vse-services-equipment__visual span {
    display: grid;
    min-height: 82px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 14px;
    font-weight: 800;
}

.vse-services-equipment__visual strong {
    grid-column: 1 / -1;
    padding-top: 18px;
    color: var(--vse-gold);
    text-align: center;
    font-size: 18px;
}

.vse-services-coverage__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    padding: 42px 50px;
    border: 1px solid rgba(6,70,184,.14);
    border-radius: 24px;
    background:
        linear-gradient(110deg, rgba(6,70,184,.07), rgba(246,185,26,.08)),
        #fff;
}

.vse-services-coverage__box > div {
    max-width: 760px;
}

.vse-services-faq {
    background: var(--vse-bg);
}

.vse-services-faq__grid {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    gap: 70px;
}

.vse-services-heading--side {
    margin: 0;
    text-align: right;
}

.vse-services-heading--side > span {
    justify-content: flex-start;
}

.vse-services-faq__list {
    display: grid;
    gap: 12px;
}

.vse-services-faq__list details {
    overflow: hidden;
    border: 1px solid var(--vse-border);
    border-radius: 14px;
    background: #fff;
}

.vse-services-faq__list summary {
    position: relative;
    padding: 20px 24px 20px 58px;
    color: var(--vse-navy);
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.vse-services-faq__list summary::-webkit-details-marker {
    display: none;
}

.vse-services-faq__list summary::before,
.vse-services-faq__list summary::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 24px;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: var(--vse-blue);
    transform: translateY(-50%);
}

.vse-services-faq__list summary::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s ease;
}

.vse-services-faq__list details[open] summary::after {
    transform: translateY(-50%) rotate(0);
}

.vse-services-faq__list details p {
    margin: 0;
    padding: 0 24px 22px;
    color: var(--vse-muted);
    font-size: 14px;
    line-height: 2;
}

.vse-services-final {
    padding: 84px 0;
    color: #fff;
    background:
        radial-gradient(circle at 80% 20%, rgba(246,185,26,.16), transparent 25%),
        linear-gradient(130deg, var(--vse-navy), var(--vse-blue));
}

.vse-services-final__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.vse-services-final__inner > div:first-child {
    max-width: 760px;
}

.vse-services-final h2,
.vse-services-final p {
    color: #fff;
}

.vse-services-final p {
    color: rgba(255,255,255,.75);
}

.vse-services-final .vse-services-actions {
    flex: 0 0 auto;
    margin-top: 0;
}

@media (max-width: 1000px) {
    .vse-services-hero__grid,
    .vse-services-equipment__grid,
    .vse-services-faq__grid {
        grid-template-columns: 1fr;
    }

    .vse-services-hero__panel {
        min-height: 390px;
    }

    .vse-services-grid,
    .vse-services-solution-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vse-services-strip__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vse-services-strip article:nth-child(3) {
        border-top: 1px solid var(--vse-border);
    }

    .vse-services-strip article:nth-child(4) {
        border-top: 1px solid var(--vse-border);
    }

    .vse-services-process__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 0;
    }

    .vse-services-process__grid li::after {
        display: none;
    }

    .vse-services-final__inner,
    .vse-services-coverage__box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .vse-services-container {
        width: min(100% - 28px, 1180px);
    }

    .vse-services-hero {
        padding: 76px 0 68px;
    }

    .vse-services-hero h1 {
        font-size: 36px;
    }

    .vse-services-hero__copy > p {
        font-size: 15px;
        line-height: 1.9;
    }

    .vse-services-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .vse-services-btn {
        width: 100%;
    }

    .vse-services-hero__panel {
        min-height: 330px;
        padding: 24px 12px;
    }

    .vse-services-orbit {
        width: 250px;
    }

    .vse-services-orbit__item {
        min-width: 66px;
        font-size: 11px;
    }

    .vse-services-strip {
        margin-top: -20px;
    }

    .vse-services-strip__grid,
    .vse-services-grid,
    .vse-services-solution-grid,
    .vse-system-types-grid,
    .vse-services-process__grid {
        grid-template-columns: 1fr;
    }

    .vse-services-strip article + article,
    .vse-services-strip article:nth-child(3),
    .vse-services-strip article:nth-child(4) {
        border-top: 1px solid var(--vse-border);
        border-right: 0;
    }

    .vse-services-section {
        padding: 72px 0;
    }

    .vse-services-heading {
        margin-bottom: 36px;
        text-align: right;
    }

    .vse-services-heading > span {
        justify-content: flex-start;
    }

    .vse-service-card {
        padding: 28px 24px;
    }

    .vse-system-types-grid__featured {
        transform: none;
    }

    .vse-services-process__grid {
        gap: 20px;
    }

    .vse-services-process__grid li {
        display: grid;
        grid-template-columns: 58px 1fr;
        column-gap: 16px;
        padding: 18px;
        border: 1px solid var(--vse-border);
        border-radius: 15px;
        background: #fff;
        text-align: right;
    }

    .vse-services-process__grid strong {
        grid-row: 1 / 3;
        margin: 0;
    }

    .vse-services-process__grid h3 {
        align-self: end;
    }

    .vse-services-equipment__grid {
        gap: 42px;
    }

    .vse-services-equipment ul {
        grid-template-columns: 1fr;
    }

    .vse-services-equipment__visual {
        padding: 26px;
    }

    .vse-services-coverage__box {
        padding: 28px 22px;
    }

    .vse-services-final {
        padding: 68px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vse-services-btn,
    .vse-service-card,
    .vse-services-solution-grid article {
        transition: none !important;
    }
}


/* ==========================================================================\n   VSE PROJECTS PAGE — 1.5.0\n   ========================================================================== */
.vse-projects-page .entry-header,.vse-projects-page .entry-title,.vse-projects-page .page-title{display:none!important}
.vse-projects-page .content-area,.vse-projects-page .site-main,.vse-projects-page .content-container,.vse-projects-page .entry-content-wrap,.vse-projects-page .entry-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.vse-projects-page .content-bg,.vse-projects-page .site-container,.vse-projects-page .site-content{max-width:none!important;padding-inline:0!important}
.vse-projects{--pb:#0646b8;--pd:#061a35;--pg:#f6b91a;--pbg:#f5f8fc;--pt:#16263c;--pm:#607086;--pbd:#dce5f0;direction:rtl;overflow:hidden;color:var(--pt);background:#fff;font-family:"Vazirmatn",Tahoma,sans-serif}
.vse-projects *{box-sizing:border-box}.vse-projects-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.vse-projects-hero{position:relative;padding:110px 0 96px;color:#fff;background:radial-gradient(circle at 18% 20%,rgba(246,185,26,.18),transparent 25%),linear-gradient(135deg,#041a3d,#0646b8 58%,#0a69d7)}
.vse-projects-hero:before{content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);background-size:62px 62px}
.vse-projects-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:70px}
.vse-projects-kicker,.vse-projects-heading>span,.vse-projects-final__inner>div>span{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--pg);font-size:14px;font-weight:800}.vse-projects-kicker:before,.vse-projects-heading>span:before,.vse-projects-final__inner>div>span:before{content:"";width:34px;height:3px;border-radius:9px;background:currentColor}
.vse-projects-hero h1{margin:0 0 24px;color:#fff;font-size:clamp(39px,5vw,68px);line-height:1.28}.vse-projects-hero p{max-width:730px;margin:0;color:rgba(255,255,255,.84);font-size:18px;line-height:2}
.vse-projects-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.vse-projects-btn{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:12px;font-size:15px;font-weight:800;text-decoration:none!important;transition:.2s}.vse-projects-btn:hover{transform:translateY(-2px)}.vse-projects-btn--gold{color:var(--pd)!important;background:var(--pg)}.vse-projects-btn--outline{border-color:rgba(255,255,255,.48);color:#fff!important;background:rgba(255,255,255,.07)}
.vse-projects-map{position:relative;display:grid;width:360px;aspect-ratio:1;place-items:center;margin:auto;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);box-shadow:0 30px 80px rgba(0,0,0,.2)}.vse-projects-map:before,.vse-projects-map:after{content:"";position:absolute;border:1px dashed rgba(255,255,255,.2);border-radius:50%}.vse-projects-map:before{inset:46px}.vse-projects-map:after{inset:94px}.vse-projects-map strong{position:relative;z-index:2;display:grid;width:104px;aspect-ratio:1;place-items:center;border-radius:50%;color:var(--pd);background:var(--pg);font-size:28px}.vse-projects-map span{position:absolute;z-index:2;padding:9px 14px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(4,26,61,.78);font-size:12px;font-weight:800}.vse-projects-map span:nth-of-type(1){top:-8px}.vse-projects-map span:nth-of-type(2){right:-34px}.vse-projects-map span:nth-of-type(3){bottom:-8px}.vse-projects-map span:nth-of-type(4){left:-42px}
.vse-projects-note{position:relative;z-index:2;margin-top:-36px}.vse-projects-note__box{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:30px 38px;border:1px solid var(--pbd);border-radius:20px;background:#fff;box-shadow:0 20px 50px rgba(6,26,53,.12)}.vse-projects-note__box>div{max-width:850px}.vse-projects-note span{color:var(--pb);font-size:13px;font-weight:900}.vse-projects-note h2{margin:6px 0 10px;color:var(--pd);font-size:24px}.vse-projects-note p{margin:0;color:var(--pm);font-size:14px;line-height:1.95}.vse-projects-note__box>strong{padding:18px 22px;border-radius:14px;background:var(--pg);white-space:nowrap}
.vse-projects-section{padding:100px 0}.vse-projects-heading{max-width:760px;margin:0 auto 48px;text-align:center}.vse-projects-heading>span{justify-content:center;color:var(--pb)}.vse-projects-heading h2,.vse-projects-archive h2,.vse-projects-final h2{margin:0 0 18px;color:var(--pd);font-size:clamp(30px,4vw,48px);line-height:1.35}.vse-projects-heading p,.vse-projects-archive p,.vse-projects-final p{margin:0;color:var(--pm);font-size:16px;line-height:2}
.vse-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.vse-project-card{padding:30px 28px;border:1px solid var(--pbd);border-radius:21px;background:#fff;box-shadow:0 12px 36px rgba(6,26,53,.06);transition:.25s}.vse-project-card:hover{transform:translateY(-6px);box-shadow:0 24px 52px rgba(6,26,53,.12)}.vse-project-card--featured{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--pd),var(--pb))}.vse-project-card__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.vse-project-card__top>span{color:rgba(6,70,184,.22);font-size:35px;font-weight:900}.vse-project-card__top em{padding:7px 11px;border-radius:999px;color:var(--pb);background:#edf4ff;font-size:11px;font-style:normal;font-weight:800}.vse-project-card__icon{display:grid;width:54px;height:54px;place-items:center;margin-bottom:22px;border-radius:15px;color:var(--pb);background:#edf4ff}.vse-project-card__icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.vse-project-card h3{margin:0 0 13px;color:var(--pd);font-size:21px}.vse-project-card>p{margin:0 0 22px;color:var(--pm);font-size:14px;line-height:1.95}.vse-project-card dl{display:grid;gap:10px;margin:0}.vse-project-card dl div{display:flex;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--pbd)}.vse-project-card dt,.vse-project-card dd{margin:0;font-size:12px}.vse-project-card dt{color:var(--pm)}.vse-project-card dd{color:var(--pd);font-weight:800;text-align:left}.vse-project-card--featured .vse-project-card__top>span{color:rgba(255,255,255,.18)}.vse-project-card--featured .vse-project-card__top em,.vse-project-card--featured .vse-project-card__icon{color:var(--pd);background:var(--pg)}.vse-project-card--featured h3,.vse-project-card--featured>p,.vse-project-card--featured dt,.vse-project-card--featured dd{color:#fff}.vse-project-card--featured dl div{border-color:rgba(255,255,255,.16)}
.vse-projects-method{color:#fff;background:radial-gradient(circle at 82% 18%,rgba(246,185,26,.14),transparent 26%),var(--pd)}.vse-projects-heading--light h2{color:#fff}.vse-projects-heading--light>span{color:var(--pg)}.vse-projects-method__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.vse-projects-method article{padding:28px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.06)}.vse-projects-method strong{display:block;margin-bottom:28px;color:var(--pg);font-size:28px}.vse-projects-method h3{margin:0 0 10px;color:#fff;font-size:18px}.vse-projects-method p{margin:0;color:rgba(255,255,255,.65);font-size:13px;line-height:1.9}
.vse-projects-archive{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);align-items:center;gap:74px}.vse-projects-archive ul{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin:28px 0 0;padding:0;list-style:none}.vse-projects-archive li{position:relative;padding-right:21px;color:#405067;font-size:14px}.vse-projects-archive li:before{content:"✓";position:absolute;right:0;color:var(--pb);font-weight:900}.vse-projects-archive aside{overflow:hidden;padding:28px;border:1px solid var(--pbd);border-radius:22px;background:#fff;box-shadow:0 22px 55px rgba(6,26,53,.1)}.vse-projects-archive aside>strong{display:block;margin:-28px -28px 20px;padding:18px 28px;color:#fff;background:linear-gradient(120deg,var(--pd),var(--pb))}.vse-projects-archive aside div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--pbd);font-size:13px}.vse-projects-archive aside span{color:var(--pm)}.vse-projects-archive aside small{display:block;margin-top:18px;color:#7c899a;font-size:11px}
.vse-projects-final{padding:84px 0;color:#fff;background:radial-gradient(circle at 78% 22%,rgba(246,185,26,.16),transparent 25%),linear-gradient(130deg,var(--pd),var(--pb))}.vse-projects-final__inner{display:flex;align-items:center;justify-content:space-between;gap:50px}.vse-projects-final__inner>div:first-child{max-width:760px}.vse-projects-final h2,.vse-projects-final p{color:#fff}.vse-projects-final p{color:rgba(255,255,255,.75)}.vse-projects-final .vse-projects-actions{flex:0 0 auto;margin-top:0}
@media(max-width:1000px){.vse-projects-hero__grid,.vse-projects-archive{grid-template-columns:1fr}.vse-projects-grid{grid-template-columns:repeat(2,1fr)}.vse-projects-method__grid{grid-template-columns:repeat(2,1fr)}.vse-projects-final__inner{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.vse-projects-container{width:min(100% - 28px,1180px)}.vse-projects-hero{padding:76px 0 68px}.vse-projects-hero h1{font-size:36px}.vse-projects-hero p{font-size:15px}.vse-projects-actions{align-items:stretch;flex-direction:column}.vse-projects-btn{width:100%}.vse-projects-map{width:245px}.vse-projects-note{margin-top:-22px}.vse-projects-note__box{align-items:flex-start;flex-direction:column;padding:26px 22px}.vse-projects-section{padding:72px 0}.vse-projects-heading{text-align:right}.vse-projects-heading>span{justify-content:flex-start}.vse-projects-grid,.vse-projects-method__grid{grid-template-columns:1fr}.vse-projects-archive{gap:42px}.vse-projects-archive ul{grid-template-columns:1fr}.vse-projects-final{padding:68px 0}}


/* ========================================================================== 
   VSE SERVICES MOBILE HOTFIX — 1.5.1
   Fixes the right-side clipping and oversized hero typography seen on phones.
   ========================================================================== */

body.vse-services-page {
    overflow-x: hidden !important;
}

@media (max-width: 720px) {
    .vse-services,
    .vse-services-hero,
    .vse-services-hero__grid,
    .vse-services-hero__copy,
    .vse-services-hero__panel,
    .vse-services-container {
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .vse-services {
        width: 100% !important;
        overflow-x: clip !important;
    }

    .vse-services-container {
        width: calc(100% - 32px) !important;
        margin-right: auto !important;
        margin-left: auto !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .vse-services-hero__grid {
        display: block !important;
        width: 100% !important;
    }

    .vse-services-hero__copy {
        width: 100% !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .vse-services-kicker {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
        white-space: normal !important;
    }

    .vse-services-kicker::before {
        flex: 0 0 28px !important;
        width: 28px !important;
    }

    .vse-services-hero h1 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        font-size: clamp(29px, 8.2vw, 34px) !important;
        line-height: 1.48 !important;
        letter-spacing: -.02em !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    .vse-services-hero__copy > p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 2 !important;
        overflow-wrap: anywhere !important;
    }

    .vse-services-hero__points {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        width: 100% !important;
        margin-top: 26px !important;
    }

    .vse-services-hero__points span {
        width: 100% !important;
        padding-right: 22px !important;
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    .vse-services-actions {
        width: 100% !important;
        gap: 12px !important;
        margin-top: 28px !important;
    }

    .vse-services-btn {
        min-height: 54px !important;
        padding: 12px 16px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
    }

    .vse-services-hero__panel {
        width: 100% !important;
        margin-top: 42px !important;
        overflow: hidden !important;
    }

    .vse-services-orbit {
        width: min(245px, calc(100vw - 92px)) !important;
        max-width: 100% !important;
    }

    .vse-services-orbit__item--2 {
        left: -12px !important;
    }

    .vse-services-orbit__item--3 {
        right: -10px !important;
    }
}


/* ==========================================================================
   VSE MOBILE WIDTH RESET — 1.5.2
   Services + Projects
   --------------------------------------------------------------------------
   Some Android/RTL combinations allowed a child element to enlarge the whole
   Kadence page canvas. The viewport then displayed only the middle of the
   wider page, clipping headings and moving the logo outside the screen.
   This reset fixes the page canvas itself, not merely the heading.
   ========================================================================== */

@media (max-width: 767px) {

    body.vse-services-page,
    body.vse-projects-page {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }

    body.vse-services-page #page,
    body.vse-projects-page #page,
    body.vse-services-page #inner-wrap,
    body.vse-projects-page #inner-wrap,
    body.vse-services-page .site,
    body.vse-projects-page .site,
    body.vse-services-page .site-content,
    body.vse-projects-page .site-content,
    body.vse-services-page .content-area,
    body.vse-projects-page .content-area,
    body.vse-services-page .content-container,
    body.vse-projects-page .content-container,
    body.vse-services-page .site-main,
    body.vse-projects-page .site-main,
    body.vse-services-page article,
    body.vse-projects-page article,
    body.vse-services-page .entry-content-wrap,
    body.vse-projects-page .entry-content-wrap,
    body.vse-services-page .entry-content,
    body.vse-projects-page .entry-content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        transform: none !important;
    }

    body.vse-services-page #page,
    body.vse-projects-page #page,
    body.vse-services-page #inner-wrap,
    body.vse-projects-page #inner-wrap {
        position: relative !important;
        right: auto !important;
        left: auto !important;
        overflow-x: hidden !important;
    }

    /* Keep the Kadence mobile header inside the same viewport canvas. */
    body.vse-services-page #masthead,
    body.vse-projects-page #masthead,
    body.vse-services-page #masthead .site-header-row-container,
    body.vse-projects-page #masthead .site-header-row-container,
    body.vse-services-page #masthead .site-header-row-container-inner,
    body.vse-projects-page #masthead .site-header-row-container-inner,
    body.vse-services-page #masthead .site-container,
    body.vse-projects-page #masthead .site-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
    }

    body.vse-services-page #masthead .site-header-row-container-inner,
    body.vse-projects-page #masthead .site-header-row-container-inner {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    body.vse-services-page #masthead .site-branding,
    body.vse-projects-page #masthead .site-branding,
    body.vse-services-page #masthead .custom-logo-link,
    body.vse-projects-page #masthead .custom-logo-link {
        display: flex !important;
        width: auto !important;
        max-width: 165px !important;
        min-width: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
    }

    body.vse-services-page #masthead .custom-logo,
    body.vse-projects-page #masthead .custom-logo {
        display: block !important;
        width: auto !important;
        max-width: 150px !important;
        max-height: 54px !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Full page modules. */
    .vse-services,
    .vse-projects,
    .vse-services-hero,
    .vse-projects-hero,
    .vse-services-section,
    .vse-projects-section,
    .vse-services-final,
    .vse-projects-final {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
        overflow-x: hidden !important;
    }

    /*
     * Use padding instead of percentage width calculations. This is more
     * reliable on older Android RTL layout engines.
     */
    .vse-services-container,
    .vse-projects-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .vse-services-hero__grid,
    .vse-projects-hero__grid {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 42px !important;
    }

    .vse-services-hero__grid > *,
    .vse-projects-hero__grid > *,
    .vse-services-hero__copy,
    .vse-projects-hero__copy {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        right: auto !important;
        left: auto !important;
        transform: none !important;
    }

    .vse-services-kicker,
    .vse-projects-kicker {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    .vse-services-hero h1,
    .vse-projects-hero h1 {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        font-size: 30px !important;
        line-height: 1.52 !important;
        letter-spacing: -0.02em !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .vse-services-hero__copy > p,
    .vse-projects-hero p {
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 15px !important;
        line-height: 2 !important;
        text-align: right !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
    }

    .vse-services-actions,
    .vse-projects-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 12px !important;
        margin-top: 28px !important;
    }

    .vse-services-btn,
    .vse-projects-btn {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 13px 14px !important;
        white-space: normal !important;
        text-align: center !important;
    }

    .vse-services-hero__points {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    /* Keep decorative diagrams from enlarging document width. */
    .vse-services-hero__panel,
    .vse-projects-hero__visual {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .vse-services-orbit,
    .vse-projects-map,
    .vse-projects-diagram {
        width: 236px !important;
        max-width: calc(100vw - 76px) !important;
        min-width: 0 !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .vse-services-orbit__item--2 {
        left: 0 !important;
    }

    .vse-services-orbit__item--3 {
        right: 0 !important;
    }

    .vse-projects-map span:nth-of-type(2) {
        right: 0 !important;
    }

    .vse-projects-map span:nth-of-type(4) {
        left: 0 !important;
    }

    .vse-projects-diagram__node--2 {
        right: 0 !important;
    }

    .vse-projects-diagram__node--4 {
        left: 0 !important;
    }

    /* Remaining page sections must never establish a wider canvas. */
    .vse-services-strip,
    .vse-services-strip__grid,
    .vse-services-grid,
    .vse-services-solution-grid,
    .vse-system-types-grid,
    .vse-services-process__grid,
    .vse-services-equipment__grid,
    .vse-services-coverage__box,
    .vse-services-faq__grid,
    .vse-services-final__inner,
    .vse-projects-note,
    .vse-projects-note__box,
    .vse-projects-grid,
    .vse-projects-method__grid,
    .vse-projects-archive,
    .vse-projects-final__inner {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}


/* ==========================================================================
   VSE PRODUCTS PAGE — 1.6.0
   ========================================================================== */

.vse-products-page .entry-header,
.vse-products-page .entry-title,
.vse-products-page .page-title {
    display: none !important;
}

.vse-products-page .content-area,
.vse-products-page .site-main,
.vse-products-page .content-container,
.vse-products-page .entry-content-wrap,
.vse-products-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vse-products-page .content-bg,
.vse-products-page .site-container,
.vse-products-page .site-content {
    max-width: none !important;
    padding-inline: 0 !important;
}

.vse-products {
    --vse-p-blue: #0646b8;
    --vse-p-blue-2: #0b66d8;
    --vse-p-dark: #061a35;
    --vse-p-gold: #f6b91a;
    --vse-p-bg: #f5f8fc;
    --vse-p-text: #17263b;
    --vse-p-muted: #607086;
    --vse-p-border: #dce5f0;
    direction: rtl;
    overflow: hidden;
    color: var(--vse-p-text);
    background: #fff;
    font-family: "Vazirmatn", Tahoma, sans-serif;
}

.vse-products *,
.vse-products *::before,
.vse-products *::after {
    box-sizing: border-box;
}

.vse-products-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.vse-products-hero {
    position: relative;
    padding: 108px 0 96px;
    color: #fff;
    background:
        radial-gradient(circle at 15% 12%, rgba(246,185,26,.20), transparent 25%),
        radial-gradient(circle at 84% 72%, rgba(42,126,255,.24), transparent 34%),
        linear-gradient(135deg, #031d4a 0%, #0646b8 58%, #0b66d8 100%);
}

.vse-products-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .15;
    background-image:
        linear-gradient(rgba(255,255,255,.17) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.17) 1px, transparent 1px);
    background-size: 58px 58px;
}

.vse-products-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
    align-items: center;
    gap: 72px;
}

.vse-products-kicker,
.vse-products-heading > span,
.vse-products-final__inner > div > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--vse-p-gold);
    font-size: 14px;
    font-weight: 900;
}

.vse-products-kicker::before,
.vse-products-heading > span::before,
.vse-products-final__inner > div > span::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
}

.vse-products-hero h1 {
    max-width: 760px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.28;
    letter-spacing: -.035em;
}

.vse-products-hero__copy > p {
    max-width: 740px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 17px;
    line-height: 2;
}

.vse-products-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.vse-products-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.vse-products-btn:hover {
    transform: translateY(-2px);
}

.vse-products-btn--gold {
    color: var(--vse-p-dark) !important;
    background: var(--vse-p-gold);
    box-shadow: 0 14px 32px rgba(246,185,26,.23);
}

.vse-products-btn--outline {
    border-color: rgba(255,255,255,.48);
    color: #fff !important;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}

.vse-products-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 30px;
}

.vse-products-hero__badges span {
    position: relative;
    padding-right: 20px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 800;
}

.vse-products-hero__badges span::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-p-gold);
}

.vse-products-flow {
    position: relative;
    display: grid;
    grid-template-columns: repeat(7, auto);
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 430px;
    padding: 42px 26px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 32px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 30px 80px rgba(0,0,0,.2);
    backdrop-filter: blur(15px);
}

.vse-products-flow > span:not(.vse-products-flow__arrow),
.vse-products-flow > strong {
    display: grid;
    min-width: 82px;
    min-height: 64px;
    place-items: center;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 15px;
    color: #fff;
    background: rgba(3,29,74,.72);
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.vse-products-flow > strong {
    color: var(--vse-p-dark);
    background: var(--vse-p-gold);
    box-shadow: 0 0 0 10px rgba(246,185,26,.10);
}

.vse-products-flow__sun {
    background: linear-gradient(145deg, #ffd45a, var(--vse-p-gold)) !important;
    color: var(--vse-p-dark) !important;
}

.vse-products-flow__arrow {
    color: rgba(255,255,255,.65);
    font-size: 22px;
}

.vse-products-flow__branch {
    position: absolute;
    right: 50%;
    bottom: 70px;
    min-width: 110px !important;
    transform: translateX(50%);
}

.vse-products-flow__branch::before {
    content: "";
    position: absolute;
    right: 50%;
    bottom: 100%;
    width: 2px;
    height: 48px;
    background: rgba(255,255,255,.25);
}

.vse-products-notice {
    position: relative;
    z-index: 2;
    margin-top: -30px;
}

.vse-products-notice__box {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 26px 32px;
    border: 1px solid var(--vse-p-border);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(6,26,53,.12);
}

.vse-products-notice__box strong {
    flex: 0 0 auto;
    padding: 11px 15px;
    border-radius: 10px;
    color: var(--vse-p-dark);
    background: var(--vse-p-gold);
}

.vse-products-notice__box p {
    margin: 0;
    color: var(--vse-p-muted);
    font-size: 14px;
    line-height: 1.9;
}

.vse-products-nav {
    position: sticky;
    top: 0;
    z-index: 15;
    padding: 14px 0;
    border-bottom: 1px solid var(--vse-p-border);
    background: rgba(255,255,255,.94);
    box-shadow: 0 10px 30px rgba(6,26,53,.06);
    backdrop-filter: blur(12px);
}

.vse-products-nav .vse-products-container {
    display: flex;
    gap: 9px;
    overflow-x: auto;
    scrollbar-width: none;
}

.vse-products-nav .vse-products-container::-webkit-scrollbar {
    display: none;
}

.vse-products-nav a {
    flex: 0 0 auto;
    padding: 9px 14px;
    border: 1px solid var(--vse-p-border);
    border-radius: 999px;
    color: #33445a !important;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
}

.vse-products-nav a:hover {
    color: #fff !important;
    border-color: var(--vse-p-blue);
    background: var(--vse-p-blue);
}

.vse-products-section {
    padding: 100px 0;
}

.vse-products-section:nth-of-type(even) {
    background: var(--vse-p-bg);
}

.vse-products-heading {
    max-width: 780px;
    margin: 0 auto 50px;
    text-align: center;
}

.vse-products-heading > span {
    justify-content: center;
    color: var(--vse-p-blue);
}

.vse-products-heading h2,
.vse-products-brands h2,
.vse-products-final h2 {
    margin: 0 0 18px;
    color: var(--vse-p-dark);
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.35;
    letter-spacing: -.025em;
}

.vse-products-heading p,
.vse-products-brands p,
.vse-products-final p {
    margin: 0;
    color: var(--vse-p-muted);
    font-size: 16px;
    line-height: 2;
}

.vse-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.vse-product-card {
    position: relative;
    scroll-margin-top: 96px;
    min-height: 100%;
    padding: 30px 27px 26px;
    overflow: hidden;
    border: 1px solid var(--vse-p-border);
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(6,26,53,.06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.vse-product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 52px rgba(6,26,53,.12);
}

.vse-product-card--featured {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(145deg, var(--vse-p-dark), var(--vse-p-blue));
}

.vse-product-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 22px;
}

.vse-product-card__number {
    color: rgba(6,70,184,.18);
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
}

.vse-product-card__symbol {
    display: grid;
    min-width: 58px;
    height: 48px;
    place-items: center;
    padding: 0 10px;
    border-radius: 14px;
    color: var(--vse-p-blue);
    background: #edf4ff;
    font-size: 13px;
    font-weight: 900;
    direction: ltr;
}

.vse-product-card h3 {
    margin: 0 0 12px;
    color: var(--vse-p-dark);
    font-size: 21px;
    line-height: 1.5;
}

.vse-product-card > p {
    min-height: 82px;
    margin: 0 0 18px;
    color: var(--vse-p-muted);
    font-size: 14px;
    line-height: 1.95;
}

.vse-product-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 22px;
}

.vse-product-card__tags span {
    padding: 6px 9px;
    border-radius: 999px;
    color: #37506f;
    background: #f1f5fa;
    font-size: 10px;
    font-weight: 800;
}

.vse-product-card h4 {
    margin: 0 0 11px;
    color: var(--vse-p-dark);
    font-size: 13px;
}

.vse-product-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-product-card li {
    position: relative;
    margin-top: 8px;
    padding-right: 17px;
    color: #435269;
    font-size: 12px;
    line-height: 1.8;
}

.vse-product-card li::before {
    content: "";
    position: absolute;
    top: .7em;
    right: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--vse-p-gold);
}

.vse-product-card aside {
    margin-top: 20px;
    padding: 13px 14px;
    border-right: 3px solid var(--vse-p-gold);
    border-radius: 9px;
    color: #526177;
    background: #f7f9fc;
    font-size: 11px;
    line-height: 1.8;
}

.vse-product-card--featured .vse-product-card__number {
    color: rgba(255,255,255,.18);
}

.vse-product-card--featured .vse-product-card__symbol {
    color: var(--vse-p-dark);
    background: var(--vse-p-gold);
}

.vse-product-card--featured h3,
.vse-product-card--featured > p,
.vse-product-card--featured h4,
.vse-product-card--featured li {
    color: #fff;
}

.vse-product-card--featured .vse-product-card__tags span {
    color: #fff;
    background: rgba(255,255,255,.10);
}

.vse-product-card--featured aside {
    color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.08);
}

.vse-products-inverter-guide {
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(246,185,26,.14), transparent 26%),
        var(--vse-p-dark) !important;
}

.vse-products-heading--light h2,
.vse-products-heading--light p {
    color: #fff;
}

.vse-products-heading--light > span {
    color: var(--vse-p-gold);
}

.vse-products-compare {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.vse-products-compare article {
    padding: 30px 25px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.06);
}

.vse-products-compare article > span {
    display: inline-block;
    margin-bottom: 24px;
    color: var(--vse-p-gold);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}

.vse-products-compare h3 {
    margin: 0 0 12px;
    color: #fff;
    font-size: 20px;
}

.vse-products-compare p {
    min-height: 84px;
    margin: 0 0 18px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.9;
}

.vse-products-compare strong {
    display: block;
    color: #fff;
    font-size: 11px;
    line-height: 1.8;
}

.vse-products-compare__featured {
    border-color: rgba(246,185,26,.55) !important;
    background: linear-gradient(145deg, rgba(6,70,184,.82), rgba(11,102,216,.82)) !important;
    transform: translateY(-10px);
}

.vse-products-package-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.vse-products-package-grid article {
    padding: 30px 25px;
    border: 1px solid var(--vse-p-border);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(6,26,53,.06);
}

.vse-products-package-grid article > span {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 13px;
    color: #fff;
    background: var(--vse-p-blue);
    font-weight: 900;
}

.vse-products-package-grid h3 {
    margin: 0 0 14px;
    color: var(--vse-p-dark);
    font-size: 18px;
}

.vse-products-package-grid ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-products-package-grid li {
    position: relative;
    margin-top: 10px;
    padding-right: 18px;
    color: var(--vse-p-muted);
    font-size: 12px;
    line-height: 1.8;
}

.vse-products-package-grid li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-p-blue);
    font-weight: 900;
}

.vse-products-brands__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(350px, .75fr);
    align-items: center;
    gap: 75px;
}

.vse-products-brands ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 20px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.vse-products-brands li {
    position: relative;
    padding-right: 20px;
    color: #405067;
    font-size: 14px;
}

.vse-products-brands li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-p-blue);
    font-weight: 900;
}

.vse-products-brand-board {
    display: grid;
    gap: 12px;
    padding: 30px;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 80% 10%, rgba(246,185,26,.20), transparent 28%),
        linear-gradient(145deg, var(--vse-p-dark), var(--vse-p-blue));
    box-shadow: 0 26px 65px rgba(6,26,53,.18);
}

.vse-products-brand-board strong {
    margin-bottom: 8px;
    color: var(--vse-p-gold);
    font-size: 18px;
}

.vse-products-brand-board span {
    padding: 13px 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    font-size: 13px;
    font-weight: 800;
}

.vse-products-brand-board small {
    margin-top: 8px;
    color: rgba(255,255,255,.62);
    font-size: 10px;
    line-height: 1.8;
}

.vse-products-procurement {
    background: var(--vse-p-bg);
}

.vse-products-steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-products-steps li {
    position: relative;
    padding: 0 18px;
    text-align: center;
}

.vse-products-steps li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 28px;
    left: -14%;
    width: 28%;
    height: 2px;
    background: linear-gradient(90deg, var(--vse-p-border), var(--vse-p-blue));
}

.vse-products-steps strong {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    margin: 0 auto 20px;
    border: 5px solid #fff;
    border-radius: 50%;
    color: #fff;
    background: var(--vse-p-blue);
    box-shadow: 0 0 0 1px var(--vse-p-border), 0 10px 25px rgba(6,70,184,.16);
}

.vse-products-steps h3 {
    margin: 0 0 9px;
    color: var(--vse-p-dark);
    font-size: 16px;
}

.vse-products-steps p {
    margin: 0;
    color: var(--vse-p-muted);
    font-size: 11px;
    line-height: 1.8;
}

.vse-products-faq__grid {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    gap: 70px;
}

.vse-products-heading--side {
    margin: 0;
    text-align: right;
}

.vse-products-heading--side > span {
    justify-content: flex-start;
}

.vse-products-faq__list {
    display: grid;
    gap: 12px;
}

.vse-products-faq__list details {
    overflow: hidden;
    border: 1px solid var(--vse-p-border);
    border-radius: 14px;
    background: #fff;
}

.vse-products-faq__list summary {
    position: relative;
    padding: 20px 24px 20px 58px;
    color: var(--vse-p-dark);
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}

.vse-products-faq__list summary::-webkit-details-marker {
    display: none;
}

.vse-products-faq__list summary::before,
.vse-products-faq__list summary::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 24px;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: var(--vse-p-blue);
    transform: translateY(-50%);
}

.vse-products-faq__list summary::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform .2s ease;
}

.vse-products-faq__list details[open] summary::after {
    transform: translateY(-50%) rotate(0);
}

.vse-products-faq__list details p {
    margin: 0;
    padding: 0 24px 22px;
    color: var(--vse-p-muted);
    font-size: 14px;
    line-height: 2;
}

.vse-products-final {
    padding: 84px 0;
    color: #fff;
    background:
        radial-gradient(circle at 78% 22%, rgba(246,185,26,.16), transparent 25%),
        linear-gradient(130deg, var(--vse-p-dark), var(--vse-p-blue));
}

.vse-products-final__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.vse-products-final__inner > div:first-child {
    max-width: 730px;
}

.vse-products-final h2,
.vse-products-final p {
    color: #fff;
}

.vse-products-final p {
    color: rgba(255,255,255,.75);
}

.vse-products-final .vse-products-actions {
    flex: 0 0 auto;
    align-items: center;
    margin-top: 0;
}

.vse-products-text-link {
    color: #fff !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
}

@media (max-width: 1050px) {
    .vse-products-hero__grid,
    .vse-products-brands__grid,
    .vse-products-faq__grid {
        grid-template-columns: 1fr;
    }

    .vse-products-flow {
        min-height: 360px;
    }

    .vse-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vse-products-compare,
    .vse-products-package-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vse-products-steps {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px 0;
    }

    .vse-products-steps li::after {
        display: none;
    }

    .vse-products-final__inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    body.vse-products-page,
    body.vse-products-page #page,
    body.vse-products-page #inner-wrap,
    body.vse-products-page .site,
    body.vse-products-page .site-content,
    body.vse-products-page .content-area,
    body.vse-products-page .content-container,
    body.vse-products-page .site-main,
    body.vse-products-page article,
    body.vse-products-page .entry-content-wrap,
    body.vse-products-page .entry-content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        overflow-x: hidden !important;
        transform: none !important;
    }

    body.vse-products-page #masthead,
    body.vse-products-page #masthead .site-header-row-container,
    body.vse-products-page #masthead .site-header-row-container-inner,
    body.vse-products-page #masthead .site-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        transform: none !important;
    }

    body.vse-products-page #masthead .site-header-row-container-inner {
        padding-right: 16px !important;
        padding-left: 16px !important;
    }

    .vse-products-container {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .vse-products-hero {
        padding: 76px 0 68px;
    }

    .vse-products-hero__grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 42px;
    }

    .vse-products-hero__grid > *,
    .vse-products-hero__copy {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .vse-products-hero h1 {
        width: 100%;
        max-width: 100%;
        margin-bottom: 20px;
        font-size: 32px;
        line-height: 1.5;
        text-align: right;
        overflow-wrap: break-word;
    }

    .vse-products-hero__copy > p {
        width: 100%;
        max-width: 100%;
        font-size: 15px;
        text-align: right;
    }

    .vse-products-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .vse-products-btn {
        width: 100%;
        max-width: 100%;
    }

    .vse-products-flow {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 9px;
        min-height: 390px;
        padding: 26px 14px 110px;
    }

    .vse-products-flow > span:not(.vse-products-flow__arrow),
    .vse-products-flow > strong {
        min-width: 0;
        min-height: 58px;
        font-size: 10px;
    }

    .vse-products-flow__arrow {
        display: none;
    }

    .vse-products-flow__branch {
        right: 50%;
        bottom: 24px;
        width: 118px !important;
        transform: translateX(50%);
    }

    .vse-products-notice {
        margin-top: -18px;
    }

    .vse-products-notice__box {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px 20px;
    }

    .vse-products-nav {
        position: static;
    }

    .vse-products-nav .vse-products-container {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .vse-products-section {
        padding: 72px 0;
    }

    .vse-products-heading {
        margin-bottom: 36px;
        text-align: right;
    }

    .vse-products-heading > span {
        justify-content: flex-start;
    }

    .vse-products-grid,
    .vse-products-compare,
    .vse-products-package-grid,
    .vse-products-steps {
        grid-template-columns: 1fr;
    }

    .vse-product-card {
        padding: 26px 23px;
    }

    .vse-product-card > p {
        min-height: 0;
    }

    .vse-products-compare__featured {
        transform: none;
    }

    .vse-products-compare p {
        min-height: 0;
    }

    .vse-products-brands__grid {
        gap: 42px;
    }

    .vse-products-brands ul {
        grid-template-columns: 1fr;
    }

    .vse-products-steps {
        gap: 18px;
    }

    .vse-products-steps li {
        display: grid;
        grid-template-columns: 58px 1fr;
        column-gap: 16px;
        padding: 18px;
        border: 1px solid var(--vse-p-border);
        border-radius: 15px;
        background: #fff;
        text-align: right;
    }

    .vse-products-steps strong {
        grid-row: 1 / 3;
        margin: 0;
    }

    .vse-products-final {
        padding: 68px 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vse-products-btn,
    .vse-product-card {
        transition: none !important;
    }
}


/* ==========================================================================
   VSE AVAILABLE PRODUCT — Growatt SPF 6000 ES Plus — 1.6.1
   ========================================================================== */

.vse-products-featured {
    padding: 88px 0 74px;
    background:
        radial-gradient(circle at 12% 18%, rgba(246,185,26,.12), transparent 24%),
        linear-gradient(180deg, #f5f8fc 0%, #ffffff 100%);
}

.vse-products-featured__card {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(380px, .82fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid var(--vse-p-border);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 75px rgba(6,26,53,.13);
}

.vse-products-featured__copy {
    position: relative;
    padding: 50px 48px 44px;
}

.vse-products-featured__status {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}

.vse-products-featured__status span,
.vse-products-featured__status small {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
}

.vse-products-featured__status span {
    color: #08744f;
    background: #dcf8ed;
}

.vse-products-featured__status span::before {
    content: "";
    width: 8px;
    height: 8px;
    margin-left: 8px;
    border-radius: 50%;
    background: #0eae75;
    box-shadow: 0 0 0 5px rgba(14,174,117,.12);
}

.vse-products-featured__status small {
    color: #2f435e;
    background: #edf3fa;
}

.vse-products-featured h2 {
    max-width: 760px;
    margin: 0 0 17px;
    color: var(--vse-p-dark);
    font-size: clamp(31px, 4vw, 48px);
    line-height: 1.35;
}

.vse-products-featured__lead {
    max-width: 780px;
    margin: 0;
    color: var(--vse-p-muted);
    font-size: 16px;
    line-height: 2;
}

.vse-products-featured__use-cases,
.vse-products-featured__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.vse-products-featured__use-cases {
    margin-top: 24px;
}

.vse-products-featured__use-cases span {
    padding: 7px 11px;
    border: 1px solid #d5e3f5;
    border-radius: 999px;
    color: var(--vse-p-blue);
    background: #f5f9ff;
    font-size: 11px;
    font-weight: 900;
}

.vse-products-featured__specs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 30px 0 0;
}

.vse-products-featured__specs > div {
    display: flex;
    min-height: 74px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 13px 15px;
    border: 1px solid var(--vse-p-border);
    border-radius: 13px;
    background: #fbfcfe;
}

.vse-products-featured__specs dt,
.vse-products-featured__specs dd {
    margin: 0;
}

.vse-products-featured__specs dt {
    color: #738197;
    font-size: 10px;
    font-weight: 800;
}

.vse-products-featured__specs dd {
    color: var(--vse-p-dark);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.6;
}

.vse-products-featured__highlights {
    margin-top: 24px;
}

.vse-products-featured__highlights span {
    position: relative;
    flex: 1 1 220px;
    padding-right: 20px;
    color: #3c4d63;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.8;
}

.vse-products-featured__highlights span::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-p-blue);
    font-weight: 900;
}

.vse-products-featured__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.vse-products-btn--product {
    color: var(--vse-p-dark) !important;
    background: var(--vse-p-gold);
    box-shadow: 0 13px 30px rgba(246,185,26,.24);
}

.vse-products-btn--manual {
    border-color: #cddced;
    color: var(--vse-p-blue) !important;
    background: #fff;
}

.vse-products-featured__disclaimer {
    margin: 20px 0 0;
    color: #7b8797;
    font-size: 10px;
    line-height: 1.8;
}

.vse-products-featured__visual {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 42px 32px 34px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 42%, rgba(246,185,26,.23), transparent 28%),
        linear-gradient(150deg, #031d4a, #0646b8 62%, #0b66d8);
}

.vse-products-featured__visual::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image:
        linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 42px 42px;
}

.vse-products-featured__brand,
.vse-products-featured__visual img,
.vse-products-featured__visual-footer {
    position: relative;
    z-index: 1;
}

.vse-products-featured__brand {
    align-self: flex-start;
    color: var(--vse-p-gold);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: .12em;
    direction: ltr;
}

.vse-products-featured__visual img {
    display: block;
    width: min(100%, 470px);
    height: auto;
    margin: 10px auto;
    border-radius: 24px;
    filter: drop-shadow(0 24px 35px rgba(0,0,0,.22));
}

.vse-products-featured__visual-footer {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.18);
    color: #fff;
    direction: ltr;
}

.vse-products-featured__visual-footer strong {
    font-size: 15px;
    letter-spacing: .04em;
}

.vse-products-featured__visual-footer span {
    color: rgba(255,255,255,.68);
    font-size: 10px;
}

.vse-products-featured__technical-note {
    display: flex;
    gap: 12px;
    margin-top: 18px;
    padding: 17px 20px;
    border: 1px solid rgba(6,70,184,.13);
    border-radius: 13px;
    color: #526279;
    background: rgba(6,70,184,.045);
    font-size: 12px;
    line-height: 1.9;
}

.vse-products-featured__technical-note strong {
    flex: 0 0 auto;
    color: var(--vse-p-blue);
}

@media (max-width: 1000px) {
    .vse-products-featured__card {
        grid-template-columns: 1fr;
    }

    .vse-products-featured__visual {
        min-height: 520px;
        grid-row: 1;
    }
}

@media (max-width: 767px) {
    .vse-products-featured {
        padding: 68px 0 58px;
    }

    .vse-products-featured__card {
        width: 100%;
        max-width: 100%;
        border-radius: 21px;
    }

    .vse-products-featured__copy {
        min-width: 0;
        padding: 30px 22px 28px;
    }

    .vse-products-featured h2 {
        font-size: 29px;
        line-height: 1.5;
    }

    .vse-products-featured__lead {
        font-size: 14px;
    }

    .vse-products-featured__specs {
        grid-template-columns: 1fr;
    }

    .vse-products-featured__visual {
        min-height: 390px;
        padding: 26px 18px 24px;
    }

    .vse-products-featured__visual img {
        width: min(100%, 340px);
    }

    .vse-products-featured__visual-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .vse-products-featured__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vse-products-featured__technical-note {
        flex-direction: column;
    }
}


/* ==========================================================================
   Growatt SPF 6000 ES Plus - Sales + Education - 1.6.2
   ========================================================================== */

.vse-products-featured__original-link {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    padding: 10px 4px;
    color: #607086 !important;
    font-size: 12px;
    font-weight: 900;
    text-decoration: underline !important;
    text-underline-offset: 5px;
}

.vse-growatt-education {
    padding: 100px 0;
    color: #fff;
    background:
        radial-gradient(circle at 84% 10%, rgba(246,185,26,.16), transparent 26%),
        linear-gradient(145deg, #061a35, #0646b8 70%, #0b66d8);
}

.vse-growatt-education__grid {
    display: grid;
    grid-template-columns: minmax(360px, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: 70px;
}

.vse-growatt-education__image {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 26px;
    box-shadow: 0 30px 72px rgba(0,0,0,.25);
}

.vse-growatt-education__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.vse-growatt-education__image span {
    position: absolute;
    right: 16px;
    bottom: 16px;
    padding: 8px 12px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: rgba(255,255,255,.82);
    background: rgba(3,29,74,.72);
    font-size: 10px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.vse-growatt-education h2 {
    margin: 0 0 20px;
    color: #fff;
    font-size: clamp(31px, 4vw, 48px);
    line-height: 1.42;
}

.vse-growatt-education__copy > p {
    margin: 0;
    color: rgba(255,255,255,.80);
    font-size: 16px;
    line-height: 2;
}

.vse-growatt-education__copy > p strong {
    color: #fff;
}

.vse-growatt-education__flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 28px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.06);
}

.vse-growatt-education__flow span,
.vse-growatt-education__flow strong {
    padding: 8px 11px;
    border-radius: 9px;
    color: #fff;
    background: rgba(255,255,255,.08);
    font-size: 11px;
    font-weight: 900;
}

.vse-growatt-education__flow b {
    color: #f6b91a;
}

.vse-growatt-education__flow strong {
    color: #061a35;
    background: #f6b91a;
}

.vse-growatt-education__points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 28px;
}

.vse-growatt-education__points article {
    padding: 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    background: rgba(255,255,255,.06);
}

.vse-growatt-education__points strong {
    display: block;
    margin-bottom: 7px;
    color: #f6b91a;
    font-size: 14px;
}

.vse-growatt-education__points p {
    margin: 0;
    color: rgba(255,255,255,.67);
    font-size: 11px;
    line-height: 1.85;
}

.vse-growatt-education__decision {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

.vse-growatt-education__decision section {
    padding: 28px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.06);
}

.vse-growatt-education__decision h3 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 18px;
}

.vse-growatt-education__decision ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-growatt-education__decision li {
    position: relative;
    margin-top: 10px;
    padding-right: 20px;
    color: rgba(255,255,255,.73);
    font-size: 13px;
    line-height: 1.8;
}

.vse-growatt-education__decision li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: #f6b91a;
    font-weight: 900;
}

.vse-growatt-education__manual-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin-top: 24px;
    padding: 32px 36px;
    border: 1px solid rgba(246,185,26,.38);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(0,0,0,.16);
}

.vse-growatt-education__manual-box > div:first-child {
    max-width: 720px;
}

.vse-growatt-education__manual-box span {
    color: #0646b8;
    font-size: 12px;
    font-weight: 900;
}

.vse-growatt-education__manual-box h3 {
    margin: 6px 0 10px;
    color: #061a35;
    font-size: 21px;
    line-height: 1.5;
}

.vse-growatt-education__manual-box p {
    margin: 0;
    color: #607086;
    font-size: 13px;
    line-height: 1.9;
}

.vse-growatt-education__manual-actions {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 1000px) {
    .vse-growatt-education__grid {
        grid-template-columns: 1fr;
    }

    .vse-growatt-education__image {
        width: min(100%, 620px);
        margin-inline: auto;
    }

    .vse-growatt-education__manual-box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .vse-growatt-education {
        padding: 72px 0;
    }

    .vse-growatt-education__grid {
        gap: 42px;
    }

    .vse-growatt-education h2 {
        font-size: 29px;
    }

    .vse-growatt-education__copy > p {
        font-size: 14px;
    }

    .vse-growatt-education__points,
    .vse-growatt-education__decision {
        grid-template-columns: 1fr;
    }

    .vse-growatt-education__flow {
        align-items: stretch;
        flex-direction: column;
    }

    .vse-growatt-education__flow b {
        display: none;
    }

    .vse-growatt-education__manual-box {
        padding: 25px 21px;
    }

    .vse-growatt-education__manual-actions {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================\n   VSE REAL PROJECTS — 1.7.0\n   ========================================================================== */
.vse-projects-note__box--real{align-items:center}.vse-projects-real-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;flex:0 0 390px}.vse-projects-real-stats span{display:flex;min-height:78px;flex-direction:column;align-items:center;justify-content:center;padding:12px;border:1px solid #dce5f0;border-radius:13px;color:#607086!important;background:#f8fbff;text-align:center;font-size:11px!important}.vse-projects-real-stats strong{margin-bottom:3px;color:#0646b8;font-size:23px}
.vse-projects-real{background:#f5f8fc}.vse-projects-real-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.vse-project-real-card{min-width:0;overflow:hidden;border:1px solid #dce5f0;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(6,26,53,.09);transition:transform .25s ease,box-shadow .25s ease}.vse-project-real-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(6,26,53,.14)}.vse-project-real-card--featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(390px,.9fr) minmax(0,1.1fr)}.vse-project-real-card__image{position:relative;display:block;min-height:300px;overflow:hidden;background:#e8eef6}.vse-project-real-card--featured .vse-project-real-card__image{min-height:100%}.vse-project-real-card__image img{display:block;width:100%;height:100%;min-height:300px;object-fit:cover;transition:transform .5s ease}.vse-project-real-card:hover .vse-project-real-card__image img{transform:scale(1.035)}.vse-project-real-card__image>span{position:absolute;right:16px;bottom:16px;padding:8px 12px;border-radius:999px;color:#fff;background:rgba(6,26,53,.78);font-size:10px;font-weight:800;backdrop-filter:blur(8px)}.vse-project-real-card__content{padding:32px 30px}.vse-project-real-card--featured .vse-project-real-card__content{padding:42px 40px}.vse-project-real-card__badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:17px}.vse-project-real-card__badges span{padding:7px 11px;border-radius:999px;color:#0646b8;background:#edf4ff;font-size:10px;font-weight:900}.vse-project-real-card__badges span:first-child{color:#061a35;background:#f6b91a}.vse-project-real-card h3{margin:0 0 15px;color:#061a35;font-size:clamp(22px,2.5vw,31px);line-height:1.5}.vse-project-real-card p{margin:0 0 14px;color:#607086;font-size:14px;line-height:2}.vse-project-real-card__specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 0}.vse-project-real-card__specs>div{padding:12px 14px;border:1px solid #dce5f0;border-radius:12px;background:#fbfdff}.vse-project-real-card__specs dt,.vse-project-real-card__specs dd{margin:0}.vse-project-real-card__specs dt{margin-bottom:5px;color:#7b899b;font-size:10px;font-weight:800}.vse-project-real-card__specs dd{color:#17314f;font-size:12px;font-weight:900;line-height:1.7}.vse-project-real-card__highlight,.vse-project-real-card__note{margin-top:20px;padding:14px 16px;border-radius:11px;font-size:11px;line-height:1.9}.vse-project-real-card__highlight{border-right:3px solid #f6b91a;color:#4b5b70;background:#fff9e7}.vse-project-real-card__highlight strong{color:#061a35}.vse-project-real-card__note{border-right:3px solid #8aa8cc;color:#526279;background:#f4f8fc}.vse-project-real-card__details{margin-top:20px;border:1px solid #dce5f0;border-radius:12px;background:#fff}.vse-project-real-card__details summary{position:relative;padding:15px 17px 15px 45px;color:#0646b8;font-size:12px;font-weight:900;cursor:pointer;list-style:none}.vse-project-real-card__details summary::-webkit-details-marker{display:none}.vse-project-real-card__details summary:after{content:'+';position:absolute;left:17px;top:50%;font-size:18px;transform:translateY(-50%)}.vse-project-real-card__details[open] summary:after{content:'−'}.vse-project-real-card__details ul{margin:0;padding:0 20px 17px;list-style:none}.vse-project-real-card__details li{position:relative;margin-top:8px;padding-right:17px;color:#526279;font-size:11px;line-height:1.8}.vse-project-real-card__details li:before{content:'✓';position:absolute;right:0;color:#0a9d6b;font-weight:900}.vse-projects-solutions{background:#fff}
@media(max-width:1000px){.vse-projects-note__box--real{align-items:flex-start;flex-direction:column}.vse-projects-real-stats{width:100%;flex:0 0 auto}.vse-project-real-card--featured{grid-template-columns:1fr}.vse-project-real-card--featured .vse-project-real-card__image{min-height:430px}}
@media(max-width:767px){.vse-projects-real-stats{grid-template-columns:1fr}.vse-projects-real-stats span{min-height:62px}.vse-projects-real-grid{grid-template-columns:1fr}.vse-project-real-card--featured{display:block}.vse-project-real-card__image,.vse-project-real-card--featured .vse-project-real-card__image{min-height:250px}.vse-project-real-card__image img{min-height:250px}.vse-project-real-card__content,.vse-project-real-card--featured .vse-project-real-card__content{padding:26px 22px}.vse-project-real-card__specs{grid-template-columns:1fr}.vse-project-real-card h3{font-size:24px}.vse-project-real-card p{font-size:13px}.vse-projects-real-grid,.vse-project-real-card,.vse-project-real-card__content,.vse-project-real-card__image{width:100%!important;max-width:100%!important;min-width:0!important}}


/* ==========================================================================\n   Products hero refinement — 1.7.1\n   ========================================================================== */

#vse-products-available {
    scroll-margin-top: 92px;
}

.vse-products-hero__grid {
    grid-template-columns: minmax(0, 1.06fr) minmax(430px, .94fr);
    gap: 62px;
}

.vse-products-hero h1 {
    max-width: 700px;
    font-size: clamp(38px, 4.4vw, 60px);
    line-height: 1.32;
}

.vse-products-flow--refined {
    display: block;
    min-height: 0;
    padding: 30px 26px 24px;
    overflow: hidden;
}

.vse-products-flow__heading {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(255,255,255,.16);
}

.vse-products-flow__heading strong {
    color: #fff;
    font-size: 15px;
    line-height: 1.7;
}

.vse-products-flow__heading span {
    color: rgba(255,255,255,.62);
    font-size: 10px;
    line-height: 1.7;
    text-align: left;
}

.vse-products-flow__diagram {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 76px 17px 68px 17px 78px 17px 82px 17px 72px 17px 82px;
    grid-template-rows: 74px 56px 66px;
    align-items: center;
    justify-content: center;
    gap: 0 4px;
    width: 100%;
    direction: ltr;
}

.vse-products-flow__node {
    display: grid;
    min-width: 0;
    min-height: 58px;
    place-items: center;
    padding: 8px 7px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 14px;
    color: #fff;
    background: rgba(3,29,74,.74);
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.55;
    text-align: center;
    direction: rtl;
}

.vse-products-flow__node--sun {
    grid-column: 11;
    grid-row: 1;
    color: var(--vse-p-dark);
    background: linear-gradient(145deg, #ffd45a, var(--vse-p-gold));
}

.vse-products-flow__link--1 { grid-column: 10; grid-row: 1; }
.vse-products-flow__node--panel { grid-column: 9; grid-row: 1; }
.vse-products-flow__link--2 { grid-column: 8; grid-row: 1; }
.vse-products-flow__node--dc { grid-column: 7; grid-row: 1; }
.vse-products-flow__link--3 { grid-column: 6; grid-row: 1; }

.vse-products-flow__node--inverter {
    grid-column: 5;
    grid-row: 1;
    color: var(--vse-p-dark);
    background: var(--vse-p-gold);
    box-shadow: 0 0 0 8px rgba(246,185,26,.10), 0 12px 25px rgba(0,0,0,.16);
}

.vse-products-flow__link--4 { grid-column: 4; grid-row: 1; }
.vse-products-flow__node--ac { grid-column: 3; grid-row: 1; }
.vse-products-flow__link--5 { grid-column: 2; grid-row: 1; }
.vse-products-flow__node--load { grid-column: 1; grid-row: 1; }

.vse-products-flow__link {
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.64);
    font-size: 19px;
    font-style: normal;
}

.vse-products-flow__battery-line {
    position: relative;
    grid-column: 5;
    grid-row: 2;
    width: 2px;
    height: 56px;
    justify-self: center;
    background: linear-gradient(to bottom, rgba(255,255,255,.56), rgba(255,255,255,.20));
}

.vse-products-flow__battery-line::after {
    content: "↕";
    position: absolute;
    top: 50%;
    right: 50%;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(3,29,74,.92);
    font-size: 12px;
    transform: translate(50%, -50%);
}

.vse-products-flow__node--battery {
    grid-column: 5;
    grid-row: 3;
    min-width: 104px;
    justify-self: center;
    color: #fff;
    border-color: rgba(246,185,26,.45);
    background: rgba(3,29,74,.88);
}

.vse-products-flow__caption {
    position: relative;
    z-index: 2;
    max-width: 430px;
    margin: 20px auto 0;
    color: rgba(255,255,255,.69);
    font-size: 10px;
    line-height: 1.9;
    text-align: center;
}

@media (max-width: 1120px) {
    .vse-products-hero__grid {
        grid-template-columns: 1fr;
    }

    .vse-products-flow--refined {
        width: min(100%, 660px);
        margin-inline: auto;
    }
}

@media (max-width: 767px) {
    .vse-products-hero h1 {
        font-size: 30px;
        line-height: 1.5;
    }

    .vse-products-flow--refined {
        min-height: 0;
        padding: 24px 16px 22px;
    }

    .vse-products-flow__heading {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 22px;
    }

    .vse-products-flow__heading span {
        text-align: right;
    }

    .vse-products-flow__diagram {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 9px;
        direction: rtl;
    }

    .vse-products-flow__node {
        width: min(100%, 250px);
        min-height: 52px;
        margin-inline: auto;
    }

    .vse-products-flow__link {
        height: 18px;
        transform: rotate(-90deg);
    }

    .vse-products-flow__battery-line {
        width: 2px;
        height: 34px;
        margin-inline: auto;
    }

    .vse-products-flow__node--battery {
        width: min(100%, 250px);
        min-width: 0;
    }

    .vse-products-flow__caption {
        margin-top: 18px;
        text-align: right;
    }
}


/* ==========================================================================
   PRODUCTS HERO FLOW — FINAL DESKTOP FIT 1.7.2
   Keeps every node fully inside the diagram card.
   ========================================================================== */

@media (min-width: 768px) {

    .vse-products-flow--refined {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .vse-products-flow__diagram {
        grid-template-columns:
            70px 10px
            62px 10px
            72px 10px
            74px 10px
            66px 10px
            76px !important;
        column-gap: 2px !important;
        width: 100% !important;
        max-width: 490px !important;
        margin-right: auto !important;
        margin-left: auto !important;
        overflow: visible !important;
    }

    .vse-products-flow__node {
        width: 100% !important;
        min-width: 0 !important;
        padding: 7px 4px !important;
        font-size: 9px !important;
        line-height: 1.45 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .vse-products-flow__node--dc {
        font-size: 8.5px !important;
    }

    .vse-products-flow__node--load {
        font-size: 8.5px !important;
    }

    .vse-products-flow__link {
        width: 10px !important;
        font-size: 15px !important;
    }

    .vse-products-flow__node--inverter {
        box-shadow:
            0 0 0 6px rgba(246,185,26,.10),
            0 10px 22px rgba(0,0,0,.15) !important;
    }

    .vse-products-flow__node--battery {
        width: 104px !important;
        min-width: 104px !important;
        font-size: 10px !important;
    }
}

@media (min-width: 768px) and (max-width: 920px) {
    .vse-products-flow__diagram {
        transform: scale(.96);
        transform-origin: center top;
    }
}


/* ==========================================================================
   PROJECTS INTRO COPY — 1.7.3
   Future-proof wording and a cleaner intro without statistic counters.
   ========================================================================== */

.vse-projects-note__box--real {
    display: block !important;
}

.vse-projects-note__box--real > div:first-child {
    width: 100% !important;
    max-width: 940px !important;
}

.vse-projects-note__box--real h2 {
    max-width: 860px;
}

.vse-projects-note__box--real p {
    max-width: 980px;
}

.vse-projects-real-stats {
    display: none !important;
}


/* ==========================================================================
   VSE ABOUT + CONTACT PAGES — 1.8.0
   ========================================================================== */

.vse-about-page .entry-header,
.vse-about-page .entry-title,
.vse-about-page .page-title,
.vse-contact-page .entry-header,
.vse-contact-page .entry-title,
.vse-contact-page .page-title {
    display: none !important;
}

.vse-about-page .content-area,
.vse-about-page .site-main,
.vse-about-page .content-container,
.vse-about-page .entry-content-wrap,
.vse-about-page .entry-content,
.vse-contact-page .content-area,
.vse-contact-page .site-main,
.vse-contact-page .content-container,
.vse-contact-page .entry-content-wrap,
.vse-contact-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vse-about-page .content-bg,
.vse-about-page .site-container,
.vse-about-page .site-content,
.vse-contact-page .content-bg,
.vse-contact-page .site-container,
.vse-contact-page .site-content {
    max-width: none !important;
    padding-inline: 0 !important;
}

.vse-about,
.vse-contact {
    --vse-ac-blue: #0646b8;
    --vse-ac-blue-2: #0b68db;
    --vse-ac-dark: #061a35;
    --vse-ac-gold: #f6b91a;
    --vse-ac-bg: #f5f8fc;
    --vse-ac-text: #17263b;
    --vse-ac-muted: #607086;
    --vse-ac-border: #dce5f0;
    direction: rtl;
    overflow: hidden;
    color: var(--vse-ac-text);
    background: #fff;
    font-family: "Vazirmatn", Tahoma, sans-serif;
}

.vse-about *,
.vse-about *::before,
.vse-about *::after,
.vse-contact *,
.vse-contact *::before,
.vse-contact *::after {
    box-sizing: border-box;
}

.vse-about-container,
.vse-contact-container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

/* Shared hero language */
.vse-about-hero,
.vse-contact-hero {
    position: relative;
    padding: 108px 0 96px;
    color: #fff;
    background:
        radial-gradient(circle at 16% 16%, rgba(246,185,26,.18), transparent 24%),
        radial-gradient(circle at 82% 72%, rgba(67,139,255,.23), transparent 34%),
        linear-gradient(135deg, #031d4a 0%, #0646b8 57%, #0b68db 100%);
}

.vse-about-hero::before,
.vse-contact-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .15;
    background-image:
        linear-gradient(rgba(255,255,255,.17) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.17) 1px, transparent 1px);
    background-size: 58px 58px;
}

.vse-about-hero__grid,
.vse-contact-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(350px, .9fr);
    align-items: center;
    gap: 72px;
}

.vse-about-kicker,
.vse-contact-kicker,
.vse-about-heading > span,
.vse-contact-heading > span,
.vse-about-final__inner > div > span,
.vse-contact-final__inner > div > span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--vse-ac-gold);
    font-size: 14px;
    font-weight: 900;
}

.vse-about-kicker::before,
.vse-contact-kicker::before,
.vse-about-heading > span::before,
.vse-contact-heading > span::before,
.vse-about-final__inner > div > span::before,
.vse-contact-final__inner > div > span::before {
    content: "";
    width: 34px;
    height: 3px;
    border-radius: 999px;
    background: currentColor;
}

.vse-about-hero h1,
.vse-contact-hero h1 {
    max-width: 800px;
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(40px, 5vw, 67px);
    line-height: 1.3;
    letter-spacing: -.035em;
}

.vse-about-hero__copy > p,
.vse-contact-hero__copy > p {
    max-width: 760px;
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 17px;
    line-height: 2;
}

/* About */
.vse-about-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 32px;
}

.vse-about-btn,
.vse-contact-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border: 1px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease;
}

.vse-about-btn:hover,
.vse-contact-btn:hover {
    transform: translateY(-2px);
}

.vse-about-btn--gold,
.vse-contact-btn--gold {
    color: var(--vse-ac-dark) !important;
    background: var(--vse-ac-gold);
    box-shadow: 0 14px 32px rgba(246,185,26,.22);
}

.vse-about-btn--outline {
    border-color: rgba(255,255,255,.48);
    color: #fff !important;
    background: rgba(255,255,255,.08);
}

.vse-about-btn--primary {
    color: #fff !important;
    background: var(--vse-ac-blue);
}

.vse-about-signature {
    display: grid;
    grid-template-columns: 112px 1fr;
    align-items: center;
    gap: 20px;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 28px;
    background: rgba(255,255,255,.09);
    box-shadow: 0 30px 80px rgba(0,0,0,.18);
    backdrop-filter: blur(14px);
}

.vse-about-signature__mark {
    display: grid;
    width: 112px;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 50%;
    color: var(--vse-ac-dark);
    background: var(--vse-ac-gold);
    box-shadow: 0 0 0 12px rgba(246,185,26,.11);
    font-size: 29px;
    font-weight: 900;
}

.vse-about-signature strong {
    color: #fff;
    font-size: 20px;
    direction: ltr;
}

.vse-about-signature p {
    margin: 7px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.8;
}

.vse-about-signature ul {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.vse-about-signature li {
    padding: 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 11px;
    color: #fff;
    background: rgba(255,255,255,.055);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.vse-about-intro {
    position: relative;
    z-index: 2;
    margin-top: -32px;
}

.vse-about-intro__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 46px;
    padding: 34px 40px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(6,26,53,.12);
}

.vse-about-intro__box > div {
    max-width: 850px;
}

.vse-about-intro span {
    color: var(--vse-ac-blue);
    font-size: 13px;
    font-weight: 900;
}

.vse-about-intro h2 {
    margin: 7px 0 12px;
    color: var(--vse-ac-dark);
    font-size: 26px;
}

.vse-about-intro p {
    margin: 0;
    color: var(--vse-ac-muted);
    font-size: 14px;
    line-height: 2;
}

.vse-about-intro__box > strong {
    flex: 0 0 auto;
    max-width: 190px;
    padding: 18px 21px;
    border-radius: 14px;
    color: var(--vse-ac-dark);
    background: var(--vse-ac-gold);
    text-align: center;
    line-height: 1.7;
}

.vse-about-section,
.vse-contact-section {
    padding: 100px 0;
}

.vse-about-section:nth-of-type(even),
.vse-contact-section:nth-of-type(even) {
    background: var(--vse-ac-bg);
}

.vse-about-heading,
.vse-contact-heading {
    max-width: 780px;
    margin: 0 auto 50px;
    text-align: center;
}

.vse-about-heading > span,
.vse-contact-heading > span {
    justify-content: center;
    color: var(--vse-ac-blue);
}

.vse-about-heading h2,
.vse-contact-heading h2,
.vse-about-values h2,
.vse-about-digital h2,
.vse-about-coverage h2,
.vse-about-final h2,
.vse-contact-sidebar h2,
.vse-contact-final h2 {
    margin: 0 0 18px;
    color: var(--vse-ac-dark);
    font-size: clamp(30px, 4vw, 47px);
    line-height: 1.38;
    letter-spacing: -.025em;
}

.vse-about-heading p,
.vse-contact-heading p,
.vse-about-values p,
.vse-about-digital p,
.vse-about-coverage p,
.vse-about-final p,
.vse-contact-sidebar p,
.vse-contact-final p {
    margin: 0;
    color: var(--vse-ac-muted);
    font-size: 16px;
    line-height: 2;
}

.vse-about-capabilities {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.vse-about-capabilities article {
    padding: 30px 25px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(6,26,53,.06);
}

.vse-about-capabilities article > span {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 15px;
    color: var(--vse-ac-blue);
    background: #edf4ff;
}

.vse-about-capabilities svg,
.vse-contact-channel svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vse-about-capabilities h3 {
    margin: 0 0 11px;
    color: var(--vse-ac-dark);
    font-size: 18px;
}

.vse-about-capabilities p {
    margin: 0;
    color: var(--vse-ac-muted);
    font-size: 13px;
    line-height: 1.9;
}

.vse-about-method {
    color: #fff;
    background:
        radial-gradient(circle at 82% 18%, rgba(246,185,26,.14), transparent 26%),
        var(--vse-ac-dark) !important;
}

.vse-about-heading--light h2 {
    color: #fff;
}

.vse-about-heading--light > span {
    color: var(--vse-ac-gold);
}

.vse-about-method__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-about-method__grid li {
    padding: 27px 22px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: rgba(255,255,255,.06);
}

.vse-about-method__grid strong {
    display: block;
    margin-bottom: 24px;
    color: var(--vse-ac-gold);
    font-size: 26px;
}

.vse-about-method__grid h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 17px;
}

.vse-about-method__grid p {
    margin: 0;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    line-height: 1.85;
}

.vse-about-values__grid,
.vse-about-digital__grid {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    align-items: center;
    gap: 70px;
}

.vse-about-values__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.vse-about-values__cards article {
    min-height: 180px;
    padding: 25px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 17px;
    background: #fff;
}

.vse-about-values__cards strong {
    color: rgba(6,70,184,.25);
    font-size: 30px;
}

.vse-about-values__cards h3 {
    margin: 18px 0 8px;
    color: var(--vse-ac-dark);
    font-size: 16px;
}

.vse-about-values__cards p {
    font-size: 12px;
    line-height: 1.85;
}

.vse-about-digital {
    background: var(--vse-ac-bg);
}

.vse-about-digital__visual {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 13px;
    padding: 40px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 50% 50%, rgba(246,185,26,.2), transparent 28%),
        linear-gradient(145deg, var(--vse-ac-dark), var(--vse-ac-blue));
    box-shadow: 0 28px 70px rgba(6,26,53,.18);
}

.vse-about-digital__visual span {
    display: grid;
    min-height: 76px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 15px;
    color: #fff;
    background: rgba(255,255,255,.06);
    font-size: 13px;
    font-weight: 900;
}

.vse-about-digital__visual strong {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    width: 112px;
    aspect-ratio: 1;
    place-items: center;
    margin: -14px auto;
    border-radius: 50%;
    color: var(--vse-ac-dark);
    background: var(--vse-ac-gold);
    box-shadow: 0 0 0 12px rgba(246,185,26,.1);
    font-size: 28px;
}

.vse-about-text-link {
    display: inline-block;
    margin-top: 24px;
    color: var(--vse-ac-blue) !important;
    font-weight: 900;
    text-decoration: none !important;
}

.vse-about-coverage__box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
    padding: 42px 50px;
    border: 1px solid rgba(6,70,184,.14);
    border-radius: 24px;
    background:
        linear-gradient(110deg, rgba(6,70,184,.07), rgba(246,185,26,.08)),
        #fff;
}

.vse-about-coverage__box > div {
    max-width: 790px;
}

.vse-about-final,
.vse-contact-final {
    padding: 84px 0;
    color: #fff;
    background:
        radial-gradient(circle at 78% 22%, rgba(246,185,26,.16), transparent 25%),
        linear-gradient(130deg, var(--vse-ac-dark), var(--vse-ac-blue));
}

.vse-about-final__inner,
.vse-contact-final__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.vse-about-final__inner > div:first-child,
.vse-contact-final__inner > div:first-child {
    max-width: 780px;
}

.vse-about-final h2,
.vse-about-final p,
.vse-contact-final h2,
.vse-contact-final p {
    color: #fff;
}

.vse-about-final p,
.vse-contact-final p {
    color: rgba(255,255,255,.74);
}

.vse-about-final .vse-about-actions {
    flex: 0 0 auto;
    margin-top: 0;
}

/* Contact */
.vse-contact-hero__panel {
    padding: 34px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 28px;
    background: rgba(255,255,255,.09);
    box-shadow: 0 30px 80px rgba(0,0,0,.18);
    backdrop-filter: blur(14px);
}

.vse-contact-hero__panel > strong {
    display: block;
    margin-bottom: 20px;
    color: #fff;
    font-size: 20px;
}

.vse-contact-hero__panel ul {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-contact-hero__panel li {
    position: relative;
    padding: 13px 40px 13px 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    color: rgba(255,255,255,.83);
    background: rgba(255,255,255,.055);
    font-size: 13px;
}

.vse-contact-hero__panel li::before {
    content: "✓";
    position: absolute;
    top: 13px;
    right: 15px;
    color: var(--vse-ac-gold);
    font-weight: 900;
}

.vse-contact-channels {
    position: relative;
    z-index: 2;
    margin-top: -32px;
}

.vse-contact-channels__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    border: 1px solid var(--vse-ac-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(6,26,53,.12);
}

.vse-contact-channel {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 27px;
    color: inherit !important;
    text-decoration: none !important;
}

.vse-contact-channel + .vse-contact-channel {
    border-right: 1px solid var(--vse-ac-border);
}

.vse-contact-channel > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 14px;
    color: var(--vse-ac-blue);
    background: #edf4ff;
}

.vse-contact-channel small {
    color: var(--vse-ac-muted);
    font-size: 11px;
}

.vse-contact-channel strong {
    max-width: 100%;
    margin: 7px 0 8px;
    overflow-wrap: anywhere;
    color: var(--vse-ac-dark);
    font-size: 17px;
}

.vse-contact-channel em {
    color: var(--vse-ac-muted);
    font-size: 11px;
    font-style: normal;
    line-height: 1.8;
}

.vse-contact-channel--featured {
    color: #fff !important;
    background: linear-gradient(145deg, var(--vse-ac-dark), var(--vse-ac-blue));
}

.vse-contact-channel--featured > span {
    color: var(--vse-ac-dark);
    background: var(--vse-ac-gold);
}

.vse-contact-channel--featured small,
.vse-contact-channel--featured strong,
.vse-contact-channel--featured em {
    color: #fff;
}

.vse-contact-main {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    align-items: start;
    gap: 32px;
}

.vse-contact-form-card {
    padding: 38px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(6,26,53,.08);
}

.vse-contact-form-card header > span {
    color: var(--vse-ac-blue);
    font-size: 13px;
    font-weight: 900;
}

.vse-contact-form-card header h2 {
    margin: 7px 0 12px;
    color: var(--vse-ac-dark);
    font-size: 30px;
}

.vse-contact-form-card header p {
    margin: 0 0 28px;
    color: var(--vse-ac-muted);
    font-size: 13px;
    line-height: 1.9;
}

.vse-project-contact-form {
    display: grid;
    gap: 17px;
}

.vse-contact-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.vse-project-contact-form label {
    display: grid;
    gap: 8px;
}

.vse-project-contact-form label > span {
    color: #33445a;
    font-size: 12px;
    font-weight: 900;
}

.vse-project-contact-form input,
.vse-project-contact-form select,
.vse-project-contact-form textarea {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #cfdbea;
    border-radius: 11px;
    color: var(--vse-ac-dark);
    background: #fbfcfe;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.vse-project-contact-form textarea {
    min-height: 145px;
    resize: vertical;
    line-height: 1.9;
}

.vse-project-contact-form input:focus,
.vse-project-contact-form select:focus,
.vse-project-contact-form textarea:focus {
    border-color: var(--vse-ac-blue);
    box-shadow: 0 0 0 4px rgba(6,70,184,.09);
}

.vse-project-contact-form [aria-invalid="true"] {
    border-color: #d94a4a !important;
    box-shadow: 0 0 0 4px rgba(217,74,74,.08) !important;
}

.vse-contact-consent {
    display: flex !important;
    grid-template-columns: 18px 1fr;
    align-items: flex-start;
    gap: 10px !important;
    padding: 13px 14px;
    border-radius: 10px;
    background: #f5f8fc;
}

.vse-contact-consent input {
    flex: 0 0 auto;
    width: 17px;
    min-height: 17px;
    margin-top: 3px;
}

.vse-contact-consent span {
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.8;
}

.vse-contact-submit {
    min-height: 54px;
    border: 0;
    border-radius: 12px;
    color: var(--vse-ac-dark);
    background: var(--vse-ac-gold);
    box-shadow: 0 13px 30px rgba(246,185,26,.2);
    font-family: inherit;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}

.vse-contact-form-status {
    min-height: 22px;
    margin: 0;
    color: #b43131;
    font-size: 12px;
    font-weight: 800;
}

.vse-contact-sidebar {
    display: grid;
    gap: 18px;
}

.vse-contact-sidebar > section,
.vse-contact-calculator-card {
    padding: 28px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 19px;
    background: #fff;
}

.vse-contact-sidebar h2 {
    font-size: 25px;
}

.vse-contact-sidebar ul {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.vse-contact-sidebar li {
    position: relative;
    padding-right: 20px;
    color: #46566c;
    font-size: 12px;
    line-height: 1.8;
}

.vse-contact-sidebar li::before {
    content: "✓";
    position: absolute;
    right: 0;
    color: var(--vse-ac-blue);
    font-weight: 900;
}

.vse-contact-sidebar__coverage {
    color: #fff;
    border-color: transparent !important;
    background:
        radial-gradient(circle at 85% 15%, rgba(246,185,26,.18), transparent 25%),
        linear-gradient(145deg, var(--vse-ac-dark), var(--vse-ac-blue)) !important;
}

.vse-contact-sidebar__coverage strong,
.vse-contact-sidebar__coverage p {
    color: #fff;
}

.vse-contact-sidebar__coverage p {
    margin: 8px 0;
    font-size: 15px;
    font-weight: 900;
}

.vse-contact-sidebar__coverage small {
    color: rgba(255,255,255,.68);
    font-size: 10px;
    line-height: 1.8;
}

.vse-contact-calculator-card {
    display: grid;
    gap: 7px;
    color: inherit !important;
    text-decoration: none !important;
}

.vse-contact-calculator-card small {
    color: var(--vse-ac-muted);
}

.vse-contact-calculator-card strong {
    color: var(--vse-ac-dark);
    font-size: 18px;
}

.vse-contact-calculator-card span {
    color: var(--vse-ac-blue);
    font-size: 12px;
    font-weight: 900;
}

.vse-contact-process {
    background: var(--vse-ac-bg);
}

.vse-contact-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.vse-contact-process__grid li {
    padding: 27px 24px;
    border: 1px solid var(--vse-ac-border);
    border-radius: 17px;
    background: #fff;
}

.vse-contact-process__grid strong {
    color: rgba(6,70,184,.26);
    font-size: 30px;
}

.vse-contact-process__grid h3 {
    margin: 20px 0 8px;
    color: var(--vse-ac-dark);
    font-size: 17px;
}

.vse-contact-process__grid p {
    margin: 0;
    color: var(--vse-ac-muted);
    font-size: 12px;
    line-height: 1.85;
}

.vse-contact-faq__grid {
    display: grid;
    grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
    gap: 70px;
}

.vse-contact-heading--side {
    margin: 0;
    text-align: right;
}

.vse-contact-heading--side > span {
    justify-content: flex-start;
}

.vse-contact-faq__list {
    display: grid;
    gap: 12px;
}

.vse-contact-faq__list details {
    overflow: hidden;
    border: 1px solid var(--vse-ac-border);
    border-radius: 14px;
    background: #fff;
}

.vse-contact-faq__list summary {
    position: relative;
    padding: 20px 24px 20px 58px;
    color: var(--vse-ac-dark);
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.vse-contact-faq__list summary::-webkit-details-marker {
    display: none;
}

.vse-contact-faq__list summary::before,
.vse-contact-faq__list summary::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 24px;
    width: 14px;
    height: 2px;
    border-radius: 2px;
    background: var(--vse-ac-blue);
    transform: translateY(-50%);
}

.vse-contact-faq__list summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.vse-contact-faq__list details[open] summary::after {
    transform: translateY(-50%) rotate(0);
}

.vse-contact-faq__list details p {
    margin: 0;
    padding: 0 24px 22px;
    color: var(--vse-ac-muted);
    font-size: 14px;
    line-height: 2;
}

/* Responsive */
@media (max-width: 1050px) {
    .vse-about-hero__grid,
    .vse-contact-hero__grid,
    .vse-about-values__grid,
    .vse-about-digital__grid,
    .vse-contact-main,
    .vse-contact-faq__grid {
        grid-template-columns: 1fr;
    }

    .vse-about-capabilities,
    .vse-contact-process__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .vse-about-method__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .vse-about-final__inner,
    .vse-contact-final__inner,
    .vse-about-coverage__box {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    body.vse-about-page,
    body.vse-contact-page,
    body.vse-about-page #page,
    body.vse-contact-page #page,
    body.vse-about-page #inner-wrap,
    body.vse-contact-page #inner-wrap,
    body.vse-about-page .site,
    body.vse-contact-page .site,
    body.vse-about-page .site-content,
    body.vse-contact-page .site-content,
    body.vse-about-page .content-area,
    body.vse-contact-page .content-area,
    body.vse-about-page .content-container,
    body.vse-contact-page .content-container,
    body.vse-about-page .site-main,
    body.vse-contact-page .site-main,
    body.vse-about-page article,
    body.vse-contact-page article,
    body.vse-about-page .entry-content-wrap,
    body.vse-contact-page .entry-content-wrap,
    body.vse-about-page .entry-content,
    body.vse-contact-page .entry-content {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        overflow-x: hidden !important;
        transform: none !important;
    }

    body.vse-about-page #masthead,
    body.vse-contact-page #masthead,
    body.vse-about-page #masthead .site-header-row-container,
    body.vse-contact-page #masthead .site-header-row-container,
    body.vse-about-page #masthead .site-header-row-container-inner,
    body.vse-contact-page #masthead .site-header-row-container-inner,
    body.vse-about-page #masthead .site-container,
    body.vse-contact-page #masthead .site-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        transform: none !important;
    }

    body.vse-about-page #masthead .site-header-row-container-inner,
    body.vse-contact-page #masthead .site-header-row-container-inner {
        padding-inline: 16px !important;
    }

    .vse-about-container,
    .vse-contact-container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-inline: 0 !important;
        padding-inline: 18px !important;
    }

    .vse-about-hero,
    .vse-contact-hero {
        padding: 76px 0 68px;
    }

    .vse-about-hero__grid,
    .vse-contact-hero__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .vse-about-hero h1,
    .vse-contact-hero h1 {
        width: 100%;
        max-width: 100%;
        font-size: 32px;
        line-height: 1.5;
        overflow-wrap: break-word;
    }

    .vse-about-hero__copy > p,
    .vse-contact-hero__copy > p {
        font-size: 15px;
    }

    .vse-about-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .vse-about-btn,
    .vse-contact-btn {
        width: 100%;
    }

    .vse-about-signature {
        grid-template-columns: 86px 1fr;
        padding: 25px 20px;
    }

    .vse-about-signature__mark {
        width: 86px;
    }

    .vse-about-signature ul {
        grid-template-columns: 1fr;
    }

    .vse-about-intro {
        margin-top: -20px;
    }

    .vse-about-intro__box {
        align-items: flex-start;
        flex-direction: column;
        padding: 25px 22px;
    }

    .vse-about-section,
    .vse-contact-section {
        padding: 72px 0;
    }

    .vse-about-heading,
    .vse-contact-heading {
        margin-bottom: 36px;
        text-align: right;
    }

    .vse-about-heading > span,
    .vse-contact-heading > span {
        justify-content: flex-start;
    }

    .vse-about-capabilities,
    .vse-about-method__grid,
    .vse-about-values__cards,
    .vse-contact-channels__grid,
    .vse-contact-process__grid {
        grid-template-columns: 1fr;
    }

    .vse-about-digital__grid {
        gap: 42px;
    }

    .vse-about-digital__visual {
        padding: 26px;
    }

    .vse-about-coverage__box {
        padding: 28px 22px;
    }

    .vse-about-final,
    .vse-contact-final {
        padding: 68px 0;
    }

    .vse-contact-channels {
        margin-top: -20px;
    }

    .vse-contact-channel + .vse-contact-channel {
        border-top: 1px solid var(--vse-ac-border);
        border-right: 0;
    }

    .vse-contact-main {
        gap: 24px;
    }

    .vse-contact-form-card {
        padding: 27px 20px;
    }

    .vse-contact-form__row {
        grid-template-columns: 1fr;
    }

    .vse-contact-sidebar > section,
    .vse-contact-calculator-card {
        padding: 24px 21px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vse-about-btn,
    .vse-contact-btn {
        transition: none !important;
    }
}


/* ==========================================================================
   OFFICIAL CONTACT CHANNELS + SOCIAL ICONS — 1.8.1
   ========================================================================== */

.vse-contact-channels__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.vse-contact-channel > span svg,
.vse-contact-submit__icon svg,
.vse-footer-contact-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vse-contact-channel--instagram > span {
    color: #a2299f;
    background: linear-gradient(145deg, #fff0fb, #f1efff);
}

.vse-contact-channel--instagram:hover {
    background: linear-gradient(145deg, rgba(255,240,251,.72), rgba(241,239,255,.82));
}

.vse-contact-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.vse-contact-submit__icon {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
}

.vse-contact-submit__icon svg {
    width: 21px;
    height: 21px;
}

.vse-footer-contact {
    gap: 9px;
}

.vse-footer-contact-link {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    align-items: center;
    gap: 10px;
    direction: rtl !important;
    text-align: right;
}

.vse-footer-contact-link > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

.vse-footer-contact-icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 10px;
    color: #ffd76a !important;
    background: rgba(255,255,255,.055);
}

.vse-footer-contact-icon svg {
    width: 18px;
    height: 18px;
}

.vse-footer-contact-link:hover .vse-footer-contact-icon {
    border-color: rgba(246,185,26,.42);
    background: rgba(246,185,26,.1);
}

@media (max-width: 1050px) and (min-width: 768px) {
    .vse-contact-channels__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vse-contact-channel:nth-child(3) {
        border-top: 1px solid var(--vse-ac-border);
        border-right: 0;
    }

    .vse-contact-channel:nth-child(4) {
        border-top: 1px solid var(--vse-ac-border);
    }
}

@media (max-width: 767px) {
    .vse-contact-channels__grid {
        grid-template-columns: 1fr;
    }

    .vse-contact-channel + .vse-contact-channel {
        border-top: 1px solid var(--vse-ac-border);
        border-right: 0;
    }
}

/* ==========================================================================
   VSE EDUCATION HUB + SINGLE ARTICLES — 1.9.0
   ========================================================================== */

.vse-articles-page .entry-header,
.vse-articles-page .entry-title,
.vse-articles-page .page-title,
.vse-article-single-page .entry-header,
.vse-article-single-page .entry-title,
.vse-article-single-page .page-title { display:none!important; }

.vse-articles-page .content-area,
.vse-articles-page .site-main,
.vse-articles-page .content-container,
.vse-articles-page .entry-content-wrap,
.vse-articles-page .entry-content,
.vse-article-single-page .content-area,
.vse-article-single-page .site-main,
.vse-article-single-page .content-container,
.vse-article-single-page .entry-content-wrap,
.vse-article-single-page .entry-content { width:100%!important;max-width:none!important;margin:0!important;padding:0!important; }

.vse-articles-page .content-bg,
.vse-articles-page .site-container,
.vse-articles-page .site-content,
.vse-article-single-page .content-bg,
.vse-article-single-page .site-container,
.vse-article-single-page .site-content { max-width:none!important;padding-inline:0!important; }

.vse-articles,
.vse-single-article {
    --vse-ed-blue:#0646b8;
    --vse-ed-blue-2:#0b68db;
    --vse-ed-dark:#061a35;
    --vse-ed-gold:#f6b91a;
    --vse-ed-green:#0d9b6c;
    --vse-ed-bg:#f4f7fb;
    --vse-ed-text:#17263b;
    --vse-ed-muted:#607086;
    --vse-ed-border:#dce5f0;
    direction:rtl;overflow:hidden;color:var(--vse-ed-text);background:#fff;
    font-family:"Vazirmatn",Tahoma,sans-serif;
}
.vse-articles *, .vse-articles *::before, .vse-articles *::after,
.vse-single-article *, .vse-single-article *::before, .vse-single-article *::after { box-sizing:border-box; }
.vse-articles-container,.vse-single-article-container { width:min(1180px,calc(100% - 40px));margin-inline:auto; }

.vse-articles-hero,.vse-single-article-hero {
    position:relative;color:#fff;
    background:radial-gradient(circle at 14% 15%,rgba(246,185,26,.19),transparent 24%),radial-gradient(circle at 85% 70%,rgba(64,139,255,.24),transparent 34%),linear-gradient(135deg,#031d4a 0%,#0646b8 57%,#0b68db 100%);
}
.vse-articles-hero { padding:106px 0 96px; }
.vse-articles-hero::before,.vse-single-article-hero::before { content:"";position:absolute;inset:0;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.17) 1px,transparent 1px);background-size:58px 58px; }
.vse-articles-hero__grid { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:72px; }
.vse-articles-kicker,.vse-articles-heading>span,.vse-articles-final__inner>div>span,.vse-related-articles header>span,.vse-single-article-final__inner>div>span { display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--vse-ed-gold);font-size:14px;font-weight:900; }
.vse-articles-kicker::before,.vse-articles-heading>span::before,.vse-articles-final__inner>div>span::before,.vse-related-articles header>span::before,.vse-single-article-final__inner>div>span::before { content:"";width:34px;height:3px;border-radius:999px;background:currentColor; }
.vse-articles-hero h1 { max-width:820px;margin:0 0 24px;color:#fff;font-size:clamp(40px,5vw,66px);line-height:1.3;letter-spacing:-.035em; }
.vse-articles-hero__copy>p { max-width:750px;margin:0;color:rgba(255,255,255,.86);font-size:17px;line-height:2; }
.vse-articles-actions { display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:32px; }
.vse-articles-btn,.vse-single-article-btn { display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:13px 24px;border:1px solid transparent;border-radius:12px;font-size:15px;font-weight:900;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease; }
.vse-articles-btn:hover,.vse-single-article-btn:hover { transform:translateY(-2px); }
.vse-articles-btn--gold,.vse-single-article-btn--gold { color:var(--vse-ed-dark)!important;background:var(--vse-ed-gold);box-shadow:0 14px 32px rgba(246,185,26,.22); }
.vse-articles-btn--outline,.vse-single-article-btn--outline { border-color:rgba(255,255,255,.48);color:#fff!important;background:rgba(255,255,255,.08); }
.vse-articles-hero__badges { display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:30px; }
.vse-articles-hero__badges span { position:relative;padding-right:20px;color:rgba(255,255,255,.82);font-size:13px;font-weight:800; }
.vse-articles-hero__badges span::before { content:"✓";position:absolute;right:0;color:var(--vse-ed-gold); }
.vse-articles-hero__visual { display:grid;align-items:stretch;min-height:430px;padding:28px;border:1px solid rgba(255,255,255,.22);border-radius:30px;background:rgba(255,255,255,.09);box-shadow:0 30px 80px rgba(0,0,0,.2);backdrop-filter:blur(14px); }
.vse-learning-roadmap { width:100%;max-width:470px;display:grid;gap:20px; }
.vse-learning-roadmap__head { padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.18); }
.vse-learning-roadmap__head strong { display:block;margin:0 0 8px;color:#fff;font-size:22px;line-height:1.5; }
.vse-learning-roadmap__head span { display:block;color:rgba(255,255,255,.72);font-size:13px;line-height:1.9; }
.vse-learning-roadmap__steps { list-style:none;margin:0;padding:0;display:grid;gap:14px; }
.vse-learning-roadmap__steps li { display:flex;align-items:flex-start;gap:14px;padding:16px 16px 16px 18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(4,28,66,.56);box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.vse-learning-roadmap__steps em { flex:0 0 50px;display:grid;width:50px;height:50px;place-items:center;margin-top:2px;border-radius:15px;color:var(--vse-ed-dark);background:var(--vse-ed-gold);font-size:15px;font-weight:900;font-style:normal;box-shadow:0 10px 24px rgba(246,185,26,.18); }
.vse-learning-roadmap__steps strong { display:block;margin:0 0 6px;color:#fff;font-size:15px;line-height:1.6; }
.vse-learning-roadmap__steps p { margin:0;color:rgba(255,255,255,.7);font-size:12px;line-height:1.9; }

/* Force a clean, readable white header on article pages */
body.vse-articles-page #masthead,
body.vse-article-single-page #masthead { position:relative;z-index:1000;background:#fff!important;box-shadow:0 10px 34px rgba(6,26,53,.08); }
body.vse-articles-page #masthead .site-main-header-wrap,
body.vse-article-single-page #masthead .site-main-header-wrap,
body.vse-articles-page #masthead .site-header-row-container,
body.vse-article-single-page #masthead .site-header-row-container,
body.vse-articles-page #masthead .site-header-row-container-inner,
body.vse-article-single-page #masthead .site-header-row-container-inner { background:#fff!important; }
body.vse-articles-page #masthead a:not(.button):not(.header-button),
body.vse-article-single-page #masthead a:not(.button):not(.header-button),
body.vse-articles-page #masthead .menu-link,
body.vse-article-single-page #masthead .menu-link,
body.vse-articles-page #masthead .navigation .menu > li > a,
body.vse-article-single-page #masthead .navigation .menu > li > a { color:#16263c!important; }
body.vse-articles-page #masthead .current-menu-item > a,
body.vse-articles-page #masthead .current_page_item > a,
body.vse-article-single-page #masthead .current-menu-item > a,
body.vse-article-single-page #masthead .current_page_item > a,
body.vse-articles-page #masthead a:hover,
body.vse-article-single-page #masthead a:hover { color:var(--vse-ed-blue)!important; }
body.vse-articles-page #masthead .header-button,
body.vse-article-single-page #masthead .header-button,
body.vse-articles-page #masthead .button,
body.vse-article-single-page #masthead .button { color:var(--vse-ed-dark)!important;background:var(--vse-ed-gold)!important;border-color:var(--vse-ed-gold)!important; }

.vse-articles-search { position:relative;z-index:5;margin-top:-30px; }
.vse-articles-search__box { display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:center;gap:24px;padding:21px 24px;border:1px solid var(--vse-ed-border);border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(6,26,53,.12); }
.vse-articles-search input { width:100%;min-height:48px;padding:10px 16px;border:1px solid #cedbea;border-radius:11px;color:var(--vse-ed-dark);background:#f9fbfd;font-family:inherit;font-size:13px;outline:none; }
.vse-articles-search input:focus { border-color:var(--vse-ed-blue);box-shadow:0 0 0 4px rgba(6,70,184,.08); }
.vse-article-filter-buttons { display:flex;gap:8px;overflow-x:auto;scrollbar-width:none; }
.vse-article-filter-buttons::-webkit-scrollbar { display:none; }
.vse-article-filter-buttons button { flex:0 0 auto;min-height:39px;padding:8px 13px;border:1px solid var(--vse-ed-border);border-radius:999px;color:#405069;background:#fff;font-family:inherit;font-size:11px;font-weight:900;cursor:pointer; }
.vse-article-filter-buttons button.is-active { border-color:var(--vse-ed-blue);color:#fff;background:var(--vse-ed-blue); }

.vse-articles-section { padding:100px 0; }
.vse-articles-section:nth-of-type(even) { background:var(--vse-ed-bg); }
.vse-articles-heading { max-width:780px;margin:0 auto 50px;text-align:center; }
.vse-articles-heading>span { justify-content:center;color:var(--vse-ed-blue); }
.vse-articles-heading h2,.vse-articles-principles h2,.vse-articles-final h2,.vse-related-articles h2,.vse-single-article-final h2 { margin:0 0 18px;color:var(--vse-ed-dark);font-size:clamp(30px,4vw,47px);line-height:1.38;letter-spacing:-.025em; }
.vse-articles-heading p,.vse-articles-principles p,.vse-articles-final p { margin:0;color:var(--vse-ed-muted);font-size:16px;line-height:2; }

.vse-learning-path__grid { display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:0;padding:0;list-style:none; }
.vse-learning-path__grid li { position:relative;min-height:235px;padding:25px 22px;border:1px solid var(--vse-ed-border);border-radius:18px;background:#fff; }
.vse-learning-path__grid li.is-published { box-shadow:0 16px 42px rgba(6,26,53,.075); }
.vse-learning-path__grid strong { display:grid;width:45px;height:45px;place-items:center;margin-bottom:22px;border-radius:13px;color:#fff;background:var(--vse-ed-blue);font-size:15px; }
.vse-learning-path__grid span { color:var(--vse-ed-muted);font-size:11px;font-weight:800; }
.vse-learning-path__grid h3 { margin:8px 0 22px;color:var(--vse-ed-dark);font-size:16px;line-height:1.7; }
.vse-learning-path__grid a,.vse-learning-path__grid em { position:absolute;right:22px;bottom:23px;font-size:11px;font-weight:900;text-decoration:none!important; }
.vse-learning-path__grid a { color:var(--vse-ed-blue)!important; }
.vse-learning-path__grid em { padding:6px 10px;border-radius:999px;color:#7d8999;background:#edf1f5;font-style:normal; }

.vse-articles-library { background:var(--vse-ed-bg); }
.vse-articles-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.vse-article-card { min-width:0;overflow:hidden;border:1px solid var(--vse-ed-border);border-radius:21px;background:#fff;box-shadow:0 12px 36px rgba(6,26,53,.06);transition:transform .25s ease,box-shadow .25s ease; }
.vse-article-card[hidden] { display:none!important; }
.vse-article-card.is-published:hover { transform:translateY(-6px);box-shadow:0 25px 54px rgba(6,26,53,.13); }
.vse-article-card.is-upcoming { opacity:.83; }
.vse-article-card-visual { position:relative;display:grid;min-height:225px;place-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 18%,rgba(246,185,26,.18),transparent 25%),linear-gradient(145deg,var(--vse-ed-dark),var(--vse-ed-blue)); }
.vse-article-card-visual::before { content:"";position:absolute;inset:0;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:38px 38px; }
.vse-article-card-visual>* { position:relative;z-index:1; }
.vse-article-card-visual--systems { grid-template-columns:repeat(3,auto);gap:12px;padding:25px; }
.vse-article-card-visual--systems span,.vse-article-card-visual--systems strong { display:grid;min-width:72px;min-height:58px;place-items:center;padding:8px;border:1px solid rgba(255,255,255,.19);border-radius:13px;background:rgba(255,255,255,.07);font-size:11px; }
.vse-article-card-visual--systems strong { min-width:92px;color:var(--vse-ed-dark);background:var(--vse-ed-gold); }
.vse-article-card-visual--systems i { grid-column:1/-1;color:rgba(255,255,255,.65);font-size:10px;font-style:normal; }
.vse-article-card-visual--energy { grid-template-columns:1fr;align-content:center;gap:4px;text-align:center; }
.vse-article-card-visual--energy strong { color:var(--vse-ed-gold);font-size:38px;line-height:1.05;direction:ltr; }
.vse-article-card-visual--energy span { color:#fff;font-size:11px; }
.vse-article-card-visual--energy b { margin:5px 0;color:rgba(255,255,255,.6);font-size:10px;direction:ltr; }
.vse-article-card-visual--growatt { padding:0;background:#eef2f6; }
.vse-article-card-visual--growatt::before { display:none; }
.vse-article-card-visual--growatt img { width:100%;height:225px;object-fit:cover; }
.vse-article-card__body { padding:27px 25px 25px; }
.vse-article-card__top { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px; }
.vse-article-card__top span,.vse-article-card__top em { padding:6px 10px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900; }
.vse-article-card__top span { color:var(--vse-ed-blue);background:#edf4ff; }
.vse-article-card__top em { color:#7b6512;background:#fff4cc; }
.vse-article-card h3 { min-height:68px;margin:0 0 12px;color:var(--vse-ed-dark);font-size:19px;line-height:1.75; }
.vse-article-card p { min-height:84px;margin:0;color:var(--vse-ed-muted);font-size:13px;line-height:1.95; }
.vse-article-card__meta { display:flex;gap:14px;margin:19px 0;color:#7a8798;font-size:10px;font-weight:800; }
.vse-article-card__meta span+span::before { content:"•";margin-left:14px; }
.vse-article-card__body>a { display:flex;align-items:center;justify-content:space-between;padding-top:17px;border-top:1px solid var(--vse-ed-border);color:var(--vse-ed-blue)!important;font-size:12px;font-weight:900;text-decoration:none!important; }
.vse-article-card__soon { display:block;padding-top:17px;border-top:1px solid var(--vse-ed-border);color:#8793a2;font-size:11px;font-weight:900; }
.vse-articles-empty { padding:30px;border:1px dashed var(--vse-ed-border);border-radius:15px;color:var(--vse-ed-muted);background:#fff;text-align:center; }

.vse-article-categories { color:#fff;background:radial-gradient(circle at 82% 18%,rgba(246,185,26,.14),transparent 26%),var(--vse-ed-dark)!important; }
.vse-articles-heading--light h2 { color:#fff; }
.vse-articles-heading--light>span { color:var(--vse-ed-gold); }
.vse-article-categories__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:15px; }
.vse-article-categories__grid article { min-height:190px;padding:27px 25px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.06); }
.vse-article-categories__grid strong { color:var(--vse-ed-gold);font-size:27px; }
.vse-article-categories__grid h3 { margin:23px 0 9px;color:#fff;font-size:18px; }
.vse-article-categories__grid p { margin:0;color:rgba(255,255,255,.65);font-size:12px;line-height:1.9; }
.vse-articles-principles__grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.75fr);align-items:center;gap:70px; }
.vse-articles-principles ul { display:grid;gap:11px;margin:0;padding:27px;border:1px solid var(--vse-ed-border);border-radius:20px;background:#fff;list-style:none;box-shadow:0 18px 50px rgba(6,26,53,.08); }
.vse-articles-principles li { position:relative;padding:13px 43px 13px 12px;border-radius:11px;color:#3d4e65;background:#f5f8fc;font-size:13px;font-weight:800; }
.vse-articles-principles li::before { content:"✓";position:absolute;top:12px;right:15px;color:var(--vse-ed-green);font-weight:900; }

.vse-articles-final,.vse-single-article-final { padding:84px 0;color:#fff;background:radial-gradient(circle at 78% 22%,rgba(246,185,26,.16),transparent 25%),linear-gradient(130deg,var(--vse-ed-dark),var(--vse-ed-blue)); }
.vse-articles-final__inner,.vse-single-article-final__inner { display:flex;align-items:center;justify-content:space-between;gap:50px; }
.vse-articles-final__inner>div:first-child,.vse-single-article-final__inner>div:first-child { max-width:760px; }
.vse-articles-final h2,.vse-articles-final p,.vse-single-article-final h2 { color:#fff; }
.vse-articles-final p { color:rgba(255,255,255,.74); }
.vse-articles-final .vse-articles-actions { flex:0 0 auto;margin-top:0; }
.vse-articles-text-link,.vse-single-article-text-link { color:#fff!important;font-size:12px;font-weight:900;text-decoration:none!important; }

/* Single article */
.vse-single-article-hero { padding:52px 0 86px; }
.vse-article-breadcrumb { position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:45px;color:rgba(255,255,255,.6);font-size:11px; }
.vse-article-breadcrumb a { color:rgba(255,255,255,.82)!important;text-decoration:none!important; }
.vse-article-breadcrumb em { font-style:normal; }
.vse-single-article-hero__grid { position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);align-items:center;gap:70px; }
.vse-single-article-labels { display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px; }
.vse-single-article-labels span,.vse-single-article-labels em { padding:7px 12px;border-radius:999px;font-size:11px;font-style:normal;font-weight:900; }
.vse-single-article-labels span { color:var(--vse-ed-dark);background:var(--vse-ed-gold); }
.vse-single-article-labels em { color:#fff;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08); }
.vse-single-article-hero h1 { max-width:850px;margin:0 0 22px;color:#fff;font-size:clamp(38px,5vw,62px);line-height:1.35;letter-spacing:-.03em; }
.vse-single-article-hero__grid>div>p { max-width:780px;margin:0;color:rgba(255,255,255,.82);font-size:16px;line-height:2; }
.vse-single-article-meta { display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:25px;color:rgba(255,255,255,.66);font-size:11px;font-weight:800; }
.vse-single-article-meta span+span::before { content:"•";margin-left:22px;color:var(--vse-ed-gold); }
.vse-single-article-hero__visual { display:grid;min-height:370px;place-items:center;padding:30px;overflow:hidden;border:1px solid rgba(255,255,255,.19);border-radius:28px;background:rgba(255,255,255,.085);box-shadow:0 28px 75px rgba(0,0,0,.2);backdrop-filter:blur(14px); }
.vse-single-article-hero__visual--systems { grid-template-columns:repeat(3,1fr);gap:11px; }
.vse-single-article-hero__visual--systems span,.vse-single-article-hero__visual--systems strong { display:grid;width:100%;min-height:66px;place-items:center;border:1px solid rgba(255,255,255,.19);border-radius:13px;color:#fff;background:rgba(3,29,74,.65);font-size:10px; }
.vse-single-article-hero__visual--systems strong { color:var(--vse-ed-dark);background:var(--vse-ed-gold); }
.vse-single-article-hero__visual--systems em { grid-column:1/-1;color:rgba(255,255,255,.65);font-size:10px;font-style:normal; }
.vse-single-article-hero__visual--energy { align-content:center;gap:5px;text-align:center; }
.vse-single-article-hero__visual--energy strong { color:var(--vse-ed-gold);font-size:52px;line-height:1;direction:ltr; }
.vse-single-article-hero__visual--energy span { color:#fff;font-size:12px; }
.vse-single-article-hero__visual--energy b { margin:7px 0;color:rgba(255,255,255,.58);font-size:11px;direction:ltr; }
.vse-single-article-hero__visual--growatt { padding:0;background:#eef2f6; }
.vse-single-article-hero__visual--growatt img { width:100%;height:315px;object-fit:cover; }
.vse-single-article-hero__visual--growatt strong { display:block;width:100%;padding:15px 20px;color:var(--vse-ed-dark);text-align:center;direction:ltr; }

.vse-single-article-body { padding:82px 0 100px;background:var(--vse-ed-bg); }
.vse-single-article-layout { display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:34px; }
.vse-article-sidebar { grid-column:2;grid-row:1;position:sticky;top:90px;display:grid;gap:16px; }
.vse-article-toc-card,.vse-article-side-cta { padding:23px;border:1px solid var(--vse-ed-border);border-radius:17px;background:#fff;box-shadow:0 14px 38px rgba(6,26,53,.07); }
.vse-article-toc-card>strong { display:block;margin-bottom:15px;color:var(--vse-ed-dark);font-size:14px; }
#vse-article-toc { display:grid;gap:3px; }
#vse-article-toc a { position:relative;padding:7px 15px 7px 6px;color:#607086!important;font-size:10px;line-height:1.6;text-decoration:none!important; }
#vse-article-toc a::before { content:"";position:absolute;top:13px;right:0;width:6px;height:6px;border-radius:50%;background:#cad4e0; }
#vse-article-toc a.is-subheading { padding-right:27px;font-size:9px; }
#vse-article-toc a.is-active { color:var(--vse-ed-blue)!important;font-weight:900; }
#vse-article-toc a.is-active::before { background:var(--vse-ed-gold); }
.vse-article-side-cta { color:#fff;border-color:transparent;background:radial-gradient(circle at 80% 15%,rgba(246,185,26,.18),transparent 25%),linear-gradient(145deg,var(--vse-ed-dark),var(--vse-ed-blue)); }
.vse-article-side-cta span,.vse-article-side-cta strong,.vse-article-side-cta a { display:block; }
.vse-article-side-cta span { color:rgba(255,255,255,.62);font-size:10px; }
.vse-article-side-cta strong { margin:8px 0 18px;color:#fff;font-size:16px;line-height:1.7; }
.vse-article-side-cta a { color:var(--vse-ed-gold)!important;font-size:11px;font-weight:900;text-decoration:none!important; }

.vse-article-prose { grid-column:1;min-width:0;padding:44px 48px;border:1px solid var(--vse-ed-border);border-radius:21px;background:#fff;box-shadow:0 18px 50px rgba(6,26,53,.07); }
.vse-article-prose>*:first-child { margin-top:0; }
.vse-article-prose h2,.vse-article-prose h3 { scroll-margin-top:110px;color:var(--vse-ed-dark); }
.vse-article-prose h2 { margin:48px 0 18px;padding-bottom:13px;border-bottom:1px solid var(--vse-ed-border);font-size:27px;line-height:1.55; }
.vse-article-prose h3 { margin:30px 0 13px;font-size:20px;line-height:1.6; }
.vse-article-prose p,.vse-article-prose li,.vse-article-prose td,.vse-article-prose th { color:#42536a;font-size:15px;line-height:2.05; }
.vse-article-prose p { margin:0 0 18px; }
.vse-article-prose ul,.vse-article-prose ol { margin:0 0 24px;padding-right:24px; }
.vse-article-prose li { margin-bottom:8px; }
.vse-article-summary { padding:24px 27px;border:1px solid rgba(6,70,184,.16);border-right:5px solid var(--vse-ed-blue);border-radius:13px;background:#f2f7ff; }
.vse-article-summary strong { display:block;margin-bottom:8px;color:var(--vse-ed-blue);font-size:14px; }
.vse-article-summary p { margin:0; }
.vse-article-table-wrap { margin:24px 0 30px;overflow-x:auto;border:1px solid var(--vse-ed-border);border-radius:13px; }
.vse-article-table-wrap table { width:100%;min-width:620px;border-collapse:collapse; }
.vse-article-table-wrap th,.vse-article-table-wrap td { padding:14px 15px;border-bottom:1px solid var(--vse-ed-border);text-align:right; }
.vse-article-table-wrap thead th,.vse-article-table-wrap tr>th:first-child { color:var(--vse-ed-dark);background:#f3f6fa;font-weight:900; }
.vse-article-table-wrap tr:last-child td,.vse-article-table-wrap tr:last-child th { border-bottom:0; }
.vse-article-note { margin:25px 0;padding:21px 23px;border:1px solid rgba(13,155,108,.18);border-radius:13px;background:#effaf6; }
.vse-article-note--warning { border-color:rgba(246,185,26,.35);background:#fff8df; }
.vse-article-note strong { display:block;margin-bottom:8px;color:#08724f;font-size:14px; }
.vse-article-note--warning strong { color:#8d6b00; }
.vse-article-note p { margin:0; }
.vse-formula-box,.vse-calculation-example { margin:22px 0;padding:22px;border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--vse-ed-dark),var(--vse-ed-blue));font-size:20px;text-align:center; }
.vse-calculation-example { color:var(--vse-ed-dark);background:var(--vse-ed-gold);font-size:18px;font-weight:900; }
.vse-article-decision-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:24px 0 30px; }
.vse-article-decision-grid article { padding:20px;border:1px solid var(--vse-ed-border);border-radius:13px;background:#f8fafc; }
.vse-article-decision-grid strong { display:block;margin-bottom:8px;color:var(--vse-ed-dark);font-size:14px; }
.vse-article-decision-grid p { margin:0;font-size:13px; }
.vse-article-prose details { margin:10px 0;overflow:hidden;border:1px solid var(--vse-ed-border);border-radius:12px;background:#fff; }
.vse-article-prose summary { padding:17px 19px;color:var(--vse-ed-dark);font-size:14px;font-weight:900;cursor:pointer; }
.vse-article-prose details p { padding:0 19px 18px;margin:0;font-size:13px; }
.vse-article-smallprint { color:#7c899a!important;font-size:11px!important; }
.vse-article-product-banner { display:grid;grid-template-columns:260px 1fr;align-items:center;gap:28px;margin:25px 0 34px;overflow:hidden;border:1px solid var(--vse-ed-border);border-radius:18px;background:#f8fafc; }
.vse-article-product-banner img { width:100%;height:260px;object-fit:cover; }
.vse-article-product-banner>div { padding:25px 25px 25px 0; }
.vse-article-product-banner span,.vse-article-product-banner strong,.vse-article-product-banner a { display:block; }
.vse-article-product-banner span { color:var(--vse-ed-green);font-size:11px;font-weight:900; }
.vse-article-product-banner strong { margin:8px 0 10px;color:var(--vse-ed-dark);font-size:21px;direction:ltr;text-align:right; }
.vse-article-product-banner p { margin-bottom:14px;font-size:13px; }
.vse-article-product-banner a { color:var(--vse-ed-blue)!important;font-size:12px;font-weight:900;text-decoration:none!important; }
.vse-article-energy-flow { display:grid;grid-template-columns:repeat(5,auto);align-items:center;justify-content:center;gap:10px;margin:24px 0 30px;padding:28px;border-radius:17px;color:#fff;background:linear-gradient(135deg,var(--vse-ed-dark),var(--vse-ed-blue)); }
.vse-article-energy-flow span,.vse-article-energy-flow strong { padding:11px 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.07);font-size:11px;text-align:center; }
.vse-article-energy-flow strong { color:var(--vse-ed-dark);background:var(--vse-ed-gold); }
.vse-article-energy-flow b { color:rgba(255,255,255,.55); }
.vse-article-energy-flow em { grid-column:1/-1;color:rgba(255,255,255,.67);font-size:10px;font-style:normal;text-align:center; }
.vse-article-downloads { display:flex;flex-wrap:wrap;gap:10px;margin:25px 0; }
.vse-article-downloads a { display:inline-flex;min-height:44px;align-items:center;padding:10px 14px;border:1px solid var(--vse-ed-border);border-radius:10px;color:var(--vse-ed-blue)!important;background:#fff;font-size:11px;font-weight:900;text-decoration:none!important; }
.vse-article-downloads a:first-child { color:var(--vse-ed-dark)!important;border-color:var(--vse-ed-gold);background:var(--vse-ed-gold); }
.vse-article-brand-box { margin-top:50px;padding:23px;border-radius:14px;color:#fff;background:linear-gradient(135deg,var(--vse-ed-dark),var(--vse-ed-blue)); }
.vse-article-brand-box strong { display:block;margin-bottom:8px;color:#fff;font-size:14px; }
.vse-article-brand-box p { margin:0;color:rgba(255,255,255,.72);font-size:12px; }

.vse-related-articles { padding:90px 0;background:#fff; }
.vse-related-articles header { max-width:760px;margin-bottom:38px; }
.vse-related-articles header>span { color:var(--vse-ed-blue); }
.vse-related-articles__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.vse-related-articles__grid article { padding:27px 25px;border:1px solid var(--vse-ed-border);border-radius:17px;background:#fff;box-shadow:0 12px 34px rgba(6,26,53,.06); }
.vse-related-articles__grid article>span { color:var(--vse-ed-blue);font-size:10px;font-weight:900; }
.vse-related-articles__grid h3 { margin:11px 0;color:var(--vse-ed-dark);font-size:17px;line-height:1.7; }
.vse-related-articles__grid p { margin:0;color:var(--vse-ed-muted);font-size:12px;line-height:1.85; }
.vse-related-articles__grid div { display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid var(--vse-ed-border); }
.vse-related-articles__grid small { color:#7b8796; }
.vse-related-articles__grid a { color:var(--vse-ed-blue)!important;font-size:11px;font-weight:900;text-decoration:none!important; }
.vse-single-article-final__inner>div:last-child { display:flex;flex-wrap:wrap;align-items:center;gap:12px; }

@media (max-width:1050px) {
    .vse-articles-hero__grid,.vse-articles-principles__grid,.vse-single-article-hero__grid { grid-template-columns:1fr; }
    .vse-learning-path__grid { grid-template-columns:repeat(3,1fr); }
    .vse-articles-grid,.vse-article-categories__grid,.vse-related-articles__grid { grid-template-columns:repeat(2,1fr); }
    .vse-single-article-layout { grid-template-columns:1fr; }
    .vse-article-sidebar { grid-column:1;grid-row:auto;position:static;grid-template-columns:repeat(2,1fr); }
    .vse-article-prose { grid-column:1; }
    .vse-articles-final__inner,.vse-single-article-final__inner { align-items:flex-start;flex-direction:column; }
}

@media (max-width:767px) {
    body.vse-articles-page,body.vse-article-single-page,
    body.vse-articles-page #page,body.vse-article-single-page #page,
    body.vse-articles-page #inner-wrap,body.vse-article-single-page #inner-wrap,
    body.vse-articles-page .site,body.vse-article-single-page .site,
    body.vse-articles-page .site-content,body.vse-article-single-page .site-content,
    body.vse-articles-page .content-area,body.vse-article-single-page .content-area,
    body.vse-articles-page .content-container,body.vse-article-single-page .content-container,
    body.vse-articles-page .site-main,body.vse-article-single-page .site-main,
    body.vse-articles-page article,body.vse-article-single-page article,
    body.vse-articles-page .entry-content-wrap,body.vse-article-single-page .entry-content-wrap,
    body.vse-articles-page .entry-content,body.vse-article-single-page .entry-content { box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;overflow-x:hidden!important;transform:none!important; }
    body.vse-articles-page #masthead,body.vse-article-single-page #masthead,
    body.vse-articles-page #masthead .site-header-row-container,body.vse-article-single-page #masthead .site-header-row-container,
    body.vse-articles-page #masthead .site-header-row-container-inner,body.vse-article-single-page #masthead .site-header-row-container-inner,
    body.vse-articles-page #masthead .site-container,body.vse-article-single-page #masthead .site-container { width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;transform:none!important; }
    body.vse-articles-page #masthead .site-header-row-container-inner,body.vse-article-single-page #masthead .site-header-row-container-inner { padding-inline:16px!important; }
    .vse-articles-container,.vse-single-article-container { width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;padding-inline:18px!important; }
    .vse-articles-hero { padding:76px 0 68px; }
    .vse-articles-hero__grid { gap:42px; }
    .vse-articles-hero h1 { font-size:32px;line-height:1.5; }
    .vse-articles-hero__copy>p { font-size:15px; }
    .vse-articles-actions { display:grid;grid-template-columns:1fr;width:100%; }
    .vse-articles-btn,.vse-single-article-btn { width:100%; }
    .vse-articles-hero__visual { min-height:auto;padding:20px 16px; }
    .vse-learning-roadmap { max-width:none; }
    .vse-learning-roadmap__head strong { font-size:19px; }
    .vse-learning-roadmap__steps li { padding:14px; }
    .vse-learning-roadmap__steps em { width:44px;height:44px;flex-basis:44px;font-size:13px; }
    .vse-learning-roadmap__steps strong { font-size:14px; }
    .vse-learning-roadmap__steps p { font-size:11px; }
    .vse-articles-search { margin-top:-18px; }
    .vse-articles-search__box { grid-template-columns:1fr;padding:18px; }
    .vse-articles-section { padding:72px 0; }
    .vse-articles-heading { margin-bottom:36px;text-align:right; }
    .vse-articles-heading>span { justify-content:flex-start; }
    .vse-learning-path__grid,.vse-articles-grid,.vse-article-categories__grid,.vse-related-articles__grid { grid-template-columns:1fr; }
    .vse-article-card h3,.vse-article-card p { min-height:0; }
    .vse-articles-final,.vse-single-article-final { padding:68px 0; }
    .vse-single-article-hero { padding:30px 0 66px; }
    .vse-article-breadcrumb { margin-bottom:32px; }
    .vse-single-article-hero h1 { font-size:31px;line-height:1.5; }
    .vse-single-article-meta { display:grid;gap:7px; }
    .vse-single-article-meta span+span::before { display:none; }
    .vse-single-article-hero__visual { min-height:320px; }
    .vse-single-article-body { padding:52px 0 70px; }
    .vse-article-sidebar { grid-template-columns:1fr; }
    .vse-article-prose { padding:28px 21px;border-radius:17px; }
    .vse-article-prose h2 { font-size:23px; }
    .vse-article-prose h3 { font-size:18px; }
    .vse-article-prose p,.vse-article-prose li,.vse-article-prose td,.vse-article-prose th { font-size:14px; }
    .vse-article-decision-grid,.vse-article-product-banner { grid-template-columns:1fr; }
    .vse-article-product-banner img { height:260px; }
    .vse-article-product-banner>div { padding:0 21px 23px; }
    .vse-article-energy-flow { grid-template-columns:1fr; }
    .vse-article-energy-flow b { transform:rotate(90deg); }
    .vse-article-downloads { display:grid;grid-template-columns:1fr; }
    .vse-article-downloads a { width:100%;justify-content:center; }
    .vse-single-article-final__inner>div:last-child { display:grid;width:100%;grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) { .vse-article-card,.vse-articles-btn,.vse-single-article-btn { transition:none!important; } }


/* ==========================================================================
   ARTICLES HUB EXACT ROUTE SAFETY — 1.9.2
   ========================================================================== */

.vse-articles-hub-main {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width:767px) {
    body.vse-articles-page #masthead .site-branding img,
    body.vse-article-single-page #masthead .site-branding img { max-height:58px!important; }
    body.vse-articles-page #masthead .site-header-row-container-inner,
    body.vse-article-single-page #masthead .site-header-row-container-inner { min-height:74px!important; }
}


/* ==========================================================================
   ARTICLES HEADER CONSULTATION CTA — 1.9.4
   ========================================================================== */

body.vse-articles-page #masthead .header-button,
body.vse-articles-page #masthead .header-button-wrap .button,
body.vse-articles-page #masthead a.header-button,
body.vse-article-single-page #masthead .header-button,
body.vse-article-single-page #masthead .header-button-wrap .button,
body.vse-article-single-page #masthead a.header-button {
    border-color: #f6b91a !important;
    color: #061a35 !important;
    background: #f6b91a !important;
    box-shadow: 0 12px 26px rgba(246,185,26,.24) !important;
}

body.vse-articles-page #masthead .header-button:hover,
body.vse-articles-page #masthead .header-button-wrap .button:hover,
body.vse-articles-page #masthead a.header-button:hover,
body.vse-article-single-page #masthead .header-button:hover,
body.vse-article-single-page #masthead .header-button-wrap .button:hover,
body.vse-article-single-page #masthead a.header-button:hover {
    border-color: #ffc62b !important;
    color: #061a35 !important;
    background: #ffc62b !important;
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(246,185,26,.3) !important;
}


/* ==========================================================================
   BATTERY + INVERTER EDUCATIONAL ARTICLES — 2.0.0
   ========================================================================== */

.vse-article-card-visual--battery {
    align-content: center;
    gap: 13px;
    padding: 28px;
}

.vse-article-card-visual--battery > div,
.vse-single-battery-visual > div {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
    width: 190px;
    height: 74px;
    padding: 10px;
    border: 3px solid rgba(255,255,255,.78);
    border-radius: 13px;
}

.vse-article-card-visual--battery > div::after,
.vse-single-battery-visual > div::after {
    content: "";
    position: absolute;
    top: 20px;
    left: -12px;
    width: 9px;
    height: 30px;
    border-radius: 4px 0 0 4px;
    background: rgba(255,255,255,.78);
}

.vse-article-card-visual--battery > div span,
.vse-single-battery-visual > div span {
    border-radius: 6px;
    background: var(--vse-ed-gold);
}

.vse-article-card-visual--battery strong {
    color: #fff;
    font-size: 28px;
    direction: ltr;
}

.vse-article-card-visual--battery em,
.vse-article-card-visual--inverter em {
    color: rgba(255,255,255,.67);
    font-size: 10px;
    font-style: normal;
}

.vse-article-card-visual--inverter {
    align-content: center;
    gap: 17px;
    padding: 30px;
}

.vse-article-card-visual--inverter > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.vse-article-card-visual--inverter span {
    display: grid;
    min-height: 48px;
    place-items: center;
    padding: 9px 13px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    background: rgba(255,255,255,.07);
    font-size: 10px;
    font-weight: 900;
}

.vse-article-card-visual--inverter b {
    color: var(--vse-ed-gold);
    font-size: 18px;
}

.vse-article-card-visual--inverter strong {
    display: grid;
    min-width: 210px;
    min-height: 66px;
    place-items: center;
    border-radius: 16px;
    color: var(--vse-ed-dark);
    background: var(--vse-ed-gold);
    font-size: 20px;
    direction: ltr;
    box-shadow: 0 0 0 9px rgba(246,185,26,.1);
}

.vse-single-article-hero__visual--battery,
.vse-single-article-hero__visual--inverter {
    align-content: center;
}

.vse-single-battery-visual,
.vse-single-inverter-visual {
    display: grid;
    place-items: center;
    gap: 15px;
    width: 100%;
    text-align: center;
}

.vse-single-battery-visual > div {
    width: 245px;
    height: 96px;
    padding: 13px;
}

.vse-single-battery-visual > div::after {
    top: 27px;
    left: -14px;
    width: 11px;
    height: 37px;
}

.vse-single-battery-visual > strong {
    color: var(--vse-ed-gold);
    font-size: 40px;
    direction: ltr;
}

.vse-single-battery-visual > em,
.vse-single-inverter-visual > em {
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-style: normal;
}

.vse-single-inverter-visual {
    grid-template-columns: 1fr auto 1fr;
}

.vse-single-inverter-visual > span {
    display: grid;
    min-height: 67px;
    place-items: center;
    padding: 12px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    color: #fff;
    background: rgba(3,29,74,.63);
    font-size: 11px;
    font-weight: 900;
}

.vse-single-inverter-visual > b {
    color: var(--vse-ed-gold);
    font-size: 22px;
}

.vse-single-inverter-visual > strong {
    grid-column: 1 / -1;
    display: grid;
    min-width: 240px;
    min-height: 78px;
    place-items: center;
    border-radius: 17px;
    color: var(--vse-ed-dark);
    background: var(--vse-ed-gold);
    font-size: 24px;
    direction: ltr;
    box-shadow: 0 0 0 11px rgba(246,185,26,.1);
}

.vse-single-inverter-visual > em {
    grid-column: 1 / -1;
}

.vse-article-checklist {
    display: grid;
    gap: 11px;
    margin: 25px 0 32px;
}

.vse-article-checklist label {
    display: grid;
    grid-template-columns: 42px minmax(150px,.8fr) minmax(0,1.2fr);
    align-items: center;
    gap: 15px;
    padding: 14px 16px;
    border: 1px solid var(--vse-ed-border);
    border-radius: 12px;
    background: #f8fafc;
}

.vse-article-checklist label > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: var(--vse-ed-blue);
    font-size: 12px;
    font-weight: 900;
}

.vse-article-checklist label > strong {
    color: var(--vse-ed-dark);
    font-size: 13px;
}

.vse-article-checklist label > em {
    color: var(--vse-ed-muted);
    font-size: 11px;
    font-style: normal;
    line-height: 1.8;
}

.vse-article-load-groups,
.vse-inverter-examples {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 13px;
    margin: 25px 0 32px;
}

.vse-article-load-groups article,
.vse-inverter-examples article {
    padding: 22px 20px;
    border: 1px solid var(--vse-ed-border);
    border-radius: 14px;
    background: #f8fafc;
}

.vse-article-load-groups span,
.vse-inverter-examples span {
    display: grid;
    width: 39px;
    height: 39px;
    place-items: center;
    margin-bottom: 17px;
    border-radius: 11px;
    color: var(--vse-ed-dark);
    background: var(--vse-ed-gold);
    font-size: 11px;
    font-weight: 900;
}

.vse-article-load-groups strong,
.vse-inverter-examples h3 {
    display: block;
    margin: 0 0 8px;
    color: var(--vse-ed-dark);
    font-size: 14px;
    line-height: 1.7;
}

.vse-article-load-groups p,
.vse-inverter-examples p {
    margin: 0;
    color: var(--vse-ed-muted);
    font-size: 12px;
    line-height: 1.9;
}

@media (max-width: 767px) {
    .vse-single-inverter-visual {
        grid-template-columns: 1fr;
    }

    .vse-single-inverter-visual > strong,
    .vse-single-inverter-visual > em {
        grid-column: 1;
    }

    .vse-single-inverter-visual > b {
        transform: rotate(90deg);
    }

    .vse-article-checklist label {
        grid-template-columns: 42px 1fr;
    }

    .vse-article-checklist label > em {
        grid-column: 2;
    }

    .vse-article-load-groups,
    .vse-inverter-examples {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   COMPLETE ARTICLE LIBRARY — MOTOR, PV SIZING, DEVICE COMPARISON — 2.1.0
   ========================================================================== */

/* Article card: starting current */
.vse-article-card-visual--motor {
    align-content: center;
    gap: 15px;
    padding: 30px;
}

.vse-article-card-visual--motor > div,
.vse-single-motor-visual > div {
    position: relative;
    width: 230px;
    height: 90px;
    border-right: 2px solid rgba(255,255,255,.35);
    border-bottom: 2px solid rgba(255,255,255,.35);
}

.vse-article-card-visual--motor > div i,
.vse-single-motor-visual > div i {
    position: absolute;
    right: 14px;
    bottom: 15px;
    width: 32px;
    height: 62px;
    border-radius: 8px 8px 0 0;
    background: var(--vse-ed-gold);
    box-shadow:
        38px 30px 0 -5px rgba(255,255,255,.85),
        73px 38px 0 -7px rgba(255,255,255,.72),
        108px 42px 0 -8px rgba(255,255,255,.6),
        143px 44px 0 -9px rgba(255,255,255,.5);
}

.vse-article-card-visual--motor > div span,
.vse-single-motor-visual > div span {
    position: absolute;
    right: 12px;
    bottom: 13px;
    width: 195px;
    height: 2px;
    background: linear-gradient(90deg, rgba(255,255,255,.35), var(--vse-ed-gold));
}

.vse-article-card-visual--motor strong {
    color: #fff;
    font-size: 23px;
    direction: ltr;
}

.vse-article-card-visual--motor em,
.vse-article-card-visual--panel em,
.vse-article-card-visual--compare em {
    color: rgba(255,255,255,.68);
    font-size: 10px;
    font-style: normal;
}

/* Article card: panel sizing */
.vse-article-card-visual--panel {
    align-content: center;
    gap: 17px;
    padding: 28px;
}

.vse-article-card-visual--panel > div,
.vse-single-panel-visual > div {
    display: grid;
    grid-template-columns: repeat(3, 66px);
    gap: 7px;
    padding: 11px;
    transform: perspective(320px) rotateX(17deg);
    border: 2px solid rgba(255,255,255,.68);
    border-radius: 9px;
    background: rgba(3,29,74,.65);
}

.vse-article-card-visual--panel > div span,
.vse-single-panel-visual > div span {
    height: 38px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 3px;
    background:
        linear-gradient(90deg, transparent 48%, rgba(255,255,255,.35) 49%, rgba(255,255,255,.35) 51%, transparent 52%),
        linear-gradient(rgba(255,255,255,.15), rgba(255,255,255,.02)),
        #0753b7;
}

.vse-article-card-visual--panel strong {
    color: var(--vse-ed-gold);
    font-size: 20px;
    direction: ltr;
}

/* Article card: device comparison */
.vse-article-card-visual--compare {
    grid-template-columns: repeat(3, minmax(0,1fr));
    align-content: center;
    gap: 10px;
    padding: 30px 22px;
}

.vse-article-card-visual--compare > span,
.vse-article-card-visual--compare > strong {
    display: grid;
    min-height: 70px;
    place-items: center;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 14px;
    color: #fff;
    background: rgba(255,255,255,.07);
    font-size: 11px;
    direction: ltr;
}

.vse-article-card-visual--compare > strong {
    color: var(--vse-ed-dark);
    background: var(--vse-ed-gold);
    box-shadow: 0 0 0 8px rgba(246,185,26,.1);
}

.vse-article-card-visual--compare > em {
    grid-column: 1 / -1;
    text-align: center;
}

/* Single article hero visuals */
.vse-single-article-hero__visual--motor,
.vse-single-article-hero__visual--panel,
.vse-single-article-hero__visual--compare {
    align-content: center;
}

.vse-single-motor-visual,
.vse-single-panel-visual,
.vse-single-compare-visual {
    display: grid;
    place-items: center;
    gap: 18px;
    width: 100%;
    text-align: center;
}

.vse-single-motor-visual > div {
    width: 290px;
    height: 118px;
}

.vse-single-motor-visual > div i {
    width: 42px;
    height: 82px;
    box-shadow:
        49px 40px 0 -7px rgba(255,255,255,.86),
        95px 50px 0 -10px rgba(255,255,255,.72),
        141px 55px 0 -12px rgba(255,255,255,.6),
        187px 58px 0 -13px rgba(255,255,255,.48);
}

.vse-single-motor-visual > div span {
    width: 255px;
}

.vse-single-motor-visual > strong,
.vse-single-panel-visual > strong {
    color: var(--vse-ed-gold);
    font-size: 26px;
    direction: ltr;
}

.vse-single-motor-visual > em,
.vse-single-panel-visual > em {
    color: rgba(255,255,255,.68);
    font-size: 11px;
    font-style: normal;
}

.vse-single-panel-visual > div {
    grid-template-columns: repeat(3, 83px);
}

.vse-single-panel-visual > div span {
    height: 49px;
}

.vse-single-compare-visual {
    grid-template-columns: repeat(3, minmax(0,1fr));
}

.vse-single-compare-visual > span,
.vse-single-compare-visual > strong {
    display: grid;
    min-height: 112px;
    place-items: center;
    gap: 7px;
    padding: 16px 8px;
    border: 1px solid rgba(255,255,255,.19);
    border-radius: 17px;
    color: #fff;
    background: rgba(3,29,74,.65);
    font-size: 13px;
    direction: ltr;
}

.vse-single-compare-visual > strong {
    color: var(--vse-ed-dark);
    background: var(--vse-ed-gold);
    box-shadow: 0 0 0 10px rgba(246,185,26,.1);
}

.vse-single-compare-visual small {
    display: block;
    color: inherit;
    opacity: .72;
    font-size: 8px;
    font-weight: 700;
}

/* Starting-current article modules */
.vse-start-current-chart {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 12px;
    margin: 26px 0 32px;
    padding: 24px;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(135deg, var(--vse-ed-dark), var(--vse-ed-blue));
}

.vse-start-current-chart__axis {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: rgba(255,255,255,.62);
    font-size: 9px;
}

.vse-start-current-chart__axis em {
    font-style: normal;
}

.vse-start-current-chart__plot {
    position: relative;
    min-height: 170px;
    border-right: 1px solid rgba(255,255,255,.28);
    border-bottom: 1px solid rgba(255,255,255,.28);
}

.vse-start-current-chart__plot i {
    position: absolute;
    inset: 15px 12px 12px;
    background:
        linear-gradient(145deg,
            transparent 0 8%,
            var(--vse-ed-gold) 8% 12%,
            transparent 12% 17%,
            rgba(255,255,255,.78) 17% 20%,
            transparent 20% 30%,
            rgba(255,255,255,.58) 30% 33%,
            transparent 33% 45%,
            rgba(255,255,255,.42) 45% 48%,
            transparent 48%);
    clip-path: polygon(0 87%, 9% 8%, 14% 60%, 24% 72%, 39% 78%, 58% 80%, 100% 80%, 100% 87%);
}

.vse-start-current-chart__plot strong {
    position: absolute;
    top: 4px;
    right: 10%;
    color: var(--vse-ed-gold);
    font-size: 10px;
}

.vse-start-current-chart__plot span {
    position: absolute;
    right: 55%;
    bottom: 25px;
    color: rgba(255,255,255,.72);
    font-size: 10px;
}

.vse-surge-timeline {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin: 25px 0 32px;
}

.vse-surge-timeline div {
    padding: 19px;
    border: 1px solid var(--vse-ed-border);
    border-radius: 13px;
    background: #f8fafc;
}

.vse-surge-timeline div:nth-child(2) {
    border-color: rgba(246,185,26,.5);
    background: #fff8df;
}

.vse-surge-timeline div:nth-child(3) {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--vse-ed-dark), var(--vse-ed-blue));
}

.vse-surge-timeline strong,
.vse-surge-timeline span {
    display: block;
}

.vse-surge-timeline strong {
    margin-bottom: 7px;
    color: var(--vse-ed-dark);
    font-size: 13px;
}

.vse-surge-timeline div:nth-child(3) strong {
    color: #fff;
}

.vse-surge-timeline span {
    color: var(--vse-ed-muted);
    font-size: 11px;
    line-height: 1.8;
}

.vse-surge-timeline div:nth-child(3) span {
    color: rgba(255,255,255,.68);
}

/* Panel sizing article modules */
.vse-solar-day-curve {
    display: grid;
    grid-template-columns: 50px 1fr 50px;
    align-items: end;
    gap: 14px;
    margin: 25px 0 32px;
    padding: 25px;
    border-radius: 17px;
    color: #fff;
    background: linear-gradient(135deg, var(--vse-ed-dark), var(--vse-ed-blue));
}

.vse-solar-day-curve > span {
    color: rgba(255,255,255,.64);
    font-size: 10px;
    text-align: center;
}

.vse-solar-day-curve > div {
    position: relative;
    height: 170px;
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.3);
}

.vse-solar-day-curve i {
    position: absolute;
    right: 2%;
    bottom: -95px;
    width: 96%;
    height: 230px;
    border: 6px solid var(--vse-ed-gold);
    border-bottom: 0;
    border-radius: 50% 50% 0 0;
}

.vse-solar-day-curve strong {
    position: absolute;
    top: 30px;
    right: 50%;
    transform: translateX(50%);
    color: #fff;
    font-size: 12px;
}

.vse-panel-orientation {
    display: grid;
    gap: 12px;
    margin: 25px 0 32px;
    padding: 24px;
    border: 1px solid var(--vse-ed-border);
    border-radius: 15px;
    background: #f8fafc;
    text-align: center;
}

.vse-panel-orientation > div {
    display: grid;
    grid-template-columns: 70px 1fr 70px;
    align-items: center;
    gap: 10px;
}

.vse-panel-orientation > div i {
    height: 80px;
    border: 3px solid var(--vse-ed-gold);
    border-bottom: 0;
    border-radius: 50% 50% 0 0;
}

.vse-panel-orientation span {
    color: var(--vse-ed-muted);
    font-size: 11px;
}

.vse-panel-orientation strong {
    color: var(--vse-ed-dark);
    font-size: 14px;
}

.vse-panel-orientation em {
    color: var(--vse-ed-muted);
    font-size: 10px;
    font-style: normal;
}

/* Inverter / solar inverter / UPS article modules */
.vse-device-comparison-visual,
.vse-device-choice {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 13px;
    margin: 25px 0 32px;
}

.vse-device-comparison-visual article,
.vse-device-choice article {
    padding: 23px 18px;
    border: 1px solid var(--vse-ed-border);
    border-radius: 14px;
    background: #f8fafc;
    text-align: center;
}

.vse-device-comparison-visual article:nth-child(2) {
    color: var(--vse-ed-dark);
    border-color: var(--vse-ed-gold);
    background: var(--vse-ed-gold);
}

.vse-device-comparison-visual strong,
.vse-device-comparison-visual span,
.vse-device-choice span,
.vse-device-choice strong {
    display: block;
}

.vse-device-comparison-visual strong {
    margin-bottom: 8px;
    color: var(--vse-ed-dark);
    font-size: 14px;
    direction: ltr;
}

.vse-device-comparison-visual span {
    color: var(--vse-ed-muted);
    font-size: 11px;
}

.vse-device-comparison-visual article:nth-child(2) span {
    color: rgba(6,26,53,.72);
}

.vse-device-choice span {
    color: var(--vse-ed-muted);
    font-size: 10px;
}

.vse-device-choice strong {
    margin: 10px 0 8px;
    color: var(--vse-ed-dark);
    font-size: 14px;
}

.vse-device-choice p {
    margin: 0;
    font-size: 11px;
}

.vse-wave-comparison {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 13px;
    margin: 25px 0 32px;
}

.vse-wave-comparison > div {
    padding: 21px;
    overflow: hidden;
    border: 1px solid var(--vse-ed-border);
    border-radius: 14px;
    background: #f8fafc;
}

.vse-wave-comparison strong,
.vse-wave-comparison span {
    display: block;
}

.vse-wave-comparison strong {
    color: var(--vse-ed-dark);
    font-size: 13px;
    direction: ltr;
}

.vse-wave-comparison i {
    display: block;
    width: 100%;
    height: 70px;
    margin: 12px 0;
    background:
        radial-gradient(ellipse at 12.5% 50%, transparent 0 43%, var(--vse-ed-blue) 44% 47%, transparent 48%) 0 0/50% 100% repeat-x;
}

.vse-wave-comparison > div:nth-child(2) i {
    background:
        linear-gradient(90deg,
            var(--vse-ed-blue) 0 21%,
            transparent 21% 26%,
            var(--vse-ed-blue) 26% 47%,
            transparent 47% 52%,
            var(--vse-ed-blue) 52% 73%,
            transparent 73% 78%,
            var(--vse-ed-blue) 78% 100%);
    clip-path: polygon(0 22%, 22% 22%, 22% 78%, 48% 78%, 48% 22%, 74% 22%, 74% 78%, 100% 78%, 100% 55%, 0 55%);
}

.vse-wave-comparison span {
    color: var(--vse-ed-muted);
    font-size: 10px;
}

/* No article remains in "coming soon" state after 2.1.0. */
.vse-article-card__soon {
    display: none;
}

@media (max-width: 767px) {
    .vse-single-compare-visual,
    .vse-surge-timeline,
    .vse-device-comparison-visual,
    .vse-device-choice,
    .vse-wave-comparison {
        grid-template-columns: 1fr;
    }

    .vse-article-card-visual--compare {
        grid-template-columns: 1fr;
    }

    .vse-article-card-visual--compare > em {
        grid-column: 1;
    }

    .vse-single-motor-visual > div,
    .vse-single-panel-visual > div {
        transform: scale(.84);
    }

    .vse-start-current-chart {
        grid-template-columns: 38px 1fr;
        padding: 18px;
    }

    .vse-solar-day-curve {
        grid-template-columns: 35px 1fr 35px;
        padding: 18px 10px;
    }
}
