.elementor-299 .elementor-element.elementor-element-f01cdb9{--display:flex;}.elementor-299 .elementor-element.elementor-element-72898d3{--display:flex;--min-height:100vh;--justify-content:center;}.elementor-299 .elementor-element.elementor-element-72898d3:not(.elementor-motion-effects-element-type-background), .elementor-299 .elementor-element.elementor-element-72898d3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://isfahanpaper.com/wp-content/uploads/2026/07/خطوط-تولید-کارخانه-و-صنعت-کاغذ-و-نمای-نقش-جهان-1.webp");background-repeat:no-repeat;background-size:cover;}.elementor-299 .elementor-element.elementor-element-9eb0599{--display:flex;}.elementor-299 .elementor-element.elementor-element-e81a252{--display:flex;}.elementor-299 .elementor-element.elementor-element-195d741{--display:flex;}.elementor-299 .elementor-element.elementor-element-a115335{--display:flex;--margin-top:-140px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-299 .elementor-element.elementor-element-75669cf{padding:87px 0px 0px 0px;}.elementor-299 .elementor-element.elementor-element-8cbdf19{--display:flex;}.elementor-299 .elementor-element.elementor-element-cf68630{--display:flex;--margin-top:-62px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-299 .elementor-element.elementor-element-36c1b08{--display:flex;}.elementor-299 .elementor-element.elementor-element-6146386{--display:flex;}.elementor-299 .elementor-element.elementor-element-9b733ca{--display:flex;}.elementor-299 .elementor-element.elementor-element-b745bdf{--display:flex;}.elementor-299 .elementor-element.elementor-element-488e0d4{--display:flex;}.elementor-299 .elementor-element.elementor-element-40c2c2d{--display:flex;}.elementor-299 .elementor-element.elementor-element-5800426{--display:flex;}.elementor-299 .elementor-element.elementor-element-aaaf8cb{--display:flex;}.elementor-299 .elementor-element.elementor-element-ae8f58e{--display:flex;}.elementor-299 .elementor-element.elementor-element-50bc3dd{--display:flex;}body.elementor-page-299:not(.elementor-motion-effects-element-type-background), body.elementor-page-299 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFAF0;}/* Start custom CSS for html, class: .elementor-element-a18e991 *//* =========================================
   HERO CONTAINER
========================================= */

.ipa-hero-shell {
    position: relative;
    width: 100%;
    min-height: 950px;
   padding-top:90px;
padding-bottom: 50px;
    overflow: hidden;
    isolation: isolate;
}


/* =========================================
   DIRECTORY WRAPPER
========================================= */

.ipa-hero-directory,
.ipa-hero-directory * {
    box-sizing: border-box;
}

.ipa-hero-directory {
    --ipa-navy: #0d2d47;
    --ipa-deep-teal: #174f51;
    --ipa-turquoise: #28aaa8;
    --ipa-turquoise-light: #69c9c3;
    --ipa-cream: #f5eedc;
    --ipa-warm-white: #fffaf0;
    --ipa-gold: #02152a;

    position: absolute;
    z-index: 5;
    top: 50%;
    left: clamp(110px, 9vw, 290px);

    width: min(500px, 40vw);
    margin: 0;
    padding: 0;

    direction: rtl;
    transform: translateY(-50%);
    font-family:  "Vazirmatn", sans-serif;

    background: transparent;
    border: 0;
    box-shadow: none;
}

/* هاله محو برای افزایش خوانایی، بدون ایجاد کارت */
.ipa-hero-directory::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -42px -55px;

    pointer-events: none;

    background:
        radial-gradient(
            ellipse at 45% 42%,
            rgba(255, 250, 240, 0.72) 0%,
            rgba(241, 244, 226, 0.48) 40%,
            rgba(210, 238, 232, 0.28) 60%,
            transparent 78%
        );

    filter: blur(8px);
}


/* =========================================
   TITLE AREA
========================================= */

.ipa-hero-directory__header {
    width: 100%;
    margin: 0 0 20px;
    text-align: center;
}

.ipa-hero-directory__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    margin-bottom: 8px;

    color: var(--ipa-deep-teal);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;

    text-shadow: 0 2px 12px rgba(255, 250, 240, 0.9);
}

.ipa-hero-directory__line {
    width: 62px;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--ipa-turquoise)
    );
}

.ipa-hero-directory__dot {
    width: 7px;
    height: 7px;

    border: 1px solid var(--ipa-deep-teal);
    background: var(--ipa-turquoise-light);

    transform: rotate(45deg);
}

.ipa-hero-directory__title {
    margin: 0;

    color: var(--ipa-navy);
    font-size: clamp(42px, 3.2vw, 57px);
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: -1.8px;

    text-wrap: balance;

    text-shadow:
        0 2px 2px rgba(255, 255, 255, 0.6),
        0 8px 30px rgba(255, 250, 240, 0.9);
}


/* =========================================
   TITLE DIVIDER
========================================= */

.ipa-hero-directory__divider {
    display: grid;
    grid-template-columns: 1fr 12px 1fr;
    align-items: center;
    gap: 8px;

    width: min(270px, 70%);
    margin: 12px auto 13px;
}

.ipa-hero-directory__divider span {
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(199, 155, 67, 0.85),
        transparent
    );
}

.ipa-hero-directory__divider i {
    width: 10px;
    height: 10px;

    border: 1px solid var(--ipa-gold);
    background: var(--ipa-turquoise);

    transform: rotate(45deg);

    box-shadow:
        0 0 0 3px rgba(255, 250, 240, 0.75),
        0 0 16px rgba(40, 170, 168, 0.28);
}


/* =========================================
   DESCRIPTION
========================================= */

.ipa-hero-directory__description {
    max-width: 450px;
    margin: 0 auto;

    color: #183b50;
    font-size: clamp(14px, 1vw, 16px);
    font-weight: 650;
    line-height: 1.85;

    text-wrap: balance;

    text-shadow:
        0 1px 1px rgba(255, 255, 255, 0.8),
        0 4px 16px rgba(255, 250, 240, 0.95);
}


/* =========================================
   CARDS LIST
========================================= */

.ipa-hero-directory__list {
    display: grid;
    gap: 8px;

    width: 100%;
    margin: 0;
}


/* =========================================
   INDIVIDUAL CARD
========================================= */

.ipa-hero-directory__item {
    position: relative;

    display: grid;
    grid-template-columns: 48px 1fr 72px;
    align-items: center;

    width: 100%;
    min-height: 61px;

    direction: ltr;
    color: var(--ipa-navy);
    text-decoration: none;

    border: 1px solid rgba(177, 133, 52, 0.55);
    border-radius: 14px;

    background:
        linear-gradient(
            105deg,
            rgba(255, 252, 244, 0.82) 0%,
            rgba(242, 241, 218, 0.76) 50%,
            rgba(211, 238, 233, 0.73) 100%
        );

    box-shadow:
        0 10px 26px rgba(13, 45, 71, 0.11),
        inset 0 1px 0 rgba(255, 255, 255, 0.82);

    backdrop-filter: blur(12px) saturate(120%);
    -webkit-backdrop-filter: blur(12px) saturate(120%);

    overflow: hidden;

    transition:
        transform 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        background 220ms ease;
}

.ipa-hero-directory__item::before {
    content: "";
    position: absolute;
    inset: 0;

    pointer-events: none;

    background: linear-gradient(
        105deg,
        transparent 20%,
        rgba(255, 255, 255, 0.42) 50%,
        transparent 80%
    );

    transform: translateX(-120%);
    transition: transform 600ms ease;
}

.ipa-hero-directory__item:hover {
    color: var(--ipa-navy);

    border-color: rgba(23, 79, 81, 0.7);

    background:
        linear-gradient(
            105deg,
            rgba(255, 252, 244, 0.94),
            rgba(220, 241, 235, 0.9)
        );

    box-shadow:
        0 15px 32px rgba(13, 45, 71, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.95);

    transform: translateY(-2px);
}

.ipa-hero-directory__item:hover::before {
    transform: translateX(120%);
}


/* =========================================
   CARD ARROW
========================================= */

.ipa-hero-directory__arrow {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #b5812f;
}

.ipa-hero-directory__arrow svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 220ms ease;
}

.ipa-hero-directory__item:hover
.ipa-hero-directory__arrow svg {
    transform: translateX(-4px);
}


/* =========================================
   CARD LABEL
========================================= */

.ipa-hero-directory__label {
    position: relative;
    z-index: 2;

    display: block;
    padding: 0 17px;

    direction: rtl;
    text-align: right;

    color: var(--ipa-navy);
    font-size: clamp(15px, 1.05vw, 18px);
    font-weight: 800;
    line-height: 1.5;

    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.65);
}


/* =========================================
   CARD ICON
========================================= */

.ipa-hero-directory__icon {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    align-self: stretch;
    min-height: 59px;

    color: #159f9f;

    /* جداکننده باید سمت چپ آیکون باشد */
    border-left: 1px solid rgba(177, 133, 52, 0.42);

    background:
        linear-gradient(
            145deg,
            rgba(23, 79, 81, 0.08),
            rgba(105, 201, 195, 0.22)
        );

    box-shadow:
        inset 8px 0 22px rgba(255, 255, 255, 0.22);
}

.ipa-hero-directory__icon svg {
    width: 34px;
    height: 34px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter: drop-shadow(
        0 4px 8px rgba(21, 159, 159, 0.15)
    );

    transition:
        transform 220ms ease,
        color 220ms ease;
}

.ipa-hero-directory__item:hover
.ipa-hero-directory__icon svg {
    color: var(--ipa-deep-teal);
    transform: scale(1.06);
}


/* =========================================
   LAPTOP
========================================= */

@media (max-width: 1200px) {
    .ipa-hero-shell {
        min-height: 810px;
        padding-block: 60px;
    }

      .ipa-hero-directory {
        left: 50px;
        width: min(470px, 45vw);
    }

    .ipa-hero-directory__title {
        font-size: clamp(38px, 3.7vw, 50px);
    }

    .ipa-hero-directory__item {
        min-height: 58px;
        grid-template-columns: 44px 1fr 66px;
    }

    .ipa-hero-directory__icon {
        min-height: 56px;
    }

    .ipa-hero-directory__icon svg {
        width: 31px;
        height: 31px;
    }
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {
    .ipa-hero-shell {
        min-height: 790px;
    }

    .ipa-hero-directory {
        left: 24px;
        width: min(450px, 54vw);
    }

    .ipa-hero-directory__description {
        font-size: 14px;
    }

    .ipa-hero-directory__label {
        padding-inline: 12px;
        font-size: 14px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {
    .ipa-hero-shell {
        min-height: auto;
        padding: 0;
        overflow: hidden;
    }

    .ipa-hero-directory {
        position: relative;
        inset: auto;

        width: 100%;
        margin: 0 auto;
        padding: 95px 17px 75px;

        transform: none;
    }

    .ipa-hero-directory::before {
        inset: 55px -30px 35px;

        background:
            radial-gradient(
                ellipse at center,
                rgba(255, 250, 240, 0.82),
                rgba(222, 241, 235, 0.45) 62%,
                transparent 88%
            );
    }

    .ipa-hero-directory__header {
        margin-bottom: 21px;
    }

    .ipa-hero-directory__title {
        font-size: clamp(33px, 9.5vw, 43px);
        letter-spacing: -1px;
    }

    .ipa-hero-directory__description {
        max-width: 420px;
        font-size: 14px;
        line-height: 1.85;
    }

    .ipa-hero-directory__list {
        gap: 8px;
    }

    .ipa-hero-directory__item {
        min-height: 62px;
        grid-template-columns: 42px 1fr 64px;
        border-radius: 12px;
    }

    .ipa-hero-directory__label {
        padding-inline: 11px;
        font-size: 14px;
    }

    .ipa-hero-directory__icon {
        min-height: 60px;
    }

    .ipa-hero-directory__icon svg {
        width: 30px;
        height: 30px;
    }

    .ipa-hero-directory__arrow svg {
        width: 20px;
        height: 20px;
    }
}





/* =========================================
   ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {
    .ipa-hero-directory__item,
    .ipa-hero-directory__item::before,
    .ipa-hero-directory__arrow svg,
    .ipa-hero-directory__icon svg {
        transition: none;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72898d3 */.ipa-hero-shell {
    position: relative;
    min-height: 820px;
    overflow: hidden;
}

@media (max-width: 767px) {
    .ipa-hero-shell {
        min-height: auto;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1ad49f9 *//* =========================================================
   شمارنده شناور و اختصاصی انجمن
   فضای نام اختصاصی: vxn84-metricrail
========================================================= */

.vxn84-metricrail,
.vxn84-metricrail * {
    box-sizing: border-box;
}


/* =========================================================
   ریشه سکشن شمارنده
========================================================= */

.vxn84-metricrail {
    /* رنگ‌های اختصاصی همین سکشن */
    --vxn84-navy: #0d2d47;
    --vxn84-navy-deep: #071e31;
    --vxn84-teal: #174f51;
    --vxn84-turquoise: #28aaa8;
    --vxn84-cream: #f5eedc;
    --vxn84-gold: #d79a42;
    --vxn84-gold-light: #efc57d;

    position: relative;
    z-index: 40;

    width: 100%;

    /*
     * ارتفاع صفر باعث می‌شود سکشن بعدی بلافاصله
     * بعد از هدر آغاز شود و فاصله سفید ایجاد نشود
     */
    height: 0;
    margin: 0;
    padding: 0;

    overflow: visible;

    font-family: "Vazirmatn", sans-serif;
}


/* =========================================================
   پنل اصلی شیشه‌ای شمارنده
========================================================= */

.vxn84-metricrail__deck {
    position: relative;

    width: min(1320px, calc(100% - 48px));
    min-height: 152px;
    margin-inline: auto;

    overflow: hidden;

    /*
     * پنل به‌اندازه نصف ارتفاع خودش بالا می‌رود
     * تا نصف آن روی هدر و نصف آن روی سکشن بعدی باشد
     */
    transform: translateY(-50%);

    border: 1px solid rgba(215, 154, 66, 0.38);
    border-radius: 26px;

    /* پس‌زمینه هماهنگ با سرمه‌ای نفتی هدر */
    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(40, 170, 168, 0.18),
            transparent 31%
        ),
        linear-gradient(
            135deg,
            rgba(13, 45, 71, 0.96) 0%,
            rgba(18, 61, 76, 0.93) 52%,
            rgba(23, 79, 81, 0.90) 100%
        );

    /* محوشدن تصویر و رنگ‌های پشت پنل */
    -webkit-backdrop-filter:
        blur(16px)
        saturate(115%);

    backdrop-filter:
        blur(16px)
        saturate(115%);

    /* سایه‌های نرم و حرفه‌ای پنل */
    box-shadow:
        0 28px 70px rgba(13, 45, 71, 0.23),
        0 8px 25px rgba(13, 45, 71, 0.17),
        inset 0 1px 0 rgba(255, 250, 240, 0.24);
}


/* خط نور بسیار ظریف بالای پنل */
.vxn84-metricrail__deck::before {
    content: "";
    position: absolute;
    top: 0;
    right: 6%;
    left: 6%;

    height: 1px;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(239, 197, 125, 0.65),
            rgba(40, 170, 168, 0.60),
            transparent
        );
}


/* هاله بسیار محو داخل پنل */
.vxn84-metricrail__deck::after {
    content: "";
    position: absolute;
    top: -100px;
    left: 18%;

    width: 330px;
    height: 240px;

    pointer-events: none;
    border-radius: 50%;

    background: rgba(40, 170, 168, 0.10);

    filter: blur(65px);
}


/* =========================================================
   شبکه چهار ستونی شمارنده
========================================================= */

.vxn84-metricrail__ledger {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    min-height: 152px;
    padding: 17px 22px;
}


/* =========================================================
   هر آیتم آماری
========================================================= */

.vxn84-metricrail__datum {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;

    min-width: 0;
    padding: 14px 24px;

    color: var(--vxn84-cream);

    transition:
        opacity 600ms ease,
        transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}


/* جداکننده میان آیتم‌های شمارنده */
.vxn84-metricrail__datum:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 21%;
    left: 0;

    width: 1px;
    height: 58%;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(215, 154, 66, 0.40),
            rgba(40, 170, 168, 0.30),
            transparent
        );
}


/* =========================================================
   قاب آیکون هر آمار
========================================================= */

.vxn84-metricrail__glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;

    width: 54px;
    height: 54px;

    color: var(--vxn84-gold-light);

    border: 1px solid rgba(239, 197, 125, 0.48);
    border-radius: 17px;

    background:
        linear-gradient(
            145deg,
            rgba(255, 250, 240, 0.10),
            rgba(40, 170, 168, 0.12)
        );

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.13),
        0 10px 25px rgba(7, 30, 49, 0.20);

    transition:
        color 240ms ease,
        border-color 240ms ease,
        transform 240ms ease;
}


/* اندازه و ظاهر آیکون */
.vxn84-metricrail__glyph svg {
    width: 29px;
    height: 29px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* تغییر ظریف آیکون هنگام هاور */
.vxn84-metricrail__datum:hover
.vxn84-metricrail__glyph {
    color: var(--vxn84-turquoise);
    border-color: rgba(40, 170, 168, 0.58);
    transform: translateY(-3px);
}


/* =========================================================
   عدد و عنوان هر آمار
========================================================= */

.vxn84-metricrail__copy {
    min-width: 0;
}


/* نگهدارنده عدد و علامت مثبت */
.vxn84-metricrail__readout {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 3px;

    min-width: 96px;

    /*
     * جهت چپ به راست باعث می‌شود
     * علامت مثبت همیشه بعد از عدد قرار بگیرد
     */
    direction: ltr;
}


/* عدد اصلی شمارنده */
.vxn84-metricrail__figure {
    color: var(--vxn84-cream);
    font-size: clamp(30px, 2.4vw, 42px);
    font-weight: 900;
    line-height: 1.15;

    /*
     * عرض ثابت اعداد از لرزش شمارنده
     * هنگام تغییر تعداد رقم‌ها جلوگیری می‌کند
     */
    font-variant-numeric: tabular-nums;
}


/* علامت مثبت کنار عدد */
.vxn84-metricrail__suffix {
    color: var(--vxn84-gold-light);
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
}


/* عنوان زیر عدد */
.vxn84-metricrail__label {
    margin: 4px 0 0;

    color: rgba(245, 238, 220, 0.78);
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 600;
    line-height: 1.65;

    white-space: normal;
}


/* =========================================================
   انیمیشن ظاهرشدن آیتم‌ها
========================================================= */

/* آیتم‌ها فقط بعد از فعال‌شدن جاوااسکریپت مخفی می‌شوند */
.vxn84-metricrail--armed
.vxn84-metricrail__datum {
    opacity: 0;
    transform: translateY(15px);
}


/* نمایش آیتم‌ها پس از دیده‌شدن سکشن */
.vxn84-metricrail--shown
.vxn84-metricrail__datum {
    opacity: 1;
    transform: translateY(0);
}


/* تأخیر مرحله‌ای برای نمایش چهار آیتم */
.vxn84-metricrail__datum:nth-child(1) {
    transition-delay: 0ms;
}

.vxn84-metricrail__datum:nth-child(2) {
    transition-delay: 90ms;
}

.vxn84-metricrail__datum:nth-child(3) {
    transition-delay: 180ms;
}

.vxn84-metricrail__datum:nth-child(4) {
    transition-delay: 270ms;
}


/* =========================================================
   تبلت
========================================================= */

@media (max-width: 1024px) {
    .vxn84-metricrail__deck {
        width: min(960px, calc(100% - 34px));
        min-height: 136px;
        border-radius: 23px;
    }

    .vxn84-metricrail__ledger {
        min-height: 136px;
        padding: 13px 12px;
    }

    .vxn84-metricrail__datum {
        gap: 10px;
        padding: 11px 12px;
    }

    .vxn84-metricrail__glyph {
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }

    .vxn84-metricrail__glyph svg {
        width: 24px;
        height: 24px;
    }

    .vxn84-metricrail__readout {
        min-width: 72px;
    }

    .vxn84-metricrail__figure {
        font-size: clamp(25px, 3vw, 33px);
    }

    .vxn84-metricrail__suffix {
        font-size: 18px;
    }

    .vxn84-metricrail__label {
        font-size: 11px;
    }
}


/* =========================================================
   موبایل
========================================================= */

@media (max-width: 680px) {
    .vxn84-metricrail__deck {
        width: calc(100% - 20px);
        min-height: 112px;

        border-radius: 18px;
    }

    /*
     * هر چهار آمار در موبایل نیز
     * در یک ردیف کنار یکدیگر باقی می‌مانند
     */
    .vxn84-metricrail__ledger {
        grid-template-columns: repeat(4, minmax(0, 1fr));

        min-height: 112px;
        padding: 9px 4px;
    }

    .vxn84-metricrail__datum {
        flex-direction: column;
        gap: 4px;

        padding: 6px 3px;
        text-align: center;
    }

    .vxn84-metricrail__datum:not(:last-child)::after {
        top: 18%;
        height: 64%;
    }

    .vxn84-metricrail__glyph {
        width: 31px;
        height: 31px;

        border-radius: 10px;
    }

    .vxn84-metricrail__glyph svg {
        width: 18px;
        height: 18px;
    }

    .vxn84-metricrail__copy {
        width: 100%;
    }

    .vxn84-metricrail__readout {
        justify-content: center;

        min-width: 0;
        gap: 1px;
    }

    .vxn84-metricrail__figure {
        font-size: clamp(19px, 6vw, 24px);
    }

    .vxn84-metricrail__suffix {
        font-size: 13px;
    }

    .vxn84-metricrail__label {
        max-width: 74px;
        margin: 2px auto 0;

        font-size: clamp(8px, 2.5vw, 10px);
        line-height: 1.45;
    }
}


/* =========================================================
   موبایل‌های بسیار کوچک
========================================================= */

@media (max-width: 380px) {
    .vxn84-metricrail__deck {
        width: calc(100% - 12px);
    }

    .vxn84-metricrail__glyph {
        width: 27px;
        height: 27px;
    }

    .vxn84-metricrail__glyph svg {
        width: 16px;
        height: 16px;
    }

    .vxn84-metricrail__figure {
        font-size: 18px;
    }

    .vxn84-metricrail__label {
        font-size: 8px;
    }
}


/* =========================================================
   دسترس‌پذیری و کاهش حرکت
========================================================= */

@media (prefers-reduced-motion: reduce) {
    .vxn84-metricrail--armed
    .vxn84-metricrail__datum {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .vxn84-metricrail__glyph {
        transition: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-75669cf *//* =========================================================
   سکشن نهایی اهداف انجمن
   فضای نام اختصاصی: mxr83-strategyflow
========================================================= */


/* تنظیم صحیح محاسبه ابعاد فقط داخل همین سکشن */
.mxr83-strategyflow,
.mxr83-strategyflow * {
    box-sizing: border-box;
}


/* =========================================================
   بدنه اصلی سکشن
========================================================= */

.mxr83-strategyflow {
    /* رنگ‌های اختصاصی سکشن اهداف */
    --mxr83-navy: #0d2d47;
    --mxr83-navy-deep: #071e31;
    --mxr83-teal: #174f51;
    --mxr83-turquoise: #28aaa8;
    --mxr83-turquoise-soft: #dcefeb;
    --mxr83-cream: #f5eedc;
    --mxr83-warm-white: #fffaf0;
    --mxr83-gold: #b5812f;
    --mxr83-gold-light: #efc57d;
    --mxr83-text: #385567;

    position: relative;
    width: 100%;
    margin: 0;

    /*
     * فاصله بالا برای جلوگیری از برخورد محتوای اهداف
     * با سکشن شمارنده شناور
     */
    padding:
        clamp(135px, 9vw, 165px)
        24px
        clamp(85px, 7vw, 115px);

    overflow: hidden;
    isolation: isolate;

    color: var(--mxr83-navy);
    font-family: "Vazirmatn", sans-serif;

    /* زمینه کرم کاغذی همراه با هاله‌های کنترل‌شده */
    background:
        radial-gradient(
            circle at 9% 28%,
            rgba(40, 170, 168, 0.13),
            transparent 31%
        ),
        radial-gradient(
            circle at 88% 78%,
            rgba(181, 129, 47, 0.10),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #eee4d2 0%,
            #fffaf0 52%,
            #eee3cf 100%
        );
}


/* هاله تزئینی بسیار محو بالای سکشن */
.mxr83-strategyflow::before {
    content: "";
    position: absolute;
    top: -180px;
    right: 10%;

    width: 500px;
    height: 350px;

    border-radius: 50%;
    pointer-events: none;

    background: rgba(40, 170, 168, 0.06);

    filter: blur(80px);
}


/* =========================================================
   قاب اصلی دو ستونه
========================================================= */

.mxr83-strategyflow__shell {
    position: relative;
    z-index: 2;

    display: grid;

    /*
     * ستون بزرگ سمت چپ برای کارت‌ها
     * ستون کوچک‌تر سمت راست برای عنوان
     */
    grid-template-columns:
        minmax(0, 1.48fr)
        minmax(340px, 0.72fr);

    align-items: center;
    gap: clamp(48px, 6vw, 90px);

    width: min(1360px, 100%);
    margin-inline: auto;

    /*
     * جهت فیزیکی ستون‌ها چپ به راست است،
     * اما محتوای فارسی هر بخش دوباره RTL می‌شود
     */
    direction: ltr;
}


/* =========================================================
   ستون راست: عدد شش، عنوان، توضیحات و دکمه
========================================================= */

.mxr83-strategyflow__editorial {
    position: relative;

    /* قرارگیری قطعی در ستون راست و ردیف اول */
    grid-column: 2;
    grid-row: 1;

    display: flex;
    flex-direction: column;
    justify-content: center;

    min-height: 560px;
    padding: 24px 0 24px 35px;

    direction: rtl;
    text-align: right;
}


/* خط عمودی لوکس کنار ستون عنوان */
.mxr83-strategyflow__editorial::before {
    content: "";
    position: absolute;
    top: 10%;
    right: -27px;

    width: 3px;
    height: 80%;

    border-radius: 6px;

    background:
        linear-gradient(
            180deg,
            transparent,
            var(--mxr83-gold),
            var(--mxr83-turquoise),
            transparent
        );
}


/*
 * عدد تزئینی قبلی غیرفعال شده است،
 * زیرا عدد ۶ اکنون به‌صورت واقعی در ابتدای عنوان قرار دارد
 */
.mxr83-strategyflow__editorial::after {
    display: none;
}


/* =========================================================
   عدد شش در ابتدای ستون
========================================================= */

.mxr83-strategyflow__opening {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-end;
    gap: 13px;

    margin-bottom: 25px;
}


/* عدد بزرگ شش */
.mxr83-strategyflow__opening-number {
    color: var(--mxr83-gold);
    font-size: clamp(58px, 5vw, 78px);
    font-weight: 900;
    line-height: 0.82;

    text-shadow:
        0 8px 24px rgba(181, 129, 47, 0.13);
}


/* نوشته کنار عدد شش */
.mxr83-strategyflow__opening-label {
    max-width: 110px;
    padding-bottom: 3px;

    color: var(--mxr83-teal);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.6;
}


/* مخفی‌کردن نشان قدیمی عدد شش در پایین عنوان */
.mxr83-strategyflow__signature {
    display: none;
}


/* =========================================================
   نوشته کوچک بالای عنوان
========================================================= */

.mxr83-strategyflow__eyebrow {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 13px;

    color: var(--mxr83-teal);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.6;
}


/* لوزی کوچک کنار نوشته */
.mxr83-strategyflow__eyebrow-mark {
    width: 8px;
    height: 8px;
    flex: 0 0 auto;

    border: 1px solid var(--mxr83-gold);
    background: var(--mxr83-turquoise);

    transform: rotate(45deg);

    box-shadow:
        0 0 0 3px rgba(255, 250, 240, 0.66);
}


/* =========================================================
   عنوان اهداف انجمن در یک خط
========================================================= */

.mxr83-strategyflow__heading {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    gap: 13px;

    margin: 0;

    color: var(--mxr83-navy);
    font-size: clamp(46px, 4.4vw, 68px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -1.8px;

    white-space: nowrap;
}


/* کلمه اهداف */
.mxr83-strategyflow__heading-main {
    display: inline-block;
    color: var(--mxr83-navy);
}


/* کلمه انجمن */
.mxr83-strategyflow__heading-accent,
.mxr83-strategyflow__heading strong {
    display: inline-block;

    color: var(--mxr83-gold);
    font-weight: 900;
}


/* =========================================================
   جداکننده زیر عنوان
========================================================= */

.mxr83-strategyflow__divider {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    gap: 8px;

    width: 190px;
    margin: 23px 0 20px;
}


/* خط طلایی جداکننده */
.mxr83-strategyflow__divider span {
    width: 155px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(181, 129, 47, 0.82)
        );
}


/* لوزی انتهای جداکننده */
.mxr83-strategyflow__divider i {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;

    border: 1px solid var(--mxr83-gold);
    background: var(--mxr83-turquoise);

    transform: rotate(45deg);
}


/* =========================================================
   توضیحات زیر عنوان
========================================================= */

.mxr83-strategyflow__description {
    position: relative;
    z-index: 2;

    max-width: 390px;
    margin: 0;

    color: var(--mxr83-text);
    font-size: clamp(14px, 1.1vw, 17px);
    font-weight: 560;
    line-height: 2.05;
}


/* =========================================================
   دکمه اعضای انجمن
========================================================= */

.mxr83-strategyflow__members-link {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    gap: 13px;

    min-width: 185px;
    min-height: 52px;
    margin-top: 28px;
    padding: 12px 25px;

    color: var(--mxr83-cream);
    text-decoration: none;

    border: 1px solid rgba(181, 129, 47, 0.56);
    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            var(--mxr83-navy),
            var(--mxr83-teal)
        );

    box-shadow:
        0 15px 34px rgba(13, 45, 71, 0.17),
        inset 0 1px 0 rgba(255, 255, 255, 0.12);

    transition:
        transform 240ms ease,
        box-shadow 240ms ease,
        border-color 240ms ease;
}


/* نوشته داخل دکمه */
.mxr83-strategyflow__members-link span {
    font-size: 15px;
    font-weight: 800;
}


/* فلش داخل دکمه */
.mxr83-strategyflow__members-link svg {
    width: 20px;
    height: 20px;

    fill: none;
    stroke: var(--mxr83-gold-light);
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 240ms ease;
}


/* حالت هاور دکمه اعضا */
.mxr83-strategyflow__members-link:hover {
    color: var(--mxr83-cream);
    border-color: rgba(40, 170, 168, 0.62);

    box-shadow:
        0 20px 42px rgba(13, 45, 71, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.14);

    transform: translateY(-3px);
}


/* حرکت فلش دکمه هنگام هاور */
.mxr83-strategyflow__members-link:hover svg {
    transform: translateX(-4px);
}


/* فوکوس مناسب برای کاربران کیبورد */
.mxr83-strategyflow__members-link:focus-visible {
    outline: 3px solid rgba(40, 170, 168, 0.42);
    outline-offset: 4px;
}


/* =========================================================
   ستون چپ: کارت‌های منظم اهداف
========================================================= */

.mxr83-strategyflow__pathway {
    /* قرارگیری قطعی در ستون چپ و همان ردیف عنوان */
    grid-column: 1;
    grid-row: 1;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 14px;

    width: 100%;
    min-width: 0;

    direction: ltr;
}


/* =========================================================
   تنظیم یکسان تمام کارت‌ها
========================================================= */

.mxr83-strategyflow__lane,
.mxr83-strategyflow__lane:nth-child(n) {
    /*
     * تمام کارت‌ها دقیقاً دارای یک عرض هستند
     * و حالت پلکانی کاملاً حذف شده است
     */
    width: min(620px, 76%);
    min-width: 0;
    margin: 0;

    align-self: center;
    justify-self: auto;
}


/* =========================================================
   سطح ظاهری کارت
========================================================= */

.mxr83-strategyflow__bar {
    position: relative;

    display: grid;

    /*
     * ستون اول: شماره
     * ستون دوم: آیکون
     * ستون سوم: عنوان و توضیحات
     */
    grid-template-columns:
        42px
        44px
        minmax(0, 1fr);

    align-items: center;
    gap: 12px;

    width: 100%;
    min-height: 74px;
    padding: 10px 17px;

    overflow: hidden;

    direction: rtl;
    cursor: default;

    border: 1px solid rgba(181, 129, 47, 0.34);
    border-radius: 15px;

    background:
        linear-gradient(
            105deg,
            rgba(255, 250, 240, 0.96),
            rgba(238, 239, 218, 0.84)
        );

    box-shadow:
        0 13px 32px rgba(13, 45, 71, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.92);

    transition:
        transform 260ms ease,
        border-color 260ms ease,
        box-shadow 260ms ease,
        background 260ms ease;
}


/* خط تأکیدی فیروزه‌ای و طلایی کنار کارت */
.mxr83-strategyflow__bar::before {
    content: "";
    position: absolute;
    top: 17%;
    right: 0;

    width: 3px;
    height: 66%;

    border-radius: 0 4px 4px 0;

    background:
        linear-gradient(
            180deg,
            var(--mxr83-gold),
            var(--mxr83-turquoise)
        );
}


/* هاله بسیار محو داخل کارت */
.mxr83-strategyflow__bar::after {
    content: "";
    position: absolute;
    top: -65px;
    left: -60px;

    width: 145px;
    height: 145px;

    border-radius: 50%;
    pointer-events: none;

    background: rgba(40, 170, 168, 0.07);

    filter: blur(35px);
}


/*
 * هاور کارت فقط برای ظرافت بصری است
 * کارت کلیک‌پذیر نیست و حرکت افقی ندارد
 */
.mxr83-strategyflow__lane:hover
.mxr83-strategyflow__bar {
    transform: translateY(-2px);

    border-color: rgba(40, 170, 168, 0.46);

    background:
        linear-gradient(
            105deg,
            rgba(255, 252, 246, 0.98),
            rgba(224, 240, 234, 0.88)
        );

    box-shadow:
        0 18px 38px rgba(13, 45, 71, 0.13),
        inset 0 1px 0 rgba(255, 255, 255, 0.94);
}


/* =========================================================
   شماره هر کارت
========================================================= */

.mxr83-strategyflow__number {
    position: relative;
    z-index: 2;

    color: rgba(181, 129, 47, 0.62);
    font-size: 21px;
    font-weight: 900;
    line-height: 1;

    font-variant-numeric: tabular-nums;
}


/* =========================================================
   آیکون هر کارت
========================================================= */

.mxr83-strategyflow__icon {
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    color: var(--mxr83-turquoise);

    border: 1px solid rgba(40, 170, 168, 0.31);
    border-radius: 12px;

    background: rgba(220, 239, 235, 0.77);

    transition:
        color 240ms ease,
        background 240ms ease,
        transform 240ms ease;
}


/* ابعاد SVG آیکون */
.mxr83-strategyflow__icon svg {
    width: 24px;
    height: 24px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* تغییر بسیار ظریف آیکون هنگام هاور */
.mxr83-strategyflow__lane:hover
.mxr83-strategyflow__icon {
    color: var(--mxr83-navy);
    background: rgba(40, 170, 168, 0.14);

    transform: scale(1.04);
}


/* =========================================================
   محتوای متنی کارت
========================================================= */

.mxr83-strategyflow__bar-content {
    position: relative;
    z-index: 2;

    min-width: 0;
}


/* عنوان هر هدف */
.mxr83-strategyflow__bar-title {
    margin: 0 0 2px;

    color: var(--mxr83-navy);
    font-size: clamp(15px, 1.1vw, 18px);
    font-weight: 900;
    line-height: 1.55;
}


/* توضیحات کوتاه کارت */
.mxr83-strategyflow__bar-copy {
    margin: 0;

    overflow: hidden;

    color: var(--mxr83-text);
    font-size: 12px;
    font-weight: 550;
    line-height: 1.65;

    text-overflow: ellipsis;
    white-space: nowrap;
}


/*
 * فلش کارت‌ها مخفی است،
 * زیرا کارت‌های اهداف کلیک‌پذیر نیستند
 */
.mxr83-strategyflow__bar-arrow {
    display: none;
}


/* =========================================================
   انیمیشن ورود کارت‌ها از سمت چپ
========================================================= */

/*
 * کارت‌ها تنها زمانی مخفی می‌شوند
 * که جاوااسکریپت با موفقیت اجرا شده باشد
 */
.mxr83-strategyflow--armed
.mxr83-strategyflow__lane {
    opacity: 0;
    transform: translate3d(-75px, 0, 0);

    transition:
        opacity 680ms ease,
        transform 780ms cubic-bezier(0.22, 1, 0.36, 1);

    transition-delay:
        calc(var(--mxr83-step, 0) * 95ms);
}


/* نمایش کارت‌ها پس از ورود سکشن به صفحه */
.mxr83-strategyflow--visible
.mxr83-strategyflow__lane {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}


/* ترتیب مرحله‌ای نمایش کارت‌ها */
.mxr83-strategyflow__lane:nth-child(1) {
    --mxr83-step: 0;
}

.mxr83-strategyflow__lane:nth-child(2) {
    --mxr83-step: 1;
}

.mxr83-strategyflow__lane:nth-child(3) {
    --mxr83-step: 2;
}

.mxr83-strategyflow__lane:nth-child(4) {
    --mxr83-step: 3;
}

.mxr83-strategyflow__lane:nth-child(5) {
    --mxr83-step: 4;
}

.mxr83-strategyflow__lane:nth-child(6) {
    --mxr83-step: 5;
}


/* =========================================================
   حالت تبلت
========================================================= */

@media (max-width: 1050px) {
    .mxr83-strategyflow {
        padding:
            125px
            20px
            85px;
    }

    /* تبدیل چیدمان به یک ستون */
    .mxr83-strategyflow__shell {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    /* ستون عنوان در ردیف اول */
    .mxr83-strategyflow__editorial {
        grid-column: 1;
        grid-row: 1;

        min-height: auto;
        padding: 20px 40px;

        align-items: center;
        text-align: center;
    }

    /* خط عمودی در چیدمان تک‌ستونه حذف می‌شود */
    .mxr83-strategyflow__editorial::before {
        display: none;
    }

    /* عدد شش در مرکز قرار می‌گیرد */
    .mxr83-strategyflow__opening {
        justify-content: center;
    }

    /* نوشته کوچک در مرکز قرار می‌گیرد */
    .mxr83-strategyflow__eyebrow {
        justify-content: center;
    }

    /* عنوان در مرکز قرار می‌گیرد */
    .mxr83-strategyflow__heading {
        justify-content: center;
    }

    /* توضیحات در مرکز قرار می‌گیرد */
    .mxr83-strategyflow__description {
        max-width: 680px;

        text-align: center;
        text-align-last: center;
    }

    /* دکمه در مرکز قرار می‌گیرد */
    .mxr83-strategyflow__members-link {
        align-self: center;
    }

    /* کارت‌ها در ردیف دوم قرار می‌گیرند */
    .mxr83-strategyflow__pathway {
        grid-column: 1;
        grid-row: 2;

        width: min(850px, 100%);
        margin-inline: auto;
    }

    /* کارت‌ها در تبلت کمی عریض‌تر می‌شوند */
    .mxr83-strategyflow__lane,
    .mxr83-strategyflow__lane:nth-child(n) {
        width: min(650px, 84%);
    }
}


/* =========================================================
   حالت موبایل
========================================================= */

@media (max-width: 680px) {
    .mxr83-strategyflow {
        padding:
            105px
            14px
            70px;
    }

    .mxr83-strategyflow__shell {
        gap: 34px;
    }

    .mxr83-strategyflow__editorial {
        padding: 10px 7px;
    }

    /* کوچک‌تر شدن فاصله عدد شش */
    .mxr83-strategyflow__opening {
        margin-bottom: 20px;
    }

    /* اندازه عدد شش در موبایل */
    .mxr83-strategyflow__opening-number {
        font-size: 54px;
    }

    .mxr83-strategyflow__opening-label {
        max-width: 92px;
        font-size: 11px;

        text-align: right;
    }

    .mxr83-strategyflow__eyebrow {
        font-size: 12px;
    }

    /*
     * عنوان اهداف انجمن در موبایل نیز
     * در یک خط باقی می‌ماند
     */
    .mxr83-strategyflow__heading {
        gap: 8px;

        font-size: clamp(35px, 11vw, 47px);
        letter-spacing: -1px;

        white-space: nowrap;
    }

    .mxr83-strategyflow__divider {
        width: 165px;
        margin-block: 19px 17px;
    }

    .mxr83-strategyflow__divider span {
        width: 133px;
    }

    .mxr83-strategyflow__description {
        font-size: 14px;
        line-height: 1.9;
    }

    .mxr83-strategyflow__members-link {
        min-width: 175px;
        min-height: 49px;
        margin-top: 24px;
    }

    /*
     * کارت‌ها در موبایل تمام عرض موجود را می‌گیرند
     */
    .mxr83-strategyflow__lane,
    .mxr83-strategyflow__lane:nth-child(n) {
        width: 100%;
    }

    .mxr83-strategyflow__pathway {
        gap: 11px;
    }

    .mxr83-strategyflow__bar {
        grid-template-columns:
            31px
            39px
            minmax(0, 1fr);

        min-height: 70px;
        padding: 9px 11px;
        gap: 8px;

        border-radius: 13px;
    }

    .mxr83-strategyflow__number {
        font-size: 17px;
    }

    .mxr83-strategyflow__icon {
        width: 37px;
        height: 37px;

        border-radius: 10px;
    }

    .mxr83-strategyflow__icon svg {
        width: 21px;
        height: 21px;
    }

    .mxr83-strategyflow__bar-title {
        font-size: 14px;
    }

    .mxr83-strategyflow__bar-copy {
        font-size: 10.5px;
    }

    /* کاهش میزان حرکت ورود کارت‌ها در موبایل */
    .mxr83-strategyflow--armed
    .mxr83-strategyflow__lane {
        transform: translate3d(-35px, 0, 0);
    }
}


/* =========================================================
   موبایل‌های بسیار کوچک
========================================================= */

@media (max-width: 380px) {
    .mxr83-strategyflow {
        padding-inline: 10px;
    }

    .mxr83-strategyflow__heading {
        gap: 6px;
        font-size: 33px;
    }

    .mxr83-strategyflow__bar-copy {
        display: none;
    }

    .mxr83-strategyflow__bar {
        min-height: 64px;
    }
}


/* =========================================================
   دسترس‌پذیری و کاهش حرکت
========================================================= */

@media (prefers-reduced-motion: reduce) {
    /*
     * نمایش مستقیم کارت‌ها برای کاربرانی
     * که کاهش حرکت را در سیستم فعال کرده‌اند
     */
    .mxr83-strategyflow--armed
    .mxr83-strategyflow__lane {
        opacity: 1;
        transform: none;
        transition: none;
    }

    /* حذف حرکت‌های تزئینی */
    .mxr83-strategyflow__bar,
    .mxr83-strategyflow__icon,
    .mxr83-strategyflow__members-link,
    .mxr83-strategyflow__members-link svg {
        transition: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f889482 *//* =========================================================
   IPA SPECIALIZED FIELDS
   Horizontal Interactive Accordion
========================================================= */

.ipa-fields {
    --ipa-navy: #02152a;
    --ipa-navy-dark: #020c2d;
    --ipa-navy-soft: #10296f;
    --ipa-cream: #f5efe2;
    --ipa-cream-light: #fffaf0;
    --ipa-gold: #d79a42;
    --ipa-gold-light: #efc57d;
    --ipa-turquoise: #4ecdc4;
    --ipa-white: #ffffff;

    position: relative;
    width: 100%;
    padding:  20px
        24px
        clamp(70px,7vw,100px);
    overflow: hidden;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(215, 154, 66, 0.1),
            transparent 33%
        ),
        linear-gradient(
            180deg,
            var(--ipa-cream-light) 0%,
            var(--ipa-cream) 100%
        );

    font-family:
        "Vazirmatn",
        "IRANSans",
        "Yekan Bakh",
        Tahoma,
        sans-serif;

    isolation: isolate;
}

.ipa-fields,
.ipa-fields *,
.ipa-fields *::before,
.ipa-fields *::after {
    box-sizing: border-box;
}

.ipa-fields::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -160px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(5, 22, 92, 0.08);
    border-radius: 50%;
    pointer-events: none;
}

.ipa-fields::after {
    content: "";
    position: absolute;
    bottom: -260px;
    left: -200px;
    width: 560px;
    height: 560px;
    border: 1px solid rgba(215, 154, 66, 0.13);
    border-radius: 50%;
    pointer-events: none;
}

/* Container */

.ipa-fields__container {
    position: relative;
    z-index: 2;
    width: min(100%, 1440px);
    margin-inline: auto;
}

/* Header */

.ipa-fields__header {
    width: min(100%, 850px);
    margin: 0 auto clamp(38px, 5vw, 64px);
    text-align: center;
}

.ipa-fields__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;

    color: var(--ipa-gold);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

.ipa-fields__eyebrow::before,
.ipa-fields__eyebrow::after {
    content: "";
    width: 30px;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        var(--ipa-gold)
    );
}

.ipa-fields__eyebrow::after {
    transform: scaleX(-1);
}

.ipa-fields__title {
    margin: 0;

    color: var(--ipa-navy);
    font-size: clamp(30px, 4.2vw, 54px);
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -0.035em;
}

.ipa-fields__subtitle {
    max-width: 720px;
    margin: 17px auto 0;

    color: rgba(5, 22, 92, 0.7);
    font-size: clamp(14px, 1.4vw, 17px);
    font-weight: 500;
    line-height: 2;
}

/* Accordion */

.ipa-fields__accordion {
    display: flex;
    flex-direction: row;
    gap: 12px;

    width: 100%;
    height: clamp(490px, 47vw, 650px);
}

/* Individual card */

.ipa-field-card {
    position: relative;
    flex: 0.72 1 0;
    min-width: 0;
    height: 100%;
    overflow: hidden;

    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 28px;

    background: var(--ipa-navy-dark);
    box-shadow:
        0 14px 40px rgba(5, 22, 92, 0.12),
        0 3px 10px rgba(5, 22, 92, 0.08);

    cursor: pointer;
    outline: none;

    isolation: isolate;

    transition:
        flex 800ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 500ms cubic-bezier(0.22, 1, 0.36, 1),
        box-shadow 500ms ease,
        border-color 400ms ease;
}

.ipa-field-card.is-active {
    flex: 2.35 1 0;

    border-color: rgba(239, 197, 125, 0.65);

    box-shadow:
        0 28px 70px rgba(5, 22, 92, 0.22),
        0 8px 18px rgba(5, 22, 92, 0.12);
}

.ipa-field-card:hover,
.ipa-field-card:focus-visible {
    transform: translateY(-5px);
}

.ipa-field-card:focus-visible {
    box-shadow:
        0 0 0 4px rgba(78, 205, 196, 0.36),
        0 28px 70px rgba(5, 22, 92, 0.22);
}

/* Image */

.ipa-field-card__background {
    position: absolute;
    inset: 0;
    z-index: -3;

    background-image: var(--ipa-field-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    transform: scale(1.025);

    transition:
        transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
        filter 800ms ease;
}

.ipa-field-card:not(.is-active) .ipa-field-card__background {
    filter: saturate(0.78) brightness(0.78);
}

.ipa-field-card.is-active .ipa-field-card__background {
    transform: scale(1.09);
    filter: saturate(0.92) brightness(0.94);
}

/* Overlay */

.ipa-field-card__overlay {
    position: absolute;
    inset: 0;
    z-index: -2;

    background:
        linear-gradient(
            180deg,
            rgba(1, 8, 31, 0.04) 10%,
            rgba(1, 8, 31, 0.14) 38%,
            rgba(1, 8, 31, 0.88) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 22, 92, 0.05),
            rgba(5, 22, 92, 0.2)
        );

    transition: background 500ms ease;
}

.ipa-field-card.is-active .ipa-field-card__overlay {
    background:
        linear-gradient(
            180deg,
            rgba(2, 8, 31, 0.01) 4%,
            rgba(2, 8, 31, 0.1) 35%,
            rgba(2, 8, 31, 0.93) 100%
        ),
        linear-gradient(
            90deg,
            rgba(5, 22, 92, 0.38) 0%,
            transparent 65%
        );
}

/* Number */

.ipa-field-card__number {
    position: absolute;
    top: 25px;
    right: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    min-width: 48px;
    height: 35px;
    padding-inline: 12px;

    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 100px;

    background: rgba(5, 22, 92, 0.25);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);

    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 800;

    opacity: 0.75;

    transition:
        opacity 400ms ease,
        background-color 400ms ease,
        border-color 400ms ease;
}

.ipa-field-card.is-active .ipa-field-card__number {
    opacity: 1;
    border-color: rgba(239, 197, 125, 0.6);
    background: rgba(215, 154, 66, 0.25);
}

/* Content */

.ipa-field-card__content {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    padding: 30px 25px 28px;

    color: var(--ipa-white);
}

.ipa-field-card__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 9px;

    color: var(--ipa-gold-light);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.7;

    opacity: 0;
    transform: translateY(10px);

    transition:
        opacity 400ms ease 120ms,
        transform 500ms cubic-bezier(0.22, 1, 0.36, 1) 120ms;
}

.ipa-field-card__label::before {
    content: "";
    width: 17px;
    height: 2px;
    border-radius: 20px;
    background: currentColor;
}

.ipa-field-card.is-active .ipa-field-card__label {
    opacity: 1;
    transform: translateY(0);
}

/* Title */

.ipa-field-card__title {
    width: max-content;
    max-width: 100%;
    margin: 0;

    color: var(--ipa-white);
    font-size: clamp(20px, 2vw, 32px);
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: -0.025em;

    white-space: nowrap;

    transition:
        font-size 650ms cubic-bezier(0.22, 1, 0.36, 1),
        transform 500ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ipa-field-card:not(.is-active) .ipa-field-card__title {
    font-size: clamp(17px, 1.45vw, 22px);

    writing-mode: vertical-rl;
    transform: rotate(180deg);
    transform-origin: center;

    white-space: nowrap;
}

.ipa-field-card.is-active .ipa-field-card__title {
    writing-mode: horizontal-tb;
    transform: none;
}

/* Hidden details */

.ipa-field-card__details {
    max-width: 490px;
    max-height: 0;
    overflow: hidden;

    opacity: 0;
    transform: translateY(18px);

    transition:
        max-height 700ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 450ms ease 150ms,
        transform 600ms cubic-bezier(0.22, 1, 0.36, 1) 120ms;
}

.ipa-field-card.is-active .ipa-field-card__details {
    max-height: 220px;
    opacity: 1;
    transform: translateY(0);
}

.ipa-field-card__details p {
    margin: 11px 0 18px;

    color: rgba(255, 255, 255, 0.79);
    font-size: clamp(13px, 1.25vw, 15px);
    font-weight: 500;
    line-height: 1.95;
}

/* Link */

.ipa-field-card__link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: var(--ipa-white);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.ipa-field-card__link svg {
    width: 18px;
    height: 18px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;

    transition: transform 300ms ease;
}

.ipa-field-card__link:hover svg {
    transform: translateX(-5px);
}

/* Mobile hint */

.ipa-fields__mobile-hint {
    display: none;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .ipa-fields__accordion {
        height: 550px;
        gap: 9px;
    }

    .ipa-field-card {
        border-radius: 23px;
    }

    .ipa-field-card.is-active {
        flex: 2.8 1 0;
    }

    .ipa-field-card__content {
        padding: 27px 20px 24px;
    }

    .ipa-field-card:not(.is-active) .ipa-field-card__title {
        font-size: 17px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ipa-fields {
        padding:
            clamp(55px, 13vw, 75px)
            0
            clamp(50px, 12vw, 70px);
    }

    .ipa-fields__header {
        padding-inline: 20px;
        margin-bottom: 30px;
    }

    .ipa-fields__title {
        font-size: clamp(27px, 8vw, 37px);
        line-height: 1.5;
    }

    .ipa-fields__subtitle {
        font-size: 14px;
        line-height: 1.9;
    }

    .ipa-fields__accordion {
        display: flex;
        flex-direction: row;

        width: 100%;
        height: 500px;
        padding-inline: 20px;

        gap: 12px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        scroll-padding-inline: 20px;
        overscroll-behavior-inline: contain;

        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .ipa-fields__accordion::-webkit-scrollbar {
        display: none;
    }

    .ipa-field-card,
    .ipa-field-card.is-active {
        flex: 0 0 min(84vw, 350px);
        width: min(84vw, 350px);
        min-width: min(84vw, 350px);
        height: 100%;

        border-radius: 24px;

        scroll-snap-align: center;

        transform: none;
    }

    .ipa-field-card:hover,
    .ipa-field-card:focus-visible {
        transform: none;
    }

    .ipa-field-card:not(.is-active) .ipa-field-card__background {
        filter: saturate(0.86) brightness(0.88);
    }

    .ipa-field-card:not(.is-active) .ipa-field-card__title,
    .ipa-field-card.is-active .ipa-field-card__title {
        width: auto;

        font-size: clamp(23px, 6.5vw, 29px);

        writing-mode: horizontal-tb;
        transform: none;

        white-space: normal;
    }

    .ipa-field-card__label {
        opacity: 1;
        transform: none;
    }

    .ipa-field-card__details,
    .ipa-field-card.is-active .ipa-field-card__details {
        max-height: 220px;
        opacity: 1;
        transform: none;
    }

    .ipa-field-card__content {
        padding: 30px 23px 25px;
    }

    .ipa-field-card__details p {
        font-size: 13px;
        line-height: 1.9;
    }

    .ipa-fields__mobile-hint {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;

        margin-top: 19px;
        padding-inline: 20px;

        color: rgba(5, 22, 92, 0.58);
        font-size: 11px;
        font-weight: 700;
    }

    .ipa-fields__mobile-hint svg {
        width: 34px;
        height: 18px;

        fill: none;
        stroke: currentColor;
        stroke-width: 1.5;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

    .ipa-fields__accordion {
        height: 470px;
        padding-inline: 15px;
        scroll-padding-inline: 15px;
    }

    .ipa-field-card,
    .ipa-field-card.is-active {
        flex-basis: 86vw;
        width: 86vw;
        min-width: 86vw;
    }

    .ipa-field-card__content {
        padding: 26px 19px 22px;
    }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .ipa-field-card,
    .ipa-field-card__background,
    .ipa-field-card__label,
    .ipa-field-card__title,
    .ipa-field-card__details,
    .ipa-field-card__link svg {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-51358cf *//* ==============================
   About Association Section
============================== */

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

.ipa-about {
  --ipa-gold: #d69a36;
  --ipa-gold-light: #e6b45f;
  --ipa-bg-1: #031720;
  --ipa-bg-2: #06202b;
  --ipa-text: #f6f2e8;
  --ipa-muted: #aeb7b9;

  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  grid-template-rows: 500px;
  direction: ltr;

  width: 100%;
  min-width: 0;
  min-height: 500px;
  margin: 0;
  padding: 0;
  overflow: hidden;

  background:
  #02152a
        ;

  border-top: 2px solid var(--ipa-gold);
  border-bottom: 1px solid rgba(214, 154, 54, 0.28);

  font-family: "IRANSansX", "Vazirmatn", "IRANSans", Tahoma, sans-serif;
}

.ipa-about::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.22;
  background-image:
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 36px 36px;
}

/* Content */
.ipa-about__content {
  grid-column: 1;
  grid-row: 1;
  direction: rtl;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;

  width: 100%;
  min-width: 0;
  height: 500px;
  padding: 48px clamp(34px, 5vw, 90px) 48px clamp(28px, 4vw, 72px);
  text-align: right;
}

.ipa-about__eyebrow {
  display: block;
  margin: 0 0 9px;
  color: var(--ipa-gold-light);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}

.ipa-about__title {
  width: 100%;
  max-width: 480px;
  margin: 0;
  color: var(--ipa-text);
  font-size: clamp(29px, 2.25vw, 43px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -1px;
  overflow-wrap: break-word;
}

.ipa-about__title span {
  display: block;
}

.ipa-about__line {
  display: block;
  width: 40px;
  height: 2px;
  margin: 12px 0 20px;
  background: var(--ipa-gold);
}

.ipa-about__description {
  width: 100%;
  max-width: 440px;
  margin: 0;
  color: var(--ipa-muted);
  font-size: 15px;
  font-weight: 300;
  line-height: 2.05;
  text-align: justify;
  text-align-last: right;
  overflow-wrap: break-word;
}

/* Manager */
.ipa-about__manager {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  width: 100%;
  margin-top: 22px;
}

.ipa-about__manager-info {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  gap: 3px;
}

.ipa-about__manager-info strong {
  color: var(--ipa-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
}

.ipa-about__manager-info span {
  color: var(--ipa-muted);
  font-size: 13px;
  font-weight: 300;
  line-height: 1.7;
}

.ipa-about__signature {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 145px;
  height: 66px;
  margin: 0;
  overflow: hidden;
}

.ipa-about__signature img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Main image */
.ipa-about__visual {
  position: relative;
  grid-column: 2;
  grid-row: 1;

  width: 100%;
  min-width: 0;
  height: 500px;
  margin: 0;
  overflow: hidden;

  border-top-left-radius: 245px;
  border-bottom-left-radius: 245px;
  border-left: 2px solid var(--ipa-gold);
  background: #07161c;
}

.ipa-about__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(3,24,34,.02), rgba(0,0,0,.16));
}

.ipa-about__visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}

/* Large screens */
@media (min-width: 1600px) {
  .ipa-about {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    grid-template-rows: 540px;
    min-height: 540px;
  }

  .ipa-about__content,
  .ipa-about__visual {
    height: 540px;
  }

  .ipa-about__description {
    max-width: 470px;
    font-size: 16px;
  }

  .ipa-about__visual {
    border-top-left-radius: 270px;
    border-bottom-left-radius: 270px;
  }
}

/* Laptop / tablet */
@media (max-width: 1100px) {
  .ipa-about {
    grid-template-columns: minmax(0, 45%) minmax(0, 55%);
    grid-template-rows: 460px;
    min-height: 460px;
  }

  .ipa-about__content,
  .ipa-about__visual {
    height: 460px;
  }

  .ipa-about__content {
    padding: 38px 5%;
  }

  .ipa-about__title {
    font-size: clamp(27px, 2.8vw, 34px);
  }

  .ipa-about__description {
    max-width: 370px;
    font-size: 14px;
    line-height: 1.95;
  }

  .ipa-about__visual {
    border-top-left-radius: 195px;
    border-bottom-left-radius: 195px;
  }

  .ipa-about__signature {
    width: 125px;
    height: 58px;
  }
}

@media (max-width: 900px) {
  .ipa-about {
    grid-template-columns: minmax(0, 47%) minmax(0, 53%);
    grid-template-rows: 440px;
    min-height: 440px;
  }

  .ipa-about__content,
  .ipa-about__visual {
    height: 440px;
  }

  .ipa-about__content {
    padding: 32px 4%;
  }

  .ipa-about__title {
    font-size: 27px;
  }

  .ipa-about__description {
    font-size: 13.5px;
    line-height: 1.9;
  }

  .ipa-about__visual {
    border-top-left-radius: 165px;
    border-bottom-left-radius: 165px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .ipa-about {
    display: flex;
    flex-direction: column;
    min-height: 0;
    direction: rtl;
  }

  .ipa-about__visual {
    order: 1;
    width: 100%;
    height: clamp(260px, 56vw, 360px);
    min-height: 260px;

    border-top-left-radius: 0;
    border-bottom-left-radius: 75px;
    border-left: 0;
    border-bottom: 2px solid var(--ipa-gold);
  }

  .ipa-about__content {
    order: 2;
    width: 100%;
    height: auto;
    min-height: 0;
    padding: clamp(34px, 7vw, 48px) clamp(20px, 6vw, 34px) clamp(38px, 8vw, 52px);
  }

  .ipa-about__eyebrow {
    font-size: 13px;
  }

  .ipa-about__title {
    max-width: none;
    font-size: clamp(24px, 7vw, 30px);
  }

  .ipa-about__description {
    max-width: none;
    font-size: 14px;
    line-height: 2;
    text-align: right;
    text-align-last: right;
  }

  .ipa-about__manager {
    flex-wrap: wrap;
    gap: 15px;
  }

  .ipa-about__signature {
    width: 115px;
    height: 54px;
  }
}

@media (max-width: 480px) {
  .ipa-about__visual {
    height: 245px;
    min-height: 245px;
    border-bottom-left-radius: 55px;
  }

  .ipa-about__content {
    padding: 32px 18px 38px;
  }

  .ipa-about__title {
    font-size: 23px;
  }

  .ipa-about__description {
    font-size: 13.5px;
    line-height: 1.95;
  }

  .ipa-about__signature {
    width: 100px;
    height: 48px;
  }
}

@media (max-width: 360px) {
  .ipa-about__visual {
    height: 215px;
    min-height: 215px;
  }

  .ipa-about__content {
    padding-right: 15px;
    padding-left: 15px;
  }

  .ipa-about__title {
    font-size: 21px;
  }

  .ipa-about__description {
    font-size: 13px;
  }

  .ipa-about__manager {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .ipa-about,
  .ipa-about *,
  .ipa-about *::before,
  .ipa-about *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

@media (prefers-contrast: more) {
  .ipa-about__description,
  .ipa-about__manager-info span {
    color: #dde2e3;
  }
}

/* Print */
@media print {
  .ipa-about {
    display: block;
    min-height: 0;
    background: #fff;
    border: 1px solid #aaa;
  }

  .ipa-about__visual {
    display: none;
  }

  .ipa-about__content {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 25px;
  }

  .ipa-about__title,
  .ipa-about__manager-info strong {
    color: #000;
  }

  .ipa-about__description,
  .ipa-about__manager-info span {
    color: #333;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b38e748 *//* =========================================================
   IPA NEWS AND MEDIA SECTION
   RTL / RESPONSIVE / ELEMENTOR SAFE
========================================================= */

:root {
    --ipa-news-bg: #f8f5ee;
    --ipa-news-card-bg: #ffffff;

    --ipa-news-navy: #041c2c;
    --ipa-news-navy-light: #0b3045;

    --ipa-news-text: #122735;
    --ipa-news-muted: #8b8c89;
    --ipa-news-light-muted: #d6d0c4;

    --ipa-news-gold: #c7942f;
    --ipa-news-gold-light: #ddb85f;

    --ipa-news-radius: 8px;
    --ipa-news-shadow:
        0 5px 18px rgba(6, 28, 42, 0.035),
        0 1px 4px rgba(6, 28, 42, 0.055);
}

/* Reset محدود به سکشن */
.ipa-news,
.ipa-news *,
.ipa-news *::before,
.ipa-news *::after {
    box-sizing: border-box;
}

.ipa-news {
    position: relative;
    isolation: isolate;

    width: 100%;
    overflow: hidden;

    direction: rtl;
    color: var(--ipa-news-text);

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(211, 174, 95, 0.055),
            transparent 32%
        ),
        var(--ipa-news-bg);
}

/* بافت بسیار ملایم پس‌زمینه */
.ipa-news::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.3),
            transparent 20%,
            transparent 80%,
            rgba(255, 255, 255, 0.3)
        );

    pointer-events: none;
}

/* =========================================================
   CONTAINER
========================================================= */

.ipa-news__container {
    width: min(1460px, calc(100% - 48px));

    margin-inline: auto;

    padding-block:
        clamp(24px, 3.1vw, 46px)
        clamp(28px, 3.8vw, 56px);
}

/* =========================================================
   HEADER
========================================================= */

.ipa-news__header {
    margin-bottom: clamp(19px, 2.2vw, 31px);

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.ipa-news__heading {
    margin: 0;

    color: var(--ipa-news-navy);

    font-size: clamp(18px, 1.45vw, 25px);
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: -0.025em;
}

.ipa-news__heading-decoration {
    width: 78px;
    height: 11px;

    margin-top: 5px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;

    color: var(--ipa-news-gold);
}

.ipa-news__heading-decoration span {
    width: 22px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--ipa-news-gold)
        );
}

.ipa-news__heading-decoration span:last-child {
    background:
        linear-gradient(
            90deg,
            var(--ipa-news-gold),
            transparent
        );
}

.ipa-news__heading-decoration svg {
    display: block;

    width: 28px;
    height: 10px;
}

/* =========================================================
   GRID
========================================================= */

.ipa-news__grid {
    /*
     * سه کارت خبر + کارت مشاهده همه
     * در حالت RTL ترتیب بصری از راست به چپ است.
     */
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr))
        minmax(210px, 0.72fr);

    gap: clamp(14px, 1.35vw, 22px);

    align-items: stretch;
}

/* =========================================================
   NEWS CARD
========================================================= */

.ipa-news-card {
    min-width: 0;
    min-height: 222px;

    margin: 0;
    overflow: hidden;

    display: flex;
    flex-direction: column;

    border: 1px solid rgba(7, 31, 45, 0.055);
    border-radius: var(--ipa-news-radius);

    background: var(--ipa-news-card-bg);

    box-shadow: var(--ipa-news-shadow);

    transition:
        transform 220ms ease,
        box-shadow 220ms ease,
        border-color 220ms ease;
}

.ipa-news-card:hover {
    transform: translateY(-4px);

    border-color: rgba(199, 148, 47, 0.2);

    box-shadow:
        0 12px 30px rgba(6, 28, 42, 0.08),
        0 2px 6px rgba(6, 28, 42, 0.04);
}

/* =========================================================
   CARD IMAGE
========================================================= */

.ipa-news-card__image-link {
    position: relative;

    display: block;

    width: 100%;
    height: clamp(88px, 9vw, 118px);
    flex: 0 0 auto;

    overflow: hidden;

    background: #ddd7cc;
}

.ipa-news-card__image-link::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3, 22, 33, 0.02),
            rgba(3, 22, 33, 0.1)
        );

    pointer-events: none;
}

.ipa-news-card__image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform 500ms ease;
}

.ipa-news-card:hover .ipa-news-card__image {
    transform: scale(1.035);
}

/* =========================================================
   CARD BODY
========================================================= */

.ipa-news-card__body {
    min-height: 0;
    flex: 1;

    padding:
        10px
        clamp(13px, 1.2vw, 18px)
        11px;

    display: flex;
    flex-direction: column;
}

.ipa-news-card__date {
    display: block;

    margin-bottom: 4px;

    color: var(--ipa-news-muted);

    font-size: clamp(9px, 0.72vw, 11px);
    font-weight: 400;
    line-height: 1.6;

    text-align: right;
}

.ipa-news-card__title {
    margin: 0;

    color: var(--ipa-news-text);

    font-size: clamp(12px, 0.96vw, 15px);
    font-weight: 750;
    line-height: 1.7;

    text-align: right;
}

.ipa-news-card__title a {
    color: inherit;
    text-decoration: none;

    transition: color 180ms ease;
}

.ipa-news-card__title a:hover {
    color: var(--ipa-news-gold);
}

/* =========================================================
   CARD FOOTER
========================================================= */

.ipa-news-card__footer {
    margin-top: auto;
    padding-top: 7px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.ipa-news-card__more {
    display: inline-flex;
    align-items: center;
    gap: 4px;

    color: var(--ipa-news-gold);

    font-size: clamp(9px, 0.72vw, 11px);
    font-weight: 650;
    line-height: 1.5;

    text-decoration: none;

    transition:
        color 180ms ease,
        gap 180ms ease;
}

.ipa-news-card__more svg {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.ipa-news-card__more:hover {
    gap: 7px;
    color: #a9781e;
}

.ipa-news-card__category {
    color: var(--ipa-news-light-muted);

    font-size: clamp(8px, 0.65vw, 10px);
    line-height: 1.5;
}

/* =========================================================
   VIEW ALL CARD
========================================================= */

.ipa-news-all {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    min-height: 222px;

    padding:
        clamp(20px, 2vw, 30px)
        18px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: var(--ipa-news-radius);

    color: #ffffff;

    text-align: center;

    background:
        radial-gradient(
            circle at 50% 10%,
            rgba(30, 83, 108, 0.22),
            transparent 45%
        ),
        linear-gradient(
            145deg,
            #061f30 0%,
            #031a29 58%,
            #021522 100%
        );

    box-shadow:
        0 8px 24px rgba(3, 23, 35, 0.12);
}

/* درخشش محدود */
.ipa-news-all::before {
    content: "";

    position: absolute;
    top: -42px;
    right: -34px;

    width: 120px;
    height: 120px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(33, 91, 117, 0.14),
            transparent 70%
        );

    pointer-events: none;
}

.ipa-news-all__icon {
    width: clamp(50px, 4.4vw, 66px);
    height: clamp(50px, 4.4vw, 66px);

    margin-bottom: 13px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--ipa-news-gold);
}

.ipa-news-all__icon svg {
    display: block;

    width: 100%;
    height: 100%;
}

.ipa-news-all__title {
    margin:
        0
        0
        clamp(15px, 1.6vw, 22px);

    color: #ffffff;

    font-size: clamp(13px, 1vw, 16px);
    font-weight: 650;
    line-height: 1.7;
}

.ipa-news-all__button {
    width: clamp(45px, 4vw, 58px);
    height: clamp(34px, 3.2vw, 43px);

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255, 230, 167, 0.18);
    border-radius: 4px;

    color: #ffffff;

    text-decoration: none;

    background:
        linear-gradient(
            135deg,
            var(--ipa-news-gold-light),
            var(--ipa-news-gold)
        );

    box-shadow:
        0 5px 16px rgba(199, 148, 47, 0.2);

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        filter 180ms ease;
}

.ipa-news-all__button svg {
    width: 19px;
    height: 19px;
}

.ipa-news-all__button:hover {
    transform: translateY(-2px);

    filter: brightness(1.07);

    box-shadow:
        0 8px 20px rgba(199, 148, 47, 0.28);
}

/* =========================================================
   LARGE TABLET
========================================================= */

@media (max-width: 1100px) {
    .ipa-news__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .ipa-news-all {
        grid-column: span 1;
    }

    .ipa-news-card,
    .ipa-news-all {
        min-height: 245px;
    }

    .ipa-news-card__image-link {
        height: 122px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 760px) {
    .ipa-news__container {
        width: min(100% - 32px, 680px);

        padding-block:
            34px
            42px;
    }

    .ipa-news__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 16px;
    }

    .ipa-news-card__image-link {
        height: 116px;
    }

    /*
     * کارت مشاهده همه در انتهای شبکه
     * تمام عرض را می‌گیرد.
     */
    .ipa-news-all {
        grid-column: 1 / -1;

        min-height: 175px;

        flex-direction: row;
        gap: 22px;
    }

    .ipa-news-all__icon {
        margin-bottom: 0;
    }

    .ipa-news-all__title {
        margin: 0;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 540px) {
    .ipa-news__container {
        width: min(100% - 28px, 430px);

        padding-block:
            30px
            38px;
    }
    .ipa-news__header {
        margin-bottom: 22px;
    }

    .ipa-news__heading {
        font-size: 20px;
    }

    .ipa-news__grid {
        grid-template-columns: minmax(0, 1fr);

        gap: 15px;
    }

    .ipa-news-card,
    .ipa-news-all {
        min-height: 0;
    }

    .ipa-news-card__image-link {
        height: 165px;
    }

    .ipa-news-card__body {
        padding:
            13px
            15px
            14px;
    }

    .ipa-news-card__date {
        font-size: 10px;
    }

    .ipa-news-card__title {
        font-size: 14px;
        line-height: 1.75;
    }

    .ipa-news-card__more {
        font-size: 10px;
    }

    .ipa-news-all {
        grid-column: auto;

        min-height: 155px;

        padding: 22px;

        flex-direction: column;
        gap: 0;
    }

    .ipa-news-all__icon {
        width: 52px;
        height: 52px;

        margin-bottom: 8px;
    }

    .ipa-news-all__title {
        margin-bottom: 13px;

        font-size: 14px;
    }

    .ipa-news-all__button {
        width: 52px;
        height: 38px;
    }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

.ipa-news a:focus-visible {
    outline: 2px solid var(--ipa-news-gold);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .ipa-news *,
    .ipa-news *::before,
    .ipa-news *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .ipa-news-card:hover,
    .ipa-news-all__button:hover {
        transform: none;
    }

    .ipa-news-card:hover .ipa-news-card__image {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-dcabfc5 *//* =========================================================
   IPA JOIN BANNER
   NO GEOMETRY / CUSTOM IMAGE PLACEHOLDER
   DESKTOP HEIGHT: 300PX
========================================================= */

:root {
    --ipa-join-height: 300px;

    --ipa-join-navy-950: #00131f;
    --ipa-join-navy-900: #031e30;
    --ipa-join-navy-850: #082b40;

    --ipa-join-white: #ffffff;
    --ipa-join-text: #d9e0e4;
    --ipa-join-muted: #8fa1ac;

    --ipa-join-gold: #c8902b;
    --ipa-join-gold-light: #deb556;
}

/* =========================================================
   SCOPED RESET
========================================================= */

.ipa-join-banner,
.ipa-join-banner *,
.ipa-join-banner *::before,
.ipa-join-banner *::after {
    box-sizing: border-box;
}

.ipa-join-banner {
    position: relative;
    isolation: isolate;

    width: 100%;
    height: var(--ipa-join-height);
    min-height: var(--ipa-join-height);

    overflow: hidden;

    direction: rtl;
    color: var(--ipa-join-white);

    background:
        radial-gradient(
            circle at 75% 45%,
            rgba(13, 65, 91, 0.22),
            transparent 36%
        ),
        linear-gradient(
            100deg,
            #011724 0%,
            #032237 50%,
            #001522 100%
        );
}

/* بافت بسیار ظریف در سمت لوگو */
.ipa-join-banner::before {
    content: "";

    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 0;

    width: 24%;

    opacity: 0.07;

    background-image:
        linear-gradient(
            30deg,
            transparent 24%,
            rgba(198, 144, 43, 0.32) 25%,
            rgba(198, 144, 43, 0.32) 26%,
            transparent 27%,
            transparent 74%,
            rgba(198, 144, 43, 0.32) 75%,
            rgba(198, 144, 43, 0.32) 76%,
            transparent 77%
        ),
        linear-gradient(
            150deg,
            transparent 24%,
            rgba(198, 144, 43, 0.22) 25%,
            rgba(198, 144, 43, 0.22) 26%,
            transparent 27%,
            transparent 74%,
            rgba(198, 144, 43, 0.22) 75%,
            rgba(198, 144, 43, 0.22) 76%,
            transparent 77%
        );

    background-size: 33px 57px;

    pointer-events: none;
}

/* خط طلایی ظریف پایین سکشن */
.ipa-join-banner::after {
    content: "";

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 20;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            rgba(203, 151, 52, 0.2),
            rgba(225, 183, 82, 0.7),
            rgba(203, 151, 52, 0.2)
        );

    pointer-events: none;
}

/* =========================================================
   MAIN GRID
========================================================= */

.ipa-join-banner__inner {
    position: relative;
    z-index: 1;

    width: min(1600px, 100%);
    height: 100%;

    margin-inline: auto;

    display: grid;

    /*
     * ترتیب فیزیکی از راست به چپ:
     * لوگو | جداکننده | متن و دکمه | محل تصویر
     */
    grid-template-columns:
        minmax(165px, 18%)
        1px
        minmax(410px, 47%)
        minmax(330px, 35%);

    grid-template-areas:
        "brand divider content media";

    direction: rtl;
    align-items: stretch;
}

/* =========================================================
   BRAND
========================================================= */

.ipa-join-banner__brand {
    grid-area: brand;

    position: relative;
    z-index: 4;

    padding:
        28px
        clamp(28px, 4vw, 70px)
        28px
        clamp(18px, 2.5vw, 38px);

    display: flex;
    align-items: center;
    justify-content: center;
}

.ipa-join-banner__logo {
    display: block;

    width: clamp(105px, 10.5vw, 158px);
    max-height: 205px;
    height: auto;

    object-fit: contain;
    object-position: center;

    filter:
        drop-shadow(
            0 7px 15px
            rgba(0, 0, 0, 0.22)
        );
}

/* =========================================================
   DIVIDER
========================================================= */

.ipa-join-banner__divider {
    grid-area: divider;

    position: relative;
    z-index: 5;

    align-self: center;

    width: 1px;
    height: 195px;

    background:
        linear-gradient(
            180deg,
            transparent 0%,
            rgba(202, 147, 43, 0.83) 17%,
            rgba(202, 147, 43, 0.83) 83%,
            transparent 100%
        );
}

/* =========================================================
   CONTENT
========================================================= */

.ipa-join-banner__content {
    grid-area: content;

    position: relative;
    z-index: 5;

    min-width: 0;

    padding:
        35px
        clamp(30px, 4.6vw, 74px)
        35px
        clamp(30px, 4vw, 64px);

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    direction: rtl;
    text-align: right;
}

.ipa-join-banner__title {
    width: 100%;

    margin: 0;

    color: var(--ipa-join-white);

    font-size: clamp(24px, 2.2vw, 36px);
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: -0.025em;

    text-wrap: balance;
}

.ipa-join-banner__description {
    margin:
        7px
        0
        20px;

    color: var(--ipa-join-text);

    font-size: clamp(12px, 1vw, 15px);
    font-weight: 400;
    line-height: 1.9;
}

/* =========================================================
   BUTTON
========================================================= */

.ipa-join-banner__button {
    min-width: 174px;
    min-height: 45px;

    padding: 10px 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;

    border: 1px solid rgba(255, 232, 174, 0.22);
    border-radius: 5px;

    color: #ffffff;

    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;

    text-decoration: none;

    background:
        linear-gradient(
            135deg,
            var(--ipa-join-gold-light),
            var(--ipa-join-gold)
        );

    box-shadow:
        0 6px 16px rgba(178, 122, 22, 0.22);

    transition:
        transform 180ms ease,
        filter 180ms ease,
        box-shadow 180ms ease;
}

.ipa-join-banner__button svg {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
}

.ipa-join-banner__button:hover {
    transform: translateY(-2px);

    filter: brightness(1.07);

    box-shadow:
        0 9px 21px rgba(178, 122, 22, 0.3);
}

/* =========================================================
   IMAGE AREA
========================================================= */

.ipa-join-banner__media {
    grid-area: media;

    position: relative;
    isolation: isolate;

    min-width: 0;
    height: 100%;

    margin: 0;
    overflow: hidden;

    /*
     * هیچ تصویر، هندسه، خط یا کادر مستقلی وجود ندارد.
     * این محدوده کاملاً همرنگ سکشن است.
     */
    background: transparent;
}

/*
 * تصویر نهایی خودت:
 * تمام محدوده سمت چپ را پر می‌کند.
 */
.ipa-join-banner__image {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    border: 0;
    border-radius: 0;

    background: transparent;
}

/* =========================================================
   TEMPORARY PLACEHOLDER
========================================================= */

/*
 * این بخش فقط برای مشخص‌کردن محل تصویر است.
 * بعد از قراردادن تصویر، کلاس is-placeholder را حذف کن.
 */
.ipa-join-banner__placeholder {
    position: absolute;
    inset:
        clamp(24px, 3vw, 42px)
        clamp(24px, 3vw, 42px);
    z-index: 1;

    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;

    border: 1px dashed rgba(222, 181, 86, 0.32);
    border-radius: 4px;

    color: rgba(222, 181, 86, 0.68);

    text-align: center;

    background:
        rgba(255, 255, 255, 0.008);
}

.ipa-join-banner__media.is-placeholder
.ipa-join-banner__placeholder {
    display: flex;
}

.ipa-join-banner__media.is-placeholder
.ipa-join-banner__image {
    display: none;
}

.ipa-join-banner__placeholder span {
    font-size: clamp(13px, 1vw, 16px);
    font-weight: 600;
    line-height: 1.8;
}

.ipa-join-banner__placeholder small {
    color: rgba(217, 224, 228, 0.45);

    font-size: clamp(10px, 0.75vw, 12px);
    line-height: 1.7;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1200px) {
    .ipa-join-banner__inner {
        grid-template-columns:
            minmax(145px, 18%)
            1px
            minmax(370px, 47%)
            minmax(300px, 35%);
    }

    .ipa-join-banner__content {
        padding-right: 30px;
        padding-left: 36px;
    }

    .ipa-join-banner__logo {
        width: 120px;
    }
}

/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (max-width: 980px) {
    .ipa-join-banner__inner {
        grid-template-columns:
            130px
            1px
            minmax(330px, 1fr)
            minmax(260px, 34%);
    }

    .ipa-join-banner__brand {
        padding-inline: 18px;
    }

    .ipa-join-banner__logo {
        width: 100px;
    }

    .ipa-join-banner__content {
        padding:
            32px
            24px
            32px
            32px;
    }

    .ipa-join-banner__title {
        font-size: 26px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 820px) {
    .ipa-join-banner {
        height: auto;
        min-height: 0;
    }

    .ipa-join-banner__inner {
        min-height: 500px;

        grid-template-columns:
            115px
            1px
            minmax(0, 1fr);

        grid-template-rows:
            270px
            auto;

        grid-template-areas:
            "media media media"
            "brand divider content";
    }

    .ipa-join-banner__media {
        height: 270px;
    }

    .ipa-join-banner__brand {
        min-height: 220px;

        padding: 25px 15px;
    }

    .ipa-join-banner__divider {
        height: 145px;
    }

    .ipa-join-banner__content {
        min-height: 220px;

        padding:
            30px
            25px
            30px
            35px;
    }

    .ipa-join-banner__title {
        font-size: clamp(21px, 3.7vw, 28px);
    }

    .ipa-join-banner__placeholder {
        inset: 28px 42px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {
    .ipa-join-banner__inner {
        grid-template-columns: minmax(0, 1fr);

        grid-template-rows:
            auto
            auto
            220px;

        /*
         * در موبایل:
         * لوگو، متن و سپس تصویر
         */
        grid-template-areas:
            "brand"
            "content"
            "media";
    }

    .ipa-join-banner__brand {
        min-height: 125px;

        padding:
            24px
            20px
            10px;
    }

    .ipa-join-banner__logo {
        width: 82px;
    }

    .ipa-join-banner__divider {
        display: none;
    }

    .ipa-join-banner__content {
        min-height: 245px;

        padding:
            8px
            21px
            38px;

        align-items: center;

        text-align: center;
    }

    .ipa-join-banner__title {
        font-size: clamp(22px, 6.7vw, 29px);
    }

    .ipa-join-banner__description {
        max-width: 430px;

        font-size: 12px;

        text-align: center;
    }

    .ipa-join-banner__media {
        height: 220px;
    }

    .ipa-join-banner__placeholder {
        inset: 22px 20px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {
    .ipa-join-banner__inner {
        grid-template-rows:
            auto
            auto
            195px;
    }

    .ipa-join-banner__media {
        height: 195px;
    }

    .ipa-join-banner__content {
        padding-inline: 17px;
    }

    .ipa-join-banner__button {
        min-width: 160px;
    }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

.ipa-join-banner a:focus-visible {
    outline: 2px solid var(--ipa-join-gold-light);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .ipa-join-banner *,
    .ipa-join-banner *::before,
    .ipa-join-banner *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .ipa-join-banner__button:hover {
        transform: none;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6708bad *//* =========================================================
   IPA PARTNERS
   UPDATED SPACING AND HEIGHT
========================================================= */

:root {
    --ipa-partners-bg: #ffffff;
    --ipa-partners-text: #142c3b;
    --ipa-partners-gold: #c79a3b;
    --ipa-partners-logo: #8c8e90;

    /* ارتفاع افزایش‌یافته سکشن */
    --ipa-partners-height: 155px;
}

/* =========================================================
   SCOPED RESET
========================================================= */

.ipa-partners,
.ipa-partners *,
.ipa-partners *::before,
.ipa-partners *::after {
    box-sizing: border-box;
}

.ipa-partners {
    position: relative;
    isolation: isolate;

    width: 100%;
    min-height: var(--ipa-partners-height);

    overflow: hidden;

    direction: rtl;
    color: var(--ipa-partners-text);

    background:
        radial-gradient(
            ellipse at center,
            rgba(210, 192, 157, 0.055),
            transparent 65%
        ),
        var(--ipa-partners-bg);
}

/* سایه بسیار ظریف لبه‌های سکشن */
.ipa-partners::before {
    content: "";

    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        linear-gradient(
            90deg,
            rgba(16, 43, 59, 0.018),
            transparent 14%,
            transparent 86%,
            rgba(16, 43, 59, 0.018)
        );

    pointer-events: none;
}

/* =========================================================
   CONTAINER
========================================================= */

.ipa-partners__container {
    width: min(1500px, 100%);
    min-height: var(--ipa-partners-height);

    margin-inline: auto;

    padding:
        14px
        clamp(36px, 5vw, 78px)
        17px;

    display: flex;
    flex-direction: column;
}

/* =========================================================
   HEADER
========================================================= */

.ipa-partners__header {
    flex: 0 0 auto;

    /*
     * فاصله تیتر و تزئین از لوگوهای پایین
     */
    margin-bottom: 15px;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;
}

.ipa-partners__title {
    margin: 0;

    color: var(--ipa-partners-text);

    /*
     * تیتر بزرگ‌تر شده است.
     */
    font-size: clamp(17px, 1.45vw, 22px);
    font-weight: 800;
    line-height: 1.55;
    letter-spacing: -0.025em;
}

.ipa-partners__ornament {
    width: 88px;
    height: 11px;

    margin-top: 4px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.ipa-partners__ornament span {
    width: 32px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(199, 154, 59, 0.78)
        );
}

.ipa-partners__ornament span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(199, 154, 59, 0.78),
            transparent
        );
}

.ipa-partners__ornament i {
    position: relative;

    width: 7px;
    height: 7px;

    display: block;

    border-radius: 1px;

    background: var(--ipa-partners-gold);

    transform: rotate(45deg);
}

.ipa-partners__ornament i::after {
    content: "";

    position: absolute;
    inset: 2px;

    border-radius: 50%;

    background: #ffffff;
}

/* =========================================================
   SLIDER
========================================================= */

.ipa-partners__slider {
    position: relative;

    min-width: 0;
    flex: 1;

    display: grid;
    grid-template-columns:
        28px
        minmax(0, 1fr)
        28px;

    align-items: center;

    gap: clamp(12px, 1.7vw, 26px);
}

/* =========================================================
   VIEWPORT
========================================================= */

.ipa-partners__viewport {
    min-width: 0;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scrollbar-width: none;

    overscroll-behavior-inline: contain;
}

.ipa-partners__viewport::-webkit-scrollbar {
    display: none;
}

.ipa-partners__track {
    min-width: max-content;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    gap: clamp(30px, 4vw, 68px);
}

/* =========================================================
   LOGO ITEM
========================================================= */

.ipa-partners__item {
    width: clamp(110px, 12vw, 155px);
    height: 60px;
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--ipa-partners-logo);

    text-decoration: none;

    opacity: 0.88;

    transition:
        opacity 180ms ease,
        transform 180ms ease,
        filter 180ms ease;
}

.ipa-partners__item img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
    object-position: center;

    filter:
        grayscale(1)
        contrast(0.88)
        opacity(0.92);
}

.ipa-partners__item:hover {
    opacity: 1;

    transform: translateY(-2px);
}

.ipa-partners__item:hover img {
    filter:
        grayscale(0.25)
        contrast(1)
        opacity(1);
}

/* =========================================================
   ARROWS
========================================================= */

.ipa-partners__arrow {
    width: 28px;
    height: 40px;

    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;

    color: var(--ipa-partners-gold);

    cursor: pointer;

    background: transparent;

    transition:
        color 180ms ease,
        transform 180ms ease,
        opacity 180ms ease;
}

.ipa-partners__arrow svg {
    width: 20px;
    height: 20px;
}

.ipa-partners__arrow:hover {
    color: #a97820;

    transform: scale(1.1);
}

.ipa-partners__arrow:disabled {
    cursor: default;

    opacity: 0.25;

    transform: none;
}

.ipa-partners__arrow--next {
    grid-column: 1;
}

.ipa-partners__viewport {
    grid-column: 2;
}

.ipa-partners__arrow--prev {
    grid-column: 3;
}

/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1100px) {
    :root {
        --ipa-partners-height: 160px;
    }

    .ipa-partners__container {
        padding-inline: 32px;
    }

    .ipa-partners__header {
        margin-bottom: 14px;
    }

    .ipa-partners__track {
        gap: 38px;
    }

    .ipa-partners__item {
        width: 130px;
    }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 768px) {
    :root {
        --ipa-partners-height: 175px;
    }

    .ipa-partners__container {
        padding:
            17px
            22px
            19px;
    }

    .ipa-partners__header {
        margin-bottom: 18px;
    }

    .ipa-partners__title {
        font-size: clamp(17px, 2.8vw, 21px);
    }

    .ipa-partners__slider {
        grid-template-columns:
            23px
            minmax(0, 1fr)
            23px;

        gap: 9px;
    }

    .ipa-partners__track {
        height: 70px;
        gap: 30px;
    }

    .ipa-partners__item {
        width: 120px;
        height: 58px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 540px) {
    :root {
        --ipa-partners-height: 185px;
    }

    .ipa-partners__container {
        padding:
            19px
            14px
            21px;
    }

    .ipa-partners__header {
        margin-bottom: 20px;
    }

    .ipa-partners__title {
        font-size: 18px;
        line-height: 1.6;
    }

    .ipa-partners__ornament {
        margin-top: 5px;
    }

    .ipa-partners__slider {
        grid-template-columns:
            21px
            minmax(0, 1fr)
            21px;

        gap: 5px;
    }

    .ipa-partners__track {
        height: 72px;
        gap: 24px;
    }

    .ipa-partners__item {
        width: 108px;
        height: 58px;
    }

    .ipa-partners__arrow {
        width: 21px;
    }

    .ipa-partners__arrow svg {
        width: 17px;
        height: 17px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 380px) {
    :root {
        --ipa-partners-height: 180px;
    }

    .ipa-partners__container {
        padding-inline: 11px;
    }

    .ipa-partners__header {
        margin-bottom: 17px;
    }

    .ipa-partners__title {
        font-size: 17px;
    }

    .ipa-partners__item {
        width: 100px;
        height: 54px;
    }

    .ipa-partners__track {
        gap: 20px;
    }
}

/* =========================================================
   ACCESSIBILITY
========================================================= */

.ipa-partners a:focus-visible,
.ipa-partners button:focus-visible {
    outline: 2px solid var(--ipa-partners-gold);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .ipa-partners *,
    .ipa-partners *::before,
    .ipa-partners *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}/* End custom CSS */