/*
Theme Name: قالب حرفه
Theme URI: https://mysite.com
Author: طراح سایت
Author URI: https://mysite.com
Description: این قالب به صورت اختصاصی برای سایت من طراحی شده است.
Version: 1.0
Text Domain: mytheme
Tags: rtl, responsive, custom-logo
*/
:root {
    /*!* Slate *!*/
    /*--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;*/

    /*!* Gray *!*/
    /*--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--gray-950:#030712;*/

    /*!* Zinc *!*/
    /*--zinc-50:#fafafa;--zinc-100:#f4f4f5;--zinc-200:#e4e4e7;--zinc-300:#d4d4d8;--zinc-400:#a1a1aa;--zinc-500:#71717a;--zinc-600:#52525b;--zinc-700:#3f3f46;--zinc-800:#27272a;--zinc-900:#18181b;--zinc-950:#09090b;*/

    /*!* Neutral *!*/
    /*--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--neutral-950:#0a0a0a;*/

    /*!* Stone *!*/
    /*--stone-50:#fafaf9;--stone-100:#f5f5f4;--stone-200:#e7e5e4;--stone-300:#d6d3d1;--stone-400:#a8a29e;--stone-500:#78716c;--stone-600:#57534e;--stone-700:#44403c;--stone-800:#292524;--stone-900:#1c1917;--stone-950:#0c0a09;*/

    /*!* Red *!*/
    /*--red-50:#fef2f2;--red-100:#fee2e2;--red-200:#fecaca;--red-300:#fca5a5;--red-400:#f87171;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--red-800:#991b1b;--red-900:#7f1d1d;--red-950:#450a0a;*/

    /*!* Orange *!*/
    /*--orange-50:#fff7ed;--orange-100:#ffedd5;--orange-200:#fed7aa;--orange-300:#fdba74;--orange-400:#fb923c;--orange-500:#f97316;--orange-600:#ea580c;--orange-700:#c2410c;--orange-800:#9a3412;--orange-900:#7c2d12;--orange-950:#431407;*/

    /*!* Amber *!*/
    /*--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-300:#fcd34d;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-800:#92400e;--amber-900:#78350f;--amber-950:#451a03;*/

    /*!* Yellow *!*/
    /*--yellow-50:#fefce8;--yellow-100:#fef9c3;--yellow-200:#fef08a;--yellow-300:#fde047;--yellow-400:#facc15;--yellow-500:#eab308;--yellow-600:#ca8a04;--yellow-700:#a16207;--yellow-800:#854d0e;--yellow-900:#713f12;--yellow-950:#422006;*/

    /*!* Lime *!*/
    /*--lime-50:#f7fee7;--lime-100:#ecfccb;--lime-200:#d9f99d;--lime-300:#bef264;--lime-400:#a3e635;--lime-500:#84cc16;--lime-600:#65a30d;--lime-700:#4d7c0f;--lime-800:#3f6212;--lime-900:#365314;--lime-950:#1a2e05;*/

    /*!* Green *!*/
    /*--green-50:#f0fdf4;--green-100:#dcfce7;--green-200:#bbf7d0;--green-300:#86efac;--green-400:#4ade80;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--green-900:#14532d;--green-950:#052e16;*/

    /*!* Emerald *!*/
    /*--emerald-50:#ecfdf5;--emerald-100:#d1fae5;--emerald-200:#a7f3d0;--emerald-300:#6ee7b7;--emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--emerald-700:#047857;--emerald-800:#065f46;--emerald-900:#064e3b;--emerald-950:#022c22;*/

    /*!* Teal *!*/
    /*--teal-50:#f0fdfa;--teal-100:#ccfbf1;--teal-200:#99f6e4;--teal-300:#5eead4;--teal-400:#2dd4bf;--teal-500:#14b8a6;--teal-600:#0d9488;--teal-700:#0f766e;--teal-800:#115e59;--teal-900:#134e4a;--teal-950:#042f2e;*/

    /*!* Cyan *!*/
    /*--cyan-50:#ecfeff;--cyan-100:#cffafe;--cyan-200:#a5f3fc;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--cyan-700:#0e7490;--cyan-800:#155e75;--cyan-900:#164e63;--cyan-950:#083344;*/

    /*!* Sky *!*/
    /*--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-300:#7dd3fc;--sky-400:#38bdf8;--sky-500:#0ea5e9;--sky-600:#0284c7;--sky-700:#0369a1;--sky-800:#075985;--sky-900:#0c4a6e;--sky-950:#082f49;*/

    /*!* Blue *!*/
    /*--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--blue-950:#172554;*/

    /*!* Indigo *!*/
    /*--indigo-50:#eef2ff;--indigo-100:#e0e7ff;--indigo-200:#c7d2fe;--indigo-300:#a5b4fc;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-700:#4338ca;--indigo-800:#3730a3;--indigo-900:#312e81;--indigo-950:#1e1b4b;*/

    /*!* Violet *!*/
    /*--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-300:#c4b5fd;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--violet-800:#5b21b6;--violet-900:#4c1d95;--violet-950:#2e1065;*/

    /*!* Purple *!*/
    /*--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7e22ce;--purple-800:#6b21a8;--purple-900:#581c87;--purple-950:#3b0764;*/

    /*!* Fuchsia *!*/
    /*--fuchsia-50:#fdf4ff;--fuchsia-100:#fae8ff;--fuchsia-200:#f5d0fe;--fuchsia-300:#f0abfc;--fuchsia-400:#e879f9;--fuchsia-500:#d946ef;--fuchsia-600:#c026d3;--fuchsia-700:#a21caf;--fuchsia-800:#86198f;--fuchsia-900:#701a75;--fuchsia-950:#4a044e;*/

    /*!* Pink *!*/
    /*--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--pink-800:#9d174d;--pink-900:#831843;--pink-950:#500724;*/

    /*!* Rose *!*/
    /*--rose-50:#fff1f2;--rose-100:#ffe4e6;--rose-200:#fecdd3;--rose-300:#fda4af;--rose-400:#fb7185;--rose-500:#f43f5e;--rose-600:#e11d48;--rose-700:#be123c;--rose-800:#9f1239;--rose-900:#881337;--rose-950:#4c0519;*/

}
:root {
    --slate-50: 248 250 252;
    --slate-100: 241 245 249;
    --slate-200: 226 232 240;
    --slate-300: 203 213 225;
    --slate-400: 148 163 184;
    --slate-500: 100 116 139;
    --slate-600: 71 85 105;
    --slate-700: 51 65 85;
    --slate-800: 30 41 59;
    --slate-900: 15 23 42;
    --slate-950: 2 6 23;
    --gray-50: 249 250 251;
    --gray-100: 243 244 246;
    --gray-200: 229 231 235;
    --gray-300: 209 213 219;
    --gray-400: 156 163 175;
    --gray-500: 107 114 128;
    --gray-600: 75 85 99;
    --gray-700: 55 65 81;
    --gray-800: 31 41 55;
    --gray-900: 17 24 39;
    --gray-950: 3 7 18;
    --zinc-50: 250 250 250;
    --zinc-100: 244 244 245;
    --zinc-200: 228 228 231;
    --zinc-300: 212 212 216;
    --zinc-400: 161 161 170;
    --zinc-500: 113 113 122;
    --zinc-600: 82 82 91;
    --zinc-700: 63 63 70;
    --zinc-800: 39 39 42;
    --zinc-900: 24 24 27;
    --zinc-950: 9 9 11;
    --neutral-50: 250 250 250;
    --neutral-100: 245 245 245;
    --neutral-200: 229 229 229;
    --neutral-300: 212 212 212;
    --neutral-400: 163 163 163;
    --neutral-500: 115 115 115;
    --neutral-600: 82 82 82;
    --neutral-700: 64 64 64;
    --neutral-800: 38 38 38;
    --neutral-900: 23 23 23;
    --neutral-950: 10 10 10;
    --stone-50: 250 250 249;
    --stone-100: 245 245 244;
    --stone-200: 231 229 228;
    --stone-300: 214 211 209;
    --stone-400: 168 162 158;
    --stone-500: 120 113 108;
    --stone-600: 87 83 78;
    --stone-700: 68 64 60;
    --stone-800: 41 37 36;
    --stone-900: 28 25 23;
    --stone-950: 12 10 9;
    --red-50: 254 242 242;
    --red-100: 254 226 226;
    --red-200: 254 202 202;
    --red-300: 252 165 165;
    --red-400: 248 113 113;
    --red-500: 239 68 68;
    --red-600: 220 38 38;
    --red-700: 185 28 28;
    --red-800: 153 27 27;
    --red-900: 127 29 29;
    --red-950: 69 10 10;
    --orange-50: 255 247 237;
    --orange-100: 255 237 213;
    --orange-200: 254 215 170;
    --orange-300: 253 186 116;
    --orange-400: 251 146 60;
    --orange-500: 249 115 22;
    --orange-600: 234 88 12;
    --orange-700: 194 65 12;
    --orange-800: 154 52 18;
    --orange-900: 124 45 18;
    --orange-950: 67 20 7;
    --amber-50: 255 251 235;
    --amber-100: 254 243 199;
    --amber-200: 253 230 138;
    --amber-300: 252 211 77;
    --amber-400: 251 191 36;
    --amber-500: 245 158 11;
    --amber-600: 217 119 6;
    --amber-700: 180 83 9;
    --amber-800: 146 64 14;
    --amber-900: 120 53 15;
    --amber-950: 69 26 3;
    --yellow-50: 254 252 232;
    --yellow-100: 254 249 195;
    --yellow-200: 254 240 138;
    --yellow-300: 253 224 71;
    --yellow-400: 250 204 21;
    --yellow-500: 234 179 8;
    --yellow-600: 202 138 4;
    --yellow-700: 161 98 7;
    --yellow-800: 133 77 14;
    --yellow-900: 113 63 18;
    --yellow-950: 66 32 6;
    --lime-50: 247 254 231;
    --lime-100: 236 252 203;
    --lime-200: 217 249 157;
    --lime-300: 190 242 100;
    --lime-400: 163 230 53;
    --lime-500: 132 204 22;
    --lime-600: 101 163 13;
    --lime-700: 77 124 15;
    --lime-800: 63 98 18;
    --lime-900: 54 83 20;
    --lime-950: 26 46 5;
    --green-50: 240 253 244;
    --green-100: 220 252 231;
    --green-200: 187 247 208;
    --green-300: 134 239 172;
    --green-400: 74 222 128;
    --green-500: 34 197 94;
    --green-600: 22 163 74;
    --green-700: 21 128 61;
    --green-800: 22 101 52;
    --green-900: 20 83 45;
    --green-950: 5 46 22;
    --emerald-50: 236 253 245;
    --emerald-100: 209 250 229;
    --emerald-200: 167 243 208;
    --emerald-300: 110 231 183;
    --emerald-400: 52 211 153;
    --emerald-500: 16 185 129;
    --emerald-600: 5 150 105;
    --emerald-700: 4 120 87;
    --emerald-800: 6 95 70;
    --emerald-900: 6 78 59;
    --emerald-950: 2 44 34;
    --teal-50: 240 253 250;
    --teal-100: 204 251 241;
    --teal-200: 153 246 228;
    --teal-300: 94 234 212;
    --teal-400: 45 212 191;
    --teal-500: 20 184 166;
    --teal-600: 13 148 136;
    --teal-700: 15 118 110;
    --teal-800: 17 94 89;
    --teal-900: 19 78 74;
    --teal-950: 4 47 46;
    --cyan-50: 236 254 255;
    --cyan-100: 207 250 254;
    --cyan-200: 165 243 252;
    --cyan-300: 103 232 249;
    --cyan-400: 34 211 238;
    --cyan-500: 6 182 212;
    --cyan-600: 8 145 178;
    --cyan-700: 14 116 144;
    --cyan-800: 21 94 117;
    --cyan-900: 22 78 99;
    --cyan-950: 8 51 68;
    --sky-50: 240 249 255;
    --sky-100: 224 242 254;
    --sky-200: 186 230 253;
    --sky-300: 125 211 252;
    --sky-400: 56 189 248;
    --sky-500: 14 165 233;
    --sky-600: 2 132 199;
    --sky-700: 3 105 161;
    --sky-800: 7 89 133;
    --sky-900: 12 74 110;
    --sky-950: 8 47 73;
    --blue-50: 239 246 255;
    --blue-100: 219 234 254;
    --blue-200: 191 219 254;
    --blue-300: 147 197 253;
    --blue-400: 96 165 250;
    --blue-500: 59 130 246;
    --blue-600: 37 99 235;
    --blue-700: 29 78 216;
    --blue-800: 30 64 175;
    --blue-900: 30 58 138;
    --blue-950: 23 37 84;
    --indigo-50: 238 242 255;
    --indigo-100: 224 231 255;
    --indigo-200: 199 210 254;
    --indigo-300: 165 180 252;
    --indigo-400: 129 140 248;
    --indigo-500: 99 102 241;
    --indigo-600: 79 70 229;
    --indigo-700: 67 56 202;
    --indigo-800: 55 48 163;
    --indigo-900: 49 46 129;
    --indigo-950: 30 27 75;
    --violet-50: 245 243 255;
    --violet-100: 237 233 254;
    --violet-200: 221 214 254;
    --violet-300: 196 181 253;
    --violet-400: 167 139 250;
    --violet-500: 139 92 246;
    --violet-600: 124 58 237;
    --violet-700: 109 40 217;
    --violet-800: 91 33 182;
    --violet-900: 76 29 149;
    --violet-950: 46 16 101;
    --purple-50: 250 245 255;
    --purple-100: 243 232 255;
    --purple-200: 233 213 255;
    --purple-300: 216 180 254;
    --purple-400: 192 132 252;
    --purple-500: 168 85 247;
    --purple-600: 147 51 234;
    --purple-700: 126 34 206;
    --purple-800: 107 33 168;
    --purple-900: 88 28 135;
    --purple-950: 59 7 100;
    --fuchsia-50: 253 244 255;
    --fuchsia-100: 250 232 255;
    --fuchsia-200: 245 208 254;
    --fuchsia-300: 240 171 252;
    --fuchsia-400: 232 121 249;
    --fuchsia-500: 217 70 239;
    --fuchsia-600: 192 38 211;
    --fuchsia-700: 162 28 175;
    --fuchsia-800: 134 25 143;
    --fuchsia-900: 112 26 117;
    --fuchsia-950: 74 4 78;
    --pink-50: 253 242 248;
    --pink-100: 252 231 243;
    --pink-200: 251 207 232;
    --pink-300: 249 168 212;
    --pink-400: 244 114 182;
    --pink-500: 236 72 153;
    --pink-600: 219 39 119;
    --pink-700: 190 24 93;
    --pink-800: 157 23 77;
    --pink-900: 131 24 67;
    --pink-950: 80 7 36;
    --rose-50: 255 241 242;
    --rose-100: 255 228 230;
    --rose-200: 254 205 211;
    --rose-300: 253 164 175;
    --rose-400: 251 113 133;
    --rose-500: 244 63 94;
    --rose-600: 225 29 72;
    --rose-700: 190 18 60;
    --rose-800: 159 18 57;
    --rose-900: 136 19 55;
    --rose-950: 76 5 25;
}
/*-----------------------------------------------------*/
/*------------------ color vars -----------------------*/
/*-----------------------------------------------------*/
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}
body{
    /*background: rgba(37, 37, 37, 0.82);*/
    font-feature-settings: "ss01";
}
img {
    max-width: 100%;
    height: auto;
    display: block;
}
button {
    border: none;
    background: none;
    font-family: inherit;
    cursor: pointer;
    font-feature-settings: inherit;
}
input, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
}

ul {
    list-style: none;
}
a {
    text-decoration: none;
}
/*-------- fonts ---------*/
@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-Bold.woff2") format("woff2");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh ExtraBlack';
    src: url("assets/fonts/YekanBakh-ExtraBlack.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-ExtraBold.woff2") format("woff2");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-Regular.woff2") format("woff2");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Yekan Bakh';
    src: url("assets/fonts/YekanBakh-Thin.woff2") format("woff2");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}


body,
html,
* {
    font-family: 'Yekan Bakh';
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'yekan bakh';
    text-decoration: none;
    letter-spacing: 0px;
}
ul {
    list-style: none;
}
a {
    text-decoration: none;
    color: inherit;
}

* {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0) !important;
}
/*-------- fonts ---------*/


/* کانتینر اصلی */
.container {
    width: 90%;
    max-width: 1320px; /* حداکثر عرض در صفحه‌های بزرگ */
    margin: 0 auto; /* مرکز کردن افقی */
    }
.nav-warper {
    position: fixed;
    top: 1.5rem;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1000;
}
.nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 1.1rem 2rem;
    background: rgba(164, 164, 164, .52);
    border: 1px solid rgba(164, 164, 164, .5);
    border-radius: 20px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.nav-logo {
    display: flex;
    flex-shrink: 0;
}
.nav-logo img {
    display: block;
    width: 100px;
    height: auto;
}
.nav-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.nav-menu--desktop {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .15rem;
}
.nav-menu--mobile {
    display: none;
    width: 84%;
    margin: 0 auto;
    background: rgba(164, 164, 164, .52);
}
.nav-menu a {
    display: block;
    padding: .55rem .7rem;
    color: #fff;
    font-size: .95rem;
    line-height: 1.5;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 10px;
    transition: background-color .25s ease, transform .25s ease;
}
.nav-menu a:hover {
    background: rgba(255, 255, 255, .12);
}
.nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
}
@media (max-width: 1100px) {
    .nav {
        padding: 1rem 1.4rem;
    }
    .nav-menu--desktop a {
        padding: .45rem .5rem;
        font-size: .85rem;
    }
}
@media (max-width: 900px) {
    .nav {
        padding: .9rem 1.2rem;
    }
    .nav-logo img {
        width: 90px;
    }
    .nav-menu--desktop {
        display: none;
    }
    .nav-toggle {
        display: flex;
    }
    .nav-menu--mobile {
        position: absolute;
        top: calc(100% + .75rem);
        left: 0;
        right: 0;
        z-index: 1001;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: .2rem;
        max-height: 0;
        padding: 0 1rem;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        background: rgba(164, 164, 164, .52);
        border: 1px solid rgba(255, 255, 255, .15);
        border-radius: 18px;
        backdrop-filter: blur(30px) saturate(180%);
        -webkit-backdrop-filter: blur(30px) saturate(180%);
        box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
        transform: translateY(-10px);
        transition: max-height .35s ease, padding .35s ease, opacity .25s ease, visibility .25s ease, transform .35s ease;
    }
    .nav-menu--mobile li {
        width: 100%;
    }
    .nav-menu--mobile a {
        width: 100%;
        box-sizing: border-box;
        padding: .8rem .7rem;
        font-size: .95rem;
    }
    .nav-menu--mobile.is-open {
        max-height: 600px;
        padding: .8rem 1rem;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }
}
@media (max-width: 576px) {
    .nav-warper {
        top: 1rem;
    }
    .container {
        width: calc(100% - 24px);
    }
    .nav {
        padding: .8rem 1rem;
        border-radius: 16px;
    }
    .nav-logo img {
        width: 82px;
    }
    .nav-toggle {
        width: 40px;
        height: 40px;
        font-size: 17px;
    }
    .nav-menu--mobile {
        top: calc(100% + .6rem);
        border-radius: 16px;
    }
}


.hero_section {
    height: max(100vh, 700px);
    background-size: cover;
    background-repeat: no-repeat;
    padding-top: 100px;
    margin-bottom: 2rem;
    position: relative;
}

.hero {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    color: white;
    min-height: calc(100vh - 100px);
}

.left_section {
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.left_section > img {
    width: 100%;
    max-width: 822px;
    height: auto;
    padding: 0 50px;
    object-fit: contain;
}

.right_section {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.right_section > h1 {
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
}

.right_section > p {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
}

.hero_links {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.hero_links > a {
    padding: 0.8rem 2.2rem;
    background: #ffc800;
    color: #354459;
    border-radius: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    font-size: 18px;
    font-weight: 700;
    transition: 0.15s ease-in-out;
}

.hero_links > a:hover {
    transform: scale(0.96);
    box-shadow: 0 0 0 10px rgba(255, 196, 0, 0.2);
}

.hero_links > a > svg {
    fill: currentColor;
    height: 20px;
    width: 20px;
    stroke: currentColor;
    stroke-width: 6px;
}

.social_media {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.social_media > a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.social_media > a > i,
.social_media > a > svg {
    font-size: 2rem;
    width: 50px;
    height: 50px;
    background: rgba(224, 224, 224, 0.61);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    transition: 0.15s ease-in-out;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
}

.social_media > a > svg {
    fill: white;
    padding: 7px;
}

.social_media > a > i:hover,
.social_media > a > svg:hover {
    background: #ffc800;
    box-shadow: 0px 8px 70px 5px rgba(255, 196, 0, 0.4);
}

.scrollbar {
    position: absolute;
    bottom: 3rem;
    width: 175px;
    left: 50%;
    transform: translateX(-50%);
}

.scrollbar > a,
.scrollbar > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    text-align: center;
}

.scrollbar > a > img,
.scrollbar > div > img {
    width: 100px;
    height: auto;
}


/* =========================================
   Tablet
   768px - 1024px
========================================= */

@media (max-width: 1024px) {

    .hero_section {
        min-height: 700px;
        height: auto;
        padding-top: 80px;
        padding-bottom: 100px;
    }

    .hero {
        min-height: calc(100vh - 80px);
        gap: 2rem;
    }

    .left_section,
    .right_section {
        width: 50%;
    }

    .left_section > img {
        padding: 0 20px;
    }

    .right_section {
        gap: 0.8rem;
    }

    .right_section > h1 {
        font-size: clamp(3rem, 6vw, 4.5rem);
    }

    .right_section > p {
        font-size: clamp(1.1rem, 2vw, 1.4rem);
    }

    .hero_links {
        gap: 0.75rem;
    }

    .hero_links > a {
        padding: 0.7rem 1.5rem;
        font-size: 16px;
    }

    .social_media > a > i,
    .social_media > a > svg {
        width: 45px;
        height: 45px;
    }

    .scrollbar {
        bottom: 2rem;
    }

}


/* =========================================
   Mobile
   زیر 768px
========================================= */

@media (max-width: 767px) {

    .hero_section {
        height: auto;
        min-height: 100vh;
        padding-top: 70px;
        padding-bottom: 170px;
    }

    .hero {
        width: 90%;
        min-height: auto;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 1.5rem;
        text-align: center;
    }

    .left_section,
    .right_section {
        width: 100%;
    }

    .left_section {
        order: 1;
    }

    .right_section {
        order: 2;
        align-items: center;
        gap: 0.8rem;
    }

    .left_section > img {
        width: 85%;
        max-width: 500px;
        padding: 0;
    }

    .right_section > h1 {
        font-size: clamp(2.5rem, 11vw, 4rem);
        line-height: 1.25;
    }

    .right_section > p {
        font-size: clamp(1rem, 4vw, 1.25rem);
        line-height: 1.8;
    }

    .hero_links {
        justify-content: center;
        align-items: center;
        gap: 0.75rem;
        margin-top: 0.5rem;
    }

    .hero_links > a {
        padding: 0.7rem 1.5rem;
        font-size: 16px;
    }

    .social_media {
        justify-content: center;
        gap: 0.4rem;
    }

    .social_media > a > i,
    .social_media > a > svg {
        width: 44px;
        height: 44px;
    }

    .scrollbar {
        bottom: 1.5rem;
        width: 150px;
    }

    .scrollbar > a > img,
    .scrollbar > div > img {
        width: 70px;
    }

}


/* =========================================
   Small Mobile
   زیر 480px
========================================= */

@media (max-width: 480px) {

    .hero_section {
        padding-top: 60px;
        padding-bottom: 150px;
    }

    .hero {
        width: 92%;
        gap: 1rem;
    }

    .left_section > img {
        width: 80%;
    }

    .right_section > h1 {
        font-size: 2.4rem;
    }

    .right_section > p {
        font-size: 1rem;
        line-height: 1.9;
    }

    .hero_links > a {
        padding: 0.65rem 1.25rem;
        font-size: 15px;
        border-radius: 16px;
    }

    .social_media > a > i,
    .social_media > a > svg {
        width: 40px;
        height: 40px;
    }

    .social_media > a > svg {
        padding: 6px;
    }

    .scrollbar {
        bottom: 1rem;
    }

    .scrollbar > a > img,
    .scrollbar > div > img {
        width: 55px;
    }

}



.mission {
    max-width: 896px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
    padding: 2rem 4rem 2rem 2rem;
    background: #ffffff;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);
    border-radius: 15px;
    margin: 0 auto 2rem;
}
.mission > .mission_img {
    width: 33.33333%;
}

.mission > .mission_img > img{
    width: 192px;
    margin: 0 auto;
    border-radius: 100%;
    border: 4px solid rgba(222, 222, 222, 0.5);
    box-shadow: 0 0 15px 15px rgb(91 147 212 / 27%);
    object-fit: cover;
}
.mission > .mission_text > h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1rem;
}
.mission > .mission_text > p {
    font-size: 1.2rem;
    margin-bottom: 1rem;
}
.mission > .mission_text > .satisfaction_items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    text-align: center;
}
.satisfaction_items > .satisfaction_item {
    padding: 1rem;
    border-radius: 1rem;
}
.satisfaction_items > .satisfaction_item:nth-child(odd) {
    background: linear-gradient(45deg, #d5f3ff, #b3eaff);
}
.satisfaction_items > .satisfaction_item:nth-child(even) {
    background: linear-gradient(-45deg, #d5f3ff, #b3eaff);
}
.satisfaction_items > .satisfaction_item > span:first-child {
    display: block;
    font-size: 1.5rem;
    font-weight: 600;
    color: #1974fc;
}

.section_title {
    text-align: center;
    margin-bottom: 4rem;
}
.section_title > h2 {
    font-size: 2rem;
    color: rgb(var(--gray-800));
    margin-bottom: 0.5rem;
    font-weight: 700;
}
.section_title > .section_title_line {
    width: 6rem;
    height: 0.25rem;
    background: rgb(var(--blue-500));
    margin: 0 auto 1rem;
}
.section_title > p {
    font-size: 1rem;
    color: rgb(var(--gray-600));
}
.skills_section {
    background: rgb(var(--gray-50));
    margin-bottom: 4rem;
    padding-top: 4rem;
}
.skills_warper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
}
/*.skill_item {*/
/*    width: 100%;*/
/*    background: white;*/
/*    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.2);*/
/*    border-radius: 1rem;*/
/*    padding: 2rem;*/
/*}*/
.skill_item > h3, .skill_item > .skill_item_title {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 1rem;
}
.skill:not(:last-child) {
    margin-bottom: 1rem;
}
.skill_data {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.25rem;
}
.skill_data > .skill_name {
    font-size: 1.1rem;
    color: rgb(var(--gray-600));
    font-weight: 600;
}
.skill_data > .skill_level {
    font-size: 1.2rem;
    color: rgb(var(--blue-500));
    font-weight: 600;
}
.skill_warper_line {
    border-radius: 1rem;
    background: rgb(var(--gray-100));
    height: 0.5rem;
}
.skill_warper_line > .skill_line {
    height: 100%;
    border-radius: 1rem;
    background: rgb(var(--blue-500));
    width: 0;
    transition: 1s;
}
.profession_section {
    background: rgb(var(--gray-50));
    padding: 4rem 0;
    background: linear-gradient(45deg, rgba(var(--blue-500)/0.1), rgba(var(--purple-500)/0.1));
}
.profession_warper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}
.profession_data {
    display: flex;
    justify-content: space-between;
    align-content: center;
    margin-bottom: 1rem;
}
.profession_name {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}
.profession_warper_icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: linear-gradient(90deg, rgb(var(--green-500)), rgb(var(--green-600)));
    color: white;
    fill: white;
}
.profession_warper_icon > svg , .profession_warper_icon > i {
    max-width: 50%;
}
.profession_name_text {
    font-size: 1.2rem;
    font-weight: 600;
    color: rgb(var(--gray-800));
}
.profession_level {
    font-weight: 600;
    color: rgb(var(--green-600));
}
.profession_warper_line {
    border-radius: 1rem;
    background: rgb(var(--gray-200));
    height: 0.75rem;
    position: relative;
}
.profession_item:hover .profession_line_text {
    opacity: 1;
    visibility: visible;
}

.profession_line {
    height: 100%;
    border-radius: 1rem;
    background: linear-gradient(90deg, rgb(var(--green-500)), rgb(var(--green-600)));
    width: 0%;
    transition: 1s;
}
.profession_line_text {
    position: absolute;
    padding: 0.25rem 0.5rem;
    background: rgb(var(--gray-800));
    border-radius: 0.5rem;
    color: white;
    top: -3rem;
    left: 0;
    transition: 0.2s ease-in-out;
    opacity: 0;
    visibility: hidden;
}
.specialized_section {
    padding: 4rem 0;
    background: linear-gradient(45deg, rgba(var(--gray-900)), rgba(var(--gray-800)));
    color: white;
    overflow: hidden;
    position: relative;
}
.specialized > .section_title > h2{
    color: white;
}
.specialized > .section_title > p{
    color: rgb(var(--gray-300));
}
.specialized_warper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
}
.specialized_item {
    position: relative;
    background: linear-gradient(90deg, rgb(var(--gray-800)), rgb(var(--gray-700)));
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid rgb(var(--gray-600));
    transition: 0.2s ease-in-out;
}
.specialized_item:hover {
    border: 1px solid rgb(var(--blue-500));
    transform: translateY(-0.5rem);
}
.specialized_item:hover .specialized_icon {
    scale: 1.1;
}
.specialized_star_icon {
    position: absolute;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    top: -1rem;
    left: -1rem;
    background: linear-gradient(90deg, rgb(var(--blue-400)), rgb(var(--blue-500)));
}
.specialized_star_icon svg {
    width: 15px;
    fill: white;
}
.specialized_icon {
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: linear-gradient(90deg, rgb(var(--blue-500)), rgb(var(--blue-600)));
    margin-bottom: 1.5rem;
    transition: 0.2s ease-in-out;
}
.specialized_icon svg {
    width: 24px;
    fill: white;
}
.specialized_name {
    font-size: 1.3rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    color: white;
}
.specialized_data {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}
.specialized_data_text {
    color: rgb(var(--gray-300));
}
.specialized_data_level {
    font-size: 1.2rem;
    font-weight: 600;
    color: rgb(var(--blue-400));
    letter-spacing: 0.0025rem;
}
.specialized_warper_line {
    border-radius: 1rem;
    background: rgb(var(--gray-600));
    height: 0.5rem;
    margin-bottom: 0.5rem;
}
.specialized_line {
    height: 0.5rem;
    width: 80%;
    border-radius: 1rem;
    background: linear-gradient(90deg, rgb(var(--blue-400)), rgb(var(--blue-500)));
}
.specialized_text {
    color: rgb(var(--gray-300));
}
.specialized_section_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.specialized_shape_1 {
    position: absolute;
    top: 4rem;
    left: 4rem;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: rgb(var(--blue-500));
    animation: fadeInOut 4s infinite ease-in-out;
}
.specialized_shape {
    position: absolute;
}

.specialized_shape_2 {
    top: 8rem;
    right: 6rem;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background: rgb(var(--green-500));
    animation: fadeInOut 4s infinite ease-in-out;
}


.experience {
    padding: 4rem 0;
}

.experience_warper {
    position: relative;
    width: 100%;
}

.experience_line {
    position: absolute;
    width: 0.3rem;
    height: 100%;
    background: rgb(var(--blue-500));
    top: 0;
    left: calc(50% - 0.15rem);
}

.experience_items {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.experience_items:nth-child(odd) {
    flex-direction: row-reverse;
}

.experience_item {
    width: 44%;
    padding: 1.5rem;
    border-radius: 1rem;
    box-shadow: 0 0 6px 1px rgb(var(--gray-300));
    background: rgb(var(--gray-50));
    margin-bottom: 3rem;
}

.experience_items:last-child > .experience_item {
    margin-bottom: 0;
}

.experience_item_date {
    display: block;
    text-align: right;
    color: rgb(var(--blue-500));
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.experience_item_title {
    font-weight: 600;
    line-height: 1.5;
    margin: 0 0 0.5rem;
}

.experience_item_subtitle {
    display: block;
    font-size: 1.2rem;
    color: rgb(var(--blue-500));
    line-height: 1.6;
}

.experience_item_text {
    color: rgb(var(--gray-600));
    line-height: 1.9;
    margin-bottom: 0;
}

.experience_item_dot {
    width: 12%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.experience_item_dot > div {
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: rgb(var(--blue-500));
    border: 3px solid white;
    outline: 3px solid rgb(var(--blue-500));
    z-index: 1;
}

.experience_item_empty {
    width: 44%;
}


/* =========================================
   Tablet
   768px - 1024px
========================================= */

@media (max-width: 1024px) {

    .experience {
        padding: 3.5rem 0;
    }

    .experience_line {
        width: 0.25rem;
        left: calc(50% - 0.125rem);
    }

    .experience_item {
        width: 45%;
        padding: 1.25rem;
        margin-bottom: 2.5rem;
    }

    .experience_item_date {
        font-size: 0.95rem;
    }

    .experience_item_title {
        font-size: 1.4rem;
    }

    .experience_item_subtitle {
        font-size: 1.05rem;
    }

    .experience_item_text {
        font-size: 0.95rem;
        line-height: 1.8;
    }

    .experience_item_dot {
        width: 10%;
    }

    .experience_item_empty {
        width: 45%;
    }

}


/* =========================================
   Mobile
   زیر 768px
========================================= */

@media (max-width: 767px) {

    .experience {
        padding: 3rem 0;
    }

    .experience_warper {
        padding-right: 0;
    }

    /*
     * خط Timeline را به سمت راست منتقل می‌کنیم
     */
    .experience_line {
        width: 0.25rem;
        height: 100%;
        top: 0;
        right: 22px;
        left: auto;
    }

    /*
     * همه آیتم‌ها در یک سمت قرار می‌گیرند
     */
    .experience_items,
    .experience_items:nth-child(odd) {
        width: 100%;
        flex-direction: row-reverse;
        justify-content: flex-start;
        align-items: flex-start;
    }

    /*
     * کارت تجربه
     */
    .experience_item {
        width: calc(100% - 3rem);
        padding: 1.25rem;
        margin-bottom: 2rem;
        border-radius: 0.85rem;
    }

    /*
     * Dot
     */
    .experience_item_dot {
        width: 3rem;
        flex-shrink: 0;
        padding-top: 3.75rem;
    }

    .experience_item_dot > div {
        width: 0.85rem;
        height: 0.85rem;
        border-width: 2px;
        outline-width: 2px;
    }

    /*
     * فضای خالی دیگر لازم نیست
     */
    .experience_item_empty {
        display: none;
    }

    .experience_item_date {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .experience_item_title {
        font-size: 1.25rem;
        line-height: 1.5;
        margin-bottom: 0.4rem;
    }

    .experience_item_subtitle {
        font-size: 1rem;
        line-height: 1.6;
    }

    .experience_item_text {
        font-size: 0.9rem;
        line-height: 1.9;
    }

}


/* =========================================
   Small Mobile
   زیر 480px
========================================= */

@media (max-width: 480px) {

    .experience {
        padding: 2.5rem 0;
    }

    .experience_warper {
        padding-right: 0;
    }

    .experience_line {
        width: 0.2rem;
        right: 18.5px;
    }

    .experience_item {
        width: calc(100% - 2.5rem);
        padding: 1rem;
        margin-bottom: 1.5rem;
    }

    .experience_item_dot {
        width: 2.5rem;
        padding-top: 3.25rem;
    }

    .experience_item_dot > div {
        width: 0.75rem;
        height: 0.75rem;
    }

    .experience_item_date {
        font-size: 0.85rem;
    }

    .experience_item_title {
        font-size: 1.1rem;
    }

    .experience_item_subtitle {
        font-size: 0.9rem;
    }

    .experience_item_text {
        font-size: 0.85rem;
        line-height: 1.85;
    }

}



.works_section {
    background: rgb(var(--gray-50));
}
.category_a_works_warper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    max-width: 100%;
    justify-content: center;
}

.category_a_works_warper > button {
    padding: 0.75rem 1.5rem;
    background: #e5e7eb;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.2s ease-in-out;
    border: 2px solid #e5e7eb;
    white-space: nowrap;
    font-family: inherit;
}

.category_a_works_warper > button:not(.active):hover {
    border: 2px solid #3b82f6;
}

.category_a_works_warper > button.active {
    background: #3b82f6;
    border: 2px solid transparent;
    color: white;
}


/* =========================================
   Tablet
   768px - 1024px
========================================= */

@media (max-width: 1024px) {

    .category_a_works_warper {
        gap: 0.75rem;
    }

    .category_a_works_warper > button {
        padding: 0.65rem 1.2rem;
        font-size: 0.95rem;
    }

}


/* =========================================
   Mobile
   زیر 768px
========================================= */

@media (max-width: 767px) {

    .category_a_works_warper {
        width: 100%;
        gap: 0.6rem;
        justify-content: center;
    }

    .category_a_works_warper > button {
        padding: 0.6rem 1rem;
        font-size: 0.9rem;
        border-radius: 0.45rem;
    }

}


/* =========================================
   Small Mobile
   زیر 480px
========================================= */

@media (max-width: 480px) {

    .category_a_works_warper {
        gap: 0.5rem;
    }

    .category_a_works_warper > button {
        padding: 0.55rem 0.85rem;
        font-size: 0.82rem;
    }

}




.category_b_works_warper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /*justify-content: center;*/
    gap: 4px;
    max-width: max-content;
    margin: 0 auto;
    background: #fff;
    padding: 0.25rem;
    border-radius: 1rem;
}
.category_b_works_warper button {
    padding: 10px;
    border-radius: 16px;
    border: none;
    cursor: pointer;
    background: #ffffff;
    transition: 0.2s ease-in-out;
}
.category_b_works_warper button:not(.active):hover {
    background: #e5e7eb;
}
.category_b_works_warper button.active {
    background: #3b82f6;
    color: white;
}



.works_warper {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
}

.works_warper .works_item {
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 0 10px 6px #eeeeee;
    display: flex;
    flex-direction: column;
}

.works_warper .works_item > a {
    height: 16rem;
    overflow: hidden;
    display: block;
}

.works_warper .works_item:hover img {
    transform: scale(1.05);
}

.works_warper .works_item img {
    max-width: 100%;
    height: 16rem;
    width: 100%;
    object-fit: cover;
    transition: 0.1s ease-in-out;
}

.works_item_content {
    padding: 0.5rem 1.5rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    flex-grow: 1;
}

.works_item_content > * {
    margin-top: 0.5rem;
}

.works_item_content h2 a {
    text-decoration: none;
    color: rgb(var(--gray-800));
    display: block;
}

.works_item_content .works_item_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.works_item_content .works_item_tags a {
    text-decoration: none;
    color: rgb(var(--gray-800));
    border-radius: 30px;
    padding: 2px 6px;
}


/* Tablet */
@media (max-width: 1024px) {
    .works_warper {
        margin-top: 2.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }

    .works_warper .works_item > a,
    .works_warper .works_item img {
        height: 15rem;
    }

    .works_item_content {
        padding: 0.5rem 1.25rem 1.25rem 1.25rem;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .works_warper {
        margin-top: 2rem;
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .works_warper .works_item > a,
    .works_warper .works_item img {
        height: 17rem;
    }

    .works_item_content {
        padding: 0.5rem 1.25rem 1.25rem 1.25rem;
    }

    .works_item_content h2 {
        font-size: 1.35rem;
    }

    .works_item_content p {
        font-size: 0.95rem;
        line-height: 1.8;
    }

    .works_item_content .works_item_tags {
        gap: 6px;
    }
}


/* Small Mobile */
@media (max-width: 480px) {
    .works_warper {
        margin-top: 1.5rem;
        gap: 1rem;
    }

    .works_warper .works_item {
        border-radius: 10px;
    }

    .works_warper .works_item > a,
    .works_warper .works_item img {
        height: 15rem;
    }

    .works_item_content {
        padding: 0.5rem 1rem 1rem 1rem;
    }

    .works_item_content h2 {
        font-size: 1.2rem;
    }

    .works_item_content p {
        font-size: 0.9rem;
        line-height: 1.75;
    }

    .works_item_content .works_item_tags {
        gap: 5px;
    }

    .works_item_content .works_item_tags a {
        padding: 2px 5px;
        font-size: 0.85rem;
    }
}




.works_b_warper {
    display: grid;
    gap: 32px;
    margin-top: 3rem;
    grid-template-columns: 1fr 1fr 1fr;
}
.works_b_warper .works_b_item {
    position: relative;
    border-radius: 1.2rem;
    overflow: hidden;
    background: #ffffff;
    box-shadow: 0 0 10px 6px #eeeeee;
    transition: 0.2s ease-in-out;
    cursor: pointer;
    width: 100%;
    height: 16rem;
}
.works_b_item a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}
.works_b_item .works_b_image_warper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.works_b_item .works_b_image_warper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.2s ease-in-out;
}
.works_b_item .works_b_overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.85) 100%);
    opacity: 0;
    transition: 0.2s ease-in-out;
}
.works_b_item .works_b_content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
    color: white;
    z-index: 4;
    opacity: 0;
    transition: 0.2s ease-in-out;
    transform: translateY(20px);
}
.works_b_content h3{
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}
.works_b_content p {
    font-size: 14px;
    margin-bottom: 0.5rem;
}
.works_b_content .works_b_tags {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.works_b_content .works_b_tags span{
    padding: 0.25rem 0.5rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 13px;
}
.works_b_warper .works_b_item:hover .works_b_image_warper img {
    transform: scale(1.05); /* optional */
}
.works_b_warper .works_b_item:hover .works_b_overlay-gradient, .works_b_warper .works_b_item:hover .works_b_content {
    opacity: 1;
    transform: translateY(0px); /* optional */
}
/* =========================================
   Tablet
   768px - 1024px
========================================= */

@media (max-width: 1024px) {

    .works_b_warper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        margin-top: 2.5rem;
    }

    .works_b_warper .works_b_item {
        height: 15rem;
    }

}


/* =========================================
   Mobile
   زیر 768px
========================================= */

@media (max-width: 767px) {

    .works_b_warper {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 2rem;
    }

    .works_b_warper .works_b_item {
        height: 17rem;
    }

    .works_b_item .works_b_content {
        padding: 1.25rem;
    }

    .works_b_content h3 {
        font-size: 1.3rem;
    }

}

/* =========================================
   Small Mobile
   زیر 480px
========================================= */

@media (max-width: 480px) {

    .works_b_warper {
        gap: 16px;
    }
    .works_b_warper .works_b_item {
        height: 15rem;
        border-radius: 1rem;
    }
    .works_b_item .works_b_content {
        padding: 1rem;
    }
    .works_b_content h3 {
        font-size: 1.15rem;
    }
    .works_b_content p {
        font-size: 13px;
    }
    .works_b_content .works_b_tags {
        gap: 0.35rem;
    }
    .works_b_content .works_b_tags span {
        padding: 0.2rem 0.45rem;
        font-size: 12px;
    }
}




@keyframes scrollButtonAnim {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(25px);
    }
}
@keyframes fadeInOut {
    0% { opacity: 0.5; }
    50% { opacity: 0.2; }
    100% { opacity: 0.5; }
}

/* رسپانسیو برای تبلت‌ها */
@media (min-width: 768px) {
    .container {
        padding: 0 2rem; /* افزایش فاصله در تبلت */
    }
    .container-nav {
        padding: 0; /* افزایش فاصله در تبلت */
    }
}

/* رسپانسیو برای دسکتاپ */
@media (min-width: 1024px) {
    .container {
        padding: 0 3rem; /* افزایش فاصله در دسکتاپ */
    }
    .container-nav {
        padding: 0 1rem; /* افزایش فاصله در تبلت */
    }
}

/* رسپانسیو برای خیلی دسکتاپ */
@media (min-width: 1400px) {
    .container {
        padding: 0 0.1rem; /* افزایش فاصله در دسکتاپ */
    }
}

/**************** end css *******************/
/* کرِسر چشمک‌زن (caret) */
.caret{
    display:inline-block;
    width:3px;
    height:1.2em;
    vertical-align:middle;
    margin-right:8px; /* برای RTL که caret در سمت راست است */
    background: #ffffff;
    animation:blink 0.8s steps(1) infinite;
}
@keyframes blink{50%{opacity:0}}

/* ===================================================================================== */
/* (1) کلاسیک — کارت‌های شبکه‌ای */
/* ===================================================================================== */
#style-1 {
    background: var(--color-bg);
}

.grid-1 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.card-1 {
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    padding: 28px;
    box-shadow: var(--shadow-sm);
    transition: transform .2s ease, box-shadow .2s ease;
    position: relative;
}

.card-1::before {
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 3px;
    background: var(--color-accent);
    border-radius: 0 0 4px 4px;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform .25s ease;
}

.card-1:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.card-1:hover::before {
    transform: scaleX(1);
}

.card-1 .stars {
    color: var(--color-accent);
    fill: var(--color-accent);
    margin-bottom: 16px;
}

.card-1 .stars svg {
    fill: var(--color-accent);
}

.card-1 blockquote {
    font-size: 0.95rem;
    color: var(--color-text);
    margin-bottom: 24px;
    min-height: 96px;
}

.card-1 .person {
    display: flex;
    align-items: center;
    gap: 12px;
}

.card-1 .avatar {
    width: 46px;
    height: 46px;
    border-radius: var(--radius-full);
    object-fit: cover;
    border: 2px solid var(--color-white);
    box-shadow: 0 0 0 1px var(--color-border);
}

.card-1 .name {
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--color-primary);
}

.card-1 .role {
    font-size: 0.78rem;
    color: var(--color-text-muted);
}

/* ===================================================================================== */
/* (2) اسلایدر نظرات مشتریان - سبک دوم */
/* ===================================================================================== */

.her-testimonials-s2 {
    margin: 0 10px;
}

.her-testimonials-s2 .swiper {
    overflow: hidden;
    padding-bottom: 50px; /* فضا برای نقطه‌ها */
}

.her-testimonials-s2 .swiper-wrapper {
    align-items: stretch;
}

.her-testimonials-s2 .swiper-slide {
    height: auto;
}

.card-2 {
    height: 100%;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.card-2::before {
    content: "";
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 3px;
    background: #6366f1;
    border-radius: 0 0 4px 4px;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.25s ease;
}

.card-2:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
}

.card-2:hover::before {
    transform: scaleX(1);
}

.card-2 .stars {
    display: flex;
    gap: 2px;
    margin-bottom: 16px;
}

.card-2 .stars svg {
    width: 20px;
    height: 20px;
    fill: #f59e0b;
}

.card-2 blockquote {
    font-size: 0.95rem;
    color: #374151;
    margin: 0 0 24px;
    min-height: 96px;
    line-height: 1.8;
}

.card-2 .person {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: auto;
}

.card-2 .avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #e5e7eb;
}

.card-2 .name {
    font-weight: 700;
    font-size: 0.9rem;
    color: #111827;
}

.card-2 .role {
    font-size: 0.78rem;
    color: #6b7280;
}

/* دکمه‌های ناوبری اسلایدر */
.her-testimonials-s2 .swiper-button-prev,
.her-testimonials-s2 .swiper-button-next {
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 50%;
    color: #111827;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
}

.her-testimonials-s2 .swiper-button-prev:hover,
.her-testimonials-s2 .swiper-button-next:hover {
    background: #6366f1;
    color: #ffffff;
    border-color: #6366f1;
}

.her-testimonials-s2 .swiper-button-prev::after,
.her-testimonials-s2 .swiper-button-next::after {
    font-size: 16px;
}

/* نقطه‌های صفحه‌بندی */
.her-testimonials-s2 .swiper-pagination .swiper-pagination-bullet {
    background: #d1d5db;
    opacity: 1;
}

.her-testimonials-s2 .swiper-pagination .swiper-pagination-bullet-active {
    background: #6366f1;
}
.swiper-wrapper {
    padding-top: 4px;
}

/* Projects Section STYLE 3 */


.projects-inner {
    max-width: 1314px;
    margin-left: auto;
    margin-right: auto;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
    padding-top: 2.5rem;
}

@media (min-width: 768px) {
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .projects-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.project-card-wrapper {
    cursor: pointer;
}

.project-card {
    background-color: #ffffff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    height: 100%;
}

.project-card-wrapper:hover .project-card {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transform: translateY(-0.25rem);
}

.card-image-wrapper {
    position: relative;
    overflow: hidden;
}

.card-image {
    width: 100%;
    height: 13rem !important;
    object-fit: cover;
    object-position: top;
    transition: transform 0.5s ease;
}

/*.project-card-wrapper:hover .card-image {*/
/*    transform: scale(1.05);*/
/*}*/

.card-category-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.card-category-badge span {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    color: #2C3E50;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.card-overlay {
    position: absolute;
    inset: 0;
    background-color: transparent;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.project-card-wrapper:hover .card-overlay {
    background-color: rgba(44, 62, 80, 0.5);
}

.card-view-link {
    opacity: 0;
    transition: opacity 0.3s ease;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #ffffff;
    color: #2C3E50;
    border-radius: 9999px;
    font-weight: 500;
    font-size: 0.875rem;
}

.project-card-wrapper:hover .card-view-link {
    opacity: 1;
}

.card-content {
    padding: 1.25rem;
}

.card-title a {
    display: block;
}

.card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #2C3E50;
    font-family: Vazirmatn, system-ui, -apple-system, sans-serif;
    margin-bottom: 0.5rem;
    transition: color 0.15s ease;
}

.project-card-wrapper:hover .card-title {
    color: #E74C3C;
}

.card-description,
.card-content p {
    font-size: 0.875rem;
    color: rgba(33, 37, 41, 0.6);
    line-height: 1.625;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    color: rgba(44, 62, 80, 0.5);
}

.card-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.card-tag {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    background-color: #F8F9FA;
    color: rgba(44, 62, 80, 0.7);
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.card-tag-more {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    color: rgba(44, 62, 80, 0.4);
    font-size: 0.75rem;
    font-weight: 500;
}

/* ===== contact-form  فرم تماس ===== */
/* ===== همه‌ی کلاس‌های فرم زیرمجموعه‌ی .contact-form (همه‌ی مقادیر هاردکد شده) ===== */
.contact-form {
    background: #ffffff;
    width: 100%;
    max-width: 640px;
    border-radius: 1rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    padding: 36px 40px 32px;
}

.contact-form h1 {
    text-align: right;
    font-size: 22px;
    font-weight: 700;
    color: #2C3E50;
    margin: 0 0 28px;
}

.contact-form .row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.contact-form .field {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.contact-form label {
    font-size: 13px;
    font-weight: 600;
    color: #2C3E50;
    margin-bottom: 8px;
}

.contact-form input,
.contact-form textarea {
    font-family: inherit;
    background: #F8F9FA;
    border: 1px solid rgba(44, 62, 80, 0.1);
    border-radius: 0.75rem;
    padding: 12px 14px;
    font-size: 14px;
    color: #212529;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: rgba(33, 37, 41, 0.5);
    text-align: right;
}

.contact-form input[type="email"]::placeholder {
    text-align: left;
    direction: ltr;
}

.contact-form input[type="email"] {
    text-align: left;
    direction: ltr;
}

.contact-form input:focus,
.contact-form textarea:focus {
    border-color: rgba(44, 62, 80, 0.5);
    box-shadow: 0 0 0 3px rgba(44, 62, 80, 0.1);
}

.contact-form textarea {
    resize: none;
    height: 130px;
    line-height: 1.6;
}

.contact-form .counter {
    font-size: 12px;
    color: rgba(33, 37, 41, 0.5);
    margin-top: 6px;
    text-align: left;
    direction: ltr;
}

.contact-form button {
    margin-top: 22px;
    width: 100%;
    background: #2C3E50;
    color: #ffffff;
    border: none;
    border-radius: 0.75rem;
    padding: 14px 20px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.15s;
}

.contact-form button:hover {
    background: #c0392b;
}
.contact-form button .button-text {
    transition: color 0.2s;
}
.contact-form button .button-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    fill: white;
    transition: fill 0.2s;
}
.contact-form button .button-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== حالت واکنش‌گرا ===== */
@media (max-width: 480px) {
    .contact-form .row {
        flex-direction: column;
        gap: 20px;
    }

    .contact-form {
        padding: 28px 22px;
    }
}
.her-contact-form-honeypot {
    display: none;
}
.contact-form-response.is-success,
.contact-form-response.is-error {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid transparent;
    border-radius: 0.75rem;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    animation: contact-form-response-show 0.3s ease;
}

.contact-form-response.is-success {
    color: #166534;
    background: rgba(34, 197, 94, 0.08);
    border-color: rgba(34, 197, 94, 0.2);
}

.contact-form-response.is-error {
    color: #b91c1c;
    background: rgba(239, 68, 68, 0.08);
    border-color: rgba(239, 68, 68, 0.2);
}

@keyframes contact-form-response-show {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ========== REVEAL ANIMATION ========== */
.main-single .reveal {
    opacity: 0;
    transform: translateY(1.5rem);
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.main-single .reveal.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Delays */
.main-single .reveal-delay-100 { transition-delay: 100ms !important; }
.main-single .reveal-delay-150 { transition-delay: 150ms !important; }
.main-single .reveal-delay-200 { transition-delay: 200ms !important; }
.main-single .reveal-delay-300 { transition-delay: 300ms !important; }


/* Projects Section STYLE 1 */

.projects-inner {
    max-width: 1314px;
    margin-left: auto;
    margin-right: auto;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem;
    padding-top: 2.5rem;
}

@media (min-width: 768px) {
    .projects-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .projects-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.project-card-wrapper {
    cursor: pointer;
}

.project-card {
    background-color: #ffffff;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    height: 100%;
}

.project-card-wrapper:hover .project-card {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transform: translateY(-0.25rem);
}

.card-image-wrapper {
    position: relative;
    overflow: hidden;
}

.card-image {
    width: 100%;
    height: 13rem !important;
    object-fit: cover;
    object-position: top;
    transition: transform 0.5s ease;
}

/*.project-card-wrapper:hover .card-image {*/
/*    transform: scale(1.05);*/
/*}*/

.card-category-badge {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.card-category-badge span {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    color: #2C3E50;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.card-overlay {
    position: absolute;
    inset: 0;
    background-color: transparent;
    transition: background-color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.project-card-wrapper:hover .card-overlay {
    background-color: rgba(44, 62, 80, 0.5);
}

.card-view-link {
    opacity: 0;
    transition: opacity 0.3s ease;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    background-color: #ffffff;
    color: #2C3E50;
    border-radius: 9999px;
    font-weight: 500;
    font-size: 0.875rem;
}

.project-card-wrapper:hover .card-view-link {
    opacity: 1;
}

.card-content {
    padding: 1.25rem;
}

.card-title a {
    display: block;
}

.card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #2C3E50;
    font-family: Vazirmatn, system-ui, -apple-system, sans-serif;
    margin-bottom: 0.5rem;
    transition: color 0.15s ease;
}

.project-card-wrapper:hover .card-title {
    color: #E74C3C;
}

.card-description,
.card-content p {
    font-size: 0.875rem;
    color: rgba(33, 37, 41, 0.6);
    line-height: 1.625;
    margin-bottom: 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    color: rgba(44, 62, 80, 0.5);
}

.card-meta span {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.card-tag {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    background-color: #F8F9FA;
    color: rgba(44, 62, 80, 0.7);
    border-radius: 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
}

.card-tag-more {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    color: rgba(44, 62, 80, 0.4);
    font-size: 0.75rem;
    font-weight: 500;
}

/* ============================
مقالات مرتبط (سکشن جدید)
============================ */
.related-articles {
    margin-top: 4rem;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    padding: 0 1rem;
}

.articles-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.article-card {
    background-color: var(--color-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.article-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

.article-card__image {
    position: relative;
    overflow: hidden;
}

.article-card__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: top;
    transition: transform 0.5s ease;
}

.article-card:hover .article-card__img {
    transform: scale(1.05);
}

.article-card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.article-card__tag {
    font-size: 0.75rem;
    color: var(--color-accent);
    font-weight: 500;
    margin-bottom: 0.5rem;
}

.article-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-primary);
    font-family: var(--font-family);
    transition: color 0.2s ease;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-card:hover .article-card__title {
    color: var(--color-accent);
}

.article-card__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.75rem;
    color: var(--color-text-muted);
    margin-top: 0.75rem;
}
.article-card__meta span {
    display: flex;
    gap: 0.375rem;
    align-items: baseline;
}


@media (min-width: 768px) {
    .main-archive .articles-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}