 :root {
            /* پالت اصلی برند: تیره فیروزه‌ای سبز، طلایی، کرم */
            --teal-950: #081b1f;
            --teal-900: #0c262b;
            --teal-800: #123239;
            --teal-700: #183c43;
            /* رنگ پایه برند */
            --teal-600: #20505a;
            --teal-500: #2c6873;

            --gold: #c08d1f;
            /* رنگ پایه طلایی برند */
            --gold-light: #d9ab48;
            --gold-pale: #e9c576;

            --cream: #fcedc7;
            /* رنگ پایه کرم برند */
            --text: #fbf3de;
            --muted: #b7c7c4;
            --line: rgba(192, 141, 31, .22);
            --danger: #e0a15c;

            --radius-lg: 18px;
            --radius-md: 12px;
            --ease: cubic-bezier(.16, 1, .3, 1);
        }

        * {
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            margin: 0;
            color: var(--text);
            background:
                radial-gradient(circle at 84% 4%, rgba(192, 141, 31, .16), transparent 24%),
                radial-gradient(circle at 8% 38%, rgba(44, 104, 115, .28), transparent 32%),
                linear-gradient(150deg, var(--teal-950), var(--teal-900) 55%, var(--teal-950));
            font-family: 'Vazirmatn', Tahoma, Arial, sans-serif;
            line-height: 1.9;
            overflow-x: hidden;
        }

        body:before {
            content: "";
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: -2;
            opacity: .22;
            background-image:
                linear-gradient(rgba(252, 237, 199, .03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(252, 237, 199, .03) 1px, transparent 1px);
            background-size: 48px 48px;
            mask-image: linear-gradient(to bottom, #000, transparent 72%);
        }

        a {
            text-decoration: none;
            color: inherit;
            -webkit-tap-highlight-color: transparent;
        }

        button,
        input,
        select,
        textarea {
            font-family: inherit
        }

        button {
            -webkit-tap-highlight-color: transparent;
        }

        img {
            max-width: 100%;
            display: block
        }

        .container {
            width: min(1180px, calc(100% - 40px));
            margin: auto
        }

        .section {
            padding: 110px 0;
            position: relative
        }

        .gold {
            color: var(--gold-pale)
        }

        .eyebrow {
            display: flex;
            align-items: center;
            gap: 9px;
            color: var(--gold-pale);
            font-weight: bold;
            font-size: 12px;
            letter-spacing: .3px;
            margin-bottom: 12px;
        }

        .eyebrow:before {
            content: "";
            width: 30px;
            height: 1px;
            background: var(--gold);
            box-shadow: 0 0 12px var(--gold);
        }

        .section-title {
            font-size: clamp(24px, 2.8vw, 38px);
            line-height: 1.42;
            letter-spacing: -.5px;
            margin: 0 0 14px;
            font-weight: 900;
        }

        .section-desc {
            max-width: 710px;
            color: var(--muted);
            font-size: 16px;
            margin: 0;
        }

        .button {
            position: relative;
            overflow: hidden;
            border: 0;
            border-radius: 9px;
            padding: 12px 21px;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            font-weight: 900;
            font-size: 14px;
            color: var(--teal-950);
            background: linear-gradient(135deg, var(--gold-pale), var(--gold));
            box-shadow: 0 12px 30px rgba(192, 141, 31, .22);
            transition: transform .25s var(--ease), box-shadow .25s var(--ease);
        }

        .button:before {
            content: "";
            position: absolute;
            top: 0;
            left: -60%;
            width: 35%;
            height: 100%;
            background: linear-gradient(120deg, transparent, rgba(255, 255, 255, .4), transparent);
            transform: skewX(20deg);
            transition: left .55s ease;
        }

        .button:hover:before {
            left: 130%
        }

        .button:hover {
            transform: translateY(-3px);
            box-shadow: 0 18px 36px rgba(192, 141, 31, .34);
        }

        .button:active {
            transform: translateY(-1px)
        }

        .button-outline {
            color: var(--text);
            background: rgba(252, 237, 199, .03);
            border: 1px solid var(--line);
            box-shadow: none;
        }

        .button-outline:hover {
            background: rgba(192, 141, 31, .1);
            border-color: var(--gold);
            transform: translateY(-3px);
        }

        /* لوگو */
        .brand-mini {
            display: inline-flex;
            align-items: center;
            margin-bottom: 26px;
        }

        .brand-mini img {
            height: 34px;
            width: auto
        }

        /* Hero */
        .hero {
            min-height: 780px;
            position: relative;
            overflow: hidden;
            padding-top: 56px;
        }

        .hero .container {
            position: relative;
            z-index: 1
        }

        .section-glow {
            position: absolute;
            border-radius: 50%;
            filter: blur(90px);
            pointer-events: none;
            z-index: 0;
        }

        .section-glow-a {
            width: 420px;
            height: 420px;
            background: radial-gradient(circle, rgba(192, 141, 31, .24), transparent 70%);
            top: -140px;
            right: -90px;
            animation: driftA 24s ease-in-out infinite alternate;
        }

        .section-glow-b {
            width: 380px;
            height: 380px;
            background: radial-gradient(circle, rgba(44, 104, 115, .4), transparent 70%);
            bottom: -160px;
            left: -110px;
            animation: driftB 28s ease-in-out infinite alternate;
        }

        .hero:after {
            content: "";
            position: absolute;
            top: -60%;
            left: -25%;
            width: 36%;
            height: 220%;
            background: linear-gradient(100deg, transparent, rgba(252, 237, 199, .055), transparent);
            transform: rotate(12deg) translateX(-120%);
            animation: sweep 11s ease-in-out infinite;
            pointer-events: none;
            z-index: 0;
        }

        @keyframes sweep {

            0%,
            58% {
                transform: rotate(12deg) translateX(-120%)
            }

            80% {
                transform: rotate(12deg) translateX(230%)
            }

            100% {
                transform: rotate(12deg) translateX(230%)
            }
        }

        .spark {
            position: absolute;
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: var(--gold-pale);
            box-shadow: 0 0 9px 2px rgba(192, 141, 31, .75);
            opacity: 0;
            z-index: 0;
            pointer-events: none;
            animation: twinkle 3.6s ease-in-out infinite;
        }

        @keyframes twinkle {

            0%,
            100% {
                opacity: 0;
                transform: scale(.4)
            }

            50% {
                opacity: 1;
                transform: scale(1)
            }
        }

        @keyframes driftA {
            0% {
                transform: translate(0, 0) scale(1)
            }

            100% {
                transform: translate(-34px, 26px) scale(1.1)
            }
        }

        @keyframes driftB {
            0% {
                transform: translate(0, 0) scale(1)
            }

            100% {
                transform: translate(28px, -22px) scale(1.06)
            }
        }

        .hero-grid {
            min-height: 680px;
            display: grid;
            grid-template-columns: 1.04fr .96fr;
            grid-template-areas: "title visual" "details visual";
            column-gap: 42px;
            row-gap: 18px;
            align-items: center;
        }

        .hero-title-block {
            grid-area: title;
            align-self: end;
        }

        .hero-details-block {
            grid-area: details;
            align-self: start;
        }

        .hero-title {
            font-size: clamp(30px, 3.6vw, 46px);
            font-weight: 900;
            line-height: 1.25;
            letter-spacing: -1px;
            margin: 0;
        }

        .hero-text {
            max-width: 600px;
            color: #c7d6d1;
            font-size: 17px;
            margin: 18px 0 23px;
        }

        .hero-points {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 18px;
            color: #e4ebe6;
            font-size: 13px;
            margin-bottom: 28px;
        }

        .hero-points span:before {
            content: "✓";
            color: var(--gold-pale);
            font-weight: bold;
            margin-left: 6px;
        }

        /* Hero Visual */
        .hero-visual {
            grid-area: visual;
            position: relative;
            transition: transform .35s ease-out;
            will-change: transform;
        }

        .visual-glow {
            position: absolute;
            z-index: 0;
            width: 230px;
            height: 230px;
            top: 10px;
            left: 18%;
            border-radius: 50%;
            background: var(--gold);
            filter: blur(100px);
            opacity: .22;
        }

        .hero-media {
            position: relative;
            z-index: 1;
            display: block;
            width: 100%;
            height: auto;
            border-radius: 20px;
            border: 1px solid rgba(252, 237, 199, .16);
            box-shadow: 0 30px 70px rgba(0, 0, 0, .4);
            background: var(--teal-900);
        }

        @keyframes floatTwo {
            50% {
                transform: translateY(-13px)
            }
        }

        /* آمار */
        .stats {
            margin-top: 100px;
            border-top: 1px solid var(--line);
            border-bottom: 1px solid var(--line);
            background: rgba(252, 237, 199, .015);
        }

        .stats-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr)
        }

        .stat {
            text-align: center;
            padding: 28px 15px;
            border-left: 1px solid var(--line);
            transition: transform .3s var(--ease)
        }

        .stat:last-child {
            border: 0
        }

        .stat:hover {
            transform: translateY(-4px)
        }

        .stat b {
            display: block;
            color: var(--gold-pale);
            font-size: clamp(24px, 3vw, 30px);
            line-height: 1.4;
            transition: color .3s
        }

        .stat:hover b {
            color: var(--gold)
        }

        .stat span {
            font-size: 12px;
            color: var(--muted)
        }

        /* Reveal */
        .reveal {
            opacity: 0;
            transform: translateY(35px);
            transition: opacity .8s ease, transform .8s ease;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0)
        }

        .delay-1 {
            transition-delay: .12s
        }

        .delay-2 {
            transition-delay: .24s
        }

        .delay-3 {
            transition-delay: .36s
        }

        /* مسئله / کنجکاوی */
        .diagnosis {
            display: grid;
            grid-template-columns: .94fr 1.06fr;
            align-items: center;
            gap: 60px;
        }

        .diagnosis-box {
            position: relative;
            min-height: 395px;
            padding: 29px;
            overflow: hidden;
            border: 1px solid rgba(192, 141, 31, .28);
            border-radius: 17px;
            background: linear-gradient(145deg, var(--teal-700), var(--teal-950));
        }

        .diagnosis-box:before {
            content: "؟";
            position: absolute;
            left: -17px;
            bottom: -130px;
            color: rgba(192, 141, 31, .08);
            font-size: 420px;
            font-weight: 900;
            line-height: 1;
        }

        .question-item {
            position: relative;
            margin-top: 13px;
            padding: 12px 14px;
            border-radius: 9px;
            color: #dbe4e0;
            font-size: 13px;
            background: rgba(252, 237, 199, .05);
            border-right: 2px solid rgba(192, 141, 31, .6);
        }

        .question-item span {
            color: var(--gold-pale);
            font-weight: bold
        }

        .curiosity {
            position: absolute;
            left: 25px;
            top: 24px;
            width: 76px;
            height: 76px;
            display: grid;
            place-items: center;
            color: var(--gold-pale);
            border: 1px solid rgba(192, 141, 31, .4);
            border-radius: 50%;
            font-size: 25px;
            animation: floatTwo 4s ease-in-out infinite;
        }

        .answer-card {
            border-radius: 14px;
            padding: 25px;
            border: 1px solid rgba(252, 237, 199, .1);
            background: linear-gradient(145deg, rgba(28, 66, 72, .75), rgba(6, 20, 22, .5));
            transition: transform .3s var(--ease), border-color .3s var(--ease);
        }

        .answer-card:hover {
            transform: translateY(-5px);
            border-color: rgba(192, 141, 31, .35)
        }

        .answer-card h3 {
            font-size: 21px;
            margin: 0 0 9px
        }

        .answer-card p {
            color: var(--muted);
            font-size: 14px;
            margin: 0
        }

        .answer-card strong {
            color: var(--gold-pale)
        }

        /* نمونه‌کار */
        #portfolio {
            overflow: hidden
        }

        #portfolio .container {
            position: relative;
            z-index: 1
        }

        #portfolio:before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: 0;
            opacity: .55;
            background-image:
                linear-gradient(rgba(252, 237, 199, .035) 1px, transparent 1px),
                linear-gradient(90deg, rgba(252, 237, 199, .035) 1px, transparent 1px);
            background-size: 42px 42px;
            animation: gridDrift 26s linear infinite;
            pointer-events: none;
        }

        @keyframes gridDrift {
            0% {
                background-position: 0 0, 0 0
            }

            100% {
                background-position: 84px 84px, 84px 84px
            }
        }

        .design-mark {
            position: absolute;
            z-index: 0;
            pointer-events: none;
            animation: markFloat 14s ease-in-out infinite;
        }

        .design-mark.square {
            width: 44px;
            height: 44px;
            border: 1.5px solid rgba(192, 141, 31, .28);
            border-radius: 9px;
        }

        .design-mark.circle {
            width: 36px;
            height: 36px;
            border: 1.5px solid rgba(252, 237, 199, .22);
            border-radius: 50%;
        }

        .design-mark.plus {
            width: 26px;
            height: 26px;
        }

        .design-mark.plus:before,
        .design-mark.plus:after {
            content: "";
            position: absolute;
            background: rgba(192, 141, 31, .32);
        }

        .design-mark.plus:before {
            top: 50%;
            left: 0;
            right: 0;
            height: 1.5px;
            transform: translateY(-50%);
        }

        .design-mark.plus:after {
            left: 50%;
            top: 0;
            bottom: 0;
            width: 1.5px;
            transform: translateX(-50%);
        }

        @keyframes markFloat {

            0%,
            100% {
                transform: translateY(0) rotate(0deg)
            }

            50% {
                transform: translateY(-18px) rotate(10deg)
            }
        }

        .portfolio-head {
            display: flex;
            justify-content: space-between;
            gap: 25px;
            align-items: end
        }

        .portfolio {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 17px;
            margin-top: 42px;
        }

        .project {
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border: 1px solid rgba(252, 237, 199, .14);
            border-radius: 16px;
            background: linear-gradient(160deg, rgba(24, 60, 67, .55), rgba(8, 27, 31, .55));
            transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
        }

        .project:hover {
            transform: translateY(-8px);
            border-color: var(--gold);
            box-shadow: 0 24px 50px rgba(0, 0, 0, .35)
        }

        .project-image {
            position: relative;
            aspect-ratio: 1 / 1;
            width: 100%;
            overflow: hidden;
            background: linear-gradient(160deg, var(--teal-800), var(--teal-950));
            border-bottom: 1px solid rgba(252, 237, 199, .1);
        }

        .project-image img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            transition: transform .5s var(--ease);
        }

        .project:hover .project-image img {
            transform: scale(1.05)
        }

        .project-content {
            padding: 20px 22px 24px
        }

        .tag {
            font-size: 10px;
            color: var(--gold-pale);
            border: 1px solid rgba(192, 141, 31, .4);
            border-radius: 20px;
            padding: 3px 8px
        }

        .project h3 {
            font-size: clamp(17px, 2vw, 20px);
            margin: 10px 0 3px
        }

        .project p {
            font-size: 12px;
            color: #d3ddd9;
            margin: 0
        }

        /* پکیج‌ها */
        .packages {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            align-items: stretch;
            gap: 18px;
            margin-top: 42px;
        }

        .package {
            position: relative;
            padding: 29px 24px;
            overflow: hidden;
            border: 1px solid rgba(252, 237, 199, .1);
            border-radius: 16px;
            background: linear-gradient(145deg, rgba(22, 56, 58, .85), rgba(6, 20, 22, .65));
            transition: transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
        }

        .package:hover {
            transform: translateY(-8px);
            border-color: rgba(192, 141, 31, .45);
            box-shadow: 0 22px 45px rgba(0, 0, 0, .3)
        }

        .package.featured {
            transform: translateY(-12px);
            border-color: rgba(192, 141, 31, .7);
            background: linear-gradient(145deg, rgba(36, 78, 66, .92), rgba(10, 30, 32, .85));
            box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
        }

        .package.featured:hover {
            transform: translateY(-17px);
            box-shadow: 0 28px 55px rgba(0, 0, 0, .36)
        }

        .package.featured:before {
            content: "پیشنهاد مناسب کسب‌وکارهای در حال رشد";
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            text-align: center;
            padding: 6px;
            color: var(--teal-950);
            background: linear-gradient(90deg, var(--gold), var(--gold-pale));
            font-size: 10px;
            font-weight: bold;
        }

        .package.featured .package-name {
            margin-top: 19px
        }

        .package-name {
            font-size: clamp(19px, 2.4vw, 22px);
            font-weight: 900;
            margin: 0
        }

        .package-for {
            font-size: 12px;
            color: var(--gold-pale);
            margin: 4px 0 16px
        }

        .package p {
            font-size: 13px;
            color: var(--muted);
            min-height: 51px
        }

        .package ul {
            padding: 0;
            margin: 18px 0;
            list-style: none
        }

        .package li {
            font-size: 12px;
            color: #dbe4e0;
            margin: 8px 0
        }

        .package li:before {
            content: "✓";
            color: var(--gold-pale);
            font-weight: bold;
            margin-left: 8px
        }

        .package .button {
            width: 100%;
            margin-top: 8px
        }

        .price-note {
            color: #a3b6b0;
            font-size: 11px;
            text-align: center;
            margin-top: 20px;
        }

        /* نقشه راه */
        /* نقشه راه */
        .roadmap-head {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 44px;
            align-items: center;
        }

        .roadmap-image {
            position: relative;
            overflow: hidden;
            border-radius: 18px;
            border: 1px solid rgba(252, 237, 199, .14);
            box-shadow: 0 25px 55px rgba(0, 0, 0, .35);
        }

        .roadmap-image:before {
            content: "";
            position: absolute;
            inset: -1px;
            z-index: 1;
            background: linear-gradient(160deg, rgba(192, 141, 31, .18), transparent 40%);
            pointer-events: none;
        }

        .roadmap-image img {
            width: 100%;
            height: 100%;
            max-height: 340px;
            object-fit: cover;
            display: block;
            transition: transform .6s var(--ease);
        }

        .roadmap-image:hover img {
            transform: scale(1.06)
        }

        .roadmap {
            margin-top: 45px;
            position: relative
        }

        .roadmap:before {
            content: "";
            position: absolute;
            top: 38px;
            right: 8%;
            left: 8%;
            height: 1px;
            background: linear-gradient(to left, transparent, var(--gold), transparent);
            opacity: .5;
        }

        .roadmap-grid {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 14px
        }

        .road {
            position: relative;
            padding: 0 15px;
            text-align: center;
        }

        .road-no {
            width: 76px;
            height: 76px;
            display: grid;
            place-items: center;
            margin: 0 auto 17px;
            position: relative;
            z-index: 1;
            border-radius: 50%;
            border: 1px solid rgba(192, 141, 31, .45);
            color: var(--gold-pale);
            font-size: 20px;
            font-weight: 900;
            background: var(--teal-900);
            box-shadow: 0 0 0 9px var(--teal-950);
            transition: transform .3s var(--ease), background .3s, color .3s;
        }

        .road:hover .road-no {
            transform: scale(1.08);
            background: var(--gold);
            color: var(--teal-950)
        }

        .road h3 {
            font-size: 16px;
            margin: 0 0 7px
        }

        .road p {
            font-size: 12px;
            color: var(--muted);
            margin: 0
        }

        /* CTA */
        .cta {
            position: relative;
            overflow: hidden;
            margin-bottom: 90px;
            padding: 72px 30px;
            border: 1px solid rgba(192, 141, 31, .35);
            border-radius: 20px;
            text-align: center;
            background: radial-gradient(circle at 50% 120%, rgba(192, 141, 31, .3), transparent 45%), linear-gradient(135deg, var(--teal-800), var(--teal-950));
        }

        .cta:before {
            content: "▲";
            position: absolute;
            bottom: -275px;
            left: 50%;
            transform: translateX(-50%);
            color: rgba(192, 141, 31, .07);
            font-size: 470px;
            line-height: 1;
        }

        .cta>* {
            position: relative
        }

        .cta h2 {
            font-size: clamp(24px, 2.8vw, 36px);
            line-height: 1.4;
            margin: 0 0 10px
        }

        .cta p {
            max-width: 620px;
            color: var(--muted);
            margin: 0 auto 23px
        }

 /* ===================================================
   FAQ Section Styles
=================================================== */
        .faq {
            margin-top: 42px;
        }

        .faq-item {
            border: 1px solid rgba(252, 237, 199, .12);
            border-radius: 14px;
            margin-bottom: 12px;
            overflow: hidden;
            background: linear-gradient(160deg, rgba(24, 60, 67, .5), rgba(8, 27, 31, .5)) !important;
            transition: transform .3s ease, border-color .3s ease, background-color .3s ease;
        }

        .faq-item:hover {
            transform: translateY(-3px);
            border-color: rgba(192, 141, 31, .35);
        }

        .faq-item.open {
            border-color: rgba(192, 141, 31, .6);
            background: linear-gradient(160deg, rgba(24, 60, 67, .75), rgba(8, 27, 31, .75)) !important;
        }

        .faq-question {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            padding: 20px 24px;
            background: transparent !important;
            border: 0 !important;
            outline: none !important;
            margin: 0;
            cursor: pointer;
            text-align: right;
            color: #fcedc7;
            /* رنگ متن سوال */
            font-size: 15px;
            font-weight: 700;
            font-family: inherit;
            line-height: 1.6;
            -webkit-tap-highlight-color: transparent;
            transition: color .2s ease, background-color .2s ease;
        }

        /* رفع مشکل هایلایت صورتی در حالت Focus و Active */
        .faq-question:hover,
        .faq-question:focus,
        .faq-question:active,
        .faq-question:focus-visible {
            background: transparent !important;
            color: #d1b26c !important;
            /* طلایی فلات */
            outline: none !important;
            box-shadow: none !important;
        }

        .faq-icon {
            flex-shrink: 0;
            width: 28px;
            height: 28px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            border: 1px solid rgba(192, 141, 31, .4);
            color: #d1b26c;
            font-size: 18px;
            font-weight: normal;
            line-height: 1;
            transition: transform .3s cubic-bezier(0.4, 0, 0.2, 1), background-color .25s ease, color .25s ease, border-color .25s ease;
            user-select: none;
        }

        /* چرخش آیکون + به شکل ضربدر */
        .faq-item.open .faq-icon {
            transform: rotate(45deg);
            background: #d1b26c;
            color: #081b1f;
            border-color: #d1b26c;
        }

        /* انیمیشن نرم باز و بسته شدن کشویی */
        .faq-answer {
            display: grid;
            grid-template-rows: 0fr;
            transition: grid-template-rows .35s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .faq-item.open .faq-answer {
            grid-template-rows: 1fr;
        }

        .faq-answer-inner {
            overflow: hidden;
        }

        .faq-answer p {
            margin: 0;
            padding: 4px 24px 22px;
            color: #beccc7;
            font-size: 13.5px;
            line-height: 1.9;
            text-align: justify;
        }

        /* ریسپانسیو برای موبایل */
        @media (max-width: 768px) {
            .faq-question {
                padding: 16px 18px;
                font-size: 14px;
                white-space: normal;
                overflow-wrap: anywhere;
                word-break: break-word;
            }

            .faq-answer p {
                padding: 0 18px 18px;
                font-size: 12.5px;
            }
        }

        /* ============ پاپ‌آپ فرم مشاوره (Web Development) ============ */
        .modal {
            position: fixed;
            inset: 0;
            z-index: 1000;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 20px;
            background: rgba(8, 18, 19, 0.85);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            opacity: 0;
            transition: opacity .3s ease;
        }

        .modal.show {
            display: flex;
        }

        .modal.show.in {
            opacity: 1;
        }

        .modal-box {
            position: relative;
            width: min(560px, 100%);
            max-height: 92vh;
            overflow-y: auto;
            border-radius: 20px;
            background: linear-gradient(165deg, #112728 0%, #0a1819 100%);
            border: 1px solid rgba(209, 178, 108, 0.2);
            box-shadow: 0 30px 90px rgba(0, 0, 0, 0.7);
            transform: translateY(26px) scale(.96);
            transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1);
            direction: rtl;
        }

        .modal.show.in .modal-box {
            transform: translateY(0) scale(1);
        }

        /* هدر مودال */
        .modal-head {
            position: relative;
            padding: 28px 28px 22px;
            background: radial-gradient(circle at 50% -20%, rgba(209, 178, 108, 0.25), transparent 70%),
                linear-gradient(180deg, rgba(209, 178, 108, 0.08) 0%, transparent 100%);
            border-bottom: 1px solid rgba(209, 178, 108, 0.15);
            text-align: center;
        }

        .modal-head img {
            height: 32px;
            width: auto;
            margin: 0 auto 12px;
            display: block;
            object-fit: contain;
        }

        .modal-box h2 {
            font-size: clamp(20px, 2.5vw, 24px);
            font-weight: 700;
            color: #ffffff;
            margin: 0 0 8px;
            letter-spacing: -0.3px;
        }

        .modal-box .modal-head p {
            font-size: 13.5px;
            color: #beccc7;
            line-height: 1.6;
            margin: 0;
            font-weight: 400;
        }

        .modal-body {
            padding: 24px 28px 28px;
        }

        /* دکمه بستن (ضربدر) کاملاً واضح و با کنتراست */
        .modal .close {
            position: absolute;
            top: 16px;
            left: 16px;
            width: 36px !important;
            height: 36px !important;
            padding: 0 !important;
            margin: 0 !important;
            border: 1px solid rgba(209, 178, 108, 0.35) !important;
            color: var(--cream);
            border-radius: 50% !important;
            background: rgba(17, 39, 40, 0.85) !important;
            cursor: pointer;
            z-index: 10;
            display: grid !important;
            place-items: center !important;
            line-height: 0 !important;
            outline: none !important;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
            -webkit-tap-highlight-color: transparent;
            transition: all .2s ease !important;
        }

        .modal .close .icon,
        .modal .close svg {
            width: 14px !important;
            height: 14px !important;
            display: block !important;
            margin: 0 !important;
            padding: 0 !important;
            stroke: currentColor !important;
            stroke-width: 2.2px !important;
            fill: none !important;
            pointer-events: none;
        }

        .modal .close:hover {
            background: #d1b26c !important;
            border-color: #d1b26c !important;
            color: #0d1e1f !important;
            transform: scale(1.08) rotate(90deg) !important;
        }

        .modal .close:active {
            transform: scale(0.95) !important;
        }

        .modal .close:focus,
        .modal .close:focus-visible {
            outline: none !important;
            box-shadow: 0 0 0 2px rgba(209, 178, 108, 0.5) !important;
        }

        /* چیدمان فیلدها */
        .modal-fields {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px;
        }

        .modal-fields .full {
            grid-column: 1 / -1;
        }

        .input-wrap {
            display: flex;
            flex-direction: column;
            position: relative;
            width: 100%;
        }

        /* استایل ورودی‌ها (اینپوت، سلکت، تکست‌اریا) */
        .modal input,
        .modal select,
        .modal textarea {
            width: 100%;
            padding: 13px 16px;
            color: #ffffff;
            background: rgba(10, 24, 25, 0.75);
            border: 1px solid rgba(190, 204, 199, 0.22);
            border-radius: 10px;
            outline: none;
            font-size: 13.5px;
            font-family: inherit;
            box-sizing: border-box;
            transition: border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
        }

        /* حل قطعی رنگ کم‌رنگ placeholder */
        .modal input::placeholder,
        .modal textarea::placeholder {
            color: #beccc7;
            opacity: 0.75;
        }

        /* رفع مشکل استایل Select و آیکون فلش اختصاصی */
        .modal select {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            cursor: pointer;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23d1b26c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: left 14px center;
            background-size: 14px;
            padding-left: 38px;
        }

        .modal select option {
            background: #112728;
            color: #ffffff;
            padding: 10px;
        }

        .modal select option[value=""][disabled] {
            color: #beccc7;
        }

        /* حالت فوکوس فیلدها */
        .modal input:focus,
        .modal select:focus,
        .modal textarea:focus {
            background: rgba(13, 31, 32, 0.95);
            border-color: #d1b26c;
            box-shadow: 0 0 0 3px rgba(209, 178, 108, 0.18);
        }

        .modal textarea {
            min-height: 95px;
            resize: vertical;
            line-height: 1.6;
        }

        /* دکمه ارسال مشاوره */
        .modal-body .button {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            margin-top: 14px;
            padding: 14px 20px;
            background: #d1b26c;
            color: #0d1e1f;
            border: none;
            border-radius: 10px;
            font-size: 15px;
            font-weight: 700;
            cursor: pointer;
            box-shadow: 0 6px 20px rgba(209, 178, 108, 0.25);
            transition: all .25s ease;
        }

        .modal-body .button:hover {
            background: #e2c685;
            transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(209, 178, 108, 0.35);
        }

        .modal-body .button:active {
            transform: translateY(0);
        }

        /* پیام موفقیت */
        .success-message {
            display: none;
            align-items: center;
            gap: 10px;
            margin-top: 14px;
            padding: 12px 16px;
            border-radius: 10px;
            background: rgba(209, 178, 108, 0.12);
            border: 1px solid rgba(209, 178, 108, 0.4);
            color: #ffffff;
            font-size: 13px;
        }

        .success-message.show {
            display: flex;
        }

        .success-message .icon {
            width: 20px;
            height: 20px;
            color: #d1b26c;
            flex-shrink: 0;
        }

        /* استایل خطاها و اعتبارسنجی */
        .modal input.is-invalid,
        .modal select.is-invalid,
        .modal textarea.is-invalid {
            border-color: #ff6b6b !important;
            background: rgba(255, 107, 107, 0.08) !important;
            box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.15) !important;
        }

        .field-error {
            color: #ff8585;
            font-size: 11.5px;
            margin-top: 4px;
            padding-right: 4px;
            display: block;
            animation: fadeInError .2s ease;
        }

        @keyframes fadeInError {
            from {
                opacity: 0;
                transform: translateY(-3px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* ریسپانسیو موبایل */
        @media (max-width: 600px) {
            .modal-fields {
                grid-template-columns: 1fr;
            }

            .modal-head {
                padding: 22px 18px 18px;
            }

            .modal-body {
                padding: 18px;
            }
        }


        /* واکنش‌گرا */
        @media(max-width:900px) {
            .hero {
                padding-top: 36px
            }

            .hero-grid,
            .diagnosis {
                grid-template-columns: 1fr
            }

            .hero-grid {
                padding-top: 20px;
                grid-template-areas: "title" "visual" "details";
                row-gap: 22px;
            }

            .hero-visual {
                width: 100%;
                margin: auto
            }

            .fields {
                grid-template-columns: 1fr 1fr
            }

            .fields .button {
                grid-column: 1/-1
            }

            .portfolio,
            .packages {
                grid-template-columns: 1fr 1fr
            }

            .roadmap-head {
                grid-template-columns: 1fr;
                gap: 26px
            }

            .roadmap-image img {
                max-height: 260px
            }

            .roadmap-grid {
                grid-template-columns: repeat(3, 1fr)
            }

            .roadmap:before {
                display: none
            }
        }

        @media(max-width:560px) {
            .container {
                width: calc(100% - 28px)
            }

            .brand-mini img {
                height: 28px
            }

            .hero-title {
                letter-spacing: -1px
            }

            .form-head {
                display: block
            }

            .fields,
            .portfolio,
            .packages,
            .roadmap-grid,
            .modal-fields {
                grid-template-columns: 1fr
            }

            .package.featured {
                transform: none
            }

            .stats-grid {
                grid-template-columns: 1fr 1fr
            }

            .stat {
                border-bottom: 1px solid var(--line)
            }

            .section {
                padding: 75px 0
            }

            .modal-head,
            .modal-body {
                padding-left: 20px;
                padding-right: 20px
            }

            .faq-question {
                padding: 16px 18px;
                font-size: 14px
            }

            .faq-answer p {
                padding: 0 18px 16px
            }
        }

        @media (prefers-reduced-motion: reduce) {
            * {
                animation-duration: .001ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: .001ms !important;
                scroll-behavior: auto !important
            }
        }