
/* Same IranYekan files and weights; reveal fallback text while fonts load. */
@font-face {
    font-display: swap;
    font-family: iranyekan;
    font-style: normal;
    font-weight: 600;
    src: url('/Content/fonts/yekan/eot/iranyekanwebboldfanum.eot');
    src: url('/Content/fonts/yekan/eot/iranyekanwebboldfanumd41d.eot?#iefix') format('embedded-opentype'), url('/Content/fonts/yekan/woff/iranyekanwebboldfanum.woff') format('woff'), url('/Content/fonts/yekan/ttf/iranyekanwebboldfanum.ttf') format('truetype');
}
@font-face {
    font-display: swap;
    font-family: iranyekan;
    font-style: normal;
    font-weight: 300;
    src: url('/Content/fonts/yekan/eot/iranyekanweblightfanum.eot');
    src: url('/Content/fonts/yekan/eot/iranyekanweblightfanumd41d.eot?#iefix') format('embedded-opentype'), url('/Content/fonts/yekan/woff/iranyekanweblightfanum.woff') format('woff'), url('/Content/fonts/yekan/ttf/iranyekanweblightfanum.ttf') format('truetype');
}
@font-face {
    font-display: swap;
    font-family: iranyekan;
    font-style: normal;
    font-weight: normal;
    src: url('/Content/fonts/yekan/eot/iranyekanwebregularfanum.eot');
    src: url('/Content/fonts/yekan/eot/iranyekanwebregularfanumd41d.eot?#iefix') format('embedded-opentype'), url('/Content/fonts/yekan/woff/iranyekanwebregularfanum.woff') format('woff'), url('/Content/fonts/yekan/ttf/iranyekanwebregularfanum.ttf') format('truetype');
}



/* =========================================================
   AVA ELECTRIC - COMPLETE HOMEPAGE V5 - ILLUSTRATED BRAND SECTIONS
   FULL WIDTH + SERVICES + AUTOPLAY + DISTRIBUTED HEROES
   ========================================================= */

.ava-home,
.ava-home * {
    box-sizing: border-box;
}

.ava-home {
    position: relative;
    width: var(--ava-viewport-width,100vw);
    max-width: none;

    margin-left: calc(50% - var(--ava-viewport-width,100vw) / 2);
    margin-right: calc(50% - var(--ava-viewport-width,100vw) / 2);

    padding-left: clamp(10px, 2vw, 38px);
    padding-right: clamp(10px, 2vw, 38px);

    direction: rtl;
    font-family: inherit;

    color: #17282d;
    line-height: 1.8;

    overflow-x: hidden;
}

.ava-home img {
    max-width: 100%;
}


/* =========================================================
   MAIN SLIDER
   ========================================================= */

.ava-slider-wrap {
    width: 100%;
    max-width: none;
    margin: 0 auto 14px;
}

.ava-slider {
    position: relative;

    width: 100%;
    /* The first banner defines the frame height at its natural ratio. */

    overflow: hidden;

    background: #fff;

    border-radius: 22px;

    box-shadow:
        0 14px 42px rgba(20,61,63,.12);
}

.ava-slide {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 0;
    transition: opacity .6s ease, visibility 0s linear .6s;
}

.ava-slide.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 2;
    transition: opacity .6s ease, visibility 0s;
}

.ava-slide:first-child {
    position: relative;
    inset: auto;
    height: auto;
}

.ava-slide:first-child img {
    height: auto !important;
}

.ava-slide img {
    width: 100% !important;
    height: 100% !important;

    display: block;

    object-fit: cover !important;
    object-position: center !important;

    background: #fff;
}

/* Hide the template title only in the section containing this homepage. */
.body-content > .container-fluid > section.mb-5:has(.ava-home) > h2.mb-4,
[data-ava-hidden-page-title] {
    display: none !important;
}


/* Main sections share the full width of the slider. */
.ava-main-content { width: 100%; max-width: none; margin: 0 auto; padding: 0; }
.ava-main-content > * { min-width: 0; }
.ava-home .ava-section { width: 100%; margin: 0 0 56px; }
.ava-home .ava-intro {
    width: 100%;
    max-width: none;
    margin: 0 0 36px;
    padding: clamp(24px,3vw,44px);
    text-align: center;
    border: 1px solid #d6e9e3;
    border-top: 4px solid #149b83;
    border-radius: 22px;
    background: radial-gradient(ellipse at 100% 0%,rgba(44,183,155,.10),transparent 55%),linear-gradient(135deg,#fff,#f5faf8);
    box-shadow: 0 10px 32px rgba(20,61,63,.065);
}
.ava-home .ava-intro h1 { margin: 0 0 14px; color: #193036; font-size: clamp(24px,2.2vw,34px); line-height: 1.65; font-weight: 900; }
.ava-home .ava-intro p { margin: 0 0 14px; color: #52696f; font-size: 14px; line-height: 2.15; text-align: justify; text-align-last: right; }
.ava-home .ava-intro p:last-child { margin-bottom: 0; }
.ava-label { display: inline-block; padding: 5px 13px; margin-bottom: 10px; border-radius: 30px; background: #e6f8f3; color: #087763; font-size: 12px; font-weight: 800; }
.ava-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.ava-home .ava-section-head h2, .ava-home .ava-delta-copy h2 { margin: 0 0 10px; font-size: clamp(23px,2vw,29px); color: #193036; font-weight: 900; line-height: 1.7; }
.ava-section-head p { max-width: none; margin: 0; font-size: 14px; color: #52696f; line-height: 2.1; }
.ava-home .ava-copy p { margin: 0 0 14px; font-size: 14px; line-height: 2.15; color: #50666c; }
.ava-home .ava-copy a { color: #086f60; text-decoration: underline; text-underline-offset: 4px; }
.ava-home a:focus-visible, .ava-home button:focus-visible, .ava-home summary:focus-visible { outline: 3px solid #187ead; outline-offset: 4px; }
.ava-home bdi { unicode-bidi: isolate; }
.ava-agency-products { display: flex; flex-wrap: wrap; gap: 7px; }
.ava-agency-products a, .ava-agency-products span { display: inline-block; padding: 7px 11px; background: #f1f7f5; border: 1px solid #dce8e4; border-radius: 9px; font-size: 12px; font-weight: 700; color: #315e54 !important; text-decoration: none !important; }
.ava-agency-products a:hover { background: #e1f3ed; border-color: #97cbbb; }

/* Delta: editorial copy and a separate product gallery. */
.ava-delta { display: grid; grid-template-columns: minmax(0,3fr) minmax(0,2fr); gap: 34px; align-items: center; padding: clamp(22px,3vw,38px); border: 1px solid #dce8e6; border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(20,55,60,.045); }
.ava-delta-copy, .ava-delta-visual { min-width: 0; }
.ava-delta .ava-label { background: #eaf4fb; color: #196891; }
.ava-delta .ava-agency-products { margin: 19px 0; }
.ava-delta .ava-service-link { color: #166f99 !important; }
.ava-delta-visual { padding: 18px; border-radius: 19px; background: #f0f5f7; }
.ava-brand-signature { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; color: #53727e; font-size: 12px; }
.ava-delta-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.ava-delta-product { display: flex; flex-direction: column; align-items: center; gap: 9px; padding: 14px 9px; border: 1px solid #e0e9ed; border-radius: 14px; background: #fff; color: #284c5b !important; text-decoration: none !important; font-size: 12px; font-weight: 800; transition: border-color .2s; }
.ava-delta-product:hover { border-color: #69a7c6; }
.ava-delta-product img { display: block; width: 100% !important; height: 126px !important; object-fit: contain !important; }

/* INVT: a short introduction and four independent product cards. */
.ava-invt { padding: clamp(20px,3vw,34px); background: #f5f8f7; border: 1px solid #e0e9e6; border-radius: 24px; }
.ava-invt-heading { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.ava-invt-heading > div { min-width: 0; }
.ava-invt-lead { max-width: none; margin-bottom: 24px; }
.ava-invt-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 15px; }
.ava-invt-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: 17px; background: #fff; border: 1px solid #dfe8e4; transition: transform .2s, box-shadow .2s; }
.ava-invt-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(30,63,53,.08); }
.ava-invt-image { display: flex; align-items: center; justify-content: center; padding: 17px; background: #fff; border-bottom: 1px solid #edf1ef; }
.ava-invt-image img { display: block; width: 100% !important; height: 155px !important; object-fit: contain !important; }
.ava-invt-content { display: flex; flex-direction: column; flex: 1; padding: 19px 17px; }
.ava-home .ava-invt-card h3 { margin: 0 0 8px; font-size: 18px; font-weight: 850; line-height: 1.7; color: #203d35; }
.ava-invt-card h3 a { color: inherit !important; text-decoration: none !important; }
.ava-invt-card p { margin: 0 0 18px; font-size: 13px; line-height: 2.1; color: #536962; }
.ava-invt-card .ava-service-link { font-size: 12px; }



/* Buying guidance. */
.ava-buying { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 34px; align-items: start; padding: clamp(22px,3vw,36px); background: #f4f8fa; border: 1px solid #dce6eb; border-radius: 23px; }
.ava-buying .ava-section-head { margin-bottom: 13px; }
.ava-checklist { margin: 0; padding: 23px 25px 23px 20px; list-style: none; border: 1px solid #dde7ed; border-radius: 17px; background: #fff; }
.ava-checklist li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 11px; margin-bottom: 19px; }
.ava-checklist li:last-child { margin-bottom: 0; }
.ava-checklist .ava-checkmark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #149b83; background: #e7f8f4; }
.ava-checkmark svg { display: block; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ava-checklist strong { display: block; color: #264b5c; font-size: 14px; margin-bottom: 3px; }
.ava-checklist span { display: block; color: #5b717b; font-size: 12px; line-height: 1.9; }
/* =========================================================
   SERVICES
   ========================================================= */

.ava-services {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0,1fr));

    gap: 18px;
}

.ava-service-card {
    position: relative;

    min-height: 315px;

    overflow: hidden;

    padding: 28px 25px 24px;

    display: flex;
    flex-direction: column;

    background: #fff;

    border: 1px solid #e0eae7;
    border-radius: 24px;

    box-shadow:
        0 8px 30px rgba(18,57,58,.065);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.ava-service-card:before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    top: -90px;
    left: -75px;

    border-radius: 50%;

    background:
        rgba(28,170,144,.07);

    pointer-events: none;
}

.ava-service-card:hover {
    transform: translateY(-6px);

    border-color: #c7e3dc;

    box-shadow:
        0 18px 42px rgba(18,57,58,.12);
}

.ava-service-icon {
    width: 64px;
    height: 64px;

    margin-bottom: 18px;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #e4f8f3,
            #f4fcfa
        );

    border: 1px solid #d5ebe5;
    border-radius: 18px;
}

.ava-service-icon svg {
    width: 32px;
    height: 32px;

    fill: none;

    stroke: #149b83;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.ava-service-card h3 {
    margin: 0 0 9px;

    color: #20363b;

    font-size: 19px;
    line-height: 1.7;

    font-weight: 900;
}

.ava-service-card > p {
    margin: 0 0 15px;

    color: #6f8185;

    font-size: 14px;
    line-height: 2;
}

.ava-service-features {
    margin: 0 0 18px;
    padding: 0;

    list-style: none;
}

.ava-service-features li {
    position: relative;

    margin-bottom: 5px;

    padding-right: 17px;

    color: #50686d;

    font-size: 12px;
}

.ava-service-features li:before {
    content: "";

    position: absolute;

    right: 0;
    top: 10px;

    width: 6px;
    height: 6px;

    background: #18a188;

    border-radius: 50%;
}

.ava-service-link {
    margin-top: auto;

    display: inline-flex;

    align-items: center;

    gap: 6px;

    color: #149b83 !important;

    font-size: 13px;
    font-weight: 900;

    text-decoration: none !important;
}

.ava-service-project {
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(18,125,187,.07),
            transparent 31%
        ),
        #fff;
}

.ava-service-project .ava-service-icon {
    background:
        linear-gradient(
            145deg,
            #eaf5fb,
            #f7fbfd
        );

    border-color: #d7e9f3;
}

.ava-service-project .ava-service-icon svg {
    stroke: #167cac;
}

.ava-service-project .ava-service-features li:before {
    background: #167cac;
}

.ava-service-project .ava-service-link {
    color: #167cac !important;
}

.ava-service-support {
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(106,77,181,.07),
            transparent 31%
        ),
        #fff;
}

.ava-service-support .ava-service-icon {
    background:
        linear-gradient(
            145deg,
            #f0edfa,
            #faf9fd
        );

    border-color: #e2dcf3;
}

.ava-service-support .ava-service-icon svg {
    stroke: #6951a7;
}

.ava-service-support .ava-service-features li:before {
    background: #6951a7;
}

.ava-service-support .ava-service-link {
    color: #6951a7 !important;
}


/* =========================================================
   CATEGORY CAROUSEL
   ========================================================= */

.ava-all-categories {
    position: relative;

    width: 100%;

    overflow: hidden;

    padding: 28px 22px 24px;

    background:
        radial-gradient(
            circle at 95% 0%,
            rgba(44,183,155,.12),
            transparent 29%
        ),
        #f5f8f8;

    border: 1px solid #e1eae8;
    border-radius: 24px;
}

.ava-all-cat-head {
    display: flex;

    justify-content: space-between;
    align-items: center;

    gap: 15px;

    margin-bottom: 18px;
}

.ava-all-cat-head h2 {
    margin: 0 0 3px;

    color: #193238;

    font-size: 24px;
    font-weight: 900;
}

.ava-all-cat-head p {
    margin: 0;

    color: #76888c;

    font-size: 12px;
}



.ava-all-cat-track {
    direction: ltr;

    display: grid;

    grid-template-rows:
        repeat(2,1fr);

    grid-auto-flow: column;

    grid-auto-columns:
        185px;

    gap: 12px;

    overflow-x: auto;
    overflow-y: hidden;

    padding: 3px 1px 10px;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    overscroll-behavior-inline: contain;

    scrollbar-width: none;
}

.ava-all-cat-track::-webkit-scrollbar {
    display: none;
}

.ava-all-cat-card {
    direction: rtl;

    position: relative;

    display: block;

    min-width: 0;

    overflow: hidden;

    scroll-snap-align: start;

    background: #fff;

    border: 1px solid #e1e9e7;
    border-radius: 16px;

    color: inherit !important;
    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.ava-all-cat-card:hover {
    transform: translateY(-3px);

    border-color: #c8e1db;

    box-shadow:
        0 11px 27px rgba(17,59,58,.10);
}

.ava-all-cat-img {
    width: 100%;
    height: 122px;

    padding: 8px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(145deg,#fff,#f7faf9);

    border-bottom: 1px solid #edf2f1;
}

.ava-all-cat-img img {
    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;
    object-position: center !important;
}

.ava-all-cat-info {
    padding: 9px 11px 10px;
}

.ava-all-cat-info strong {
    display: block;

    overflow: hidden;

    color: #253a3f;

    font-size: 12.5px;
    font-weight: 900;

    white-space: nowrap;
    text-overflow: ellipsis;
}

.ava-all-cat-info small {
    display: block;

    margin-top: 2px;

    color: #839195;

    font-size: 9.7px;
}

.ava-parent-category {
    border-color:
        rgba(30,164,139,.35);
}

.ava-parent-category:before {
    content: "دسته اصلی";

    position: absolute;

    z-index: 5;

    top: 7px;
    right: 7px;

    padding: 3px 7px;

    background: #149b83;
    color: #fff;

    border-radius: 50px;

    font-size: 8.5px;
    font-weight: 800;
}


/* =========================================================
   BENEFITS
   ========================================================= */

.ava-benefits {
    display: grid;

    grid-template-columns:
        repeat(4,minmax(0,1fr));

    gap: 13px;
}

.ava-benefit {
    padding: 20px 15px;

    text-align: center;

    background: #fff;

    border: 1px solid #e4ecea;
    border-radius: 17px;
}

.ava-benefit-icon {
    width: 48px;
    height: 48px;

    margin: 0 auto 10px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: #e7f8f4;

    border-radius: 14px;
}

.ava-benefit-icon svg {
    width: 24px;
    height: 24px;

    fill: none;

    stroke: #149b83;
    stroke-width: 1.8;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.ava-benefit strong {
    display: block;

    margin-bottom: 4px;

    color: #263a3e;

    font-size: 14px;
}

.ava-benefit p {
    margin: 0;

    color: #78878b;

    font-size: 13px;
}


/* =========================================================
   CTA
   ========================================================= */

.ava-consult {
    display: grid;

    grid-template-columns:
        minmax(0,1fr) auto;

    align-items: center;

    gap: 25px;

    margin-bottom: 48px;

    padding: 30px 32px;

    background:
        linear-gradient(135deg,#e8f8f4,#f8fbfa);

    border: 1px solid #d7eae5;
    border-radius: 22px;
}

.ava-consult h2 {
    margin: 0 0 5px;

    color: #193238;

    font-size: 23px;
}

.ava-consult p {
    margin: 0;

    color: #6c7d81;

    font-size: 13px;
}

.ava-consult-actions {
    display: flex;
    gap: 8px;
}

.ava-btn {
    display: inline-block;

    padding: 11px 17px;

    border-radius: 11px;

    font-size: 12.5px;
    font-weight: 800;

    text-align: center;
    text-decoration: none !important;

    white-space: nowrap;
}

.ava-btn-primary {
    background: #149b83;
    color: #fff !important;
}

.ava-btn-secondary {
    background: #fff;

    border: 1px solid #cae1dc;

    color: #24685e !important;
}



/* Responsive layout; keep images uncropped and text in reading order. */
@media(max-width:1050px) {
    .ava-delta { gap: 24px; padding: 26px; }
    .ava-delta-product img { height: 108px !important; }
    .ava-services { gap: 13px; }
    .ava-service-card { padding: 23px 19px; }
    .ava-invt-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ava-consult { grid-template-columns: 1fr; }
}
@media(max-width:780px) {
    .ava-home { padding-left: 7px; padding-right: 7px; }
    .ava-main-content { padding: 0; }
    .ava-slider { border-radius: 15px; }
    .ava-home .ava-section { margin-bottom: 38px; }
    .ava-home .ava-intro { padding: 24px 18px; border-radius: 18px; }
    .ava-home .ava-intro h1 { font-size: 25px; }
    .ava-section-head { align-items: flex-start; }
    .ava-delta { grid-template-columns: minmax(0,1fr); padding: 22px; }
    .ava-delta-visual { padding: 15px; }
    .ava-delta-product img { height: 130px !important; }
    .ava-services { grid-template-columns: minmax(0,1fr); }
    .ava-service-card { min-height: 0; padding: 24px; }
    .ava-service-card h3 { font-size: 19px; }
    .ava-service-icon { width: 52px; height: 52px; margin-bottom: 13px; }
    .ava-service-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 15px; }
    .ava-all-categories { padding: 20px 12px 17px; }
    .ava-all-cat-head { align-items: flex-start; }
    .ava-all-cat-head h2 { font-size: 21px; }
    .ava-all-cat-track { grid-auto-columns: 160px; }
    .ava-all-cat-img { height: 110px; }
    .ava-buying { grid-template-columns: minmax(0,1fr); gap: 18px; padding: 23px; }
    .ava-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .ava-consult { padding: 24px; }
    .ava-consult h2 { font-size: 21px; }
    .ava-consult-actions { flex-wrap: wrap; }
}
@media(max-width:520px) {
    .ava-home .ava-intro h1 { font-size: 23px; }
    .ava-delta, .ava-invt { padding: 19px; border-radius: 19px; }
    .ava-delta-gallery { gap: 8px; }
    .ava-delta-product { font-size: 11px; }
    .ava-delta-product img { height: 95px !important; }
    .ava-brand-signature { flex-wrap: wrap; }
    .ava-invt-heading { display: block; }
    .ava-invt-image img { height: 170px !important; }
    .ava-service-features { grid-template-columns: minmax(0,1fr); }
    .ava-all-cat-head { flex-wrap: wrap; gap: 10px; }
        .ava-btn { white-space: normal; }
}
@media(prefers-reduced-motion:reduce) {
    .ava-slide, .ava-service-card, .ava-invt-card, .ava-delta-product, .ava-all-cat-card { transition: none; }
    .ava-all-cat-track { scroll-behavior: auto; }
}


/* Original wide banners integrated above the current brand content. */
.ava-home .ava-brand-feature, .ava-home .ava-xima-feature { overflow: hidden; border: 1px solid #dce8e6; border-radius: 24px; background: #fff; box-shadow: 0 12px 36px rgba(20,55,60,.055); }
.ava-home .ava-feature-banner { display: block; width: 100%; overflow: hidden; background: #f5f8f8; }
.ava-home .ava-feature-banner img { display: block; width: 100% !important; max-width: 100% !important; height: auto !important; object-fit: contain !important; }
.ava-home .ava-brand-feature > .ava-delta { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.ava-home .ava-brand-feature > .ava-invt { margin: 0; border: 0; border-radius: 0; }
.ava-home .ava-official-logo { display: block; flex: 0 0 auto; max-width: 100%; object-fit: contain !important; }
.ava-home .ava-official-logo-delta { width: 125px !important; height: auto !important; }
.ava-home .ava-official-logo-xima { width: 88px !important; height: auto !important; }

/* Restore the four illustrated agency cards in the original two-column layout. */
.ava-secondary-agency-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.ava-secondary-agency { overflow: hidden; display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #e2ebe9; border-radius: 22px; box-shadow: 0 8px 28px rgba(19,58,60,.055); }
.ava-secondary-agency-image { display: block; width: 100%; background: #fff; overflow: hidden; }
.ava-secondary-agency-image img { display: block; width: 100% !important; height: auto !important; object-fit: contain !important; }
.ava-secondary-agency-content { display: flex; flex-direction: column; flex: 1; padding: 21px 23px 24px; }
.ava-home .ava-secondary-agency-content h3 { margin: 0 0 9px; color: #20363b; font-size: 18px; font-weight: 900; line-height: 1.8; }
.ava-secondary-agency-content p { margin: 0 0 17px; color: #597176; font-size: 13px; line-height: 2.05; }
.ava-secondary-agency-content .ava-agency-products { margin-top: auto; }
.ava-secondary-agency-content .ava-agency-products a, .ava-secondary-agency-content .ava-agency-products span { padding: 6px 10px; border-radius: 50px; background: #f2f7f6; font-size: 11px; }

/* LS: a separate asymmetric section with a side-by-side image and narrative. */
.ava-ls-feature { overflow: hidden; padding: clamp(22px,3vw,35px); border: 1px solid #d6e4ee; border-top: 4px solid #136c9d; border-radius: 20px; background: #fff; }
.ava-ls-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.ava-ls-heading > div { min-width: 0; }
.ava-ls-heading .ava-label { background: #eaf3fa; color: #175d86; }
.ava-home .ava-ls-heading h2 { margin: 0; color: #153e58; font-size: clamp(23px,2vw,29px); line-height: 1.7; }
.ava-ls-heading > .ava-service-link { flex-shrink: 0; color: #176b98 !important; }
.ava-ls-stage { display: grid; grid-template-columns: minmax(0,1.85fr) minmax(0,1fr); gap: 23px; align-items: center; direction: ltr; }
.ava-ls-stage > div { direction: rtl; min-width: 0; }
.ava-ls-visual { overflow: hidden; border: 1px solid #e1ebf1; border-radius: 16px; }
.ava-ls-visual a { display: block; }
.ava-ls-visual img { display: block; width: 100% !important; height: auto !important; object-fit: contain !important; }
.ava-ls-visual > p { margin: 0; padding: 13px 16px; background: #edf5fa; color: #42677d; font-size: 12px; line-height: 1.9; text-align: center; }
.ava-ls-copy { padding: 21px; border-radius: 16px; background: #f5f8fb; }
.ava-home .ava-ls-copy h3 { margin: 0 0 12px; font-size: 18px; line-height: 1.8; color: #1e536f; }
.ava-home .ava-ls-copy p { font-size: 13px; line-height: 2.05; margin-bottom: 12px; }
.ava-ls-copy p:last-child { margin-bottom: 0; }
.ava-ls-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-top: 23px; }
.ava-ls-paths > div { min-width: 0; padding: 20px; border: 1px solid #dce8ef; border-radius: 13px; background: #fafcfd; }

.ava-home .ava-ls-paths h3 { margin: 0 0 12px; color: #254e67; font-size: 16px; line-height: 1.7; font-weight: 800; text-align: center; }
.ava-ls-paths .ava-agency-products { justify-content: center; }
.ava-ls-paths .ava-agency-products a { font-size: 11px; background: #edf4f9; border-color: #d8e7f1; color: #285a79 !important; }

/* XIMA: a dedicated banner and clear application routes. */
.ava-xima-body { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 30px; align-items: center; padding: clamp(22px,3vw,36px); background: #f5faf8; }
.ava-xima-copy { min-width: 0; }
.ava-xima-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; margin-bottom: 14px; }
.ava-xima-title > div { min-width: 0; }
.ava-home .ava-xima-title h2 { margin: 0; font-size: clamp(23px,2vw,28px); line-height: 1.7; color: #164a3f; }
.ava-xima-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 19px; }
.ava-xima-series { display: grid; gap: 12px; }
.ava-xima-series > a { display: grid; grid-template-columns: 53px minmax(0,1fr) 19px; align-items: center; gap: 13px; padding: 20px 17px; border: 1px solid #d2e7df; border-radius: 15px; background: #fff; text-decoration: none !important; transition: border-color .2s, transform .2s; }
.ava-xima-series > a:hover { border-color: #42b394; transform: translateX(-3px); }
.ava-xima-letter { display: grid; place-items: center; width: 53px; height: 57px; border-radius: 12px; background: #e5f5ee; color: #0e8569; font: 800 28px/1 Arial,sans-serif; }
.ava-xima-series > a:nth-child(2) .ava-xima-letter { background: #eaf4fb; color: #2373a2; }
.ava-xima-series > a:nth-child(3) .ava-xima-letter { background: #f4eff9; color: #8052a2; }
.ava-xima-series strong { display: block; margin-bottom: 5px; color: #254d40; font-size: 16px; line-height: 1.7; }
.ava-xima-series small { display: block; font-size: 12px; color: #5d796e; line-height: 1.9; }
.ava-xima-arrow { color: #188d6f; font-size: 21px; }
@media(max-width:1050px) {
 .ava-ls-stage { grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); }
 .ava-ls-heading { display: block; }
 .ava-ls-heading > .ava-service-link { margin-top: 12px; }
 .ava-ls-paths > div { padding: 16px; }
 .ava-xima-body { gap: 22px; }
 .ava-xima-title { display: block; }
 .ava-xima-title > img { margin-top: 12px; }
}
@media(max-width:780px) {
 .ava-secondary-agency-grid { gap: 16px; }
 .ava-secondary-agency-content { padding: 18px; }
 .ava-home .ava-secondary-agency-content h3 { font-size: 17px; }
 .ava-ls-stage, .ava-xima-body { grid-template-columns: minmax(0,1fr); }
 .ava-ls-stage { direction: rtl; }
 .ava-ls-paths { grid-template-columns: minmax(0,1fr); gap: 10px; }
 .ava-ls-paths > div { display: block; }

 .ava-xima-title { display: flex; }
 .ava-xima-title > img { margin-top: 0; }
}
@media(max-width:620px) {
 .ava-secondary-agency-grid { grid-template-columns: minmax(0,1fr); }
 .ava-home .ava-brand-feature, .ava-home .ava-xima-feature { border-radius: 19px; }
 .ava-home .ava-official-logo-invt { width: 94px !important; margin-top: 10px; }
 .ava-home .ava-official-logo-delta { width: 110px !important; }
 .ava-home .ava-official-logo-xima { width: 70px !important; }
 .ava-ls-feature { padding: 21px 16px; }
 .ava-xima-body { padding: 23px 19px; }
 .ava-xima-title { display: block; }
 .ava-xima-title > img { margin-top: 12px; }
 .ava-xima-series > a { grid-template-columns: 44px minmax(0,1fr) 15px; gap: 11px; padding: 17px 13px; }
 .ava-xima-letter { width: 44px; height: 49px; font-size: 25px; }
 .ava-xima-series strong { font-size: 15px; }
}
@media(max-width:520px) {
 .ava-invt-grid { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
 .ava-xima-series > a { transition: none; }
}

/* Visible slider and category arrows, including touch screens. */
.ava-home .ava-overlay-arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid #b5d7ce;
    border-radius: 50%;
    background: #fff;
    color: #087763;
    box-shadow: 0 4px 16px rgba(15,65,55,.20);
    cursor: pointer;
    appearance: none;
    opacity: 1;
    visibility: visible;
    touch-action: manipulation;
    transition: background .18s ease, color .18s ease;
}
.ava-home .ava-overlay-arrow svg {
    display: block;
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}
.ava-home .ava-overlay-arrow:hover,
.ava-home .ava-overlay-arrow:active { background: #087763; color: #fff; }
.ava-home .ava-slider-prev { right: 16px; }
.ava-home .ava-slider-next { left: 16px; }
.ava-cat-carousel { position: relative; padding: 0 56px; }
.ava-home .ava-cat-side-left { left: 0; }
.ava-home .ava-cat-side-right { right: 0; }
@media(max-width:780px) {
    .ava-home .ava-overlay-arrow { width: 40px; height: 40px; }
    .ava-home .ava-slider-prev { right: 8px; }
    .ava-home .ava-slider-next { left: 8px; }
    .ava-cat-carousel { padding: 0 46px; }
}
@media(prefers-reduced-motion:reduce) {
    .ava-home .ava-overlay-arrow { transition: none; }
}


/* Remove template spacing only on the page containing this homepage. */
.body-content:has(.ava-home),
.body-content > .container-fluid:has(.ava-home),
.body-content > .container-fluid > section.mb-5:has(.ava-home) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.ava-home { margin-top: 0; padding-top: 0; }

/* Eight image links immediately below the slider. */
.ava-primary-categories {
    display: grid;
    grid-template-columns: repeat(8,minmax(0,1fr));
    align-items: start;
    gap: clamp(10px,1.3vw,22px);
    width: 100%;
    margin: 0 0 28px;
    padding: 12px clamp(8px,1.2vw,20px) 16px;
    direction: rtl;
}
.ava-home .ava-primary-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: #203d35 !important;
    text-align: center;
    text-decoration: none !important;
}
.ava-primary-category-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(76px,7.2vw,108px);
    aspect-ratio: 1;
    max-width: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid #cce4dc;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 25%,#fff 40%,#eaf6f1 100%);
    box-shadow: 0 5px 15px rgba(20,61,63,.07);
    transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ava-home .ava-primary-category-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 50%;
}
.ava-primary-category-title { font-size: clamp(11px,.85vw,14px); font-weight: 800; line-height: 1.8; }
.ava-primary-category:hover .ava-primary-category-image,
.ava-primary-category:focus-visible .ava-primary-category-image {
    transform: translateY(-3px);
    border-color: #149b83;
    box-shadow: 0 8px 20px rgba(20,120,95,.13);
}
.ava-home .ava-service-icon-detailed { width: 86px; height: 86px; padding: 6px; }
.ava-home .ava-service-icon-detailed svg { width: 72px; height: 72px; stroke-width: 1.4; }
@media(max-width:780px) {
    .ava-primary-categories { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px 10px; padding: 8px 3px 12px; margin-bottom: 22px; }
    .ava-primary-category-image { width: 76px; padding: 0; }
    .ava-home .ava-primary-category { gap: 7px; }
    .ava-primary-category-title { font-size: 11px; line-height: 1.65; }
    .ava-home .ava-service-icon-detailed { width: 76px; height: 76px; }
    .ava-home .ava-service-icon-detailed svg { width: 64px; height: 64px; }
}
@media(prefers-reduced-motion:reduce) {
    .ava-primary-category-image { transition: none; }
    .ava-primary-category:hover .ava-primary-category-image,
    .ava-primary-category:focus-visible .ava-primary-category-image { transform: none; }
}


/* Justify the prose and feature descriptions in all three service cards. */
.ava-home .ava-service-card > p,
.ava-home .ava-service-features li {
    text-align: justify;
    text-align-last: right;
    text-justify: inter-word;
}


/* Homepage only: actual fixed navbar height plus a subtle 6px gap. */
body:has(.ava-home) {
    padding-top: calc(var(--ava-fixed-nav-height,70px) + 6px) !important;
}
/* The CMS wraps the hidden marker in a paragraph. Keep its margin at zero
   after moving the stylesheet to the document head. */
.body-content > .container-fluid > section.mb-5:has(.ava-home) > p.mb-4:has(> #ava-home-css-anchor) {
    margin: 0 !important;
    padding: 0 !important;
}


/* Compact service headings, with their illustrations beside the title. */
.ava-home .ava-service-heading { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; min-width: 0; }
.ava-home .ava-service-heading .ava-service-icon-detailed { flex: 0 0 72px; width: 72px; height: 72px; margin: 0; padding: 5px; }
.ava-home .ava-service-heading .ava-service-icon-detailed svg { width: 60px; height: 60px; }
.ava-home .ava-service-heading h3 { flex: 1; min-width: 0; margin: 0; font-size: clamp(16px,1.15vw,19px); line-height: 1.8; }
@media(max-width:780px) {
    .ava-home .ava-service-heading .ava-service-icon-detailed { flex-basis: 64px; width: 64px; height: 64px; }
    .ava-home .ava-service-heading .ava-service-icon-detailed svg { width: 52px; height: 52px; }
    .ava-home .ava-service-heading h3 { font-size: 17px; }
}
