body,
html {
    min-height: 100vh;
    direction: rtl;
    font-family: var(--font-peyda);
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* content-box رو عوض کن */
    max-width: 100%; /* به جای width: 100vw */
    overflow-x: hidden;
}
:root {
    --base-color-1: #41344f;
    --base-color-2: #b679ee;
    --base-color-3: #7728bf;
    --base-color-4: #1a0b2b;
    --font-color-1: #535353;
}
.font-color-1 {
    color: var(--font-color-1);
}
.font-color-3 {
    color: var(--base-color-3);
}
.header {
    position: relative;
    height: 100px;
    width: 100%;
    background-color: var(--base-color-1);
    border-bottom: 2px solid var(--base-color-3);
}

/* .header::after{
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #1a0b2b;
} */
.header-links a {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ===== MEGA MENU ===== */
.mega-menu-item {
    position: relative;
}

.mega-menu-toggle {
    display: flex !important;
    align-items: center;
    gap: 6px;
}

.mega-arrow {
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.mega-menu-item.active .mega-arrow {
    transform: rotate(180deg);
}

.mega-menu-inner {
    background: #1a1035;
    border-top: 2px solid #7c3aed;
    border-radius: 0 0 16px 16px;
    padding: 24px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.mega-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.mega-menu-grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.mega-menu-grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.mega-menu-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    border-radius: 12px;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.3s ease;
    color: white;
}

.mega-menu-card:hover {
    background: rgba(124, 58, 237, 0.2);
    border-color: rgba(124, 58, 237, 0.4);
    transform: translateY(-2px);
    color: white;
}

.mega-icon {
    width: 44px;
    height: 44px;
    background: linear-gradient(
        135deg,
        rgba(168, 85, 247, 0.2),
        rgba(124, 58, 237, 0.2)
    );
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(168, 85, 247, 0.3);
    color: #a855f7;
    transition: all 0.3s ease;
}

.mega-menu-card:hover .mega-icon {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    border-color: transparent;
    color: white;
}

.mega-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.mega-title {
    font-size: 14px;
    font-weight: 600;
    color: white;
    line-height: 1.4;
}

.mega-desc {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    line-height: 1.5;
}
.mega-menu-chevron {
    display: none;
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: inherit;
}

/* ------------------------------------------------------------------------------- */
.bannerSlider {
    background-image: url(../img/bgSlider.png);
    width: 100%;
    height: calc(100vh - 100px);
    background-size: cover;
    background-repeat: no-repeat;
}
.bannerSlider {
    color: #fff;
}
.bannerTitle {
    font-size: 37pt;
    font-weight: 800;
}
.bannerDesc {
    font-size: 14pt;
    text-align: justify;
}
.btnBanner {
    background-color: var(--base-color-3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 160px;
    border-radius: 23px;
    font-size: 13pt;
    font-weight: bold;
    margin: 10px auto;
}
/* .btnBanner span {
  width: 35px;
  height: 35px;
  display: flex;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  margin: 0px 2px 0px 5px;
} */
/* تعریف انیمیشن برای حرکت نرم به سمت بالا و پایین */
@keyframes floatUpDown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-15px); /* مقدار جابجایی به بالا */
    }
    100% {
        transform: translateY(0);
    }
}

/* تعریف انیمیشن برای حرکت نرم به سمت چپ و راست */
@keyframes floatLeftRight {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(-15px); /* مقدار جابجایی به چپ */
    }
    100% {
        transform: translateX(0);
    }
}
#scene {
    width: 100%;
    height: 100%;
}

[class^="hvr-"] {
    cursor: pointer;
    background: #e1e1e1;
    text-decoration: none;
    color: #666;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.hvr-sweep-to-left {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    position: relative;
    -webkit-transition-property: color;
    transition-property: color;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
.hvr-sweep-to-left:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2098d1;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
.hvr-sweep-to-left:hover,
.hvr-sweep-to-left:focus,
.hvr-sweep-to-left:active {
    color: white;
}
.hvr-sweep-to-left:hover:before,
.hvr-sweep-to-left:focus:before,
.hvr-sweep-to-left:active:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/* ===== Custom Hover Animation for btnBanner ===== */
.btnBanner {
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
    z-index: 1;
    background-color: var(--base-color-3);
    color: white !important;
    /* padding: 0.6rem 1.5rem; */
    border-radius: 30px;
    font-weight: 500;
}

/* لایه پس‌زمینه انیمیشن */
.btnBanner::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
}

/* هنگام هاور */
.btnBanner:hover,
.btnBanner:focus,
.btnBanner:active {
    color: var(--base-color-3) !important;
}

.btnBanner:hover::before,
.btnBanner:focus::before,
.btnBanner:active::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

/* span داخلی */
.btnBanner span {
    width: 35px;
    height: 35px;
    display: flex;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin: 0px 2px 0px 5px;
    position: relative;
    z-index: 2;
    background: white;
    transition: background 0.3s ease;
}

.btnBanner:hover span,
.btnBanner:focus span {
    background: var(--base-color-3) !important;
}

.btnBanner:hover span img,
.btnBanner:focus span img {
    filter: brightness(0) invert(1);
}

/* ----------------------------------------------------------------- */
.miniservices-container {
    top: -100px;
}
.miniservices span {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(to bottom, var(--base-color-3), #a971dc);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    transition: all 0.3s ease-in;
}
.miniservices span img {
    -ms-filter: brightness(100);
    -webkit-filter: brightness(100);
    filter: brightness(100);
    /* transition: all 0.3s ease-in; */
}
.miniservices {
    box-shadow: 5px 0px 48px #0000002c;
    border: none !important;
    border-radius: 20px;
    transition: all 0.3s ease-in;
}
.miniservices:hover {
    background-image: linear-gradient(to bottom, var(--base-color-3), #a971dc);
    color: #fff !important;
    transition: all 0.3s ease-in;
}
.miniservices:hover span {
    background-image: none;
    background-color: #fff;
    transition: all 0.3s ease-in;
}
.miniservices:hover span img {
    -ms-filter: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    /* transition: all 0.3s ease-in; */
}
.miniservices:hover .font-color-1 {
    color: #fff;
    transition: all 0.3s ease-in;
}

/* ======= Top Section ======= */
.project-label {
    color: #858585;
    font-size: 15px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.project-label::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #858585;
    border-radius: 50%;
    display: inline-block;
}

.project-title {
    font-size: 28px;
    font-weight: 700;
    color: #222;
    margin-bottom: 20px;
    line-height: 1.6;
}

.project-description {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.project-description li {
    color: #616161;
    font-size: 17px;
    line-height: 1.8;
    position: relative;
    padding-right: 20px;
    margin-bottom: 8px;
}

.project-description li::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: var(--base-color-3);
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 9px;
}

.btn-primary-custom {
    background-color: var(--base-color-3);
    color: white;
    border: none;
    border-radius: 25px;
    padding: 10px 28px;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-primary-custom:hover {
    background-color: var(--base-color-3);
    transform: translateY(-2px);
}

.btn-outline-custom {
    background-color: transparent;
    color: #333;
    border: none;
    border-radius: 25px;
    padding: 10px 28px;
    font-size: 15px;
    font-weight: 500;
    transition: all 0.3s;
}

.btn-outline-custom:hover {
    background-color: #f0efff;
    color: var(--base-color-3);
}

.project-image {
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    /* min-height: 300px; */
}

.project-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    /* box-shadow: 5px 0px 48px #0000002c; */
}

.buttons-wrapper {
    gap: 8px;
    flex-wrap: wrap;
    border: 1px solid #858585;
    border-radius: 38px;
    padding: 3px;
    width: fit-content;
}

/* ======= Bottom Gallery Swiper ======= */
.product-gallery-thumb {
    width: 100%;
    padding: 20px 0 10px;
}

.thumb-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    /* box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08); */
    cursor: pointer;
    transition: transform 0.3s;
    border: 2px solid transparent;
}

.thumb-card:hover {
    transform: translateY(-4px);
    /* box-shadow: 0 8px 25px rgba(108, 99, 255, 0.15); */
}

.thumb-img-wrapper {
    position: relative;
    /* height: 220px; */
    overflow: hidden;
    border-radius: 20px;
}

.thumb-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 20px;
}

.thumb-badges {
    position: absolute;
    bottom: 12px;
    left: 12px;
    right: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.thumb-badge-fill {
    background-color: var(--base-color-3);
    color: white;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.thumb-badge-outline {
    background-color: rgba(255, 255, 255, 0.85);
    color: var(--base-color-3);
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.thumb-body {
    padding: 5px 16px;
    text-align: right;
}

.thumb-body p {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    line-height: 1.7;
    margin: 0;
}

.services-section {
    background-color: #f7f7f7;
    margin-top: 190px !important;
}

.service-number {
    font-size: 1.1rem;
}

.projects-section {
    background-color: #f7f7f7;
}

.project-card2 {
    background: white;
    padding: 2rem;
    border-radius: 1rem;
    transition: all 0.3s ease;
    height: 220px;
    width: 250px;
}

.project-card2:hover {
    background: linear-gradient(135deg, var(--base-color-3) 0%, #a971dc 100%);
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(139, 92, 246, 0.3);
}

.project-card2:hover h5 {
    color: white;
}

.project-card2:hover .icon-wrapper {
    background-image: none;
    background-color: #fff;
}

.project-card2:hover .icon-wrapper img {
    width: 35px;
    -ms-filter: none;
    -webkit-filter: none;
    filter: none;
}

.project-card-active {
    background: linear-gradient(135deg, var(--base-color-3) 0%, #a971dc 100%);
    box-shadow: 0 10px 30px rgba(139, 92, 246, 0.3);
}

.project-card-active .icon-wrapper {
    background: rgba(255, 255, 255, 0.2);
}

.icon-wrapper {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    background-image: linear-gradient(
        135deg,
        var(--base-color-3) 0%,
        #a971dc 100%
    );
}
.icon-wrapper img {
    width: 35px;
    -ms-filter: brightness(100);
    -webkit-filter: brightness(100);
    filter: brightness(100);
}
.btn-primary {
    background: var(--base-color-3);
    border: none;
}

.btn-primary:hover {
    background: var(--base-color-3);
}

.projects-section .col {
    display: flex;
    align-items: center;
    justify-content: end;
}
.text-justify {
    text-align: justify;
}
.project-card2 > * {
    text-align: center;
    margin: auto;
    color: #535353;
    font-size: 13pt;
    font-weight: 600 !important;
    line-height: 28px;
}

.donut-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.donut-inner-ring {
    fill: none;
    stroke: #f2f2f2;
    stroke-width: 8;
}

.donut-outer-ring {
    fill: none;
    stroke: transparent;
    stroke-width: 12;
}

.donut-progress {
    fill: none;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-dasharray: 408.41;
    stroke-dashoffset: calc(408.41 - (408.41 * var(--percent)) / 100);
}

.donut-text {
    fill: #1f2937;
    font-size: 22px;
    font-weight: bold;
    transform: rotate(90deg);
    transform-origin: center;
    transform-box: fill-box;
    dominant-baseline: middle;
    text-anchor: middle;
}

.stats-label {
    color: #858585;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 12px;
    text-align: center;
}

.stats-label::before {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #858585;
    border-radius: 50%;
    display: inline-block;
}
.stats-label::after {
    content: "";
    width: 8px;
    height: 8px;
    background-color: #858585;
    border-radius: 50%;
    display: inline-block;
}

.certificates-section {
    background-color: #f7f7f7;
    position: relative;
}
.certificates-section::before {
    content: "";
    background-image: url(../img/bgCertificate.png);
    background-size: cover;
    background-position: left top;
    background-repeat: no-repeat;
    width: 300px;
    height: 400px;
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    top: 0;
    z-index: 0;
}

.certificates-section div * {
    z-index: 1;
}

.certificate-card {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    max-width: 400px;
    margin: 0 auto;
}

.certificate-image {
    position: relative;
    padding: 0px;
    background: white;
}

.certificate-image img {
    width: 100%;
    height: auto;
    border-radius: 8px 8px 0px 0px;
}

.certificate-image .badge {
    position: absolute;
    top: 30px;
    right: 30px;
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
}

.certificate-info {
    padding: 20px;
}

.certificates-section .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #d1d5db;
    opacity: 1;
}

.certificates-section .swiper-pagination-bullet-active {
    background: #7c3aed;
}
.certificates-section .swiper-slide:not(.swiper-slide-visible) {
    visibility: hidden;
}
.certi-name::before {
    content: "";
    background-image: url(../img/dots.png);
    width: 10px;
    height: 10px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0px 0px 0px 3px;
}
.certi-date::before {
    content: "";
    background-image: url(../img/calendar.png);
    width: 14px;
    height: 14px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0px 0px 0px 3px;
}

.clients-section {
    background: #f7f7f7;
}

.clientsSwiper {
    padding: 20px 0;
}

.client-logo {
    text-align: center;
    padding: 20px;
}

.client-logo img {
    max-width: 150px;
    height: auto;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: all 0.3s ease;
}

.client-logo:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

.footer {
    background-color: #1a0b2b;
    color: white;
    padding: 60px 0 40px;
}

.footer-top {
    margin-bottom: 40px;
}

.footer-logo img {
    max-width: 120px;
}

.footer-text h5 {
    font-size: 18px;
    margin-bottom: 8px;
    font-weight: 600;
}

.footer-text p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.newsletter {
    position: relative;
    display: flex;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 0px 5px !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    /* -ms-filter: blur(10px);
  -webkit-filter: blur(10px);
  filter: blur(10px); */
    border: 1px solid #ffffff5f;
}

.newsletter input {
    flex: 1;
    background: transparent;
    border: none;
    /* padding: 0px 10px; */
    color: white;
    outline: none;
}

.newsletter input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.newsletter button {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    border: none;
    border-radius: 50px;
    padding: 12px 30px;
    color: white;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.newsletter button:hover {
    transform: scale(1.05);
}

.footer-divider {
    border-color: rgba(255, 255, 255, 0.1);
    margin: 40px 0;
}

.footer-bottom h6 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

.footer-bottom p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.8;
}

.social-icons {
    display: flex;
    gap: 10px;
}

.social-icons a {
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    transition: all 0.3s ease;
}

.social-icons a:hover {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    transform: translateY(-3px);
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 10px;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: white;
}
/* ---------------------------------------------------------------------------- */

/* ===== HERO ===== */
.page-hero {
    position: relative;
    padding: 140px 0 80px;
    overflow: hidden;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            ellipse 80% 60% at 80% 50%,
            rgba(183, 121, 238, 0.18) 0%,
            transparent 60%
        ),
        radial-gradient(
            ellipse 50% 80% at 10% 80%,
            rgba(119, 40, 191, 0.2) 0%,
            transparent 60%
        );
}

.hero-grid-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(183, 121, 238, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(183, 121, 238, 0.07) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: radial-gradient(ellipse at center, black 30%, transparent 80%);
}

.breadcrumb-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(183, 121, 238, 0.1);
    border: 1px solid rgba(183, 121, 238, 0.25);
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 28px;
    backdrop-filter: blur(10px);
}

.breadcrumb-pill a {
    color: var(--base-color-2);
    text-decoration: none;
}
.breadcrumb-pill span {
    color: rgba(255, 255, 255, 0.3);
}

.hero-title {
    font-size: clamp(32px, 5vw, 58px);
    font-weight: 800;
    line-height: 1.3;
    background: linear-gradient(135deg, #fbd1ff 30%, var(--base-color-2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 16px;
}

.hero-sub {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.5);
}

/* ===== MAIN CONTENT ===== */
.ceo-section {
    padding: 80px 0 120px;
    position: relative;
}

/* Floating orbs */

.content-wrapper {
    position: relative;
    z-index: 1;
}

/* ===== IMAGE SIDE ===== */
.ceo-visual {
    position: relative;
}

.ceo-card {
    position: relative;
    border-radius: 32px;
    overflow: hidden;
}

/* گوشه‌های دکوراتیو */
.ceo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 32px;
    padding: 2px;
    background: linear-gradient(
        135deg,
        var(--base-color-2),
        var(--base-color-3),
        transparent 60%
    );
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: 2;
}

.ceo-img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    object-position: top;
    display: block;
    filter: brightness(0.9);
    transition:
        filter 0.5s,
        transform 0.5s;
}

.ceo-card:hover .ceo-img {
    filter: brightness(1);
    transform: scale(1.03);
}

/* Overlay gradient روی عکس */
.ceo-img-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(
        to top,
        var(--base-color-4) 0%,
        transparent 100%
    );
    z-index: 1;
}

/* Badge روی عکس */
.ceo-badge {
    position: absolute;
    bottom: 28px;
    right: 28px;
    z-index: 3;
    background: rgba(26, 11, 43, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(183, 121, 238, 0.3);
    border-radius: 16px;
    padding: 16px 20px;
}

.ceo-badge-name {
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
}

.ceo-badge-title {
    font-size: 12px;
    color: var(--base-color-2);
}

/* Stats strip */
.stats-strip {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.stat-item {
    flex: 1;
    background: rgba(65, 52, 79, 0.4);
    border: 1px solid rgba(183, 121, 238, 0.15);
    border-radius: 16px;
    padding: 16px;
    text-align: center;
    backdrop-filter: blur(10px);
    transition: all 0.3s;
}

.stat-item:hover {
    background: rgba(119, 40, 191, 0.2);
    border-color: rgba(183, 121, 238, 0.4);
    transform: translateY(-4px);
}

.stat-num {
    font-size: 26px;
    font-weight: 800;
    background: linear-gradient(135deg, var(--base-color-2), #fff);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
}

.stat-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.5);
    margin-top: 4px;
}

/* ===== TEXT SIDE ===== */
.message-side {
    padding-right: 20px;
}

.tag-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--base-color-2);
    margin-bottom: 24px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.tag-label::before {
    content: "";
    width: 32px;
    height: 2px;
    background: var(--base-color-2);
    border-radius: 2px;
}

.message-heading {
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 800;
    line-height: 1.4;
    margin-bottom: 36px;
    color: white;
}

.message-heading span {
    color: var(--base-color-2);
}

/* Quote block */
.quote-block {
    position: relative;
    background: linear-gradient(
        135deg,
        rgba(65, 52, 79, 0.5),
        rgba(119, 40, 191, 0.15)
    );
    border-right: 4px solid var(--base-color-2);
    border-radius: 0 16px 16px 0;
    padding: 24px 28px;
    margin-bottom: 32px;
}

.quote-block::before {
    content: "\201C";
    position: absolute;
    top: -20px;
    right: 20px;
    font-size: 80px;
    color: var(--base-color-2);
    opacity: 0.3;
    font-family: Georgia, serif;
    line-height: 1;
}

.quote-text {
    font-size: 17px;
    line-height: 2;
    color: rgba(255, 255, 255, 0.9);
    font-style: italic;
}

/* Body text */
.body-text {
    font-size: 15px;
    line-height: 2.1;
    color: rgba(255, 255, 255, 0.65);
    text-align: justify;
    margin-bottom: 40px;
}

/* Signature */
.signature-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(
        135deg,
        rgba(65, 52, 79, 0.6),
        rgba(26, 11, 43, 0.8)
    );
    border: 1px solid rgba(183, 121, 238, 0.2);
    border-radius: 20px;
    padding: 24px 28px;
    position: relative;
    overflow: hidden;
}

.signature-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(
        90deg,
        var(--base-color-3),
        var(--base-color-2),
        transparent
    );
}

.sig-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: 2px solid var(--base-color-2);
    object-fit: cover;
    flex-shrink: 0;
}

.sig-info {
    flex: 1;
}

.sig-respect {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 6px;
}

.sig-name {
    font-size: 22px;
    font-weight: 700;
    color: white;
    margin-bottom: 4px;
}

.sig-role {
    font-size: 13px;
    color: var(--base-color-2);
}

.sig-icon {
    width: 48px;
    height: 48px;
    background: linear-gradient(
        135deg,
        var(--base-color-3),
        var(--base-color-2)
    );
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}

/* ---------------------------------------------------------------- */
/* =============================================
   AUDIENCE SWITCHER
   ============================================= */
.audience-switcher {
    display: inline-flex;
    gap: 0.5rem;
    margin-top: 1.75rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    padding: 5px;
    backdrop-filter: blur(10px);
}

.switcher-btn {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.5rem 1.25rem;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: all 0.3s ease;
}

.switcher-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.switcher-btn.active {
    background: var(--base-color-1);
    color: #fff;
    box-shadow: 0 4px 15px rgba(var(--base-color-1-rgb), 0.4);
}

.switcher-icon {
    font-size: 1rem;
}

/* =============================================
   STAFF PAGE — ORB EXTRA
   ============================================= */
.orb-staff {
    width: 350px;
    height: 350px;
    background: radial-gradient(
        circle,
        rgba(255, 180, 100, 0.08) 0%,
        transparent 70%
    );
    top: 60%;
    left: 10%;
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
}

/* =============================================
   WARMTH CARD (زیر تصویر)
   ============================================= */
.warmth-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(
        135deg,
        rgba(var(--base-color-1-rgb), 0.12),
        rgba(var(--base-color-1-rgb), 0.04)
    );
    border: 1px solid rgba(var(--base-color-1-rgb), 0.2);
    border-radius: 14px;
}

.warmth-icon {
    font-size: 1.8rem;
    flex-shrink: 0;
}

.warmth-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.warmth-text strong {
    font-size: 0.9rem;
    color: #fff;
    font-weight: 600;
}

.warmth-text span {
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.5);
}

/* =============================================
   STAFF TAG
   ============================================= */
.staff-tag {
    background: linear-gradient(
        135deg,
        rgba(255, 160, 80, 0.15),
        rgba(var(--base-color-1-rgb), 0.1)
    );
    border-color: rgba(255, 160, 80, 0.3);
    color: #ffb347;
}

/* =============================================
   SALUTE BLOCK
   ============================================= */
.salute-block {
    padding: 1rem 1.25rem;
    border-right: 3px solid var(--base-color-1);
    background: rgba(var(--base-color-1-rgb), 0.06);
    border-radius: 0 10px 10px 0;
    margin-bottom: 1.25rem;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    font-weight: 500;
}

.salute-block p {
    margin: 0;
}

/* =============================================
   HIGHLIGHT SENTENCE
   ============================================= */
.highlight-sentence {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    padding: 1.1rem 1.25rem;
    background: linear-gradient(
        135deg,
        rgba(var(--base-color-1-rgb), 0.1),
        transparent
    );
    border: 1px solid rgba(var(--base-color-1-rgb), 0.2);
    border-radius: 14px;
    margin: 1.25rem 0;
}

.hs-icon {
    font-size: 1.3rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.highlight-sentence p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.8);
}

/* =============================================
   PARTICIPATE BLOCK
   ============================================= */
.participate-block {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 1.25rem;
    background: rgba(255, 255, 255, 0.04);
    border: 1px dashed rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    margin: 1.25rem 0;
}

.pb-icon {
    font-size: 1.5rem;
    flex-shrink: 0;
}

.participate-block p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.75);
}

/* =============================================
   CLOSING WISH
   ============================================= */
.closing-wish {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.6);
    font-style: italic;
    text-align: center;
    padding: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    margin: 1.25rem 0;
    line-height: 1.8;
}
/* ----------------------------------------------------------- */
/* ===== ORGANIZATIONAL CHART ===== */
.orgchart-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
    padding: 40px 0;
}

.org-level {
    display: flex;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
    position: relative;
}

.org-level::before {
    content: "";
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 30px;
    background: linear-gradient(to bottom, var(--base-color-2), transparent);
}

.org-level:first-child::before {
    display: none;
}

.org-node {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(183, 121, 238, 0.3);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    transition: all 0.3s ease;
    position: relative;
    min-width: 220px;
}

.org-node:hover {
    background: rgba(124, 58, 237, 0.15);
    border-color: var(--base-color-2);
    transform: translateY(-4px);
}

.org-ceo {
    border-width: 2px;
    border-color: var(--base-color-2);
    background: rgba(183, 121, 238, 0.08);
}

.node-avatar {
    width: 80px;
    height: 80px;
    margin: 0 auto 16px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--base-color-2);
}

.org-ceo .node-avatar {
    width: 100px;
    height: 100px;
    border-width: 4px;
}

.node-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.node-info h3,
.node-info h4 {
    font-size: 18px;
    font-weight: 700;
    color: white;
    margin-bottom: 8px;
}

.node-info p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0;
}

/* --------------------------------------------------------------------- */

.certificates-section {
    padding: 60px 0;
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

/* .section-title {
  text-align: center;
  margin-bottom: 50px;
  font-size: 2.5rem;
  font-weight: bold;
  color: #2c3e50;
} */

.certificates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    padding: 20px;
}

.certificate-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    cursor: pointer;
}

.certificate-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.certificate-image-wrapper {
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    padding: 15px;
    overflow: hidden;
}

.certificate-image-wrapper img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.certificate-card:hover .certificate-image-wrapper img {
    transform: scale(1.05);
}

.certificate-caption {
    padding: 20px;
    text-align: center;
    font-size: 1.1rem;
    color: #34495e;
    font-weight: 500;
}

/* Gallery Card Enhancements */
.gallery-item {
    cursor: pointer;
}

.gallery-card {
    position: relative;
    height: 400px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
    background: #f8f9fa;
}

.gallery-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.gallery-card img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 15px;
    transition: transform 0.3s ease;
}

.gallery-card:hover img {
    transform: scale(1.05);
}

.gallery-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    padding: 20px;
    transform: translateY(100%);
    transition: transform 0.3s ease;
}

.gallery-card:hover .gallery-overlay {
    transform: translateY(0);
}

.gallery-title {
    color: white;
    margin: 0;
    font-size: 1.1rem;
    font-weight: 500;
}

/* Lightbox Styles */
.lightbox-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    z-index: 9999;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox-overlay.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lightbox-image {
    max-width: 100%;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
    animation: zoomIn 0.3s ease;
}

@keyframes zoomIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.lightbox-caption {
    position: absolute;
    bottom: -60px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 1.3rem;
    text-align: center;
    padding: 12px 25px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 8px;
    white-space: nowrap;
    font-weight: 500;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    color: white;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.1);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 10001;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.lightbox-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

.lightbox-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: white;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.1);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    user-select: none;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.lightbox-nav:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%) scale(1.1);
}

.lightbox-prev {
    right: 30px;
}

.lightbox-next {
    left: 30px;
}

.lightbox-counter {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    color: white;
    font-size: 1.2rem;
    background: rgba(0, 0, 0, 0.8);
    padding: 10px 25px;
    border-radius: 25px;
    font-weight: 500;
    border: 2px solid rgba(255, 255, 255, 0.3);
}
/* --------------------------------------------------------------- */
/* Light Theme Overrides */

/* Hero Section - Light & Modern */
.about-hero {
    position: relative;
    padding: 100px 0 100px;
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, #f0f4ff 50%, #fff0f5 100%);
}

.about-hero::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -20%;
    width: 800px;
    height: 800px;
    background: radial-gradient(
        circle,
        rgba(183, 121, 238, 0.15) 0%,
        transparent 70%
    );
    border-radius: 50%;
    animation: float 20s ease-in-out infinite;
}

.about-hero::after {
    content: "";
    position: absolute;
    bottom: -30%;
    left: -10%;
    width: 600px;
    height: 600px;
    background: radial-gradient(
        circle,
        rgba(119, 40, 191, 0.1) 0%,
        transparent 70%
    );
    border-radius: 50%;
    animation: float 15s ease-in-out infinite reverse;
}

@keyframes float {
    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }
    50% {
        transform: translate(30px, -30px) scale(1.1);
    }
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.1),
        rgba(119, 40, 191, 0.1)
    );
    border: 2px solid rgba(183, 121, 238, 0.3);
    padding: 10px 24px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    color: #7728bf;
    margin-bottom: 24px;
    backdrop-filter: blur(10px);
}

.hero-title {
    /* font-size: clamp(40px, 6vw, 72px);
  font-weight: 900;
  line-height: 1.2;
  background: linear-gradient(135deg, #41344f 0%, #7728bf 50%, #b679ee 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom: 24px; */
}

.hero-description {
    font-size: 20px;
    color: #64748b;
    max-width: 700px;
    margin: 0 auto 40px;
    line-height: 1.8;
}

.hero-stats {
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
    margin-top: 60px;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 48px;
    font-weight: 800;
    background: linear-gradient(135deg, #7728bf, #b679ee);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: block;
    margin-bottom: 8px;
}

.stat-label {
    font-size: 16px;
    color: #64748b;
    font-weight: 500;
}

/* Mission & Vision Section */
.mission-section {
    padding: 100px 0;
    position: relative;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-tag {
    display: inline-block;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.1),
        rgba(119, 40, 191, 0.1)
    );
    color: #7728bf;
    padding: 8px 20px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
}

.section-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    color: #41344f;
    margin-bottom: 16px;
}

.section-subtitle {
    font-size: 18px;
    color: #64748b;
    max-width: 600px;
    margin: 0 auto;
}

.mission-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

.mission-card {
    background: white;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.06);
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.mission-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #7728bf, #b679ee);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.mission-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(119, 40, 191, 0.15);
}

.mission-card:hover::before {
    transform: scaleX(1);
}

.card-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.15),
        rgba(119, 40, 191, 0.15)
    );
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    margin-bottom: 24px;
}

.card-title {
    font-size: 24px;
    font-weight: 700;
    color: #41344f;
    margin-bottom: 16px;
}

.card-text {
    font-size: 16px;
    color: #64748b;
    line-height: 1.8;
}

/* Values Section */
.values-section {
    padding: 100px 0;
    background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.value-card {
    background: white;
    border-radius: 20px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.value-card:hover {
    border-color: rgba(183, 121, 238, 0.3);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(119, 40, 191, 0.1);
}

.value-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(135deg, #7728bf, #b679ee);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin: 0 auto 20px;
    color: white;
}

.value-title {
    font-size: 20px;
    font-weight: 700;
    color: #41344f;
    margin-bottom: 12px;
}

.value-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
}

/* Story Section */
.story-section {
    padding: 100px 0;
}

.story-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}

.story-image {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.story-image img {
    width: 100%;
    height: auto;
    display: block;
}

.story-text h3 {
    font-size: 36px;
    font-weight: 800;
    color: #41344f;
    margin-bottom: 24px;
}

.story-text p {
    font-size: 17px;
    color: #64748b;
    line-height: 1.9;
    margin-bottom: 20px;
}

.highlight-text {
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.1),
        rgba(119, 40, 191, 0.1)
    );
    padding: 24px;
    border-right: 4px solid #7728bf;
    border-radius: 12px;
    margin: 32px 0;
}

.highlight-text p {
    margin: 0;
    font-weight: 600;
    color: #41344f;
}

/* CTA Section */
.cta-section {
    padding: 80px 0;
    background: linear-gradient(135deg, #7728bf 0%, #b679ee 100%);
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(
        circle,
        rgba(255, 255, 255, 0.1) 0%,
        transparent 70%
    );
    border-radius: 50%;
}

.cta-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: white;
}

.cta-title {
    font-size: clamp(32px, 4vw, 48px);
    font-weight: 800;
    margin-bottom: 20px;
}

.cta-text {
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 32px;
}

.cta-button {
    display: inline-block;
    background: white;
    color: #7728bf;
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
    color: #7728bf;
}

/* Management Links Section */
.management-links-section {
    padding: 80px 0;
    background: var(--bg-light, #f8f9fa);
}

.mgmt-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 32px 20px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e9ecef;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    height: 100%;
    position: relative;
}
.mgmt-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-color, #0d6efd);
    color: inherit;
}
.mgmt-card-icon {
    width: 64px;
    height: 64px;
    background: var(--primary-color, #0d6efd);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
    font-size: 1.6rem;
    color: #fff;
}
.mgmt-card h5 {
    font-weight: 700;
    margin-bottom: 8px;
}
.mgmt-card p {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 16px;
}
.mgmt-card-arrow {
    color: var(--primary-color, #0d6efd);
    font-size: 1.1rem;
}
/* ------------------------------------------------------------------------ */
/* ─── Page Hero ─── */
.video-hero {
    background: linear-gradient(
        135deg,
        var(--base-color-4) 0%,
        var(--base-color-1) 100%
    );
    padding: 72px 0 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.video-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            ellipse 60% 60% at 20% 50%,
            rgba(118, 40, 191, 0.18) 0%,
            transparent 70%
        ),
        radial-gradient(
            ellipse 50% 50% at 80% 30%,
            rgba(182, 121, 238, 0.12) 0%,
            transparent 70%
        );
    pointer-events: none;
}

.video-hero h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
    position: relative;
}

.video-hero p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 1rem;
    max-width: 500px;
    margin: 0 auto;
    position: relative;
}

/* ─── Filter Tabs ─── */
.filter-section {
    background: var(--base-color-4);
    padding: 20px 0;
    border-bottom: 1px solid rgba(124, 58, 237, 0.2);
    position: sticky;
    top: 100px;
    z-index: 99;
}

.filter-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
}

.filter-btn {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.7);
    border-radius: 100px;
    padding: 8px 22px;
    font-family: var(--font-peyda);
    font-size: 0.88rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.filter-btn:hover,
.filter-btn.active {
    background: rgba(124, 58, 237, 0.25);
    border-color: rgba(124, 58, 237, 0.6);
    color: #fff;
}

.filter-btn.active {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    border-color: transparent;
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.4);
}

/* ─── Grid Section ─── */
.gallery-section {
    background: var(--base-color-4);
    padding: 48px 0 80px;
    min-height: 60vh;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    grid-auto-rows: 340px;
    width: 100%; /* فقط 100% - نه vw */
}

/* ─── Video Card ─── */
.video-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.35s ease;
    cursor: pointer;
}

.video-card:hover {
    transform: translateY(-6px);
    border-color: rgba(124, 58, 237, 0.45);
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.4),
        0 0 0 1px rgba(124, 58, 237, 0.2);
}

/* Thumbnail */
.video-thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #0d0720;
}

.video-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.video-card:hover .video-thumb img {
    transform: scale(1.06);
}

/* Play Button */
.video-card .play-btn {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.3);
    transition: background 0.3s ease;
}

.video-card:hover .play-btn {
    background: rgba(0, 0, 0, 0.15);
}

.play-circle {
    width: 56px;
    height: 56px;
    background: rgba(124, 58, 237, 0.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(8px);
    border: 2px solid rgba(255, 255, 255, 0.25);
    transition: all 0.3s ease;
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.5);
}

.video-card:hover .play-circle {
    transform: scale(1.12);
    background: rgba(124, 58, 237, 1);
}

.play-circle svg {
    margin-right: -3px;
}

/* Duration Badge */
.duration-badge {
    position: absolute;
    bottom: 10px;
    left: 12px;
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 0.75rem;
    padding: 3px 10px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}

/* Category Badge */
.cat-badge {
    position: absolute;
    top: 10px;
    right: 12px;
    background: rgba(124, 58, 237, 0.8);
    color: #fff;
    font-size: 0.72rem;
    padding: 3px 10px;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}

/* Card Body */
.video-info {
    padding: 16px 18px 18px;
}

.video-title {
    color: #fff;
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 6px;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.video-desc {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.82rem;
    line-height: 1.7;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 14px;
    height: 45px;
}

.video-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    color: rgba(255, 255, 255, 0.35);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.video-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* ─── Lightbox Modal ─── */
.video-modal .modal-content {
    background: #0d0720;
    border: 1px solid rgba(124, 58, 237, 0.3);
    border-radius: 20px;
    overflow: hidden;
}

.video-modal .modal-header {
    background: rgba(124, 58, 237, 0.08);
    border-bottom: 1px solid rgba(124, 58, 237, 0.2);
    padding: 16px 20px;
}

.video-modal .modal-title {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
}

.video-modal .btn-close {
    filter: invert(1);
}

.video-modal .modal-body {
    padding: 0;
    background: #000;
}

.video-modal video,
.video-modal iframe {
    width: 100%;
    aspect-ratio: 16/9;
    display: block;
    border: none;
}

/* ----------------------------------------------------------- */
/* ─── Hero Section ─── */
.gallery-hero {
    background: linear-gradient(
        135deg,
        var(--base-color-4) 0%,
        var(--base-color-1) 100%
    );
    padding: 72px 0 48px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.gallery-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            ellipse 60% 60% at 30% 40%,
            rgba(118, 40, 191, 0.2) 0%,
            transparent 70%
        ),
        radial-gradient(
            ellipse 50% 50% at 70% 60%,
            rgba(182, 121, 238, 0.15) 0%,
            transparent 70%
        );
    pointer-events: none;
}

.gallery-hero h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
    position: relative;
}

.gallery-hero p {
    color: rgba(255, 255, 255, 0.65);
    font-size: 1rem;
    max-width: 520px;
    margin: 0 auto;
    position: relative;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(124, 58, 237, 0.2);
    border: 1px solid rgba(124, 58, 237, 0.4);
    border-radius: 100px;
    padding: 6px 18px;
    color: var(--base-color-2);
    font-size: 0.85rem;
    margin-bottom: 20px;
    position: relative;
}

/* ─── Grid متعادل ─── */
.photo-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    grid-auto-rows: 260px;
    width: 100%; /* فقط 100% - نه vw */
}

/* ─── Photo Card ─── */
.photo-item {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    transform: translateY(30px) scale(0.95);
}

.photo-item.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.photo-item:hover {
    transform: translateY(-8px) scale(1.02);
    border-color: rgba(124, 58, 237, 0.4);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(124, 58, 237, 0.3);
    z-index: 10;
}

.photo-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.photo-item:hover img {
    transform: scale(1.08);
}

/* Overlay */
.photo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.85) 0%,
        rgba(0, 0, 0, 0.3) 40%,
        transparent 70%
    );
    opacity: 0;
    transition: opacity 0.35s ease;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
}

.photo-item:hover .photo-overlay {
    opacity: 1;
}

.photo-title {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 4px;
    transform: translateY(10px);
    transition: transform 0.35s ease 0.05s;
}

.photo-item:hover .photo-title {
    transform: translateY(0);
}

.photo-category {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    gap: 6px;
    transform: translateY(10px);
    transition: transform 0.35s ease 0.1s;
}

.photo-item:hover .photo-category {
    transform: translateY(0);
}

/* Badge در گوشه */
.photo-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: rgba(124, 58, 237, 0.85);
    backdrop-filter: blur(8px);
    color: #fff;
    font-size: 0.72rem;
    padding: 4px 12px;
    border-radius: 100px;
    font-weight: 600;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.35s ease;
}

.photo-item:hover .photo-badge {
    opacity: 1;
    transform: translateY(0);
}

/* ─── Lightbox (درست شده) ─── */
.lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.96);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(10px);
}

.lightbox.active {
    display: flex;
    opacity: 1;
}

.lightbox-backdrop {
    position: absolute;
    inset: 0;
}

.lightbox-content {
    position: relative;
    max-width: 85vw;
    max-height: 85vh;
    animation: zoomIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

@keyframes zoomIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.lightbox-content img {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 12px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8);
    border: 1px solid rgba(124, 58, 237, 0.3);
    transition: opacity 0.15s ease;
}

/* Close Button - نسبت به lightbox */
.lightbox-close {
    position: fixed;
    top: 20px;
    left: 20px;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    backdrop-filter: blur(8px);
    z-index: 2;
    color: #fff;
    font-size: 20px;
}

.lightbox-close:hover {
    background: rgba(220, 38, 38, 0.8);
    border-color: rgba(220, 38, 38, 1);
    transform: rotate(90deg);
}

/* Navigation Arrows - نسبت به lightbox */
.lightbox-nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.25s ease;
    backdrop-filter: blur(8px);
    z-index: 2;
    color: #fff;
    font-size: 24px;
}

.lightbox-nav:hover {
    background: rgba(124, 58, 237, 0.8);
    border-color: rgba(124, 58, 237, 1);
    transform: translateY(-50%) scale(1.1);
}

.lightbox-prev {
    right: 30px;
}

.lightbox-next {
    left: 30px;
}

/* Counter - نسبت به lightbox */
/* .lightbox-counter {
  position: fixed;
  top: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 100px;
  padding: 10px 20px;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
  backdrop-filter: blur(8px);
  z-index: 2;
} */

/* Info Box - نسبت به lightbox */
.lightbox-info {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    padding: 16px 32px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 600px;
    z-index: 2;
}

.lightbox-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.lightbox-meta {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}
/* ------------------------------------------------------------ */
/* ===== News Archive ===== */
.news-section {
    background: var(--base-color-4);
    padding: 60px 0 80px;
}

.news-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.news-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 40px rgba(124, 58, 237, 0.15);
}

.news-card__img {
    position: relative;
    height: 220px;
    overflow: hidden;
    display: block;
}

.news-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.news-card:hover .news-card__img img {
    transform: scale(1.05);
}

.news-card__badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    color: white;
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 20px;
}

.news-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.news-card__meta {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: #888;
    margin-bottom: 12px;
}

.news-card__meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.news-card__title {
    font-size: 16px;
    font-weight: 700;
    color: var(--base-color-1);
    margin-bottom: 10px;
    line-height: 1.6;
}

.news-card__excerpt {
    font-size: 14px;
    color: #666;
    line-height: 1.8;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-card__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
    color: var(--base-color-3);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: gap 0.2s ease;
}

.news-card__btn:hover {
    gap: 10px;
    color: var(--base-color-3);
}

/* ===== News Single ===== */
.news-single-section {
    background: var(--base-color-4);
    padding: 60px 0 80px;
}

.news-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #888;
    margin-bottom: 28px;
}

.news-breadcrumb a {
    color: #888;
    text-decoration: none;
}

.news-breadcrumb a:hover {
    color: var(--base-color-3);
}

.news-single__img {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 420px;
}

.news-single__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-single__title {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    line-height: 1.6;
    margin-bottom: 24px;
}

.news-single__content {
    font-size: 15px;
    color: #a7a7a7;
    line-height: 2.2;
}

.news-single__content p {
    margin-bottom: 20px;
}

.news-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--base-color-3);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid var(--base-color-3);
    padding: 10px 20px;
    border-radius: 25px;
    transition: 0.2s ease;
}

.news-back-btn:hover {
    background: var(--base-color-3);
    color: white;
}
/* -------------------------------------------------------- */
/* ===== Office Automation Page ===== */
.breadcrumb-section {
    padding: 14px 0;
    background: rgba(255, 255, 255, 0.03);
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.breadcrumb-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(226, 232, 240, 0.6);
    flex-wrap: wrap;
}

.breadcrumb-nav a {
    color: rgba(226, 232, 240, 0.6);
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb-nav a:hover {
    color: #f97316;
}

.breadcrumb-sep {
    color: rgba(226, 232, 240, 0.3);
}

.breadcrumb-current {
    color: #f97316;
}

.section-pad {
    padding: 80px 0;
}

.bg-light-section {
    background: rgba(255, 255, 255, 0.03);
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.12);
    color: #f97316;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    border: 1px solid rgba(249, 115, 22, 0.25);
}

.section-title2 {
    font-size: clamp(22px, 3vw, 34px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}

.section-desc {
    font-size: 15px;
    line-height: 1.9;
    color: rgba(226, 232, 240, 0.7);
}

/* Info Cards Grid */
.info-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.info-card-title {
    color: #fff;
}
.info-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 24px 20px;
    transition:
        border-color 0.25s,
        transform 0.25s;
}

.info-card:hover {
    border-color: rgba(249, 115, 22, 0.4);
    transform: translateY(-3px);
}

.info-card-icon {
    width: 52px;
    height: 52px;
    background: rgba(249, 115, 22, 0.12);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f97316;
    margin-bottom: 14px;
}

.info-card h4 {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 8px;
}

.info-card p {
    font-size: 13px;
    color: rgba(226, 232, 240, 0.6);
    line-height: 1.7;
    margin: 0;
}

/* Steps */
.steps-row {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.step-item {
    flex: 1;
    min-width: 200px;
    max-width: 260px;
    text-align: center;
    padding: 32px 20px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
}

.step-num {
    width: 48px;
    height: 48px;
    background: linear-gradient(135deg, #f97316, #facc15);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin: 0 auto 16px;
}

.step-item h5 {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 8px;
}

.step-item p {
    font-size: 13px;
    color: rgba(226, 232, 240, 0.6);
    line-height: 1.7;
    margin: 0;
}

.step-arrow {
    font-size: 28px;
    color: rgba(249, 115, 22, 0.5);
    align-self: center;
    padding-top: 0;
}

/* Support Banner */
.support-banner {
    display: flex;
    align-items: center;
    gap: 24px;
    background: linear-gradient(
        135deg,
        rgba(124, 58, 237, 0.2),
        rgba(249, 115, 22, 0.15)
    );
    border: 1px solid rgba(249, 115, 22, 0.25);
    border-radius: 20px;
    padding: 36px 40px;
    flex-wrap: wrap;
}

.support-icon {
    width: 72px;
    height: 72px;
    background: rgba(249, 115, 22, 0.15);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f97316;
    flex-shrink: 0;
}

.support-text {
    flex: 1;
    min-width: 200px;
}

.support-text h3 {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}

.support-text p {
    font-size: 14px;
    color: rgba(226, 232, 240, 0.7);
    margin: 0;
}

.btn-outline-light {
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    padding: 12px 24px;
    border-radius: 10px;
    text-decoration: none;
    font-size: 14px;
    white-space: nowrap;
    transition:
        background 0.2s,
        border-color 0.2s;
}

.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.5);
}

.btn-support-secondary {
    background: transparent;
    color: #fff;
    padding: 12px 28px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
    border: 2px solid rgba(255, 255, 255, 0.6);
    transition: border-color 0.2s;
    white-space: nowrap;
}

.btn-support-secondary:hover {
    border-color: #fff;
    color: #fff;
}
/* ---------------------------------------------------- */
/* ============================================================
   IT Services Page — Specific Sections
   ============================================================ */

/* Intro */
.it-intro-inner {
    display: flex;
    align-items: center;
    gap: 48px;
}

.it-intro-text p {
    color: #c5c5c5;
    line-height: 1.9;
    margin-bottom: 12px;
}

.it-intro-icon {
    flex-shrink: 0;
    color: var(--base-color-3);
    opacity: 0.5;
}

/* Contact Cards */
.contact-cards-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.contact-info-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px 20px;
    border: 1px solid rgba(119, 40, 191, 0.09);
    text-align: center;
    transition: box-shadow 0.25s;
}

.contact-info-card:hover {
    box-shadow: 0 8px 28px rgba(119, 40, 191, 0.11);
}

.contact-info-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(
        135deg,
        var(--base-color-3),
        var(--base-color-2)
    );
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    color: #fff;
}

.contact-info-card h4 {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--base-color-1);
    margin-bottom: 6px;
}

.contact-info-card p {
    font-size: 0.88rem;
    color: #636363;
    margin: 0;
    line-height: 1.7;
}
.info-card-link {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--base-color-3);
    text-decoration: none;
    margin-top: auto;
    transition: color 0.2s;
}

.info-card-link:hover {
    color: var(--base-color-2);
}
/* ------------------------------------------------------------------------------- */
/* ---------- Hero ---------- */
.contact-hero {
    background: linear-gradient(
        135deg,
        var(--base-color-1) 0%,
        var(--base-color-2) 100%
    );
}

/* ---------- Info Cards Grid ---------- */
.contact-info-section {
    background: #ffffff;
}

.ct-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.ct-info-card {
    background: #f8f7ff;
    border: 1px solid rgba(var(--base-color-3-rgb, 100, 60, 200), 0.12);
    border-radius: 16px;
    padding: 32px 28px;
    text-align: center;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
    position: relative;
    overflow: hidden;
}

.ct-info-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--base-color-3),
        var(--base-color-2)
    );
    opacity: 0;
    transition: opacity 0.25s ease;
}

.ct-info-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.09);
}

.ct-info-card:hover::before {
    opacity: 1;
}

.ct-info-icon {
    width: 60px;
    height: 60px;
    background: linear-gradient(
        135deg,
        var(--base-color-3),
        var(--base-color-2)
    );
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: #fff;
}

.ct-info-icon svg {
    stroke: #fff;
}

.ct-info-label {
    font-size: 1rem;
    font-weight: 700;
    color: var(--base-color-1);
    margin-bottom: 10px;
}

.ct-info-value {
    font-size: 0.95rem;
    color: var(--font-color-1);
    line-height: 1.8;
    margin-bottom: 6px;
}

.ct-info-value a {
    color: var(--base-color-3);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

.ct-info-value a:hover {
    color: var(--base-color-2);
}

.ct-info-sub {
    font-size: 0.82rem;
    color: #888;
}

.ct-info-sub a {
    color: var(--base-color-3);
    text-decoration: none;
}

/* ---------- Main Section (Form + Map) ---------- */
.bg-light-section2 {
    background: #f5f4fb;
}

.ct-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
}

/* ---------- Form Wrapper ---------- */
.ct-form-wrap,
.ct-map-wrap {
    background: #ffffff;
    border-radius: 20px;
    padding: 40px 36px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.ct-form-header,
.ct-map-header {
    margin-bottom: 32px;
}

/* Badge (مشابه section-badge در style.css) */
.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(var(--base-color-3-rgb, 100, 60, 200), 0.1);
    color: var(--base-color-3);
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 0.82rem;
    font-weight: 600;
}

/* .section-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--base-color-1);
} */

.section-desc {
    font-size: 0.92rem;
    color: #777;
    line-height: 1.9;
    margin-bottom: 0;
}

/* ---------- فرم ---------- */
.ct-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ct-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.ct-field-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ct-label {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--base-color-1);
}

.ct-input-wrap {
    position: relative;
}

.ct-field-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    stroke: #aaa;
    pointer-events: none;
    transition: stroke 0.2s;
}

.ct-textarea-icon {
    top: 16px;
    transform: none;
}

.ct-input {
    width: 100%;
    border: 1.5px solid #e0ddf0;
    border-radius: 10px;
    padding: 12px 44px 12px 16px;
    font-family: var(--font-peyda), sans-serif;
    font-size: 0.9rem;
    color: var(--base-color-1);
    background: #fafafa;
    outline: none;
    transition:
        border-color 0.25s,
        box-shadow 0.25s,
        background 0.25s;
    direction: rtl;
}

.ct-input::placeholder {
    color: #bbb;
    font-size: 0.85rem;
}

.ct-input:focus {
    border-color: var(--base-color-3);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(var(--base-color-3-rgb, 100, 60, 200), 0.1);
}

.ct-input:focus + .ct-field-icon,
.ct-input-wrap:focus-within .ct-field-icon {
    stroke: var(--base-color-3);
}

.ct-textarea {
    resize: vertical;
    min-height: 130px;
    padding-top: 14px;
}

/* دکمه ارسال */
.ct-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(
        135deg,
        var(--base-color-3),
        var(--base-color-2)
    );
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 14px 32px;
    font-family: var(--font-peyda), sans-serif;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition:
        opacity 0.25s,
        transform 0.2s,
        box-shadow 0.25s;
    box-shadow: 0 4px 16px rgba(var(--base-color-3-rgb, 100, 60, 200), 0.3);
}

.ct-submit-btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(var(--base-color-3-rgb, 100, 60, 200), 0.4);
}

.ct-submit-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

/* وضعیت فرم */
.ct-form-status {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 0.9rem;
    font-weight: 500;
}

.ct-status-success {
    background: #edfbf3;
    color: #1a7a45;
    border: 1px solid #a8e6c1;
}

.ct-status-error {
    background: #fff2f2;
    color: #c0392b;
    border: 1px solid #f5c6c6;
}

/* ---------- نقشه ---------- */
.ct-map-container {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    height: 340px;
    margin-bottom: 16px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.ct-map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

.ct-map-overlay-pin {
    position: absolute;
    bottom: 14px;
    right: 14px;
    background: #fff;
    border-radius: 20px;
    padding: 6px 14px 6px 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--base-color-1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.ct-directions-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid var(--base-color-3);
    color: var(--base-color-3);
    background: transparent;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition:
        background 0.2s,
        color 0.2s;
}

.ct-directions-btn:hover {
    background: var(--base-color-3);
    color: #fff;
}
.contact-hero .hero-title {
    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;
}
/* ---------------------------------------------------------- */
.projects-archive .thumb-badges span {
    background: var(--base-color-3);
}
.projects-archive .thumb-card img {
    height: 220px;
    object-fit: cover;
}
.projects-archive .thumb-card h5 {
    color: #222;
}
.projects-archive .thumb-card p {
    color: var(--font-color-1);
}
.projects-archive .thumb-card span.small {
    color: var(--base-color-3);
}
/* ------------------------------------------------------- */
/* ===== Project Single ===== */
.btn-detail {
    font-size: 13px;
    color: var(--base-color-3);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s;
}
.btn-detail:hover {
    gap: 8px;
    color: var(--base-color-3);
}

.project-cover img {
    border-radius: 12px;
    object-fit: cover;
    max-height: 420px;
}

.section-heading {
    font-size: 18px;
    font-weight: 700;
    color: white;
    border-right: 3px solid var(--base-color-3);
    padding-right: 10px;
}

.project-list {
    padding-right: 20px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 2;
}

.stat-box {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.stat-number {
    font-size: 28px;
    font-weight: 700;
    color: var(--base-color-3);
}
.stat-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.project-meta-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 20px;
}
.meta-title {
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.meta-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.meta-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
}
.meta-key {
    color: rgba(255, 255, 255, 0.5);
}
.meta-val {
    font-weight: 500;
}
.status-done {
    color: #4caf50;
    font-size: 13px;
}

.btn-back {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}
.btn-back:hover {
    color: white;
}

.hero-sub {
    color: #d1c4e9;
}
/* ----------------------------------------------------- */
/* ============================================
   Stats Section - Card Style with Icons (Light Theme)
   ============================================ */

.stats-section-cards {
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    width: 100%;
    min-height: 550px;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

/* Optional: اگر می‌خوای پترن خفیف پس‌زمینه داشته باشه */
.stats-section-cards::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image:
        radial-gradient(
            circle at 20% 50%,
            rgba(183, 121, 238, 0.03) 0%,
            transparent 50%
        ),
        radial-gradient(
            circle at 80% 80%,
            rgba(119, 40, 191, 0.03) 0%,
            transparent 50%
        );
    pointer-events: none;
}

.stats-label {
    position: relative;
    z-index: 2;
    color: var(--base-color-1);
    font-weight: 600;
    font-size: 1.1rem;
}

/* Stat Card */
.stat-card-icon {
    background: #ffffff;
    border: 1px solid rgba(183, 121, 238, 0.15);
    border-radius: 24px;
    padding: 2rem 1.5rem;
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    height: 100%;
    min-height: 280px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.stat-card-icon:hover {
    transform: translateY(-8px);
    border-color: rgba(183, 121, 238, 0.3);
    box-shadow: 0 12px 40px rgba(119, 40, 191, 0.15);
}

/* Background Pattern */
.card-background-pattern {
    position: absolute;
    bottom: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(
        circle,
        rgba(183, 121, 238, 0.08) 0%,
        transparent 70%
    );
    border-radius: 50%;
    pointer-events: none;
}

.card-pattern-2 {
    width: 250px;
    height: 150px;
    border-radius: 40% 60% 70% 30%;
    bottom: -30px;
    right: -80px;
    /* background: linear-gradient(
    135deg,
    rgba(119, 40, 191, 0.06) 0%,
    transparent 70%
  ); */
}

.card-pattern-3 {
    background: radial-gradient(
        ellipse,
        rgba(183, 121, 238, 0.06) 0%,
        transparent 60%
    );
    width: 180px;
    height: 180px;
    bottom: -40px;
    right: -60px;
}

.card-pattern-4::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="2" cy="2" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="12" cy="2" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="22" cy="2" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="32" cy="2" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="2" cy="12" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="12" cy="12" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="22" cy="12" r="1" fill="rgba(183,121,238,0.1)"/><circle cx="32" cy="12" r="1" fill="rgba(183,121,238,0.1)"/></svg>');
    background-size: 20px 20px;
    opacity: 0.4;
}

/* Icon Box */
.stat-icon-box {
    width: 64px;
    height: 64px;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.1) 0%,
        rgba(119, 40, 191, 0.08) 100%
    );
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
}

.stat-card-icon:hover .stat-icon-box {
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-3) 100%
    );
    transform: scale(1.05);
}

.stat-icon {
    width: 32px;
    height: 32px;
    color: var(--base-color-3);
    transition: color 0.3s ease;
}

.stat-card-icon:hover .stat-icon {
    color: #ffffff;
}

/* Content */
.stat-content {
    position: relative;
    z-index: 2;
}

.stat-number-large {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-3) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
    line-height: 1;
}

.stat-title {
    color: var(--base-color-1);
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.stat-divider {
    width: 40px;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--base-color-3) 0%,
        var(--base-color-2) 100%
    );
    border-radius: 2px;
    margin-bottom: 0.75rem;
    transition: width 0.3s ease;
}

.stat-card-icon:hover .stat-divider {
    width: 60px;
}

.stat-description {
    color: var(--font-color-1);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

/* ----------------------------------------------------- */
/* ========================================
   بخش چرا ما را انتخاب کنید
======================================== */

.why-choose-us-section {
    background-color: #f7f7f7;
    overflow: hidden;
}

/* هدر بخش */
.section-badge {
    background: rgba(183, 121, 238, 0.1);
    border-radius: 50px;
    color: var(--base-color-3);
    font-weight: 600;
    font-size: 0.9rem;
}

.text-gradient {
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-3) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

/* .text-gradient::after {
  content: "";
  position: absolute;
  bottom: -8px;
  right: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--base-color-2) 0%,
    var(--base-color-3) 100%
  );
  border-radius: 2px;
} */

/* شبکه ویژگی‌ها */
.features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 1000px;
    margin: 0 auto;
    padding: 3rem 0;
}

/* خطوط اتصال */
.connection-lines {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.4;
    z-index: 0;
}

/* آیکن مرکزی */
.center-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}

.center-icon-circle {
    width: 100px;
    height: 100px;
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-4) 100%
    );
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 20px 60px rgba(183, 121, 238, 0.4);
    animation: pulse-glow 3s ease-in-out infinite;
    position: absolute;
    left: -53px;
    /* right: 0; */
    top: 0;
    bottom: 0;
    margin: auto;
}

@keyframes pulse-glow {
    0%,
    100% {
        box-shadow: 0 20px 60px rgba(183, 121, 238, 0.4);
        transform: scale(1);
    }
    50% {
        box-shadow: 0 25px 80px rgba(183, 121, 238, 0.6);
        transform: scale(1.05);
    }
}

/* کارت‌های ویژگی */
.feature-card {
    position: relative;
    background: white;
    border-radius: 20px;
    padding: 2rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    overflow: hidden;
}

.feature-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.05) 0%,
        rgba(119, 40, 191, 0.05) 100%
    );
    opacity: 0;
    transition: opacity 0.4s ease;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 60px rgba(183, 121, 238, 0.25);
}

.feature-card:hover::before {
    opacity: 1;
}

/* شماره ویژگی */
.feature-number {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    font-size: 3rem;
    font-weight: 800;
    color: rgba(183, 121, 238, 0.1);
    line-height: 1;
    transition: all 0.4s ease;
}

.feature-card:hover .feature-number {
    color: rgba(183, 121, 238, 0.2);
    transform: scale(1.1);
}

/* آیکن ویژگی */
.feature-icon {
    width: 70px;
    height: 70px;
    background: linear-gradient(
        135deg,
        rgba(183, 121, 238, 0.1) 0%,
        rgba(119, 40, 191, 0.1) 100%
    );
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    color: var(--base-color-3);
    transition: all 0.4s ease;
}

.feature-card:hover .feature-icon {
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-3) 100%
    );
    color: white;
    transform: rotate(5deg) scale(1.1);
}

/* محتوای ویژگی */
.feature-content h4 {
    color: var(--base-color-1);
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
}

.feature-content p {
    font-size: 0.95rem;
    line-height: 1.7;
}

/* خط جداکننده */
.feature-divider {
    width: 50px;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--base-color-2) 0%,
        var(--base-color-3) 100%
    );
    border-radius: 2px;
    margin-top: 1rem;
    transition: width 0.4s ease;
}

.feature-card:hover .feature-divider {
    width: 80px;
}

/* موقعیت کارت‌ها */
.feature-card-1 {
    grid-column: 2;
    grid-row: 1;
}

.feature-card-2 {
    grid-column: 2;
    grid-row: 2;
}

.feature-card-3 {
    grid-column: 1;
    grid-row: 1;
}

.feature-card-4 {
    grid-column: 1;
    grid-row: 2;
}

/* کارت‌های پایین */
.bottom-feature-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: white;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
    color: var(--base-color-1);
    font-weight: 600;
}

.bottom-feature-card svg {
    color: var(--base-color-3);
    flex-shrink: 0;
}

.bottom-feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(183, 121, 238, 0.2);
}

/* دکمه همکاری */
.btn-partner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 1.5rem;
    background: linear-gradient(
        135deg,
        var(--base-color-2) 0%,
        var(--base-color-4) 100%
    );
    color: white;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(183, 121, 238, 0.3);
}

.btn-partner:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(183, 121, 238, 0.4);
    color: white;
}

.btn-partner svg {
    transition: transform 0.3s ease;
}

.btn-partner:hover svg {
    transform: translateX(-5px);
}

/* ==================== HERO ==================== */
.resume-hero {
    position: relative;
    height: calc(100vh - 100px);
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-bg-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    opacity: 0.35;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to bottom,
            rgba(10, 14, 39, 0.3) 0%,
            rgba(10, 14, 39, 0.95) 100%
        ),
        linear-gradient(to right, rgba(51, 35, 82, 0.4) 0%, transparent 60%);
    z-index: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    padding: 120px 0 80px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(160, 169, 255, 0.12);
    border: 1px solid rgba(160, 169, 255, 0.3);
    backdrop-filter: blur(12px);
    padding: 6px 16px;
    border-radius: 50px;
    font-size: 0.82rem;
    color: var(--primary-light);
    margin-bottom: 24px;
    letter-spacing: 0.03em;
}

.hero-badge a {
    color: inherit;
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.hero-badge a:hover {
    opacity: 1;
}

.hero-badge .sep {
    opacity: 0.4;
    margin: 0 2px;
}

.hero-name {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 900;
    line-height: 1.15;
    margin: 0 0 12px;
    background: linear-gradient(
        135deg,
        #fff 0%,
        var(--primary-light) 60%,
        var(--primary-color) 100%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-position {
    font-size: 1.15rem;
    color: var(--primary-color);
    font-weight: 400;
    opacity: 0.9;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-position::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background: var(--primary-color);
    opacity: 0.6;
}

.hero-contact-chips {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.contact-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(160, 169, 255, 0.2);
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 0.9rem;
    color: #d0d8ff;
    text-decoration: none;
    transition: all 0.25s ease;
    backdrop-filter: blur(8px);
}

.contact-chip:hover {
    background: rgba(160, 169, 255, 0.15);
    border-color: rgba(160, 169, 255, 0.5);
    color: #fff;
    transform: translateY(-2px);
}

.contact-chip .chip-icon {
    font-size: 1rem;
    opacity: 0.8;
}

.hero-scroll-hint {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-muted);
    font-size: 0.82rem;
    opacity: 0.6;
}

.scroll-line {
    width: 40px;
    height: 1px;
    background: var(--text-muted);
    opacity: 0.5;
}

/* ==================== PROFILE CARD (side) ==================== */
.hero-profile-card {
    position: relative;
    z-index: 2;
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.08) 0%,
        rgba(51, 35, 82, 0.2) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.15);
    border-radius: 24px;
    padding: 40px 30px;
    backdrop-filter: blur(20px);
    text-align: center;
    box-shadow:
        0 30px 80px rgba(0, 0, 0, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.profile-avatar-wrap {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
}

.profile-avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(160, 169, 255, 0.4);
    box-shadow:
        0 0 0 8px rgba(160, 169, 255, 0.08),
        0 20px 40px rgba(0, 0, 0, 0.4);
}

.profile-avatar-ring {
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1px dashed rgba(160, 169, 255, 0.3);
    animation: spin 20s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.profile-card-name {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
}

.profile-card-role {
    font-size: 0.88rem;
    color: var(--primary-color);
    margin-bottom: 24px;
    opacity: 0.85;
}

.profile-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 20px;
}

.stat-item {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(160, 169, 255, 0.1);
    border-radius: 12px;
    padding: 14px 10px;
}

.stat-number {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--primary-light);
    display: block;
}

.stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 2px;
    display: block;
}

/* ==================== SECTIONS ==================== */
.resume-body {
    padding: 80px 0;
}

.section-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--primary-color);
    opacity: 0.7;
    margin-bottom: 10px;
}

.section-label::before {
    content: "";
    width: 20px;
    height: 2px;
    background: var(--primary-color);
    border-radius: 2px;
}

.section-heading {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 30px;
}

/* ==================== BIO ==================== */
.bio-card {
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.05) 0%,
        rgba(51, 35, 82, 0.1) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.12);
    border-radius: 20px;
    padding: 40px 48px;
    position: relative;
    overflow: hidden;
}

.bio-card::before {
    content: '"';
    position: absolute;
    top: -10px;
    right: 30px;
    font-size: 8rem;
    color: var(--primary-color);
    opacity: 0.06;
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
}

.bio-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background: radial-gradient(
        circle,
        rgba(160, 169, 255, 0.06) 0%,
        transparent 70%
    );
    pointer-events: none;
}

.bio-accent-line {
    width: 4px;
    height: 100%;
    background: linear-gradient(to bottom, var(--primary-color), transparent);
    border-radius: 4px;
    position: absolute;
    right: 0;
    top: 0;
}

.bio-text {
    font-size: 1.05rem;
    line-height: 2;
    color: #d8e0ff;
    font-weight: 300;
    position: relative;
    z-index: 1;
}

/* ==================== VISION/MISSION ==================== */
.vm-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.vm-card {
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.07) 0%,
        rgba(51, 35, 82, 0.12) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.15);
    border-radius: 20px;
    padding: 36px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.vm-card:hover {
    border-color: rgba(160, 169, 255, 0.35);
    transform: translateY(-4px);
    box-shadow: 0 20px 50px rgba(160, 169, 255, 0.08);
}

.vm-card-icon {
    width: 52px;
    height: 52px;
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.2) 0%,
        rgba(51, 35, 82, 0.3) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.25);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.vm-card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--primary-light);
    margin-bottom: 14px;
}

.vm-card-text {
    font-size: 0.95rem;
    line-height: 1.9;
    color: #c0c8f0;
    font-weight: 300;
}

.vm-card-glow {
    position: absolute;
    top: -40px;
    left: -40px;
    width: 150px;
    height: 150px;
    background: radial-gradient(
        circle,
        rgba(160, 169, 255, 0.08) 0%,
        transparent 70%
    );
    pointer-events: none;
}

/* ==================== VIDEO ==================== */
.video-wrap {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(160, 169, 255, 0.15);
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

.video-wrap::before {
    content: "";
    display: block;
    padding-bottom: 1.25%;
}

.video-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* ==================== DOWNLOAD ==================== */
.download-wrap {
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.08) 0%,
        rgba(51, 35, 82, 0.15) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.15);
    border-radius: 20px;
    padding: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.download-info h4 {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
}

.download-info p {
    font-size: 0.88rem;
    color: var(--text-muted);
    margin: 0;
}

.download-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(135deg, var(--primary-color) 0%, #7b68ee 100%);
    color: #fff;
    padding: 14px 32px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 10px 30px rgba(160, 169, 255, 0.25);
}

.download-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(160, 169, 255, 0.4);
    color: #fff;
}

/* ==================== SIGNATURE ==================== */
.signature-card {
    background: linear-gradient(
        135deg,
        rgba(160, 169, 255, 0.06) 0%,
        rgba(51, 35, 82, 0.12) 100%
    );
    border: 1px solid rgba(160, 169, 255, 0.12);
    border-radius: 20px;
    padding: 40px 48px;
    display: flex;
    align-items: center;
    gap: 28px;
    position: relative;
    overflow: hidden;
}

.signature-card::after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: -30px;
    width: 200px;
    height: 200px;
    background: radial-gradient(
        circle,
        rgba(160, 169, 255, 0.05) 0%,
        transparent 70%
    );
    pointer-events: none;
}

.sig-avatar {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(160, 169, 255, 0.35);
    box-shadow:
        0 0 0 6px rgba(160, 169, 255, 0.07),
        0 10px 30px rgba(0, 0, 0, 0.3);
    flex-shrink: 0;
}

.sig-divider {
    width: 1px;
    height: 70px;
    background: linear-gradient(
        to bottom,
        transparent,
        rgba(160, 169, 255, 0.3),
        transparent
    );
    flex-shrink: 0;
}

.sig-text .label {
    font-size: 0.8rem;
    color: var(--primary-color);
    opacity: 0.7;
    margin-bottom: 4px;
    letter-spacing: 0.05em;
}

.sig-text .name {
    font-size: 1.3rem;
    font-weight: 800;
    background: linear-gradient(135deg, #fff 0%, var(--primary-light) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 4px;
}

.sig-text .role {
    font-size: 0.88rem;
    color: var(--primary-color);
    opacity: 0.75;
}

.sig-icon-wrap {
    margin-right: auto;
    opacity: 0.7;
}

.sig-icon-wrap img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    filter: brightness(1.3) saturate(0.8);
}

/* ==================== DIVIDER ==================== */
.section-divider {
    height: 1px;
    background: linear-gradient(
        to right,
        transparent,
        rgba(160, 169, 255, 0.2),
        transparent
    );
    margin: 60px 0;
}
