
/* styles.css */
/* Design System Variables (Official Brand Identity Colors) */
:root {
    --color-navy: #0D1C38;        /* الأزرق الداكن الرسمي (Primary Navy) */
    --color-grey: #5A5B5D;        /* الرمادي المتوسط الرسمي (Accent Grey) - تم تعميقه لتباين أعلى على الفاتح */
    --color-dark-grey: #2B2C2D;   /* الرمادي الداكن الرسمي للنصوص (Body Text Grey) - تم تعميقه لتباين ممتاز */
    --color-white: #F5F6F8;       /* الأبيض المائل للرصاصي الخفيف لتقليل التباين الحاد */
    
    /* درجات مشتقة متناسقة للتصميم */
    --color-navy-dark: #060E1C;   /* أزرق داكن جداً للخلفيات المظلمة */
    --color-navy-light: #132440;  /* أزرق فاتح للعناصر المرفوعة */
    --color-grey-light: #E8EAEE;  /* رمادي أغمق قليلاً لتباين أفضل مع الخلفية البيضاء المائلة للرمادي */
    --color-grey-text: #a5abb9;   /* رمادي متوسط للنصوص الثانوية - تم تفتيحه لتباين رائع على الكحلي */
    
    /* خطوط اللغات الرسمية من الـ Visual Identity */
    --font-arabic: 'Cairo', sans-serif;
    --font-arabic-display: 'Cairo', sans-serif;      /* لتمثيل خط ITC Handel Gothic Arabic Heavy عبر Cairo Black */
    --font-english: 'Outfit', sans-serif;           /* بديل خط Rochters الرسمي للنصوص والفقرات */
    --font-english-display: 'Orbitron', sans-serif;   /* بديل خط Sui Generis العريض للعناوين والشعارات */
    
    /* إعدادات الحركة والظلال */
    --transition-smooth: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow-premium: 0 10px 30px -10px rgba(7, 16, 31, 0.3);
    --shadow-glow: 0 0 20px rgba(255, 255, 255, 0.05);
    --border-radius: 12px;
}

/* Global Reset & Base Styling */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

/* إدارة اللغات وتطبيق الخطوط الرسمية للـ Identity تلقائياً */
html[lang="ar"] body {
    font-family: var(--font-arabic);
    direction: rtl;
    text-align: right;
}

html[lang="ar"] h1, 
html[lang="ar"] h2, 
html[lang="ar"] h3, 
html[lang="ar"] h4, 
html[lang="ar"] h5, 
html[lang="ar"] h6,
html[lang="ar"] .section-title,
html[lang="ar"] .hero-title {
    font-family: var(--font-arabic-display);
    font-weight: 900; /* Cairo Black لتمثيل ITC Handel Gothic Heavy بشكل دقيق وعريض */
}

html[lang="en"] body {
    font-family: var(--font-english);
    direction: ltr;
    text-align: left;
}

html[lang="en"] h1, 
html[lang="en"] h2, 
html[lang="en"] h3, 
html[lang="en"] h4, 
html[lang="en"] h5, 
html[lang="en"] h6,
html[lang="en"] .section-title,
html[lang="en"] .hero-title,
html[lang="en"] .logo-brand-name,
html[lang="en"] .footer-logo-name {
    font-family: var(--font-english-display);
    font-weight: 800; /* Orbitron ExtraBold لتمثيل Sui Generis العريض والمستقبلي */
    letter-spacing: 1px;
}

body {
    background-color: var(--color-white);
    color: var(--color-dark-grey); /* الرمادي الداكن الرسمي للنصوص #424242 */
    overflow-x: hidden;
    line-height: 1.65;
    transition: var(--transition-smooth);
}

/* Common Typography & Titles */
h1, h2, h3, h4, h5, h6 {
    line-height: 1.2;
    color: var(--color-navy);
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition-smooth);
}

/* Navigation Bar Styling */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(14, 30, 56, 0.08);
    box-shadow: 0 4px 20px rgba(14, 30, 56, 0.04);
    padding: 1rem 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: var(--transition-smooth);
}

.navbar.scrolled {
    padding: 0.7rem 5%;
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 30px rgba(14, 30, 56, 0.08);
}

.logo-container {
    display: flex;
    align-items: center;
    gap: 14px;
}

.logo-img {
    height: 85px; /* تكبير الحجم بدرجة أكبر لتوضيح الشعار الأفقي */
    width: auto;
    /* تم إزالة فلتر الألوان لعرض ألوان الشعار الأصلية بوضوح (الكحلي والرمادي) */
    transition: var(--transition-smooth);
}

.logo-text {
    display: none !important;
}

.logo-brand-name {
    color: var(--color-navy);
    font-size: 1.25rem;
    font-weight: 900;
    letter-spacing: 2px;
    font-family: var(--font-english);
    text-transform: uppercase;
    transition: var(--transition-smooth);
}

.logo-brand-sub {
    color: var(--color-grey);
    font-size: 0.6rem;
    font-weight: 500;
    letter-spacing: 1.5px;
    font-family: var(--font-english);
    text-transform: uppercase;
    transition: var(--transition-smooth);
}

.navbar.scrolled .logo-img {
    height: 65px; /* تكبير الشعار عند النزول للتصفح ليبقى واضحاً */
}

.navbar.scrolled .logo-brand-name {
    font-size: 1.05rem;
}

.navbar.scrolled .logo-brand-sub {
    font-size: 0.52rem;
}

.nav-links {
    display: flex;
    gap: 30px;
    list-style: none;
    align-items: center;
}

.nav-item {
    color: rgba(14, 30, 56, 0.75); /* كحلي خفيف للحالة العادية */
    font-weight: 600;
    position: relative;
    padding: 5px 0;
}

.nav-item:hover, .nav-item.active {
    color: var(--color-navy); /* كحلي كامل عند التمرير أو التنشيط */
}

.nav-item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-navy);
    transition: var(--transition-smooth);
}

.nav-item:hover::after, .nav-item.active::after {
    width: 100%;
}

/* Language and Admin Buttons */
.nav-buttons {
    display: flex;
    align-items: center;
    gap: 15px;
}

.btn-lang {
    background: transparent;
    border: 1.5px solid var(--color-navy);
    color: var(--color-navy);
    padding: 6px 14px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 700;
    transition: var(--transition-smooth);
}

.nav-toggle {
    display: none;
}

.btn-lang:hover {
    background-color: var(--color-navy);
    color: var(--color-white);
    border-color: var(--color-navy);
}

.btn-primary {
    background-color: var(--color-navy);
    color: var(--color-white);
    padding: 14px 28px;
    border-radius: var(--border-radius);
    font-weight: 700;
    border: 2px solid var(--color-navy);
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(14, 30, 56, 0.15);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-smooth);
}

.btn-primary:hover {
    background-color: var(--color-grey);
    border-color: var(--color-grey);
    color: var(--color-white);
    box-shadow: 0 8px 25px rgba(107, 114, 128, 0.3);
    transform: translateY(-3px);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Tasteful Scroll Reveal System */
.reveal {
    opacity: 0;
    transform: translateY(35px);
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-stagger > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-stagger.active > * {
    opacity: 1;
    transform: translateY(0);
}

.reveal-stagger.active > *:nth-child(1) { transition-delay: 0.1s; }
.reveal-stagger.active > *:nth-child(2) { transition-delay: 0.2s; }
.reveal-stagger.active > *:nth-child(3) { transition-delay: 0.3s; }
.reveal-stagger.active > *:nth-child(4) { transition-delay: 0.4s; }
.reveal-stagger.active > *:nth-child(5) { transition-delay: 0.5s; }
.reveal-stagger.active > *:nth-child(6) { transition-delay: 0.6s; }
.reveal-stagger.active > *:nth-child(7) { transition-delay: 0.7s; }
.reveal-stagger.active > *:nth-child(8) { transition-delay: 0.8s; }
.reveal-stagger.active > *:nth-child(9) { transition-delay: 0.9s; }


/* Hero Section */
.hero {
    min-height: 100vh;
    position: relative;
    background-color: var(--color-navy-dark);
    display: flex;
    align-items: center;
    /* padding-top to account for navbar, padding-bottom to prevent stats overlap */
    padding: 120px 5% 110px;
    overflow: hidden;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* تم تخفيف التظليل بشكل كبير لزيادة وضوح الصورة وتخفيف الكونتراست */
    background: radial-gradient(circle at 85% 30%, rgba(13, 28, 56, 0.05) 0%, rgba(6, 14, 28, 0.55) 85%),
                linear-gradient(135deg, rgba(6, 14, 28, 0.3) 0%, rgba(13, 28, 56, 0.4) 100%);
    z-index: 1;
}

.hero-bg-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

/* انعكاس فوري أفقياً بدون أي انتقالات حركية مشوهة عند تحويل اللغة للعربية */
html[lang="ar"] .hero-bg-wrapper {
    transform: scaleX(-1);
}

.hero-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.92; /* زيادة الوضوح التام للصورة مع تقليل التعتيم المباشر */
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 850px;
    color: var(--color-white);
    animation: fadeInUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.hero-tagline {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 25px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
}

.hero-tagline::before {
    content: '';
    display: inline-block;
    width: 35px;
    height: 2px;
    background-color: var(--color-grey);
}

.hero-title {
    font-size: 3.2rem;
    font-weight: 800;
    color: var(--color-white);
    margin-bottom: 25px;
    line-height: 1.3; /* Adjusted for Cairo Arabic font clarity */
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

.hero-desc {
    font-size: 1.25rem;
    color: #E5E7EB; /* Brightened for premium contrast */
    margin-bottom: 45px;
    max-width: 680px;
    line-height: 1.8;
}

.hero .btn-primary {
    background-color: var(--color-white);
    color: var(--color-navy);
    border-color: var(--color-white);
    box-shadow: 0 8px 20px rgba(255, 255, 255, 0.1);
}

.hero .btn-primary:hover {
    background-color: var(--color-grey);
    border-color: var(--color-grey);
    color: var(--color-white);
    box-shadow: 0 8px 25px rgba(107, 114, 128, 0.3);
}

.hero-buttons {
    display: flex;
    gap: 20px;
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-white);
    border: 2px solid rgba(255, 255, 255, 0.3);
    padding: 14px 28px;
    border-radius: var(--border-radius);
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: var(--transition-smooth);
}

.btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: var(--color-white);
    transform: translateY(-3px);
}




/* Section Header Styling */
.section-header {
    text-align: center;
    margin-bottom: 60px;
    padding-top: 100px;
}

.section-tag {
    font-size: 0.9rem;
    color: var(--color-grey);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: inline-block;
    margin-bottom: 10px;
}

.section-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--color-navy);
    position: relative;
    padding-bottom: 15px;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background-color: var(--color-navy);
}

/* Responsive Layout changes */
@media (max-width: 992px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-title {
        font-size: 2.8rem;
    }
}

@media (max-width: 768px) {
    .navbar {
        padding: 1rem 5%;
    }
    .nav-toggle {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 26px;
        height: 18px;
        background: transparent;
        border: none;
        cursor: pointer;
        z-index: 1001;
        padding: 0;
        margin-inline-start: 15px;
    }
    
    .hamburger-bar {
        width: 100%;
        height: 3px;
        background-color: var(--color-navy);
        border-radius: 4px;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        transform-origin: left center;
    }
    
    .nav-links {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: -100%; /* LTR default */
        left: auto;
        width: 75%;
        height: 100vh;
        background: rgba(13, 28, 56, 0.98);
        backdrop-filter: blur(15px);
        padding: 100px 10% 40px 10%;
        gap: 25px;
        transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.25);
        z-index: 1000;
        align-items: flex-start;
    }
    
    .nav-links.active {
        right: 0;
    }

    /* اتجاه السحب للغة العربية (من اليسار لتغطية الهامبرغر الكحلي بالخلفية الداكنة) */
    html[dir="rtl"] .nav-links {
        right: auto;
        left: -100%;
        transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.25);
    }

    html[dir="rtl"] .nav-links.active {
        left: 0;
    }
    
    .nav-links li {
        width: 100%;
        list-style: none;
    }
    
    .nav-links li a {
        color: var(--color-white) !important;
        font-size: 1.2rem;
        font-weight: 600;
        width: 100%;
        display: block;
        padding: 10px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    
    .nav-links li a:hover,
    .nav-links li a.active {
        color: var(--color-gold) !important;
    }
    
    .nav-toggle.active .hamburger-bar:nth-child(1) {
        transform: rotate(45deg) translate(2px, -2px);
        background-color: var(--color-white);
    }
    
    .nav-toggle.active .hamburger-bar:nth-child(2) {
        opacity: 0;
        transform: translateX(-20px);
    }
    
    .nav-toggle.active .hamburger-bar:nth-child(3) {
        transform: rotate(-45deg) translate(2px, 2px);
        background-color: var(--color-white);
    }
    .hero-title {
        font-size: 2.2rem;
    }
    .stats-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Compact floating state + editorial partners logo wall
   ========================================================= */
@media (min-width: 769px) {
    .navbar.scrolled {
        top: 8px;
        left: max(24px, calc((100vw - 1040px) / 2));
        right: max(24px, calc((100vw - 1040px) / 2));
        min-height: 58px;
        padding: 4px 9px 4px 15px;
        border-radius: 18px;
        border-color: rgba(255, 255, 255, .64);
        background: rgba(255, 255, 255, .88);
        box-shadow: 0 10px 28px rgba(6, 14, 28, .14);
    }

    .navbar.scrolled .logo-img { height: 42px; }
    .navbar.scrolled .nav-links { padding: 3px; }
    .navbar.scrolled .nav-item { padding: 6px 12px; font-size: .82rem; }
    .navbar.scrolled .btn-lang { padding: 7px 14px; font-size: .82rem; }
}

/* =========================================================
   Scroll state V9 - only the inner navigation remains
   ========================================================= */
.nav-compact-brand { display: none; }

@media (min-width: 769px) {
    .navbar.scrolled {
        top: 10px;
        left: 50%;
        right: auto;
        width: auto;
        min-height: 0;
        padding: 0;
        gap: 8px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: translateX(-50%) !important;
    }

    .navbar.scrolled::before { display: none; }
    .navbar.scrolled .logo-container { display: none; }

    .navbar.scrolled .nav-compact-brand {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        height: 48px;
        padding: 0 16px;
        border: 1px solid rgba(255,255,255,.16);
        border-radius: 999px;
        color: var(--color-white);
        background: rgba(13,28,56,.92);
        box-shadow: 0 10px 28px rgba(6,14,28,.18);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        white-space: nowrap;
    }

    .nav-compact-mark {
        width: 9px;
        height: 20px;
        border-radius: 2px;
        background: linear-gradient(180deg, #f5f6f8, #8f98aa);
        box-shadow: 5px 5px 0 -1px rgba(245,246,248,.55);
        transform: skewY(-18deg);
    }

    .nav-compact-name {
        font-family: var(--font-english-display);
        font-size: .73rem;
        font-weight: 800;
        letter-spacing: .07em;
    }

    .navbar.scrolled .nav-links {
        height: 48px;
        padding: 4px;
        gap: 2px;
        border: 1px solid rgba(13,28,56,.08);
        background: rgba(255,255,255,.92);
        box-shadow: 0 10px 30px rgba(6,14,28,.15);
        backdrop-filter: blur(18px) saturate(145%);
        -webkit-backdrop-filter: blur(18px) saturate(145%);
    }

    .navbar.scrolled .nav-item {
        padding: 7px 13px;
        font-size: .8rem;
    }

    .navbar.scrolled .btn-lang {
        height: 48px;
        min-width: 74px;
        padding: 0 14px;
        border: 1px solid rgba(13,28,56,.08);
        color: var(--color-navy);
        background: rgba(255,255,255,.92);
        box-shadow: 0 10px 28px rgba(6,14,28,.15);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .navbar.scrolled .btn-lang:hover {
        color: var(--color-white);
        background: var(--color-navy);
    }
}

.partners-logo-wall .partner-card:nth-child(-n+6) {
    background: rgba(255,255,255,.82);
}

.partners-logo-wall .partner-card:nth-child(-n+6) .partner-logo-img {
    height: 70px;
    max-width: 156px;
    opacity: .86;
    filter: grayscale(1) saturate(0) contrast(1.12);
}

@media (max-width: 600px) {
    .partners-logo-wall .partner-card:nth-child(-n+3) .partner-logo-img {
        height: 54px;
        max-width: 104px;
    }
}

.home-flow .partners-section {
    padding: 105px 5% 110px;
    background: #f7f8fa;
    border-block: 1px solid rgba(13, 28, 56, .07);
}

.home-flow .partners-section::before {
    background-image:
        linear-gradient(rgba(13,28,56,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,28,56,.025) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.partners-wall-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.partners-logo-wall {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-top: 1px solid rgba(13,28,56,.1);
    border-inline-start: 1px solid rgba(13,28,56,.1);
    background: rgba(255,255,255,.55);
}

.partners-logo-wall .partner-card {
    min-width: 0;
    width: auto;
    height: 118px;
    padding: 22px 18px;
    border: 0;
    border-radius: 0;
    border-inline-end: 1px solid rgba(13,28,56,.1);
    border-bottom: 1px solid rgba(13,28,56,.1);
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: default;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .6s var(--motion-ease), transform .7s var(--motion-ease),
                background-color .35s ease;
    transition-delay: calc(var(--partner-index, 0) * 35ms);
}

.partners-logo-wall.active .partner-card {
    opacity: 1;
    transform: translateY(0);
}

.partners-logo-wall .partner-card::after { display: none; }
.partners-logo-wall .partner-card:hover {
    transform: translateY(0) !important;
    background: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(13,28,56,.14) !important;
}

.partners-logo-wall .partner-logo-img {
    width: 100%;
    height: 62px;
    max-width: 142px;
    object-fit: contain;
    opacity: .72;
    filter: grayscale(1) saturate(0) contrast(1.05);
    transition: opacity .35s ease, filter .35s ease, transform .45s var(--motion-ease);
}

.partners-logo-wall .partner-card:hover .partner-logo-img {
    opacity: 1;
    filter: grayscale(0) saturate(1) contrast(1);
    transform: scale(1.055);
}

.partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+19) { display: none; }

.partners-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 34px;
    padding: 11px 22px;
    border: 1px solid rgba(13,28,56,.18);
    border-radius: 999px;
    color: var(--color-navy);
    background: rgba(255,255,255,.78);
    font: inherit;
    font-size: .88rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform .3s var(--motion-ease), color .3s ease,
                background-color .3s ease, box-shadow .3s ease;
}

.partners-toggle:hover {
    color: var(--color-white);
    background: var(--color-navy);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(13,28,56,.15);
}

@media (max-width: 900px) {
    .partners-logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+17) { display: none; }
}

@media (max-width: 600px) {
    .home-flow .partners-section { padding: 80px 5%; }
    .partners-logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .partners-logo-wall .partner-card { height: 92px; padding: 16px 12px; }
    .partners-logo-wall .partner-logo-img { height: 48px; max-width: 96px; }
    .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+13) { display: none; }
}

/* Footer Section */
.footer {
    background-color: var(--color-navy-dark);
    color: var(--color-white);
    padding: 60px 5% 30px 5%;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    margin-top: 80px;
    position: relative;
}

/* ============================================
   Stats Section - Glassmorphic Dark Deck
   ============================================ */
.stats-section {
    background: linear-gradient(135deg, var(--color-navy) 0%, var(--color-navy-dark) 100%);
    padding: 50px 5%;
    position: relative;
    z-index: 3;
    margin-top: 60px;
    margin-bottom: 20px;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(6, 14, 28, 0.4);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.stats-section::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.03) 0%, transparent 60%);
    pointer-events: none;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    position: relative;
    z-index: 2;
}

.stat-card {
    position: relative;
    padding: 15px 10px;
    transition: var(--transition-smooth);
}

.stat-card:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 20%;
    left: 0;
    width: 1px;
    height: 60%;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.15), transparent);
}

html[lang="en"] .stat-card:not(:last-child)::after {
    left: auto;
    right: 0;
}

.stat-num {
    font-size: 3.5rem;
    font-weight: 900;
    margin-bottom: 5px;
    color: var(--color-white);
    line-height: 1;
    letter-spacing: -1px;
}

.stat-label {
    font-size: 0.88rem;
    color: var(--color-grey-text);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .stat-card:nth-child(even)::after {
        display: none;
    }
}
@media (max-width: 580px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .stat-card::after {
        display: none !important;
    }
}

/* ============================================
   About Section Layered Image Composition
   ============================================ */
.about-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 80px;
    align-items: center;
}

.about-features {
    margin-top: 30px;
    display: grid;
    gap: 18px;
}

.about-feat-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.about-feat-bullet {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: rgba(13, 28, 56, 0.08);
    color: var(--color-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 4px;
}

.about-feat-text strong {
    display: block;
    font-size: 1.05rem;
    color: var(--color-navy);
    margin-bottom: 2px;
}

.about-feat-text p {
    font-size: 0.93rem;
    color: var(--color-dark-grey);
    margin: 0;
}

.about-composition {
    position: relative;
    width: 100%;
    height: 450px;
}

.about-comp-grid {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 120px;
    height: 120px;
    background-image: radial-gradient(rgba(13, 28, 56, 0.15) 1.5px, transparent 1.5px);
    background-size: 12px 12px;
    z-index: 1;
}

html[lang="en"] .about-comp-grid {
    right: auto;
    left: -20px;
}

.about-img-main-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    width: 85%;
    height: 85%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(6, 14, 28, 0.25);
    border: 1px solid rgba(13, 28, 56, 0.05);
    z-index: 2;
}

html[lang="en"] .about-img-main-wrapper {
    right: auto;
    left: 0;
}

.about-img-main {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-img-sub-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 50%;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 40px -8px rgba(6, 14, 28, 0.3);
    border: 4px solid var(--color-white);
    z-index: 3;
    transition: var(--transition-smooth);
}

html[lang="en"] .about-img-sub-wrapper {
    left: auto;
    right: 0;
}

.about-img-sub-wrapper:hover {
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 30px 50px -8px rgba(6, 14, 28, 0.4);
}

.about-img-sub {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about-floating-badge {
    position: absolute;
    bottom: 25%;
    right: -25px;
    background: rgba(13, 28, 56, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 16px 20px;
    color: var(--color-white);
    z-index: 4;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    gap: 12px;
    animation: floatingBadge 3s infinite alternate ease-in-out;
}

html[lang="en"] .about-floating-badge {
    right: auto;
    left: -25px;
}

@keyframes floatingBadge {
    0% { transform: translateY(0); }
    100% { transform: translateY(-8px); }
}

.about-badge-icon {
    font-size: 2.2rem;
    line-height: 1;
}

.about-badge-text strong {
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--color-white);
}

.about-badge-text span {
    font-size: 0.75rem;
    color: var(--color-grey-text);
}

/* Keep the founding year readable inside the navy badge.
   This must override the light About-section heading colour rule below. */
.home-flow .about-section .about-floating-badge .about-badge-text strong {
    color: #ffffff !important;
    font-family: var(--font-english-display);
    font-size: 1.35rem;
    line-height: 1.15;
    letter-spacing: 0.04em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.home-flow .about-section .about-floating-badge .about-badge-text span {
    color: rgba(255, 255, 255, 0.78) !important;
    font-weight: 600;
}

@media (max-width: 992px) {
    .about-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .about-composition {
        height: 380px;
        max-width: 500px;
        margin: 0 auto;
    }
}

/* ============================================
   Services Section Styles - Redesigned V2
   ============================================ */
.services-section {
    background: linear-gradient(180deg, var(--color-grey-light) 0%, #EAEAEF 100%);
    padding: 100px 5%;
}

.services-intro {
    max-width: 820px;
    margin: 0 auto 60px auto;
    text-align: center;
    font-size: 1.15rem;
    color: var(--color-dark-grey);
    line-height: 1.85;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin-top: 40px;
}

.service-card {
    background-color: var(--color-white);
    border-radius: 16px;
    padding: 40px 32px;
    border: 1px solid rgba(13, 28, 56, 0.05);
    box-shadow: 0 4px 20px rgba(13, 28, 56, 0.02);
    transition: var(--transition-smooth);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--color-navy) 0%, var(--color-grey) 100%);
    transform: scaleX(0);
    transform-origin: right;
    transition: var(--transition-smooth);
}

html[lang="en"] .service-card::before {
    transform-origin: left;
}

.service-card:hover::before {
    transform: scaleX(1);
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(13, 28, 56, 0.12);
    border-color: rgba(13, 28, 56, 0.1);
}

.service-icon-wrapper {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    background-color: rgba(13, 28, 56, 0.05);
    color: var(--color-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
    transition: var(--transition-smooth);
}

.service-card:hover .service-icon-wrapper {
    background-color: var(--color-navy);
    color: var(--color-white);
    transform: scale(1.08) rotate(3deg);
}

.service-svg-icon {
    width: 32px;
    height: 32px;
    stroke-width: 1.8;
}

.service-card-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--color-navy);
    margin-bottom: 12px;
}

.service-card-desc {
    font-size: 0.93rem;
    color: var(--color-dark-grey);
    line-height: 1.7;
}

@media (max-width: 1024px) {
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}

/* ============================================
   Alternating Backgrounds & Cinematic Layout
   ============================================ */
.about-section {
    background-color: var(--color-grey-light) !important;
}

.partners-section {
    background: radial-gradient(circle at 50% 50%, #ffffff 0%, #f8fafc 100%);
    position: relative;
    padding: 85px 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(13, 28, 56, 0.05);
}
.partners-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(13, 28, 56, 0.03) 1.2px, transparent 1.2px);
    background-size: 24px 24px;
    pointer-events: none;
    z-index: 1;
}
.partners-section * {
    position: relative;
    z-index: 2;
}

/* ============================================
   VMV Section V2 - Redesigned (Stacked Cards)
   ============================================ */
.vmv-section-v2 {
    background: linear-gradient(170deg, #060e1c 0%, var(--color-navy-dark) 40%, #0c1a33 100%);
    padding: 100px 5%;
    position: relative;
    overflow: hidden;
}

.vmv-v2-header {
    text-align: center;
    margin-bottom: 60px;
}

.vmv-v2-header .section-tag {
    color: var(--color-grey-text) !important;
}

.vmv-v2-header .section-title {
    color: var(--color-white) !important;
}

.vmv-v2-cards {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.vmv-v2-card {
    display: flex;
    align-items: stretch;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.45s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

/* Accent border on the side - changes color per card */
.vmv-v2-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 4px;
    height: 100%;
    border-radius: 0 16px 16px 0;
    transition: width 0.4s ease;
}

html[lang="en"] .vmv-v2-card::before {
    right: auto;
    left: 0;
    border-radius: 16px 0 0 16px;
}

.vmv-v2-card[data-accent="mission"]::before {
    background: linear-gradient(180deg, #3b82f6, #1d4ed8);
}
.vmv-v2-card[data-accent="vision"]::before {
    background: linear-gradient(180deg, #10b981, #059669);
}
.vmv-v2-card[data-accent="values"]::before {
    background: linear-gradient(180deg, #f59e0b, #d97706);
}

.vmv-v2-card:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateX(-6px);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35);
    border-color: rgba(255, 255, 255, 0.12);
}

html[lang="en"] .vmv-v2-card:hover {
    transform: translateX(6px);
}

.vmv-v2-card:hover::before {
    width: 6px;
}

/* Ordinal number */
.vmv-v2-card-ordinal {
    font-size: 5rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.04);
    min-width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    user-select: none;
    transition: color 0.4s ease;
}

.vmv-v2-card:hover .vmv-v2-card-ordinal {
    color: rgba(255, 255, 255, 0.09);
}

/* Card body */
.vmv-v2-card-body {
    flex: 1;
    padding: 36px 40px 36px 0;
}

html[lang="en"] .vmv-v2-card-body {
    padding: 36px 0 36px 40px;
}

.vmv-v2-card-icon-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
}

.vmv-v2-icon {
    font-size: 1.6rem;
}

.vmv-v2-card-label {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: var(--color-grey-text);
}

.vmv-v2-card-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--color-white);
    margin-bottom: 14px;
}

.vmv-v2-card-text {
    font-size: 1.08rem;
    line-height: 1.85;
    color: #cbd5e1;
}

/* Values chips inside the values card */
.vmv-v2-values-chips {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top: 8px;
}

.vmv-v2-chip {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 18px 16px;
    transition: all 0.35s ease;
}

.vmv-v2-chip:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

/* Last chip spans full width if odd count */
.vmv-v2-chip:last-child:nth-child(odd) {
    grid-column: 1 / -1;
}

.vmv-v2-chip-icon {
    font-size: 1.4rem;
    flex-shrink: 0;
    margin-top: 2px;
}

.vmv-v2-chip strong {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-white);
    margin-bottom: 4px;
}

.vmv-v2-chip p {
    font-size: 0.88rem;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .vmv-v2-card {
        flex-direction: column;
    }
    .vmv-v2-card-ordinal {
        min-width: unset;
        font-size: 3.5rem;
        padding: 20px 0 0 0;
    }
    .vmv-v2-card-body {
        padding: 20px 24px 30px 24px;
    }
    html[lang="en"] .vmv-v2-card-body {
        padding: 20px 24px 30px 24px;
    }
    .vmv-v2-values-chips {
        grid-template-columns: 1fr;
    }
    .vmv-v2-card::before {
        top: 0;
        right: 0;
        left: 0;
        width: 100% !important;
        height: 4px;
        border-radius: 16px 16px 0 0;
    }
    html[lang="en"] .vmv-v2-card::before {
        right: 0;
        left: 0;
        border-radius: 16px 16px 0 0;
    }
    .vmv-v2-card:hover {
        transform: translateY(-4px) !important;
    }
}

/* ============================================
   Why Choose Us Section V2 - Redesigned
   ============================================ */
.why-us-section-v2 {
    background: linear-gradient(180deg, var(--color-navy-dark) 0%, #0a1628 100%);
    padding: 100px 5%;
}

.why-us-v2-header {
    text-align: center;
    margin-bottom: 60px;
}

.why-us-v2-header .section-tag {
    color: var(--color-grey-text) !important;
}

.why-us-v2-header .section-title {
    color: var(--color-white) !important;
}

.why-us-v2-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.why-us-v2-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 36px 28px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.45s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Top accent stripe */
.why-us-v2-card-stripe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    transition: height 0.4s ease;
}

.why-us-v2-card[data-color="safety"] .why-us-v2-card-stripe {
    background: linear-gradient(90deg, #3b82f6, #60a5fa);
}
.why-us-v2-card[data-color="quality"] .why-us-v2-card-stripe {
    background: linear-gradient(90deg, #f59e0b, #fbbf24);
}
.why-us-v2-card[data-color="time"] .why-us-v2-card-stripe {
    background: linear-gradient(90deg, #10b981, #34d399);
}
.why-us-v2-card[data-color="experience"] .why-us-v2-card-stripe {
    background: linear-gradient(90deg, #8b5cf6, #a78bfa);
}

.why-us-v2-card:hover {
    background: rgba(255, 255, 255, 0.07);
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.12);
}

.why-us-v2-card:hover .why-us-v2-card-stripe {
    height: 5px;
}

.why-us-v2-card .service-icon-wrapper {
    margin: 0 auto 20px auto;
    width: 60px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-smooth);
}

.why-us-v2-card[data-color="safety"] .service-icon-wrapper { color: #60a5fa; }
.why-us-v2-card[data-color="quality"] .service-icon-wrapper { color: #fbbf24; }
.why-us-v2-card[data-color="time"] .service-icon-wrapper { color: #34d399; }
.why-us-v2-card[data-color="experience"] .service-icon-wrapper { color: #a78bfa; }

.why-us-v2-card:hover .service-icon-wrapper {
    color: var(--color-white);
    transform: scale(1.1) rotate(3deg);
}

.why-us-v2-card[data-color="safety"]:hover .service-icon-wrapper { background-color: #1d4ed8; }
.why-us-v2-card[data-color="quality"]:hover .service-icon-wrapper { background-color: #d97706; }
.why-us-v2-card[data-color="time"]:hover .service-icon-wrapper { background-color: #059669; }
.why-us-v2-card[data-color="experience"]:hover .service-icon-wrapper { background-color: #6d28d9; }

.why-us-v2-card-title {
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--color-white);
    margin-bottom: 12px;
}

.why-us-v2-card-desc {
    font-size: 0.93rem;
    color: #94a3b8;
    line-height: 1.65;
}

@media (max-width: 900px) {
    .why-us-v2-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .why-us-v2-grid {
        grid-template-columns: 1fr;
    }
}



.marquee-wrapper {
    position: relative;
    width: 100%;
    padding: 0 60px; /* تفريغ مساحة للأزرار في الأطراف حتى لا تمر تحتها الشعارات */
}
.marquee-container {
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 30px 0;
    background-color: transparent;
    direction: ltr; /* Force LTR to ensure seamless uniform scrolling direction */
}
.marquee-track {
    display: flex;
    gap: 30px;
    width: max-content;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
/* Floating Navigation Buttons */
.marquee-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(13, 28, 56, 0.1);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(13, 28, 56, 0.08);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 10;
    color: var(--color-navy);
    font-size: 1.2rem;
    font-weight: bold;
    direction: ltr !important; /* يمنع المتصفح من عكس شكل السهم في النسخة العربية */
}
.marquee-nav-btn:hover {
    background: var(--color-navy);
    color: var(--color-white);
    border-color: var(--color-navy);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 10px 25px rgba(13, 28, 56, 0.2);
}
.marquee-nav-btn.prev-btn {
    left: 5px;
}
.marquee-nav-btn.next-btn {
    right: 5px;
}
.partner-card {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(13, 28, 56, 0.05);
    border-radius: 16px;
    padding: 24px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    min-width: 220px;
    height: 165px;
    box-shadow: 0 4px 20px rgba(13, 28, 56, 0.01), 
                0 2px 5px rgba(13, 28, 56, 0.01);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
/* Line style at the top of the card on hover */
.partner-card::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--color-navy) 0%, var(--color-grey) 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.35s ease;
}
.partner-card:hover::after {
    transform: scaleX(1);
}
.partner-card:hover {
    border-color: rgba(13, 28, 56, 0.15);
    box-shadow: 0 15px 35px rgba(13, 28, 56, 0.06),
                0 5px 15px rgba(13, 28, 56, 0.03);
    transform: translateY(-6px);
    background: #ffffff;
}
.partner-logo-img {
    height: 65px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.partner-card:hover .partner-logo-img {
    transform: scale(1.08);
}
.partner-name {
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--color-navy);
    background: rgba(13, 28, 56, 0.03);
    padding: 6px 14px;
    border-radius: 20px;
    border: 1px solid rgba(13, 28, 56, 0.02);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 190px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.partner-card:hover .partner-name {
    color: var(--color-white);
    background: var(--color-navy);
    border-color: var(--color-navy);
    box-shadow: 0 4px 10px rgba(13, 28, 56, 0.15);
}



/* ============================================
   Footer - Premium Redesigned (4-column grid)
   ============================================ */
.footer {
    background-color: var(--color-navy-dark);
    color: var(--color-white);
    padding: 70px 5% 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    margin-top: 80px;
    position: relative;
}

/* 4-column responsive grid */
.footer-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
    gap: 50px;
    padding-bottom: 50px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

/* Brand column */
.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer-logo-link {
    display: flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    transition: var(--transition-smooth);
}

.footer-logo-link:hover {
    opacity: 0.85;
}

.footer-logo-img {
    height: 85px; /* تكبير الشعار في الفوتر لمزيد من الوضوح والفخامة */
    width: auto;
    transition: var(--transition-smooth);
}

.footer-logo-text-block {
    display: none !important;
}

.footer-logo-name {
    font-family: var(--font-english);
    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: 3px;
    color: var(--color-white);
    text-transform: uppercase;
}

.footer-logo-sub {
    font-family: var(--font-english);
    font-size: 0.62rem;
    font-weight: 400;
    letter-spacing: 2px;
    color: var(--color-grey-text);
    text-transform: uppercase;
}

.footer-desc {
    color: var(--color-grey-text);
    font-size: 0.95rem;
    line-height: 1.75;
    max-width: 280px;
}

/* Column styles */
.footer-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer-col-title {
    color: var(--color-white);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    position: relative;
    padding-bottom: 12px;
}

.footer-col-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 32px;
    height: 2px;
    background-color: var(--color-grey);
    border-radius: 2px;
}

html[lang="en"] .footer-col-title::after {
    right: auto;
    left: 0;
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-link {
    color: var(--color-grey-text);
    font-size: 0.92rem;
    transition: var(--transition-smooth);
    text-decoration: none;
    display: inline-block;
}

.footer-link:hover {
    color: var(--color-white);
    transform: translateX(-4px);
}

html[lang="en"] .footer-link:hover {
    transform: translateX(4px);
}

/* Contact list */
.footer-contact-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--color-grey-text);
    font-size: 0.9rem;
    line-height: 1.55;
}

.footer-contact-icon {
    font-size: 1rem;
    flex-shrink: 0;
    margin-top: 1px;
}

/* Footer bottom copyright bar */
.footer-bottom {
    text-align: center;
    padding: 22px 0;
    color: rgba(142, 147, 158, 0.6);
    font-size: 0.85rem;
    letter-spacing: 0.3px;
}

/* Footer responsive */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 600px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .footer-desc {
        max-width: 100%;
    }
}

/* =========================================================
   Motion System V5 - lightweight, modern and cPanel-friendly
   ========================================================= */
:root {
    --motion-ease: cubic-bezier(.16, 1, .3, 1);
    --motion-ease-soft: cubic-bezier(.22, 1, .36, 1);
}

.scroll-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 11000;
    height: 3px;
    background: linear-gradient(90deg, #8f98aa, #0d1c38 55%, #5a5b5d);
    transform: scaleX(0);
    transform-origin: left center;
    pointer-events: none;
    will-change: transform;
}

html[dir="rtl"] .scroll-progress { transform-origin: right center; }

.motion-enabled .navbar {
    opacity: 0;
    transform: translateY(-18px);
}

.motion-ready .navbar {
    opacity: 1;
    transform: translateY(0);
    transition: padding .45s var(--motion-ease), background-color .45s ease,
                box-shadow .45s ease, opacity .7s var(--motion-ease), transform .7s var(--motion-ease);
}

.hero-bg-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.08) 48%, transparent 66%);
    transform: translateX(-125%);
    pointer-events: none;
    z-index: 2;
}

.motion-ready .hero-bg-img {
    animation: heroImageSettle 1.9s var(--motion-ease) both;
}

.motion-ready .hero-bg-wrapper::after {
    animation: heroLightSweep 1.45s .25s var(--motion-ease-soft) both;
}

.motion-enabled .hero-title,
.motion-enabled .hero-desc,
.motion-enabled .hero-btns {
    opacity: 0;
    transform: translateY(32px);
}

.motion-ready .hero-title,
.motion-ready .hero-desc,
.motion-ready .hero-btns {
    animation: heroContentIn .9s var(--motion-ease) both;
}

.motion-ready .hero-title { animation-delay: .18s; }
.motion-ready .hero-desc { animation-delay: .34s; }
.motion-ready .hero-btns { animation-delay: .5s; }

@keyframes heroImageSettle {
    from { transform: scale(1.09); filter: saturate(.78) contrast(1.08); }
    to { transform: scale(1); filter: saturate(1) contrast(1); }
}

@keyframes heroLightSweep {
    from { transform: translateX(-125%); }
    to { transform: translateX(125%); }
}

@keyframes heroContentIn {
    from { opacity: 0; transform: translateY(32px); }
    to { opacity: 1; transform: translateY(0); }
}

.reveal {
    opacity: 0;
    transform: translate3d(var(--reveal-x, 0), 38px, 0) scale(.985);
    filter: blur(5px);
    transition: opacity .85s var(--motion-ease), transform 1s var(--motion-ease),
                filter .7s ease;
}

.reveal.active {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

.reveal-stagger > * {
    opacity: 0;
    transform: translate3d(0, 34px, 0) scale(.975);
    filter: blur(4px);
    transition: opacity .72s var(--motion-ease), transform .86s var(--motion-ease),
                filter .58s ease;
    transition-delay: calc(var(--reveal-index, 0) * 75ms);
}

.reveal-stagger.active > * {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
}

.section-header .section-tag,
.why-us-v2-header .section-tag {
    position: relative;
    overflow: hidden;
}

.section-header .section-tag::after,
.why-us-v2-header .section-tag::after {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 7px;
    background: currentColor;
    opacity: .32;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .8s .18s var(--motion-ease);
}

.reveal.active .section-tag::after,
.reveal.active .why-us-v2-header .section-tag::after {
    transform: scaleX(1);
}

.btn-primary,
.btn-secondary,
.btn-lang {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.btn-primary::after,
.btn-secondary::after,
.btn-lang::after {
    content: '';
    position: absolute;
    inset: -50% auto -50% -45%;
    width: 30%;
    background: rgba(255,255,255,.34);
    transform: skewX(-20deg) translateX(-250%);
    transition: transform .65s var(--motion-ease);
    pointer-events: none;
    z-index: -1;
}

.btn-primary:hover::after,
.btn-secondary:hover::after,
.btn-lang:hover::after {
    transform: skewX(-20deg) translateX(620%);
}

.motion-card {
    transition: transform .45s var(--motion-ease), box-shadow .45s ease,
                border-color .35s ease !important;
    will-change: transform;
}

.motion-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 56px rgba(13,28,56,.14) !important;
}

.motion-image {
    transition: transform .8s var(--motion-ease), filter .55s ease !important;
}

.motion-card:hover .motion-image,
.about-img-main-wrapper:hover .motion-image,
.about-img-sub-wrapper:hover .motion-image {
    transform: scale(1.045);
    filter: saturate(1.06) contrast(1.02);
}

.delivery-rail-v3 {
    position: relative;
    border-top-color: transparent;
}

.delivery-rail-v3::before {
    content: '';
    position: absolute;
    inset: -2px 0 auto;
    height: 2px;
    background: linear-gradient(90deg, var(--color-navy), rgba(13,28,56,.15));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 1.15s .12s var(--motion-ease);
}

html[dir="rtl"] .delivery-rail-v3::before { transform-origin: right; }
.delivery-rail-v3.active::before { transform: scaleX(1); }

.delivery-rail-v3.active .delivery-phase-v3::before {
    animation: phaseDotIn .55s var(--motion-ease) both;
    animation-delay: calc(var(--reveal-index, 0) * 110ms + 180ms);
}

@keyframes phaseDotIn {
    from { transform: scale(0); box-shadow: 0 0 0 0 var(--color-white); }
    to { transform: scale(1); box-shadow: 0 0 0 6px var(--color-white); }
}

.about-comp-grid {
    animation: gridDrift 9s ease-in-out infinite alternate;
}

@keyframes gridDrift {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(10px, -8px, 0); }
}

.home-cta-v3::after {
    animation: ctaShapeFloat 7s ease-in-out infinite alternate;
}

@keyframes ctaShapeFloat {
    from { transform: rotate(42deg) translate3d(0, 0, 0); }
    to { transform: rotate(48deg) translate3d(-12px, 14px, 0); }
}

@media (max-width: 600px) {
    .reveal { --reveal-x: 0 !important; transform: translate3d(0, 26px, 0); }
    .reveal-stagger > * { transform: translate3d(0, 24px, 0) scale(.985); }
    .motion-card:hover { transform: translateY(-4px) !important; }
    .scroll-progress { height: 2px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .reveal, .reveal-stagger > *, .motion-enabled .navbar,
    .motion-enabled .hero-title, .motion-enabled .hero-desc, .motion-enabled .hero-btns {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
    .scroll-progress { display: none; }
}

/* =========================================================
   Floating Capsule Navbar - brand-aligned modern preview
   ========================================================= */
@media (min-width: 769px) {
    .navbar {
        top: 18px;
        left: max(20px, calc((100vw - 1180px) / 2));
        right: max(20px, calc((100vw - 1180px) / 2));
        width: auto;
        min-height: 76px;
        padding: 9px 14px 9px 22px;
        border: 1px solid rgba(255, 255, 255, 0.78);
        border-radius: 24px;
        background:
            linear-gradient(110deg, rgba(255,255,255,.97), rgba(247,248,250,.91));
        box-shadow:
            0 18px 50px rgba(6, 14, 28, 0.18),
            inset 0 1px 0 rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(22px) saturate(145%);
        -webkit-backdrop-filter: blur(22px) saturate(145%);
    }

    .motion-ready .navbar { transform: none; }

    .navbar::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: inherit;
        background: linear-gradient(100deg, transparent 16%, rgba(255,255,255,.65) 48%, transparent 76%);
        opacity: .36;
        pointer-events: none;
        mask: linear-gradient(#000, transparent 35%);
    }

    .navbar.scrolled {
        top: 10px;
        left: max(16px, calc((100vw - 1100px) / 2));
        right: max(16px, calc((100vw - 1100px) / 2));
        min-height: 66px;
        padding: 7px 12px 7px 18px;
        border-radius: 21px;
        background: rgba(255, 255, 255, 0.95);
        box-shadow: 0 14px 40px rgba(6, 14, 28, 0.16);
    }

    .logo-img,
    .navbar.scrolled .logo-img {
        height: 54px;
    }

    .navbar.scrolled .logo-img { height: 48px; }

    .nav-links {
        gap: 3px;
        padding: 5px;
        border: 1px solid rgba(13, 28, 56, 0.06);
        border-radius: 999px;
        background: rgba(13, 28, 56, 0.045);
    }

    .nav-item {
        display: block;
        padding: 8px 15px;
        border-radius: 999px;
        color: rgba(13, 28, 56, 0.68);
        font-size: .88rem;
        line-height: 1.25;
        transition: color .3s ease, background-color .3s ease, transform .3s var(--motion-ease);
    }

    .nav-item::after { display: none; }

    .nav-item:hover {
        color: var(--color-navy);
        background: rgba(255, 255, 255, 0.78);
        transform: translateY(-1px);
    }

    .nav-item.active {
        color: var(--color-white);
        background: var(--color-navy);
        box-shadow: 0 7px 18px rgba(13, 28, 56, 0.2);
    }

    .btn-lang {
        min-width: 86px;
        padding: 9px 16px;
        border: 0;
        border-radius: 999px;
        color: var(--color-white);
        background: var(--color-navy);
        box-shadow: 0 8px 20px rgba(13, 28, 56, 0.18);
    }

    .btn-lang:hover {
        color: var(--color-white);
        background: var(--color-grey);
        transform: translateY(-2px);
    }
}

@media (max-width: 768px) {
    .navbar,
    .navbar.scrolled {
        top: 10px;
        left: 10px;
        right: 10px;
        width: auto;
        min-height: 66px;
        padding: 8px 12px;
        border: 1px solid rgba(255, 255, 255, 0.8);
        border-radius: 19px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 13px 34px rgba(6, 14, 28, 0.16);
        backdrop-filter: blur(18px) saturate(140%);
        -webkit-backdrop-filter: blur(18px) saturate(140%);
    }

    .motion-ready .navbar { transform: none; }
    .logo-img,
    .navbar.scrolled .logo-img { height: 47px; }

    .btn-lang {
        padding: 7px 13px;
        border-radius: 999px;
        background: rgba(13, 28, 56, 0.04);
    }

    .nav-links {
        top: 0;
        width: min(82%, 340px);
        padding-top: 100px;
    }
}

/* Global News Grid & Cards (Used in Home and News page) */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 30px;
    padding: 0 5%;
    margin-bottom: 80px;
}
.news-card {
    background-color: var(--color-white);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-premium);
    border: 1px solid var(--color-grey-light);
    display: flex;
    flex-direction: column;
    transition: var(--transition-smooth);
    text-decoration: none;
    color: inherit;
}
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(14, 30, 56, 0.12);
}
.news-img-wrapper {
    height: 220px;
    overflow: hidden;
    position: relative;
}
.news-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition-smooth);
}
.news-card:hover .news-img {
    transform: scale(1.05);
}
.news-info {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.news-date {
    font-size: 0.85rem;
    color: var(--color-grey-text);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.news-card-title {
    font-size: 1.25rem;
    color: var(--color-navy);
    margin-bottom: 12px;
    line-height: 1.35;
    font-weight: 700;
}
.news-card-content {
    color: var(--color-grey);
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 20px;
    flex-grow: 1;
}

/* ==========================================================================
   تنسيق التناوب اللوني الصارم لسكاشن الصفحة الرئيسية (Strict Alternating Layout)
   ========================================================================== */

/* 5. قسم الخدمات (من فاتح إلى غامق) */
.services-section {
    background: linear-gradient(180deg, var(--color-navy) 0%, var(--color-navy-dark) 100%) !important;
}
.services-section .section-title {
    color: var(--color-white) !important;
}
.services-section .section-tag {
    color: var(--color-grey-text) !important;
}
.services-intro {
    color: rgba(255, 255, 255, 0.7) !important;
}

/* 7. قسم من نحن (من فاتح إلى غامق) */
.about-section {
    background-color: var(--color-navy) !important;
    background: linear-gradient(180deg, var(--color-navy) 0%, var(--color-navy-dark) 100%) !important;
}
.about-section .section-title {
    color: var(--color-white) !important;
}
.about-section .section-tag {
    color: var(--color-grey-text) !important;
}
.about-section p {
    color: rgba(255, 255, 255, 0.7) !important;
}
.about-section strong {
    color: var(--color-white) !important;
}

/* 8. قسم لماذا شركة الشريف؟ (من غامق إلى فاتح) */
.why-us-section-v2 {
    background: linear-gradient(180deg, var(--color-white) 0%, var(--color-grey-light) 100%) !important;
}
.why-us-section-v2 .section-title {
    color: var(--color-navy) !important;
}
.why-us-section-v2 .section-tag {
    color: var(--color-grey) !important;
}
.why-us-section-v2 .why-us-v2-card {
    background: var(--color-white) !important;
    border: 1px solid rgba(13, 28, 56, 0.08) !important;
    box-shadow: 0 10px 30px rgba(13,28,56,0.02) !important;
}
.why-us-section-v2 .why-us-v2-card-title {
    color: var(--color-navy) !important;
}
.why-us-section-v2 .why-us-v2-card-desc {
    color: var(--color-dark-grey) !important;
}

/* 4. قسم المشاريع المميزة (من غامق إلى فاتح) */
.featured-projects-section {
    background-color: var(--color-white) !important;
    padding: 100px 5% !important;
}
.featured-projects-section .section-title {
    color: var(--color-navy) !important;
}
.featured-projects-section .section-tag {
    color: var(--color-grey) !important;
}

/* حل مشكلة تداخل الهيدر مع الترويسة في الصفحات الفرعية */
header.section-header {
    padding-top: 170px !important;
    margin-bottom: 40px !important;
}

/* ========================================================================== 
   Brand Blueprint Website Hierarchy & Service Architecture - V4
   ========================================================================== */
.home-flow {
    display: flex;
    flex-direction: column;
}

.home-flow > .about-section { order: 1; }
.home-flow > .stats-section { order: 2; }
.home-flow > .services-section { order: 3; }
.home-flow > .featured-projects-section { order: 4; }
.home-flow > .why-us-section-v2 { order: 5; }
.home-flow > .quality-safety-section { order: 6; }
.home-flow > .partners-section { order: 7; }
.home-flow > .latest-news-section { order: 8; }
.home-flow > .home-cta-v3 { order: 9; }

.home-flow .about-section {
    background: linear-gradient(135deg, #f7f8fa 0%, #e8eaee 100%) !important;
    color: var(--color-navy) !important;
}

.home-flow .about-section .section-title,
.home-flow .about-section strong {
    color: var(--color-navy) !important;
}

.home-flow .about-section .section-tag {
    color: var(--color-grey) !important;
}

.home-flow .about-section p {
    color: var(--color-dark-grey) !important;
}

.home-flow .stats-section {
    padding: 0 5% 90px;
    background: linear-gradient(135deg, #f7f8fa 0%, #e8eaee 100%);
}

.home-flow .stats-grid {
    display: none;
}

.proof-strip-v3 {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: var(--color-navy);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(13, 28, 56, 0.18);
}

.proof-item-v3 {
    min-height: 150px;
    padding: 30px 26px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    position: relative;
    color: var(--color-white);
}

.proof-item-v3:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 28px;
    bottom: 28px;
    inset-inline-end: 0;
    width: 1px;
    background: rgba(255,255,255,.14);
}

.proof-value-v3 {
    font-family: var(--font-english-display);
    font-size: clamp(1.5rem, 2.4vw, 2.2rem);
    line-height: 1;
    letter-spacing: .5px;
}

.proof-item-v3 span {
    color: rgba(245,246,248,.7);
    font-size: .92rem;
    line-height: 1.5;
}

.home-flow .services-section {
    padding: 120px 5% !important;
    background:
        linear-gradient(rgba(13,28,56,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(13,28,56,.035) 1px, transparent 1px),
        var(--color-white) !important;
    background-size: 44px 44px !important;
}

.home-flow .services-section .section-header {
    max-width: 1200px;
    margin-inline: auto;
    text-align: start;
}

.home-flow .services-section .section-title {
    color: var(--color-navy) !important;
    max-width: 850px;
    text-align: start;
    margin-inline: 0;
}

.home-flow .services-section .section-tag {
    color: var(--color-grey) !important;
}

.home-flow .services-intro {
    max-width: 900px;
    margin: 0 auto 34px;
    color: var(--color-dark-grey) !important;
    text-align: center;
}

.services-promise-v3 {
    max-width: 900px;
    margin: 0 auto 70px;
    padding: 24px 30px;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 24px;
    color: var(--color-white);
    background: var(--color-navy);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(13,28,56,.18);
}

.services-promise-v3 span {
    padding-inline-end: 24px;
    border-inline-end: 1px solid rgba(255,255,255,.2);
    color: var(--color-grey-text);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.services-promise-v3 strong {
    font-size: clamp(1rem, 1.7vw, 1.25rem);
    line-height: 1.6;
}

.delivery-rail-v3 {
    max-width: 1200px;
    margin: 0 auto 44px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 2px solid rgba(13,28,56,.14);
}

.delivery-phase-v3 {
    padding: 28px 24px 8px;
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
}

.delivery-phase-v3::before {
    content: '';
    position: absolute;
    top: -7px;
    inset-inline-start: 24px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--color-navy);
    box-shadow: 0 0 0 6px var(--color-white);
}

.phase-no-v3,
.cluster-no-v3 {
    font-family: var(--font-english-display);
    font-weight: 800;
    color: rgba(13,28,56,.35);
}

.delivery-phase-v3 h3 {
    color: var(--color-navy);
    font-size: 1.05rem;
    margin-bottom: 7px;
}

.delivery-phase-v3 p {
    color: var(--color-grey);
    font-size: .86rem;
    line-height: 1.65;
}

.service-architecture-v3 {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.service-cluster-v3 {
    min-height: 260px;
    padding: 36px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid rgba(13,28,56,.12);
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 35px rgba(13,28,56,.06);
    position: relative;
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
}

.service-cluster-v3::after {
    content: '';
    position: absolute;
    width: 110px;
    height: 110px;
    inset-inline-end: -45px;
    bottom: -50px;
    border: 18px solid rgba(13,28,56,.035);
    transform: rotate(45deg);
}

.service-cluster-v3:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 48px rgba(13,28,56,.12);
}

.service-cluster-v3 h3 {
    max-width: 470px;
    margin: 22px 0 12px;
    color: var(--color-navy);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.service-cluster-v3 p {
    max-width: 540px;
    color: var(--color-dark-grey);
    line-height: 1.75;
}

.cluster-scope-v3 {
    margin-top: auto;
    padding-top: 24px;
    color: var(--color-grey);
    font-family: var(--font-english);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .5px;
}

.service-cluster-featured-v3 {
    color: var(--color-white);
    background: var(--color-navy);
    border-color: var(--color-navy);
}

.service-cluster-featured-v3 .cluster-no-v3,
.service-cluster-featured-v3 h3 {
    color: var(--color-white);
}

.service-cluster-featured-v3 p,
.service-cluster-featured-v3 .cluster-scope-v3 {
    color: rgba(245,246,248,.72);
}

.service-cluster-featured-v3::after {
    border-color: rgba(255,255,255,.06);
}

.services-closing-v3 {
    max-width: 1200px;
    margin: 32px auto 0;
    color: var(--color-navy) !important;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    font-weight: 800;
    text-align: center;
}

.home-flow .services-grid {
    display: none;
}

.home-cta-v3 {
    margin: 0;
    padding: 90px max(5%, calc((100% - 1200px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    color: var(--color-white);
    background:
        linear-gradient(120deg, rgba(13,28,56,.96), rgba(6,14,28,.98)),
        url('assets/hero_bg-legacy.webp?v=2') center/cover;
    position: relative;
    overflow: hidden;
}

.home-cta-v3::after {
    content: '';
    position: absolute;
    width: 260px;
    height: 260px;
    inset-inline-end: -80px;
    top: -105px;
    border: 34px solid rgba(255,255,255,.045);
    transform: rotate(45deg);
}

.home-cta-copy-v3 {
    max-width: 760px;
    position: relative;
    z-index: 1;
}

.home-cta-copy-v3 > span {
    display: block;
    margin-bottom: 12px;
    color: var(--color-grey-text);
    font-size: .85rem;
    font-weight: 800;
    letter-spacing: .8px;
}

.home-cta-copy-v3 h2 {
    margin-bottom: 16px;
    color: var(--color-white);
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1.25;
}

.home-cta-copy-v3 p {
    color: rgba(245,246,248,.72);
    font-size: 1.03rem;
    line-height: 1.8;
}

.home-cta-button-v3 {
    flex: 0 0 auto;
    position: relative;
    z-index: 1;
    background: var(--color-white) !important;
    color: var(--color-navy) !important;
    border-color: var(--color-white) !important;
}

@media (max-width: 900px) {
    .proof-strip-v3,
    .delivery-rail-v3 {
        grid-template-columns: repeat(2, 1fr);
    }
    .proof-item-v3:nth-child(2)::after { display: none; }
    .delivery-phase-v3:nth-child(n+3) { margin-top: 24px; }
    .service-architecture-v3 { grid-template-columns: 1fr; }
    .home-cta-v3 { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
    .home-flow .services-section { padding: 85px 5% !important; }
    .proof-strip-v3,
    .delivery-rail-v3 { grid-template-columns: 1fr; }
    .proof-item-v3:not(:last-child)::after {
        top: auto;
        bottom: 0;
        left: 24px;
        right: 24px;
        width: auto;
        height: 1px;
    }
    .delivery-phase-v3 { margin-top: 0 !important; }
    .services-promise-v3 {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .services-promise-v3 span {
        border-inline-end: 0;
        padding-inline-end: 0;
    }
    .service-cluster-v3 { min-height: 280px; padding: 28px; }
    .home-cta-v3 { padding-top: 70px; padding-bottom: 70px; }
}

/* Final cascade: retain only the three lightweight floating controls. */
@media (min-width: 769px) {
    .navbar.scrolled {
        top: 10px;
        left: 50%;
        right: auto;
        width: auto;
        min-height: 0;
        padding: 0;
        gap: 8px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        transform: translateX(-50%) !important;
    }

    .navbar.scrolled .nav-links { padding: 4px; }
    .navbar.scrolled .nav-item { padding: 7px 13px; font-size: .8rem; }
    .navbar.scrolled .btn-lang { padding: 0 14px; font-size: .8rem; }
}

/* =========================================================
   Architectural Header V10 - one continuous premium rail
   ========================================================= */
.nav-compact-brand { display: none !important; }

@media (min-width: 769px) {
    .navbar,
    .navbar.scrolled {
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        min-height: 92px;
        padding: 15px max(5%, calc((100vw - 1240px) / 2));
        gap: 28px;
        border: 0;
        border-radius: 0;
        color: #fff;
        background: linear-gradient(180deg, rgba(4, 13, 31, .82) 0%, rgba(4, 13, 31, .46) 72%, transparent 100%);
        box-shadow: none;
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        transform: none !important;
    }

    .navbar::before,
    .navbar.scrolled::before { display: none; }

    .navbar::after {
        content: '';
        position: absolute;
        left: max(5%, calc((100vw - 1240px) / 2));
        right: max(5%, calc((100vw - 1240px) / 2));
        bottom: 10px;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(190, 159, 103, .72), transparent);
        opacity: .7;
        pointer-events: none;
        transition: opacity .35s ease;
    }

    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        display: flex;
        min-width: 198px;
        gap: 11px;
        color: #fff;
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        height: 52px;
        filter: brightness(0) invert(1);
        opacity: .96;
    }

    .navbar .logo-brand-name { color: #fff; font-size: 1.02rem; }
    .navbar .logo-brand-sub { color: rgba(255,255,255,.56); }

    .navbar .nav-links,
    .navbar.scrolled .nav-links {
        height: auto;
        padding: 0;
        gap: 4px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    .navbar .nav-item,
    .navbar.scrolled .nav-item {
        position: relative;
        padding: 10px 15px;
        border-radius: 0;
        color: rgba(255,255,255,.7);
        background: transparent;
        box-shadow: none;
        font-size: .88rem;
        font-weight: 600;
    }

    .navbar .nav-item::after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: 2px;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: #c7a768;
        opacity: 0;
        transform: translateX(-50%) scaleX(.35);
        transition: transform .3s ease, opacity .3s ease;
    }

    .navbar .nav-item:hover,
    .navbar .nav-item.active {
        color: #fff;
        background: transparent;
        box-shadow: none;
    }

    .navbar .nav-item:hover::after,
    .navbar .nav-item.active::after {
        opacity: 1;
        transform: translateX(-50%) scaleX(1);
    }

    .navbar .btn-lang,
    .navbar.scrolled .btn-lang {
        height: 42px;
        min-width: 90px;
        padding: 0 16px;
        border: 1px solid rgba(255,255,255,.34);
        border-radius: 10px;
        color: #fff;
        background: rgba(255,255,255,.07);
        box-shadow: none;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        font-size: .82rem;
        letter-spacing: .02em;
    }

    .navbar .btn-lang:hover,
    .navbar.scrolled .btn-lang:hover {
        color: #08162f;
        border-color: #fff;
        background: #fff;
        transform: translateY(-1px);
    }

    .navbar.scrolled {
        top: 12px;
        left: 50%;
        right: auto;
        width: min(calc(100% - 32px), 1080px);
        min-height: 66px;
        padding: 7px 12px 7px 18px;
        gap: 18px;
        border: 1px solid rgba(255,255,255,.13);
        border-radius: 14px;
        background: rgba(5, 16, 37, .92);
        box-shadow: 0 18px 48px rgba(3, 10, 24, .24);
        backdrop-filter: blur(18px) saturate(135%);
        -webkit-backdrop-filter: blur(18px) saturate(135%);
        transform: translateX(-50%) !important;
    }

    .navbar.scrolled::after { opacity: 0; }
    .navbar.scrolled .logo-container { min-width: 172px; }
    .navbar.scrolled .logo-img { height: 45px; }
    .navbar.scrolled .logo-brand-sub { display: none; }
    .navbar.scrolled .nav-item { padding: 9px 13px; font-size: .82rem; }
    .navbar.scrolled .btn-lang { height: 40px; min-width: 82px; }
}

@media (max-width: 768px) {
    .navbar,
    .navbar.scrolled {
        top: 10px;
        left: 10px;
        right: 10px;
        width: auto;
        min-height: 64px;
        padding: 7px 11px;
        border: 1px solid rgba(255,255,255,.14);
        border-radius: 14px;
        color: #fff;
        background: rgba(5, 16, 37, .92);
        box-shadow: 0 14px 36px rgba(3,10,24,.22);
        backdrop-filter: blur(16px) saturate(130%);
        -webkit-backdrop-filter: blur(16px) saturate(130%);
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        height: 46px;
        filter: brightness(0) invert(1);
    }

    .navbar .logo-text { display: none; }
    .navbar .btn-lang {
        padding: 7px 12px;
        border: 1px solid rgba(255,255,255,.26);
        border-radius: 9px;
        color: #fff;
        background: rgba(255,255,255,.07);
    }

    .navbar .hamburger-bar { background-color: #fff; }

    .navbar .nav-toggle {
        position: relative;
        z-index: 1102;
        width: 26px;
        height: 22px;
    }

    .navbar .hamburger-bar { transform-origin: center; }
    .navbar .nav-toggle.active .hamburger-bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .navbar .nav-toggle.active .hamburger-bar:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }
    .navbar .nav-toggle.active .hamburger-bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .navbar .nav-links {
        top: 82px;
        bottom: auto;
        width: calc(100% - 20px);
        height: calc(100vh - 104px);
        min-height: 0;
        padding: 34px 28px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 16px;
        background: rgba(5,16,37,.985);
        box-shadow: 0 24px 60px rgba(3,10,24,.32);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
        align-items: stretch;
    }

    html[dir="rtl"] .navbar .nav-links { left: calc(-100% - 20px); }
    html[dir="rtl"] .navbar .nav-links.active { left: 10px; }
    html[dir="ltr"] .navbar .nav-links { right: calc(-100% - 20px); }
    html[dir="ltr"] .navbar .nav-links.active { right: 10px; }

    .navbar .nav-links li a {
        padding: 15px 4px;
        font-size: 1.08rem;
    }
}

/* Brand correction V11 - preserve the official full-colour logo */
@media (min-width: 769px) {
    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        min-width: 224px;
        padding: 5px 14px;
        border: 1px solid rgba(255,255,255,.8);
        border-radius: 11px;
        background: rgba(255,255,255,.96);
        box-shadow: 0 8px 24px rgba(2,9,22,.16), inset 0 1px 0 #fff;
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        height: 62px;
        filter: none;
        opacity: 1;
    }

    .navbar .logo-text { display: none; }

    .navbar.scrolled .logo-container {
        min-width: 198px;
        padding: 3px 12px;
        border-radius: 9px;
    }

    .navbar.scrolled .logo-img { height: 52px; }
}

@media (max-width: 768px) {
    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        padding: 4px 8px;
        border: 1px solid rgba(255,255,255,.75);
        border-radius: 9px;
        background: rgba(255,255,255,.97);
        box-shadow: 0 7px 20px rgba(2,9,22,.15);
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        height: 50px;
        filter: none;
        opacity: 1;
    }
}

/* Generated white/grey horizontal logo V12 - transparent on navy */
@media (min-width: 769px) {
    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        min-width: 230px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        width: auto;
        height: 64px;
        filter: none;
        opacity: 1;
    }

    .navbar.scrolled .logo-container { min-width: 202px; }
    .navbar.scrolled .logo-img { height: 52px; }
}

@media (max-width: 768px) {
    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        width: auto;
        height: 44px;
        filter: none;
        opacity: 1;
    }
}

/* ui-final.css */
/*
 * AL.SHEREF final UI layer
 * Front-end only: canonical header, mobile navigation, footer brand and partners wall.
 * Loaded after styles.css so legacy experiments cannot affect the final interface.
 */

:root {
    --ui-navy: #051025;
    --ui-navy-soft: rgba(5, 16, 37, .88);
    --ui-accent: #aeb4bd;
    --ui-line: rgba(255, 255, 255, .14);
    --ui-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Premium two-state header: spacious at the top, compact while browsing. */
.motion-enabled .navbar,
.motion-ready .navbar,
.navbar,
.navbar.scrolled {
    opacity: 1 !important;
    animation: none !important;
}

.scroll-progress { display: none !important; }
.nav-compact-brand { display: none !important; }

@media (min-width: 769px) {
    .navbar,
    .navbar.scrolled {
        top: 14px !important;
        left: 50% !important;
        right: auto !important;
        width: min(calc(100% - 32px), 1240px) !important;
        height: 76px !important;
        min-height: 76px !important;
        padding: 9px 20px !important;
        gap: 26px !important;
        border: 1px solid var(--ui-line) !important;
        border-radius: 18px !important;
        color: #fff !important;
        background: #08162f !important;
        box-shadow: 0 12px 34px rgba(2, 9, 22, .14) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: translateX(-50%) !important;
        transition:
            top .52s var(--ui-ease),
            width .52s var(--ui-ease),
            height .52s var(--ui-ease),
            min-height .52s var(--ui-ease),
            padding .52s var(--ui-ease),
            gap .52s var(--ui-ease),
            border-radius .52s var(--ui-ease),
            background-color .38s ease,
            border-color .38s ease,
            box-shadow .52s var(--ui-ease) !important;
    }

    .navbar.scrolled {
        top: 10px !important;
        width: min(calc(100% - 40px), 1080px) !important;
        height: 64px !important;
        min-height: 64px !important;
        padding: 6px 14px !important;
        gap: 16px !important;
        border-radius: 16px !important;
        background: #051025 !important;
        border-color: rgba(255, 255, 255, .2) !important;
        box-shadow: 0 18px 46px rgba(2, 9, 22, .28) !important;
    }

    .navbar::before,
    .navbar.scrolled::before { display: none !important; }

    .navbar::after,
    .navbar.scrolled::after {
        content: '' !important;
        position: absolute !important;
        left: 50% !important;
        right: auto !important;
        bottom: -1px !important;
        display: block !important;
        width: 0 !important;
        height: 2px !important;
        border-radius: 999px !important;
        background: linear-gradient(90deg, transparent, var(--ui-accent), transparent) !important;
        opacity: 0 !important;
        transform: translateX(-50%) !important;
        transition: width .58s var(--ui-ease), opacity .35s ease !important;
        pointer-events: none !important;
    }

    .navbar.scrolled::after {
        width: calc(100% - 54px) !important;
        opacity: .78 !important;
    }

    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        display: flex !important;
        flex: 0 0 auto !important;
        min-width: 228px !important;
        height: 58px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transition: min-width .52s var(--ui-ease), height .52s var(--ui-ease) !important;
    }

    .navbar.scrolled .logo-container {
        min-width: 188px !important;
        height: 50px !important;
    }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        width: auto !important;
        height: 54px !important;
        max-width: 228px !important;
        object-fit: contain !important;
        filter: none !important;
        opacity: 1 !important;
        transition: height .52s var(--ui-ease), max-width .52s var(--ui-ease) !important;
    }

    .navbar.scrolled .logo-img {
        height: 46px !important;
        max-width: 190px !important;
    }

    .navbar .logo-text { display: none !important; }

    .navbar .nav-links,
    .navbar.scrolled .nav-links {
        position: static !important;
        display: flex !important;
        flex-direction: row !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        gap: 4px !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .navbar .nav-item,
    .navbar.scrolled .nav-item {
        position: relative !important;
        display: block !important;
        padding: 10px 14px !important;
        border-radius: 0 !important;
        color: rgba(255, 255, 255, .72) !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: .86rem !important;
        font-weight: 600 !important;
        transition: color .2s ease, padding .52s var(--ui-ease), font-size .52s var(--ui-ease) !important;
    }

    .navbar.scrolled .nav-item {
        padding: 9px 12px !important;
        font-size: .81rem !important;
    }

    .navbar .nav-item::after {
        content: '' !important;
        position: absolute !important;
        left: 50% !important;
        bottom: 3px !important;
        display: block !important;
        width: 18px !important;
        height: 2px !important;
        border-radius: 2px !important;
        background: var(--ui-accent) !important;
        opacity: 0 !important;
        transform: translateX(-50%) scaleX(.45) !important;
        transition: opacity .2s ease, transform .2s var(--ui-ease) !important;
    }

    .navbar .nav-item:hover,
    .navbar .nav-item.active { color: #fff !important; }

    .navbar .nav-item:hover::after,
    .navbar .nav-item.active::after {
        opacity: 1 !important;
        transform: translateX(-50%) scaleX(1) !important;
    }

    .navbar .nav-buttons { flex: 0 0 auto !important; }

    .navbar .btn-lang,
    .navbar.scrolled .btn-lang {
        height: 40px !important;
        min-width: 88px !important;
        padding: 0 15px !important;
        border: 1px solid rgba(255, 255, 255, .28) !important;
        border-radius: 10px !important;
        color: #fff !important;
        background: rgba(255, 255, 255, .06) !important;
        box-shadow: none !important;
        font-size: .82rem !important;
        transition: color .2s ease, background-color .2s ease, border-color .2s ease !important;
    }

    .navbar.scrolled .btn-lang {
        height: 38px !important;
        min-width: 82px !important;
        padding: 0 13px !important;
    }

    .navbar .btn-lang:hover {
        color: var(--ui-navy) !important;
        border-color: #fff !important;
        background: #fff !important;
        transform: none !important;
    }

    .navbar .btn-lang:focus,
    .navbar .btn-lang:focus-visible {
        outline: 2px solid var(--ui-accent) !important;
        outline-offset: 2px !important;
        border-color: var(--ui-accent) !important;
    }
}

@media (max-width: 768px) {
    .navbar,
    .navbar.scrolled,
    .motion-enabled .navbar,
    .motion-ready .navbar {
        top: 10px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        padding: 7px 11px !important;
        gap: 10px !important;
        border: 1px solid var(--ui-line) !important;
        border-radius: 14px !important;
        color: #fff !important;
        background: rgba(5, 16, 37, .96) !important;
        box-shadow: 0 12px 34px rgba(2, 9, 22, .23) !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transform: none !important;
        transition:
            top .42s var(--ui-ease),
            left .42s var(--ui-ease),
            right .42s var(--ui-ease),
            height .42s var(--ui-ease),
            min-height .42s var(--ui-ease),
            padding .42s var(--ui-ease),
            border-radius .42s var(--ui-ease),
            box-shadow .42s var(--ui-ease) !important;
    }

    .navbar.scrolled {
        top: 8px !important;
        left: 14px !important;
        right: 14px !important;
        height: 58px !important;
        min-height: 58px !important;
        padding: 5px 10px !important;
        border-radius: 13px !important;
        box-shadow: 0 16px 38px rgba(2, 9, 22, .28) !important;
    }

    .navbar::before,
    .navbar::after { display: none !important; }

    .navbar .logo-container,
    .navbar.scrolled .logo-container {
        display: flex !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        height: 48px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transition: height .42s var(--ui-ease) !important;
    }

    .navbar.scrolled .logo-container { height: 44px !important; }

    .navbar .logo-img,
    .navbar.scrolled .logo-img {
        width: auto !important;
        height: 42px !important;
        max-width: 155px !important;
        object-fit: contain !important;
        filter: none !important;
        opacity: 1 !important;
        transition: height .42s var(--ui-ease), max-width .42s var(--ui-ease) !important;
    }

    .navbar.scrolled .logo-img {
        height: 38px !important;
        max-width: 145px !important;
    }

    .navbar .logo-text { display: none !important; }

    .navbar .nav-buttons {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .navbar .btn-lang {
        height: 34px !important;
        min-width: 70px !important;
        padding: 0 10px !important;
        border: 1px solid rgba(255, 255, 255, .24) !important;
        border-radius: 9px !important;
        color: #fff !important;
        background: rgba(255, 255, 255, .06) !important;
        font-size: .76rem !important;
        transition: height .42s var(--ui-ease), min-width .42s var(--ui-ease), padding .42s var(--ui-ease) !important;
    }

    .navbar .btn-lang:focus,
    .navbar .btn-lang:focus-visible {
        outline: 2px solid var(--ui-accent) !important;
        outline-offset: 2px !important;
        border-color: var(--ui-accent) !important;
    }

    .navbar.scrolled .btn-lang {
        height: 32px !important;
        min-width: 66px !important;
        padding: 0 9px !important;
    }

    .navbar .nav-toggle {
        position: relative !important;
        z-index: 1102 !important;
        display: flex !important;
        width: 26px !important;
        height: 22px !important;
    }

    .navbar .hamburger-bar {
        width: 26px !important;
        height: 3px !important;
        background: #fff !important;
        transform-origin: center !important;
    }

    .navbar .nav-toggle.active .hamburger-bar:nth-child(1) { transform: translateY(9px) rotate(45deg) !important; }
    .navbar .nav-toggle.active .hamburger-bar:nth-child(2) { opacity: 0 !important; transform: scaleX(0) !important; }
    .navbar .nav-toggle.active .hamburger-bar:nth-child(3) { transform: translateY(-9px) rotate(-45deg) !important; }

    .navbar .nav-links {
        position: fixed !important;
        top: 82px !important;
        bottom: 10px !important;
        display: flex !important;
        flex-direction: column !important;
        width: calc(100% - 20px) !important;
        height: auto !important;
        padding: 34px 28px !important;
        gap: 10px !important;
        border: 1px solid rgba(255, 255, 255, .12) !important;
        border-radius: 16px !important;
        background: rgba(5, 16, 37, .985) !important;
        box-shadow: 0 24px 60px rgba(2, 9, 22, .34) !important;
        overflow-y: auto !important;
        z-index: 1099 !important;
    }

    html[dir="rtl"] .navbar .nav-links { left: -110% !important; right: auto !important; transition: left .32s var(--ui-ease) !important; }
    html[dir="rtl"] .navbar .nav-links.active { left: 10px !important; }
    html[dir="ltr"] .navbar .nav-links { right: -110% !important; left: auto !important; transition: right .32s var(--ui-ease) !important; }
    html[dir="ltr"] .navbar .nav-links.active { right: 10px !important; }

    .navbar.scrolled .nav-links { top: 74px !important; }

    .navbar .nav-links li,
    .navbar .nav-links li a { width: 100% !important; }

    .navbar .nav-links li a {
        display: block !important;
        padding: 15px 4px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
        color: rgba(255, 255, 255, .78) !important;
        font-size: 1.06rem !important;
    }

    .navbar .nav-links li a.active { color: #fff !important; }
}

/* Unified brand treatment in every footer. */
.footer-logo-link { align-items: center !important; }
.footer-logo-img {
    width: auto !important;
    height: 66px !important;
    max-width: 245px !important;
    object-fit: contain !important;
}

/* Stable, clean partner hierarchy without scroll blur. */
.partners-logo-wall .partner-card {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
}

@media (max-width: 768px) {
    .footer-logo-img { height: 56px !important; max-width: 210px !important; }
}

@media (prefers-reduced-motion: reduce) {
    .navbar,
    .navbar *,
    .partners-logo-wall .partner-card { transition: none !important; }
}

/* redesign-v1.css */
/*
 * AL.SHEREF homepage redesign - visual layer only.
 * The backend, admin panel, API contracts, and dynamic content IDs remain unchanged.
 */

:root {
    --rd-navy: #071326;
    --rd-navy-2: #0b1a31;
    --rd-ink: #101826;
    --rd-silver: #b8c0cc;
    --rd-silver-2: #d8dde4;
    --rd-paper: #f3f5f7;
    --rd-white: #ffffff;
    --rd-line: rgba(16, 24, 38, .14);
    --rd-line-dark: rgba(255, 255, 255, .14);
    --rd-ease: cubic-bezier(.2, .75, .25, 1);
}

html { overflow-x: hidden; }

.redesign-home {
    background: var(--rd-paper);
    color: var(--rd-ink);
    overflow-x: hidden;
}

@media (max-width: 768px) {
    .redesign-home.redesign-menu-open { overflow: hidden; }
}

.redesign-home .navbar {
    border-color: rgba(255, 255, 255, .15) !important;
    background: rgba(7, 19, 38, .97) !important;
    box-shadow: 0 18px 58px rgba(0, 0, 0, .22) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Hero - architectural editorial composition */
.redesign-home .hero-v4 {
    position: relative;
    display: grid;
    min-height: max(760px, 100svh);
    padding: 138px clamp(28px, 5vw, 88px) 74px;
    color: var(--rd-white);
    background: var(--rd-navy);
    isolation: isolate;
    overflow: hidden;
}

.redesign-home .hero-v4::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px) 0 0 / 9vw 100%,
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 100% 9vw;
    mask-image: linear-gradient(90deg, #000, transparent 62%);
}

.redesign-home .hero-v4::after {
    content: 'AL.SHEREF';
    position: absolute;
    inset-inline-start: -1.3vw;
    bottom: -3vw;
    z-index: -1;
    color: rgba(255, 255, 255, .025);
    font: 800 clamp(6rem, 15vw, 15rem)/.78 Arial, sans-serif;
    letter-spacing: -.06em;
    white-space: nowrap;
    pointer-events: none;
}

.redesign-home .hero-v4 .hero-overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 74% 44%, rgba(184, 192, 204, .13), transparent 32%),
        linear-gradient(90deg, rgba(7, 19, 38, .98) 0%, rgba(7, 19, 38, .89) 40%, rgba(7, 19, 38, .18) 100%);
}

.redesign-home .hero-v4 .hero-bg-wrapper {
    position: absolute;
    inset: 0;
    z-index: -3;
    opacity: .58;
}

.redesign-home .hero-v4 .hero-bg-wrapper::after {
    background: linear-gradient(90deg, var(--rd-navy) 0%, transparent 48%, rgba(7,19,38,.42) 100%) !important;
}

.redesign-home .hero-v4 .hero-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1.02);
    animation: rd-hero-bg 1.8s var(--rd-ease) both;
}

.hero-grid-v4 {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(440px, 1fr) minmax(560px, 1.15fr);
    align-items: center;
    gap: clamp(34px, 4vw, 82px);
    width: min(100%, 1680px);
    min-height: 560px;
    margin: auto;
}

.redesign-home .hero-v4 .hero-content {
    position: relative;
    inset: auto;
    width: auto;
    max-width: 690px;
    padding: 0;
    margin: 0;
    text-align: start;
    transform: none;
    animation: rd-copy-in .9s .08s var(--rd-ease) both;
}

.hero-kicker-v4 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 30px;
    color: var(--rd-silver-2);
    font-size: clamp(.72rem, .8vw, .86rem);
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.hero-kicker-line-v4 {
    display: inline-block;
    width: 44px;
    height: 1px;
    background: var(--rd-silver);
}

.redesign-home .hero-v4 .hero-title {
    max-width: 760px;
    margin: 0 0 28px;
    color: var(--rd-white);
    font-size: clamp(3.15rem, 5.25vw, 6.25rem);
    font-weight: 550;
    line-height: .98;
    letter-spacing: -.055em;
    text-wrap: balance;
    text-shadow: 0 12px 40px rgba(0,0,0,.22);
}

html[dir="rtl"] .redesign-home .hero-v4 .hero-title {
    font-size: clamp(3rem, 4.8vw, 5.65rem);
    line-height: 1.1;
    letter-spacing: -.035em;
}

.redesign-home .hero-v4 .hero-desc {
    max-width: 650px;
    margin: 0 0 34px;
    color: rgba(255, 255, 255, .72);
    font-size: clamp(1rem, 1.18vw, 1.18rem);
    line-height: 1.85;
}

.redesign-home .hero-v4 .hero-btns {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
}

.redesign-home .hero-v4 .btn-primary,
.redesign-home .hero-v4 .btn-secondary {
    min-height: 54px;
    padding: 0 24px;
    border-radius: 2px;
    font-size: .88rem;
    font-weight: 750;
    letter-spacing: .02em;
}

.redesign-home .hero-v4 .btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 30px;
    color: var(--rd-navy);
    background: var(--rd-white);
    border-color: var(--rd-white);
    box-shadow: none;
}

.redesign-home .hero-v4 .btn-primary:hover {
    color: var(--rd-white);
    background: transparent;
}

.redesign-home .hero-v4 .btn-secondary {
    color: var(--rd-white);
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(255,255,255,.035);
}

.hero-btn-arrow-v4 {
    font-size: 1.1rem;
    transition: transform .3s var(--rd-ease);
}

.hero-primary-v4:hover .hero-btn-arrow-v4 { transform: translate(3px, -3px); }
html[dir="rtl"] .hero-primary-v4:hover .hero-btn-arrow-v4 { transform: translate(-3px, -3px); }

.hero-proof-v4 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    max-width: 610px;
    margin-top: clamp(42px, 6vh, 72px);
    padding-top: 22px;
    border-top: 1px solid rgba(255,255,255,.16);
}

.hero-proof-item-v4 {
    min-width: 0;
    padding-inline-end: 18px;
    border-inline-end: 1px solid rgba(255,255,255,.13);
}

.hero-proof-item-v4 + .hero-proof-item-v4 { padding-inline-start: 18px; }
.hero-proof-item-v4:last-child { border-inline-end: 0; }
.hero-proof-item-v4 strong,
.hero-proof-item-v4 span { display: block; }
.hero-proof-item-v4 strong {
    margin-bottom: 6px;
    color: var(--rd-white);
    font-size: 1.05rem;
    letter-spacing: .08em;
}
.hero-proof-item-v4 span {
    color: rgba(255,255,255,.5);
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero-visual-v4 {
    --rd-parallax-x: 0px;
    --rd-parallax-y: 0px;
    position: relative;
    min-height: 620px;
    transform: translate3d(var(--rd-parallax-x), var(--rd-parallax-y), 0);
    transition: transform .2s ease-out;
    animation: rd-visual-in 1.05s .14s var(--rd-ease) both;
}

.hero-slice-v4 {
    position: absolute;
    top: 50%;
    width: 43%;
    height: 82%;
    margin: 0;
    overflow: hidden;
    background: var(--rd-navy-2);
    clip-path: polygon(22% 0, 100% 0, 78% 100%, 0 100%);
    box-shadow: 0 34px 80px rgba(0,0,0,.34);
    transform: translateY(-50%);
    transition: width .55s var(--rd-ease), filter .45s ease, opacity .45s ease;
}

.hero-slice-a-v4 { inset-inline-start: -2%; z-index: 1; }
.hero-slice-b-v4 { inset-inline-start: 26%; z-index: 3; height: 96%; }
.hero-slice-c-v4 { inset-inline-start: 56%; z-index: 2; }

.hero-slice-v4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.62) contrast(1.06) brightness(.73);
    transform: scale(1.08);
    transition: transform .8s var(--rd-ease), filter .45s ease;
}

.hero-slice-v4::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(3,11,24,.84) 100%);
}

.hero-slice-v4 figcaption {
    position: absolute;
    inset-inline: 22% 18%;
    bottom: 34px;
    z-index: 2;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.34);
    color: var(--rd-white);
}

.hero-slice-v4 figcaption span { color: var(--rd-silver); font-size: .7rem; letter-spacing: .12em; }
.hero-slice-v4 figcaption strong { font-size: clamp(.82rem, 1.05vw, 1rem); font-weight: 700; }

.hero-slice-v4:hover { width: 47%; z-index: 5; }
.hero-slice-v4:hover img { filter: saturate(.95) contrast(1.02) brightness(.9); transform: scale(1.02); }
.hero-visual-v4:has(.hero-slice-v4:hover) .hero-slice-v4:not(:hover) { opacity: .65; filter: grayscale(.45); }

.hero-visual-outline-v4 {
    position: absolute;
    inset: 3% 1% 2% 4%;
    z-index: 0;
    border: 1px solid rgba(255,255,255,.16);
    clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
}

.hero-scroll-v4 {
    position: absolute;
    inset-inline-start: clamp(28px, 5vw, 88px);
    bottom: 28px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.48);
    font-size: .66rem;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.hero-scroll-v4 i {
    position: relative;
    display: block;
    width: 48px;
    height: 1px;
    overflow: hidden;
    background: rgba(255,255,255,.2);
}

.hero-scroll-v4 i::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--rd-white);
    transform: translateX(-100%);
    animation: rd-scroll-line 2s 1.2s infinite ease-in-out;
}

.hero-index-v4 {
    position: absolute;
    inset-inline-end: clamp(28px, 5vw, 88px);
    bottom: 26px;
    z-index: 4;
    display: flex;
    gap: 8px;
    align-items: baseline;
    color: rgba(255,255,255,.45);
    font-size: .68rem;
    letter-spacing: .1em;
}
.hero-index-v4 span:first-child { color: var(--rd-white); font-size: 1rem; }
.hero-index-v4 b { font-weight: 400; }

/* Page flow and generous spacing */
.redesign-home .home-flow {
    display: flex !important;
    flex-direction: column;
    background: var(--rd-paper);
}

.redesign-home .home-flow > .stats-section { order: 1; }
.redesign-home .home-flow > .about-section { order: 2; }
.redesign-home .home-flow > .services-section { order: 3; }
.redesign-home .home-flow > .featured-projects-section { order: 4; }
.redesign-home .home-flow > .quality-safety-section { order: 5; }
.redesign-home .home-flow > .partners-section { order: 6; }
.redesign-home .home-flow > .latest-news-section { order: 7; }
.redesign-home .home-flow > .home-cta-v3 { order: 8; }
.redesign-home .home-flow > .why-us-section-v2 { display: none !important; }

/* Proof bar */
.redesign-home .stats-section {
    padding: 0 clamp(24px, 5vw, 88px) !important;
    background: var(--rd-white) !important;
}
.redesign-home .stats-section::before,
.redesign-home .stats-grid { display: none !important; }
.redesign-home .proof-strip-v3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: min(100%, 1540px);
    margin: 0 auto;
    padding: 48px 0;
    border: 0;
    border-bottom: 1px solid var(--rd-line);
    background: transparent;
    box-shadow: none;
}
.redesign-home .proof-item-v3 {
    min-height: 82px;
    padding: 0 clamp(18px, 2.4vw, 40px);
    border-inline-start: 1px solid var(--rd-line);
}
.redesign-home .proof-item-v3:first-child { border-inline-start: 0; padding-inline-start: 0; }
.redesign-home .proof-item-v3:last-child { padding-inline-end: 0; }
.redesign-home .proof-value-v3 { color: var(--rd-navy); font-size: clamp(1.7rem, 2.4vw, 2.75rem); font-weight: 650; }
.redesign-home .proof-item-v3 span { color: #697282; font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }

/* About - large editorial split */
.redesign-home .home-flow .about-section {
    padding: clamp(100px, 11vw, 175px) clamp(24px, 5vw, 88px) !important;
    background: var(--rd-white) !important;
}
.redesign-home .about-grid {
    display: grid;
    grid-template-columns: minmax(360px, .86fr) minmax(520px, 1.14fr);
    align-items: center;
    gap: clamp(60px, 8vw, 140px);
    width: min(100%, 1540px);
    margin: 0 auto;
}
.redesign-home .about-content { max-width: 660px; }
.redesign-home .about-section .section-tag,
.redesign-home .services-section .section-tag,
.redesign-home .featured-projects-section .section-tag,
.redesign-home .partners-section .section-tag,
.redesign-home .latest-news-section .section-tag {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    color: #697282 !important;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.redesign-home .about-section .section-tag::before,
.redesign-home .services-section .section-tag::before,
.redesign-home .featured-projects-section .section-tag::before,
.redesign-home .partners-section .section-tag::before,
.redesign-home .latest-news-section .section-tag::before {
    content: '';
    width: 34px;
    height: 1px;
    background: currentColor;
}
.redesign-home .about-section .section-title {
    margin-bottom: 32px !important;
    color: var(--rd-navy) !important;
    font-size: clamp(2.8rem, 4.6vw, 5.4rem) !important;
    font-weight: 560;
    line-height: 1.02;
    letter-spacing: -.05em;
    text-align: start !important;
}
html[dir="rtl"] .redesign-home .about-section .section-title { line-height: 1.15; }
.redesign-home .about-section p { color: #5f6877 !important; font-size: 1.05rem !important; }
.redesign-home .about-features { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 44px; }
.redesign-home .about-feat-item { align-items: flex-start; padding-top: 20px; border-top: 1px solid var(--rd-line); }
.redesign-home .about-feat-bullet { width: 28px; height: 28px; color: var(--rd-navy); background: var(--rd-silver-2); border-radius: 50%; }
.redesign-home .about-feat-text strong { color: var(--rd-navy) !important; font-size: .95rem; }
.redesign-home .about-feat-text p { margin-top: 8px; font-size: .84rem !important; line-height: 1.65; }

.redesign-home .about-composition {
    min-height: 640px;
    margin: 0;
}
.redesign-home .about-comp-grid {
    inset: 4% 2% 1% 4%;
    border: 1px solid var(--rd-line);
    background:
        linear-gradient(90deg, var(--rd-line) 1px, transparent 1px) 0 0 / 20% 100%,
        linear-gradient(var(--rd-line) 1px, transparent 1px) 0 0 / 100% 20%;
    opacity: .46;
}
.redesign-home .about-img-main-wrapper {
    inset: 0 12% 12% 0;
    height: auto;
    border-radius: 0;
    clip-path: polygon(0 0, 92% 0, 100% 100%, 8% 100%);
    box-shadow: 0 30px 70px rgba(7,19,38,.18);
}
.redesign-home .about-img-main { filter: saturate(.72) contrast(1.04); }
.redesign-home .about-img-sub-wrapper {
    inset-inline-end: 0;
    bottom: 0;
    width: 43%;
    height: 48%;
    border: 10px solid var(--rd-white);
    border-radius: 0;
    box-shadow: 0 24px 60px rgba(7,19,38,.2);
}
.redesign-home .about-floating-badge {
    inset-inline-start: -20px;
    top: auto;
    bottom: 36px;
    min-width: 176px;
    padding: 24px 26px;
    border: 0;
    border-radius: 0;
    color: var(--rd-white);
    background: var(--rd-navy);
    box-shadow: 0 22px 50px rgba(7,19,38,.28);
}
.redesign-home .about-badge-icon { display: none; }
.redesign-home .about-floating-badge .about-badge-text strong { color: var(--rd-white) !important; font-size: 2.45rem !important; }
.redesign-home .about-floating-badge .about-badge-text span { color: var(--rd-silver-2) !important; }

/* Service architecture - dark framed system inspired by industrial portals */
.redesign-home .home-flow .services-section {
    position: relative;
    padding: clamp(100px, 10vw, 160px) clamp(24px, 5vw, 88px) !important;
    color: var(--rd-white);
    background: var(--rd-navy) !important;
    overflow: hidden;
}
.redesign-home .services-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px) 0 0 / 12.5% 100%,
        radial-gradient(circle at 83% 20%, rgba(184,192,204,.13), transparent 24%);
    pointer-events: none;
}
.redesign-home .services-section > * { position: relative; z-index: 1; width: min(100%, 1540px); margin-inline: auto; }
.redesign-home .services-section .section-header { max-width: 950px; margin-inline: auto !important; }
.redesign-home .services-section .section-tag { color: var(--rd-silver) !important; }
.redesign-home .services-section .section-title {
    color: var(--rd-white) !important;
    font-size: clamp(2.8rem, 5vw, 5.8rem) !important;
    font-weight: 540;
    line-height: 1.02;
    letter-spacing: -.05em;
    text-align: center;
}
.redesign-home .services-intro {
    max-width: 850px !important;
    margin: 30px auto 60px !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
    text-align: center;
}
.redesign-home .services-promise-v3 {
    display: grid;
    grid-template-columns: .32fr 1fr;
    align-items: center;
    gap: 34px;
    margin: 0 auto 28px;
    padding: 24px 30px;
    border: 1px solid var(--rd-line-dark);
    border-radius: 0;
    color: var(--rd-white);
    background: rgba(255,255,255,.035);
}
.redesign-home .services-promise-v3 span { color: var(--rd-silver); font-size: .7rem; letter-spacing: .17em; text-transform: uppercase; }
.redesign-home .services-promise-v3 strong { color: var(--rd-white); font-size: 1.1rem; }

.redesign-home .delivery-rail-v3 {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    margin: 0 auto 28px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 32px 32px 4px 4px;
    background: rgba(255,255,255,.025);
    overflow: hidden;
}
.redesign-home .delivery-rail-v3::before {
    inset: 18px;
    width: auto;
    height: 1px;
    background: rgba(255,255,255,.16);
}
.redesign-home .delivery-phase-v3 {
    min-height: 235px;
    padding: 78px 28px 28px;
    border-inline-start: 1px solid rgba(255,255,255,.12);
    background: transparent;
}
.redesign-home .delivery-phase-v3:first-child { border-inline-start: 0; }
.redesign-home .delivery-phase-v3::before { top: 14px; background: var(--rd-silver); }
.redesign-home .phase-no-v3 { color: var(--rd-silver); font-size: .72rem; }
.redesign-home .delivery-phase-v3 h3 { color: var(--rd-white); font-size: 1.15rem; }
.redesign-home .delivery-phase-v3 p { color: rgba(255,255,255,.55); font-size: .85rem; line-height: 1.7; }

.redesign-home .service-architecture-v3 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    padding: 1px;
    background: rgba(255,255,255,.14);
}
.redesign-home .service-cluster-v3 {
    min-height: 310px;
    padding: 34px 28px;
    border: 0;
    border-radius: 0;
    color: var(--rd-white);
    background: var(--rd-navy-2);
}
.redesign-home .service-cluster-v3:hover { transform: translateY(-7px); background: #10223e; }
.redesign-home .cluster-no-v3 { color: var(--rd-silver); }
.redesign-home .service-cluster-v3 h3 { color: var(--rd-white); font-size: 1.22rem; line-height: 1.45; }
.redesign-home .service-cluster-v3 p { color: rgba(255,255,255,.57); font-size: .86rem; line-height: 1.75; }
.redesign-home .cluster-scope-v3 { color: var(--rd-silver); font-size: .67rem; letter-spacing: .08em; }
.redesign-home .service-cluster-featured-v3 { background: #c6cdd6; }
.redesign-home .service-cluster-featured-v3 h3,
.redesign-home .service-cluster-featured-v3 p,
.redesign-home .service-cluster-featured-v3 .cluster-no-v3,
.redesign-home .service-cluster-featured-v3 .cluster-scope-v3 { color: var(--rd-navy); }
.redesign-home .services-closing-v3 { margin-top: 34px !important; color: rgba(255,255,255,.58) !important; }
.redesign-home .services-grid { display: none !important; }

/* Project gallery - asymmetric editorial panels */
.redesign-home .featured-projects-section {
    padding: clamp(105px, 11vw, 175px) clamp(24px, 5vw, 88px) !important;
    background: var(--rd-paper) !important;
}
.redesign-home .featured-projects-section > * { width: min(100%, 1540px); margin-inline: auto; }
.redesign-home .featured-projects-section .section-header {
    display: grid;
    grid-template-columns: .45fr 1fr;
    align-items: end;
    gap: 50px;
    margin-bottom: 60px !important;
}
.redesign-home .featured-projects-section .section-title {
    margin: 0;
    color: var(--rd-navy) !important;
    font-size: clamp(3rem, 5.6vw, 6.2rem) !important;
    font-weight: 540;
    line-height: .96;
    letter-spacing: -.055em;
    text-align: start;
}
.redesign-home .featured-grid {
    display: grid;
    grid-template-columns: 1.2fr .85fr 1fr;
    grid-auto-rows: 580px;
    gap: 12px;
    margin-top: 0;
}
.redesign-home .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
}
.redesign-home .featured-grid > [data-i18n="no_projects"]:only-child,
.redesign-home .news-grid > [data-i18n="no_news"]:only-child {
    min-height: 220px;
    display: grid;
    place-items: center;
    border: 1px solid var(--rd-line);
    color: #687282 !important;
    background: rgba(255,255,255,.48);
}
.redesign-home .featured-card {
    position: relative;
    min-height: 100%;
    border: 0;
    border-radius: 0;
    background: var(--rd-navy);
    box-shadow: none;
    overflow: hidden;
}
.redesign-home .featured-card:nth-child(2) { margin-top: 64px; margin-bottom: -64px; }
.redesign-home .featured-img-wrapper { position: absolute; inset: 0; height: auto; }
.redesign-home .featured-img { filter: saturate(.62) contrast(1.06); transform: scale(1.02); }
.redesign-home .featured-card::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7,19,38,.03) 35%, rgba(7,19,38,.92) 100%);
}
.redesign-home .featured-info {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    z-index: 2;
    padding: 38px;
}
.redesign-home .featured-card-title { color: var(--rd-white); font-size: clamp(1.25rem, 1.7vw, 1.85rem); }
.redesign-home .featured-card-desc { max-width: 420px; color: rgba(255,255,255,.62); }
.redesign-home .featured-card:hover { transform: translateY(-10px); box-shadow: 0 26px 60px rgba(7,19,38,.17); }
.redesign-home .featured-card:hover .featured-img { filter: saturate(.95); transform: scale(1.08); }
.redesign-home .featured-projects-section > div:last-child { margin-top: 80px !important; text-align: start !important; }
.redesign-home .featured-projects-section .btn-primary,
.redesign-home .latest-news-section .btn-primary {
    color: var(--rd-white);
    border-radius: 2px;
    background: var(--rd-navy);
}

/* Quality band */
.redesign-home .quality-safety-section {
    padding: clamp(88px, 8vw, 135px) clamp(24px, 5vw, 88px) !important;
    background: #d7dce3 !important;
}
.redesign-home .quality-safety-section > div { max-width: 1350px !important; gap: clamp(50px, 8vw, 130px) !important; }
.redesign-home .quality-safety-section .section-tag { color: #657080 !important; }
.redesign-home .quality-safety-section .section-title { color: var(--rd-navy) !important; font-size: clamp(2.5rem, 4vw, 4.7rem) !important; line-height: 1.05; }
.redesign-home .quality-safety-section p { color: #455163 !important; }
.redesign-home .quality-safety-section > div > div:last-child > div {
    border: 1px solid rgba(7,19,38,.13) !important;
    border-radius: 0 !important;
    color: var(--rd-navy) !important;
    background: rgba(255,255,255,.44) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
.redesign-home .quality-safety-section svg,
.redesign-home .quality-safety-section h3 { color: var(--rd-navy) !important; }

/* Partners and news */
.redesign-home .home-flow .partners-section {
    padding: clamp(100px, 9vw, 150px) clamp(24px, 5vw, 88px) !important;
    background: var(--rd-white) !important;
}
.redesign-home .partners-section .section-title,
.redesign-home .latest-news-section .section-title {
    color: var(--rd-navy) !important;
    font-size: clamp(2.7rem, 4.5vw, 5rem) !important;
    font-weight: 550;
    letter-spacing: -.045em;
}
.redesign-home .partners-wall-shell { width: min(100%, 1540px); margin: 60px auto 0; }
.redesign-home .partners-logo-wall { grid-template-columns: repeat(6, 1fr); gap: 1px; padding: 1px; background: var(--rd-line); }
.redesign-home .partners-logo-wall .partner-card {
    min-height: 144px;
    border: 0;
    border-radius: 0;
    background: var(--rd-white);
    transition: background .3s ease, transform .3s var(--rd-ease) !important;
}
.redesign-home .partners-logo-wall .partner-card:hover { z-index: 2; background: var(--rd-paper); transform: translateY(-4px) !important; }
.redesign-home .partner-logo-img { max-width: 72%; max-height: 68px; filter: grayscale(1) contrast(.86); opacity: .76; }
.redesign-home .partner-card:hover .partner-logo-img { filter: grayscale(0); opacity: 1; }
.redesign-home .partners-toggle { margin-top: 36px; border-color: var(--rd-navy); color: var(--rd-navy); border-radius: 2px; }

.redesign-home .latest-news-section {
    padding: clamp(100px, 9vw, 150px) clamp(24px, 5vw, 88px) !important;
    background: var(--rd-paper) !important;
}
.redesign-home .latest-news-section > * { width: min(100%, 1540px); margin-inline: auto; }
.redesign-home .news-grid { gap: 18px; }
.redesign-home .news-card { border: 0; border-radius: 0; background: var(--rd-white); box-shadow: none; }
.redesign-home .news-img-wrapper { height: 290px; }
.redesign-home .news-info { padding: 28px; }
.redesign-home .news-card-title { color: var(--rd-navy); }

/* Final CTA */
.redesign-home .home-cta-v3 {
    width: auto;
    max-width: none;
    margin: 0;
    padding: clamp(90px, 9vw, 145px) clamp(24px, 8vw, 140px);
    border-radius: 0;
    color: var(--rd-white);
    background: var(--rd-navy);
}
.redesign-home .home-cta-v3::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('assets/hero_bg-legacy.webp?v=2') center/cover no-repeat;
    opacity: .15;
}
.redesign-home .home-cta-v3 > * { position: relative; z-index: 1; }
.redesign-home .home-cta-copy-v3 { max-width: 900px; }
.redesign-home .home-cta-copy-v3 h2 { font-size: clamp(2.8rem, 5vw, 5.6rem); line-height: 1; letter-spacing: -.05em; }
.redesign-home .home-cta-button-v3 { color: var(--rd-navy); background: var(--rd-white); border-radius: 2px; }

/* Motion */
@keyframes rd-copy-in {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes rd-visual-in {
    from { opacity: 0; transform: translate3d(42px, 0, 0); }
    to { opacity: 1; transform: translate3d(var(--rd-parallax-x), var(--rd-parallax-y), 0); }
}
@keyframes rd-hero-bg {
    from { opacity: 0; transform: scale(1.08); }
    to { opacity: 1; transform: scale(1.02); }
}
@keyframes rd-scroll-line {
    0% { transform: translateX(-100%); }
    55%, 100% { transform: translateX(100%); }
}

/* Tablet */
@media (max-width: 1180px) {
    .hero-grid-v4 { grid-template-columns: minmax(390px, 1fr) minmax(440px, 1.05fr); gap: 28px; }
    .hero-visual-v4 { min-height: 540px; }
    .redesign-home .hero-v4 .hero-title { font-size: clamp(3rem, 5.3vw, 4.8rem); }
    .redesign-home .about-grid { grid-template-columns: .9fr 1.1fr; gap: 60px; }
    .redesign-home .about-composition { min-height: 540px; }
    .redesign-home .partners-logo-wall { grid-template-columns: repeat(5, 1fr); }
    .redesign-home .service-architecture-v3 { grid-template-columns: 1fr 1fr; }
    .redesign-home .delivery-rail-v3 { grid-template-columns: 1fr 1fr; border-radius: 26px 26px 4px 4px; }
    .redesign-home .delivery-phase-v3:nth-child(3) { border-top: 1px solid rgba(255,255,255,.12); border-inline-start: 0; }
    .redesign-home .delivery-phase-v3:nth-child(4) { border-top: 1px solid rgba(255,255,255,.12); }
}

/* Mobile */
@media (max-width: 820px) {
    .redesign-home .hero-v4 {
        min-height: 960px;
        padding: 112px 20px 54px;
    }
    .redesign-home .hero-v4::before { background-size: 25vw 100%, 100% 25vw; }
    .hero-grid-v4 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 28px;
        min-height: 0;
    }
    .redesign-home .hero-v4 .hero-content { max-width: none; }
    .hero-kicker-v4 { margin-bottom: 20px; font-size: .64rem; letter-spacing: .12em; }
    .hero-kicker-line-v4 { width: 26px; }
    .redesign-home .hero-v4 .hero-title,
    html[dir="rtl"] .redesign-home .hero-v4 .hero-title {
        margin-bottom: 20px;
        font-size: clamp(2.45rem, 11vw, 4.15rem);
        line-height: 1.02;
    }
    html[dir="rtl"] .redesign-home .hero-v4 .hero-title { line-height: 1.13; }
    .redesign-home .hero-v4 .hero-desc { margin-bottom: 24px; font-size: .92rem; line-height: 1.7; }
    .redesign-home .hero-v4 .hero-btns { align-items: stretch; }
    .redesign-home .hero-v4 .btn-primary,
    .redesign-home .hero-v4 .btn-secondary { min-height: 49px; padding: 0 16px; font-size: .75rem; }
    .hero-proof-v4 { margin-top: 28px; padding-top: 16px; }
    .hero-proof-item-v4 { padding-inline-end: 9px; }
    .hero-proof-item-v4 + .hero-proof-item-v4 { padding-inline-start: 9px; }
    .hero-proof-item-v4 strong { font-size: .88rem; }
    .hero-proof-item-v4 span { font-size: .54rem; line-height: 1.35; }
    .hero-visual-v4 { flex: 0 0 340px; min-height: 340px; margin-top: 6px; }
    .hero-slice-v4 { height: 78%; }
    .hero-slice-b-v4 { height: 94%; }
    .hero-slice-v4 figcaption { inset-inline: 24% 16%; bottom: 18px; display: block; }
    .hero-slice-v4 figcaption span { display: block; margin-bottom: 5px; }
    .hero-slice-v4 figcaption strong { font-size: .68rem; }
    .hero-scroll-v4 { display: none; }
    .hero-index-v4 { inset-inline-end: 20px; bottom: 16px; }

    .redesign-home .proof-strip-v3 { grid-template-columns: 1fr 1fr; padding: 30px 0; }
    .redesign-home .proof-item-v3 { min-height: 90px; padding: 18px !important; border-top: 1px solid var(--rd-line); }
    .redesign-home .proof-item-v3:nth-child(-n+2) { border-top: 0; }
    .redesign-home .proof-item-v3:nth-child(odd) { border-inline-start: 0; }
    .redesign-home .proof-value-v3 { font-size: 1.65rem; }

    .redesign-home .about-grid { grid-template-columns: 1fr; gap: 52px; }
    .redesign-home .about-section .section-title,
    .redesign-home .services-section .section-title,
    .redesign-home .featured-projects-section .section-title,
    .redesign-home .partners-section .section-title,
    .redesign-home .latest-news-section .section-title { font-size: clamp(2.35rem, 10vw, 4rem) !important; }
    .redesign-home .about-features { grid-template-columns: 1fr; }
    .redesign-home .about-composition { min-height: 470px; }
    .redesign-home .about-img-main-wrapper { inset: 0 5% 10% 0; }
    .redesign-home .about-img-sub-wrapper { width: 46%; height: 42%; border-width: 7px; }
    .redesign-home .about-floating-badge { inset-inline-start: 0; bottom: 24px; min-width: 142px; padding: 18px 20px; }

    .redesign-home .services-promise-v3 { grid-template-columns: 1fr; gap: 10px; }
    .redesign-home .delivery-rail-v3 { grid-template-columns: 1fr; padding: 10px; border-radius: 22px 22px 3px 3px; }
    .redesign-home .delivery-phase-v3,
    .redesign-home .delivery-phase-v3:nth-child(3),
    .redesign-home .delivery-phase-v3:nth-child(4) {
        min-height: 0;
        padding: 34px 20px 24px;
        border-inline-start: 0;
        border-top: 1px solid rgba(255,255,255,.12);
    }
    .redesign-home .delivery-phase-v3:first-child { border-top: 0; }
    .redesign-home .delivery-rail-v3::before { display: none; }
    .redesign-home .service-architecture-v3 { grid-template-columns: 1fr; }
    .redesign-home .service-cluster-v3 { min-height: 250px; }

    .redesign-home .featured-projects-section .section-header { grid-template-columns: 1fr; gap: 6px; }
    .redesign-home .featured-grid { grid-template-columns: 1fr; grid-auto-rows: 460px; }
    .redesign-home .featured-card:nth-child(2) { margin: 0; }
    .redesign-home .featured-info { padding: 28px; }
    .redesign-home .partners-logo-wall { grid-template-columns: repeat(3, 1fr); }
    .redesign-home .partners-logo-wall .partner-card { min-height: 110px; }
    .redesign-home .home-cta-v3 { align-items: flex-start; }
}

@media (max-width: 480px) {
    .redesign-home .hero-v4 { min-height: 920px; }
    .redesign-home .hero-v4 .hero-btns { display: grid; grid-template-columns: 1fr 1fr; }
    .redesign-home .hero-v4 .btn-primary { gap: 12px; justify-content: space-between; }
    .hero-visual-v4 { flex-basis: 300px; min-height: 300px; }
    .redesign-home .about-composition { min-height: 390px; }
    .redesign-home .partners-logo-wall { grid-template-columns: repeat(2, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .redesign-home *,
    .redesign-home *::before,
    .redesign-home *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
    .hero-visual-v4 { transform: none !important; }
}

/* redesign-v2.css */
/* AL.SHEREF Redesign V2 - concise editorial system */

:root {
    --v2-black: #09111c;
    --v2-navy: #0a1b33;
    --v2-panel: #12243a;
    --v2-ink: #10213a;
    --v2-muted: #5c6b7d;
    --v2-silver: #b9c0ca;
    --v2-paper: #f1f3f5;
    --v2-white: #fff;
    --v2-warm: #d8c7aa;
    --v2-line: rgba(255,255,255,.13);
    --v2-ease: cubic-bezier(.2,.78,.22,1);
}

.redesign-v2 { background: var(--v2-black); }

/* Hero: one strong scene, one short message */
.redesign-v2 .hero-v4 {
    min-height: max(760px, 100svh);
    padding: 148px clamp(24px, 6vw, 104px) 58px;
    background: var(--v2-navy);
}

.redesign-v2 .hero-v4::before {
    background:
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px) 0 0 / 10vw 100%,
        linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px) 0 0 / 100% 10vw;
    mask-image: linear-gradient(90deg,#000,transparent 76%);
}

.redesign-v2 .hero-v4::after {
    content: 'FROM FOUNDATION TO HANDOVER';
    inset-inline-start: auto;
    inset-inline-end: 2vw;
    bottom: 1.5vw;
    max-width: 50vw;
    color: rgba(255,255,255,.035);
    font-size: clamp(3.5rem,8vw,9rem);
    line-height: .82;
    text-align: end;
    white-space: normal;
}

.redesign-v2 .hero-v4 .hero-bg-wrapper {
    opacity: 1;
}

.redesign-v2 .hero-v4 .hero-bg-wrapper::after {
    background:
        linear-gradient(90deg,rgba(6,16,30,.93) 0%,rgba(6,16,30,.80) 31%,rgba(6,16,30,.28) 62%,rgba(6,16,30,.10) 100%),
        linear-gradient(0deg,rgba(6,16,30,.72) 0%,transparent 39%,rgba(6,16,30,.08) 100%) !important;
}

.redesign-v2 .hero-v4 .hero-bg-img {
    object-position: center;
    filter: saturate(.88) contrast(1.04);
}

.redesign-v2 .hero-grid-v4 {
    display: block;
    min-height: 570px;
    width: min(100%,1680px);
}

.redesign-v2 .hero-v4 .hero-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 570px;
    max-width: 760px;
}

.redesign-v2 .hero-kicker-v4 {
    margin-bottom: 25px;
    color: rgba(255,255,255,.68);
}

.redesign-v2 .hero-v4 .hero-title,
html[dir="rtl"] .redesign-v2 .hero-v4 .hero-title {
    max-width: 750px;
    margin-bottom: 24px;
    font-size: clamp(4rem,6.8vw,7.5rem);
    line-height: .91;
    letter-spacing: -.065em;
}

html[dir="rtl"] .redesign-v2 .hero-v4 .hero-title {
    font-size: clamp(3.8rem,6vw,6.7rem);
    line-height: 1.04;
}

.redesign-v2 .hero-v4 .hero-desc {
    max-width: 580px;
    margin-bottom: 28px;
    font-size: clamp(.95rem,1.1vw,1.08rem);
    line-height: 1.7;
}

.redesign-v2 .hero-visual-v4 { display: none; }

.redesign-v2 .hero-proof-v4 {
    max-width: 560px;
    margin-top: 48px;
}

.redesign-v2 .hero-proof-item-v4 strong { font-size: .92rem; }
.redesign-v2 .hero-proof-item-v4 span { font-size: .58rem; }
.redesign-v2 .hero-index-v4 { display: none; }
.redesign-v2 .hero-scroll-v4 { bottom: 26px; }

/* Remove duplicated proof section and shorten page rhythm */
.redesign-v2 .home-flow > .stats-section { display: none !important; }
.redesign-v2 .home-flow > .about-section { order: 1; }
.redesign-v2 .home-flow > .featured-projects-section { order: 2; }
.redesign-v2 .home-flow > .services-section { order: 3; }
.redesign-v2 .home-flow > .quality-safety-section { order: 4; }
.redesign-v2 .home-flow > .partners-section { order: 5; }
.redesign-v2 .home-flow > .latest-news-section { order: 6; }
.redesign-v2 .home-flow > .home-cta-v3 { order: 7; }

/* Section-to-section continuity */
.redesign-v2 .v2-flow-section {
    position: relative;
    scroll-margin-top: 118px;
}
.redesign-v2 .v2-section-bridge {
    --v2-next-tone: transparent;
    --v2-cue-tone: rgba(255,255,255,.62);
    position: absolute;
    inset-inline: 0;
    bottom: -1px;
    z-index: 8;
    height: 76px;
    overflow: hidden;
    pointer-events: none;
    background: linear-gradient(180deg,transparent 0%,var(--v2-next-tone) 100%);
}
.redesign-v2 .v2-section-bridge::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 18px;
    width: 1px;
    height: 44px;
    background: linear-gradient(180deg,transparent,var(--v2-cue-tone));
}
.redesign-v2 .v2-section-bridge::after {
    content: '';
    position: absolute;
    left: calc(50% - 2px);
    top: 18px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--v2-cue-tone);
    opacity: 0;
}
.redesign-v2 .is-v2-flow-active > .v2-section-bridge::after { animation:v2-flow-cue 2.2s var(--v2-ease) .2s infinite; }
@keyframes v2-flow-cue {
    0% { opacity:0;transform:translateY(0) scale(.8); }
    24% { opacity:.9; }
    78% { opacity:.35; }
    100% { opacity:0;transform:translateY(39px) scale(1); }
}
.redesign-v2 .about-section > .v2-section-bridge { --v2-next-tone:#12243a; }
.redesign-v2 .featured-projects-section > .v2-section-bridge { --v2-next-tone:#172d49; }
.redesign-v2 .services-section > .v2-section-bridge { --v2-next-tone:#f1f3f5;--v2-cue-tone:rgba(10,27,51,.55); }
.redesign-v2 .quality-safety-section > .v2-section-bridge { --v2-next-tone:#fff;--v2-cue-tone:rgba(10,27,51,.46); }
.redesign-v2 .partners-section > .v2-section-bridge { --v2-next-tone:#f3f5f7;--v2-cue-tone:rgba(10,27,51,.42); }
.redesign-v2 .latest-news-section > .v2-section-bridge { --v2-next-tone:#11243d; }

/* Cleaner scroll motion: movement and opacity without the heavy blur pass */
.redesign-v2 .reveal {
    filter: none;
    transform: translate3d(0,22px,0);
    transition: opacity .52s var(--v2-ease),transform .64s var(--v2-ease);
}
.redesign-v2 .reveal-stagger > * {
    filter: none;
    transform: translate3d(0,18px,0) scale(.99);
    transition: opacity .48s var(--v2-ease),transform .58s var(--v2-ease);
    transition-delay: calc(var(--reveal-index,0) * 55ms);
}
.redesign-v2 .reveal.active,
.redesign-v2 .reveal-stagger.active > * { filter:none;transform:translate3d(0,0,0) scale(1); }

/* Shared compact disclosure */
.v2-disclosure {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    margin-top: 18px;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}

.v2-disclosure-plus {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid currentColor;
    border-radius: 50%;
    font-size: 1.25rem;
    font-weight: 400;
    transition: color .28s ease,background .28s ease,transform .42s var(--v2-ease),box-shadow .28s ease;
}

.v2-disclosure:hover .v2-disclosure-plus {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(10,27,51,.14);
}

.is-v2-open > .v2-disclosure .v2-disclosure-plus,
.v2-disclosure[aria-expanded="true"] .v2-disclosure-plus {
    transform: rotate(45deg);
}

.redesign-v2 .nav-toggle:focus-visible,
.redesign-v2 .btn-lang:focus-visible,
.redesign-v2 .v2-disclosure:focus-visible,
.redesign-v2 .featured-expand:focus-visible {
    outline: 2px solid rgba(255,255,255,.72) !important;
    outline-offset: 4px;
}

.v2-expandable {
    max-height: 0;
    margin-top: 0 !important;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transform: translateY(12px);
    transition: max-height .5s var(--v2-ease),opacity .32s ease,transform .42s var(--v2-ease),margin .42s var(--v2-ease),visibility 0s .5s;
}

.is-v2-open > .v2-expandable,
.v2-expandable.is-v2-open {
    max-height: 520px;
    margin-top: 24px !important;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
}

/* About: a light editorial pause between the darker brand moments */
.redesign-v2 .home-flow .about-section {
    padding: clamp(90px,9vw,145px) clamp(24px,6vw,104px) !important;
    color: var(--v2-ink);
    background: #edf1f4 !important;
}

.redesign-v2 .about-grid {
    grid-template-columns: minmax(360px,.8fr) minmax(520px,1.2fr);
    gap: clamp(55px,8vw,140px);
}
.redesign-v2 .about-content { min-width:0;width:100%; }

.redesign-v2 .about-section .section-tag { color: #607086 !important; }
.redesign-v2 .about-section .section-title {
    max-width: 650px;
    margin-bottom: 24px !important;
    color: var(--v2-ink) !important;
    font-size: clamp(3.1rem,4.2vw,4.7rem) !important;
    text-wrap: balance;
}
.redesign-v2 .about-section p { max-width: 560px; color: var(--v2-muted) !important; }
.redesign-v2 .about-features { grid-template-columns: 1fr; }
.redesign-v2 .about-feat-item { border-color: rgba(10,27,51,.14); }
.redesign-v2 .about-feat-text strong { color: var(--v2-ink) !important; }
.redesign-v2 .about-feat-bullet { color: var(--v2-white);background: var(--v2-navy); }
.redesign-v2 .about-composition { min-height: 620px; }
.redesign-v2 .about-comp-grid { border-color: rgba(10,27,51,.12);background:linear-gradient(90deg,rgba(10,27,51,.08) 1px,transparent 1px) 0 0/20% 100%,linear-gradient(rgba(10,27,51,.08) 1px,transparent 1px) 0 0/100% 20%; }
.redesign-v2 .about-img-main-wrapper { inset: 0 4% 4% 5%;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%); }
.redesign-v2 .about-img-sub-wrapper { display: none; }
.redesign-v2 .about-floating-badge { inset-inline-start: auto;inset-inline-end: -10px;bottom: 28px;background: var(--v2-navy);color: var(--v2-white);box-shadow:0 18px 45px rgba(10,27,51,.22); }
.redesign-v2 .about-floating-badge .about-badge-text strong,
.redesign-v2 .about-floating-badge .about-badge-text span { color: var(--v2-white) !important; }

/* Projects: the requested slanted architectural grid */
.redesign-v2 .featured-projects-section {
    position: relative;
    padding: clamp(100px,10vw,165px) clamp(20px,4vw,70px) !important;
    color: var(--v2-white);
    background: #12243a !important;
    overflow: hidden;
}

.redesign-v2 .featured-projects-section::before {
    content: 'PROJECTS';
    position: absolute;
    inset-inline-start: -1vw;
    top: 5vw;
    color: rgba(255,255,255,.045);
    font-size: clamp(6rem,17vw,17rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.08em;
}

.redesign-v2 .featured-projects-section .section-header {
    position: relative;
    z-index: 2;
    display: block;
    width: min(100%,1400px);
    margin-bottom: 55px !important;
    text-align: center;
}

.redesign-v2 .featured-projects-section .section-tag { color: var(--v2-silver) !important; }
.redesign-v2 .featured-projects-section .section-title {
    color: var(--v2-white) !important;
    font-size: clamp(3.4rem,6vw,6.8rem) !important;
    text-align: center;
}

.redesign-v2 .featured-grid,
.redesign-v2 .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: min(100%,1450px);
    height: 650px;
    margin: 0 auto;
    padding-inline: 5%;
    gap: 0;
    overflow: visible;
}

.redesign-v2 .featured-card {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    min-height: 100%;
    margin-inline-start: -5.5%;
    border: 1px solid rgba(255,255,255,.16);
    clip-path: polygon(18% 0,100% 0,82% 100%,0 100%);
    background: var(--v2-panel);
    box-shadow: none;
    overflow: hidden;
    transform: translateY(calc(var(--project-index) * 18px));
    transition: flex .48s var(--v2-ease),transform .48s var(--v2-ease),filter .34s ease,opacity .34s ease;
}

.redesign-v2 .featured-card:first-child { margin-inline-start: 0; }
.redesign-v2 .featured-card:nth-child(2) { margin-top: 0;margin-bottom: 0; }
.redesign-v2 .featured-card:hover,
.redesign-v2 .featured-card.is-expanded {
    z-index: 5;
    flex-grow: 1.16;
    transform: translateY(-6px);
}
.redesign-v2 .featured-grid:has(.featured-card:hover) .featured-card:not(:hover),
.redesign-v2 .featured-grid:has(.featured-card.is-expanded) .featured-card:not(.is-expanded) { opacity: .82;filter: grayscale(.18); }

.redesign-v2 .featured-card-visual {
    position: absolute;
    inset: 0;
    display: block;
    color: var(--v2-white);
}
.redesign-v2 .featured-card .featured-img-wrapper { position:absolute;inset:0;height:auto; }
.redesign-v2 .featured-card .featured-img { filter:saturate(.76) contrast(1.06) brightness(.88);transform:scale(1.045); }
.redesign-v2 .featured-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg,rgba(8,21,38,.02) 28%,rgba(8,21,38,.82) 100%);
}
.redesign-v2 .featured-card:hover .featured-img,
.redesign-v2 .featured-card.is-expanded .featured-img { filter:saturate(.96) contrast(1.03) brightness(.96);transform:scale(1.01); }
.redesign-v2 .featured-index {
    position: absolute;
    top: 34px;
    inset-inline-start: 21%;
    z-index: 3;
    color: rgba(255,255,255,.65);
    font-size: .68rem;
    letter-spacing: .14em;
}
.redesign-v2 .featured-info {
    inset-inline: 20% 15%;
    bottom: 52px;
    z-index: 3;
    padding: 0;
    transition: opacity .28s ease,transform .38s var(--v2-ease);
}
.redesign-v2 .featured-card.is-expanded .featured-info { opacity:0;transform:translateY(10px); }
.redesign-v2 .featured-card-title { margin:0;color:var(--v2-white);font-size:clamp(1.25rem,1.7vw,1.85rem);line-height:1.18; }
.redesign-v2 .featured-info .featured-card-desc { display:none; }
.redesign-v2 .featured-expand {
    position: absolute;
    inset-inline-end: 20%;
    bottom: 42px;
    z-index: 6;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    color: var(--v2-white);
    background: rgba(10,27,51,.34);
    font-size: 1.45rem;
    cursor: pointer;
    transition: color .28s ease,background .28s ease,transform .38s var(--v2-ease),box-shadow .28s ease;
}
.redesign-v2 .featured-expand span { display:block;line-height:1;transition:transform .42s var(--v2-ease); }
.redesign-v2 .featured-expand::after { content:'';position:absolute;inset:-6px;border:1px solid rgba(255,255,255,.45);border-radius:50%;opacity:0;transform:scale(.72);pointer-events:none; }
.redesign-v2 .featured-expand:hover { color:var(--v2-ink);background:var(--v2-white);transform:translateY(-2px);box-shadow:0 10px 28px rgba(3,10,20,.22); }
.redesign-v2 .featured-card.is-expanded .featured-expand { color:var(--v2-ink);background:var(--v2-white);box-shadow:0 10px 30px rgba(3,10,20,.25); }
.redesign-v2 .featured-card.is-expanded .featured-expand span { transform:rotate(45deg); }
.redesign-v2 .featured-card.is-expanded .featured-expand::after { animation:v2-project-ring .52s var(--v2-ease); }
@keyframes v2-project-ring { 0%{opacity:.65;transform:scale(.72)} 100%{opacity:0;transform:scale(1.5)} }
.redesign-v2 .featured-detail {
    position: absolute;
    inset: auto 17% 18px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 168px;
    padding: 28px 82px 26px 28px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    color: var(--v2-white);
    background: rgba(15,35,58,.94);
    box-shadow: 0 24px 55px rgba(3,10,20,.28);
    backdrop-filter: blur(8px);
    opacity: 0;
    visibility: hidden;
    clip-path: inset(30% 0 0 0 round 14px);
    transform: translateY(24px) scale(.985);
    pointer-events: none;
    will-change: opacity,transform,clip-path;
    contain: paint;
    transition: opacity .3s ease,transform .46s var(--v2-ease),clip-path .46s var(--v2-ease),visibility 0s .46s;
}
.redesign-v2 .featured-card.is-expanded .featured-detail { opacity:1;visibility:visible;clip-path:inset(0 round 14px);transform:translateY(0) scale(1);pointer-events:auto;transition-delay:0s; }
.redesign-v2 .featured-detail .featured-card-desc {
    flex: 0 0 auto;
    margin: 0 0 18px;
    color: rgba(255,255,255,.76);
    font-size: .88rem;
    line-height: 1.7;
}
.redesign-v2 .featured-detail-link { display:inline-flex;align-items:center;gap:10px;color:var(--v2-white);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.redesign-v2 .featured-projects-section > div:last-child { margin-top:80px !important;text-align:center !important; }

/* Services: titles first, details on demand */
.redesign-v2 .home-flow .services-section { padding:clamp(95px,9vw,145px) clamp(24px,6vw,104px) !important;background:#172d49 !important; }
.redesign-v2 .services-section .section-header { max-width:850px; }
.redesign-v2 .services-section .section-title { font-size:clamp(3.2rem,5.5vw,6rem) !important; }
.redesign-v2 .services-intro { max-width:620px !important;margin-bottom:45px !important;color:rgba(255,255,255,.72) !important; }
.redesign-v2 .services-promise-v3 { display:none; }
.redesign-v2 .delivery-rail-v3 { margin-bottom:18px;border-radius:0;background:transparent; }
.redesign-v2 .delivery-phase-v3 { min-height:150px;padding:68px 24px 22px; }
.redesign-v2 .delivery-phase-v3 p { display:none; }
.redesign-v2 .service-cluster-v3 { min-height:240px;padding:32px 26px; }
.redesign-v2 .service-cluster-v3 p,
.redesign-v2 .service-cluster-v3 .cluster-scope-v3 { display:block; }
.redesign-v2 .service-cluster-v3 .v2-disclosure { margin-top:auto;color:var(--v2-silver); }
.redesign-v2 .service-cluster-v3 .v2-expandable p { margin-top:0;color:rgba(255,255,255,.72) !important; }
.redesign-v2 .service-cluster-featured-v3 .v2-disclosure { color:var(--v2-navy); }
.redesign-v2 .services-closing-v3 { display:none; }

/* Quality: one concise statement with optional detail */
.redesign-v2 .quality-safety-section { padding:clamp(85px,8vw,130px) clamp(24px,7vw,120px) !important;background:var(--v2-paper) !important; }
.redesign-v2 .quality-safety-section > div { max-width:1250px !important; }
.redesign-v2 .quality-safety-section .section-title { max-width:760px;font-size:clamp(3rem,5vw,5.7rem) !important; }
.redesign-v2 .quality-safety-section .v2-disclosure { color:var(--v2-navy); }

/* Partners and news become calmer, less verbose */
.redesign-v2 .home-flow .partners-section { padding:clamp(90px,8vw,130px) clamp(24px,6vw,104px) !important; }
.redesign-v2 .partners-section .section-header { margin-bottom:30px !important; }
.redesign-v2 .partners-section .section-title { font-size:clamp(2.7rem,4vw,4.7rem) !important; }
.redesign-v2 .partners-wall-shell { margin-top:35px; }
.redesign-v2 .partners-logo-wall .partner-card { min-height:122px; }
.redesign-v2 .latest-news-section { padding:clamp(90px,8vw,130px) clamp(24px,6vw,104px) !important; }
.redesign-v2 .news-card-content { display:none; }
.redesign-v2 .news-img-wrapper { height:230px; }

.redesign-v2 .home-cta-v3 { min-height:520px;justify-content:center;background:#11243d; }
.redesign-v2 .home-cta-copy-v3 h2 { max-width:950px;font-size:clamp(3.2rem,5.5vw,6rem); }

@media (max-width: 900px) {
    .redesign-v2 .hero-v4 { min-height:880px;padding:112px 22px 50px; }
    .redesign-v2 .hero-v4 .hero-bg-img { object-position:60% center; }
    .redesign-v2 .hero-v4 .hero-bg-wrapper::after { background:linear-gradient(90deg,rgba(6,16,30,.92) 0%,rgba(6,16,30,.68) 60%,rgba(6,16,30,.22) 100%),linear-gradient(0deg,rgba(6,16,30,.78),transparent 48%) !important; }
    .redesign-v2 .hero-v4 .hero-content { min-height:690px;justify-content:end; }
    .redesign-v2 .hero-v4 .hero-title,
    html[dir="rtl"] .redesign-v2 .hero-v4 .hero-title { font-size:clamp(3.1rem,12vw,5.2rem); }
    .redesign-v2 .hero-proof-v4 { margin-top:34px; }

    .redesign-v2 .about-grid { grid-template-columns:1fr; }
    .redesign-v2 .about-composition { min-height:500px; }

    .redesign-v2 .featured-grid,
    .redesign-v2 .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
        flex-direction:column;
        height:auto;
        min-height:0;
        padding-inline:0;
    }
    .redesign-v2 .featured-card,
    .redesign-v2 .featured-card:first-child {
        flex:none;
        width:100%;
        height:430px;
        min-height:430px;
        margin: -28px 0 0;
        clip-path:polygon(0 8%,100% 0,100% 92%,0 100%);
        transform:none;
    }
    .redesign-v2 .featured-card:first-child { margin-top:0; }
    .redesign-v2 .featured-card:hover,
    .redesign-v2 .featured-card.is-expanded { flex:none;transform:none; }
    .redesign-v2 .featured-index { top:52px;inset-inline-start:28px; }
    .redesign-v2 .featured-info { inset-inline:28px 80px;bottom:55px; }
    .redesign-v2 .featured-expand { inset-inline-end:26px;bottom:46px; }
    .redesign-v2 .featured-detail { inset:auto 16px 16px;min-height:156px;padding:24px 72px 22px 22px; }
    .redesign-v2 .featured-card.is-expanded .featured-expand { inset-inline-end:30px;bottom:28px; }

    .redesign-v2 .delivery-rail-v3 { grid-template-columns:1fr 1fr; }
    .redesign-v2 .delivery-phase-v3 { min-height:135px; }
}

@media (max-width: 560px) {
    .redesign-v2 .hero-v4 { min-height:850px; }
    .redesign-v2 .hero-v4 .hero-content { min-height:680px; }
    .redesign-v2 .hero-v4 .hero-desc { max-width:330px;font-size:.88rem; }
    .redesign-v2 .hero-v4 .hero-btns { grid-template-columns:1fr 1fr; }
    .redesign-v2 .hero-proof-v4 { grid-template-columns:repeat(3,1fr); }
    .redesign-v2 .about-composition { min-height:390px; }
    .redesign-v2 .about-section .section-title { font-size:clamp(2.55rem,11vw,3.4rem) !important;letter-spacing:-.045em; }
    .redesign-v2 .featured-card { height:390px;min-height:390px; }
    .redesign-v2 .delivery-rail-v3 { grid-template-columns:1fr; }
    .redesign-v2 .service-architecture-v3 { grid-template-columns:1fr; }
    .redesign-v2 .v2-section-bridge { height:58px; }
    .redesign-v2 .v2-section-bridge::before { top:12px;height:34px; }
    .redesign-v2 .v2-section-bridge::after { top:12px; }
}

@media (prefers-reduced-motion: reduce) {
    .redesign-v2 .featured-card,
    .redesign-v2 .featured-detail,
    .redesign-v2 .v2-expandable,
    .redesign-v2 .v2-disclosure-plus { transition:none !important; }
    .redesign-v2 .v2-section-bridge::after { animation:none !important; }
}

/* redesign-v3.css */
/* AL.SHEREF redesign V3
   Cold architectural editorial direction.
   Existing Cairo, Outfit, and Orbitron font stack is intentionally preserved. */

.redesign-v3 {
    --v3-navy: #0d1c38;
    --v3-navy-soft: #172944;
    --v3-ink: #111923;
    --v3-slate: #66717e;
    --v3-silver: #9aa2ab;
    --v3-line: rgba(13, 28, 56, .14);
    --v3-paper: #f2f3f3;
    --v3-concrete: #e2e5e7;
    --v3-white: #ffffff;
    --v3-shadow: 0 26px 70px rgba(13, 28, 56, .12);
    --v3-ease: cubic-bezier(.22, 1, .36, 1);
    background: var(--v3-paper);
    color: var(--v3-ink);
}

.redesign-v3 *,
.redesign-v3 *::before,
.redesign-v3 *::after { box-sizing: border-box; }

.redesign-v3 .scroll-progress,
.redesign-v3 .hero-scroll-v4,
.redesign-v3 .hero-index-v4,
.redesign-v3 .hero-proof-v4,
.redesign-v3 .nav-compact-brand,
.redesign-v3 .stats-section,
.redesign-v3 .why-us-section-v2,
.redesign-v3 .services-grid,
.redesign-v3 .delivery-rail-v3,
.redesign-v3 .services-intro,
.redesign-v3 .services-promise-v3,
.redesign-v3 .services-closing-v3,
.redesign-v3 .v2-section-bridge { display: none !important; }

/* Header */
.redesign-v3 .navbar,
.redesign-v3 .navbar.scrolled {
    position: fixed !important;
    z-index: 1000 !important;
    inset-block-start: 18px !important;
    inset-inline: auto !important;
    left: 50% !important;
    right: auto !important;
    width: min(1180px, calc(100% - 48px)) !important;
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 10px 8px 16px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 4px !important;
    background: rgba(13, 28, 56, .96) !important;
    box-shadow: 0 16px 48px rgba(13, 28, 56, .18) !important;
    backdrop-filter: none !important;
    transform: translateX(-50%) !important;
    transition: width .55s var(--v3-ease), height .55s var(--v3-ease),
                inset-block-start .55s var(--v3-ease), box-shadow .55s var(--v3-ease) !important;
}

.redesign-v3 .navbar.scrolled .logo-container { display: none !important; }
.redesign-v3 .navbar.scrolled .nav-links { gap: 8px !important; }
.redesign-v3 .navbar.scrolled .nav-item { padding-inline: 18px !important; }

.redesign-v3 .navbar::before,
.redesign-v3 .navbar::after,
.redesign-v3 .navbar.scrolled::before,
.redesign-v3 .navbar.scrolled::after { display: none !important; }

.redesign-v3 .navbar.scrolled {
    inset-block-start: 10px !important;
    width: min(820px, calc(100% - 48px)) !important;
    height: 58px !important;
    min-height: 58px !important;
    box-shadow: 0 18px 54px rgba(13, 28, 56, .24) !important;
}

.redesign-v3 .navbar .logo-container,
.redesign-v3 .navbar.scrolled .logo-container {
    display: flex !important;
    align-items: center !important;
    min-width: 205px !important;
    height: 50px !important;
    padding: 0 !important;
    overflow: visible !important;
    transition: opacity .35s ease, transform .55s var(--v3-ease), max-width .55s var(--v3-ease) !important;
}

.redesign-v3 .navbar .logo-img,
.redesign-v3 .navbar.scrolled .logo-img {
    width: auto !important;
    height: 50px !important;
    max-height: none !important;
    object-fit: contain !important;
    filter: none !important;
}

.redesign-v3 .navbar.scrolled .logo-container {
    min-width: 48px !important;
    max-width: 48px !important;
    overflow: hidden !important;
}

.redesign-v3 .navbar.scrolled .logo-img { transform: translateX(-2px) !important; }
html[dir="rtl"] .redesign-v3 .navbar.scrolled .logo-img { transform: translateX(2px) !important; }
.redesign-v3 .navbar .logo-text { display: none !important; }

.redesign-v3 .navbar .nav-links,
.redesign-v3 .navbar.scrolled .nav-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: 0 !important;
}

.redesign-v3 .navbar .nav-item,
.redesign-v3 .navbar.scrolled .nav-item {
    display: flex !important;
    align-items: center !important;
    height: 40px !important;
    padding: 0 15px !important;
    border-radius: 2px !important;
    color: rgba(255, 255, 255, .68) !important;
    font-size: .83rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    transition: color .25s ease, background-color .25s ease !important;
}

.redesign-v3 .navbar .nav-item::after {
    inset-block-end: 6px !important;
    width: 16px !important;
    height: 1px !important;
    background: var(--v3-silver) !important;
}

.redesign-v3 .navbar .nav-item:hover,
.redesign-v3 .navbar .nav-item.active {
    color: #fff !important;
    background: rgba(255, 255, 255, .07) !important;
}

.redesign-v3 .navbar .btn-lang,
.redesign-v3 .navbar.scrolled .btn-lang {
    min-width: 82px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 2px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: .78rem !important;
    white-space: nowrap !important;
}

/* Hero */
.redesign-v3 .hero-v4 {
    position: relative !important;
    min-height: 100svh !important;
    height: auto !important;
    padding: 104px clamp(24px, 6vw, 104px) 42px !important;
    overflow: hidden !important;
    background: var(--v3-paper) !important;
    color: var(--v3-navy) !important;
    isolation: isolate !important;
}

.redesign-v3 .hero-v4::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    inset: 0 !important;
    display: block !important;
    opacity: .52 !important;
    background-image: linear-gradient(rgba(13, 28, 56, .045) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(13, 28, 56, .045) 1px, transparent 1px) !important;
    background-size: 72px 72px !important;
    mask-image: linear-gradient(90deg, #000, transparent 64%) !important;
}

.redesign-v3 .hero-v4::after {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    inset-block: 104px 42px !important;
    inset-inline-end: clamp(24px, 4vw, 70px) !important;
    width: min(57vw, 860px) !important;
    display: block !important;
    border: 1px solid rgba(255, 255, 255, .45) !important;
    pointer-events: none !important;
}

.redesign-v3 .hero-v4 .hero-overlay { display: none !important; }
.redesign-v3 .hero-v4 .hero-bg-wrapper {
    position: absolute !important;
    z-index: 0 !important;
    inset-block: 104px 42px !important;
    inset-inline: auto clamp(24px, 4vw, 70px) !important;
    width: min(57vw, 860px) !important;
    overflow: hidden !important;
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%) !important;
    box-shadow: var(--v3-shadow) !important;
}

.redesign-v3 .hero-v4 .hero-bg-wrapper::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, rgba(13, 28, 56, .34), transparent 42%),
                linear-gradient(0deg, rgba(13, 28, 56, .35), transparent 40%) !important;
}

.redesign-v3 .hero-v4 .hero-bg-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 58% center !important;
    filter: saturate(.48) contrast(1.04) brightness(.88) !important;
    transform: scale(1.025) !important;
    transition: transform 1.4s var(--v3-ease), filter .8s ease !important;
}

.redesign-v3 .hero-v4:hover .hero-bg-img {
    transform: scale(1) !important;
    filter: saturate(.68) contrast(1.02) brightness(.94) !important;
}

.redesign-v3 .hero-ghost-v3 {
    position: absolute;
    z-index: 0;
    inset-inline-start: clamp(18px, 3vw, 54px);
    inset-block-end: 34px;
    color: transparent;
    -webkit-text-stroke: 1px rgba(13, 28, 56, .11);
    font-family: var(--font-english-display);
    font-size: clamp(5rem, 12vw, 12rem);
    font-weight: 700;
    letter-spacing: -.07em;
    line-height: .8;
    white-space: nowrap;
    pointer-events: none;
}

.redesign-v3 .hero-grid-v4 {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: 100% !important;
    max-width: 1480px !important;
    min-height: calc(100svh - 146px) !important;
    margin: 0 auto !important;
}

.redesign-v3 .hero-v4 .hero-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    width: min(49%, 680px) !important;
    min-height: calc(100svh - 146px) !important;
    padding: 40px 0 70px !important;
    color: var(--v3-navy) !important;
    text-align: initial !important;
}

.redesign-v3 .hero-kicker-v4 {
    margin-bottom: 28px !important;
    color: var(--v3-slate) !important;
    font-size: .75rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.redesign-v3 .hero-kicker-line-v4 { width: 38px !important; background: var(--v3-silver) !important; }

.redesign-v3 .hero-v4 .hero-title,
html[dir="rtl"] .redesign-v3 .hero-v4 .hero-title {
    max-width: 680px !important;
    margin: 0 0 24px !important;
    color: var(--v3-navy) !important;
    font-size: clamp(2.9rem, 3.35vw, 4.4rem) !important;
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    text-wrap: balance !important;
    text-shadow: none !important;
}

html[lang="ar"] .redesign-v3 .hero-v4 .hero-title {
    font-size: clamp(2.65rem, 3.6vw, 4.2rem) !important;
    line-height: 1.14 !important;
    letter-spacing: -.035em !important;
}

.redesign-v3 .hero-v4 .hero-title > span { display: block; white-space: nowrap; }

.redesign-v3 .hero-v4 .hero-desc {
    max-width: 515px !important;
    margin: 0 0 32px !important;
    color: #4e5b69 !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    text-shadow: none !important;
}

.redesign-v3 .hero-v4 .hero-btns { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; }
.redesign-v3 .btn-primary,
.redesign-v3 .hero-primary-v4,
.redesign-v3 .home-cta-button-v3 {
    min-height: 50px !important;
    padding: 0 22px !important;
    border: 1px solid var(--v3-navy) !important;
    border-radius: 2px !important;
    background: var(--v3-navy) !important;
    color: #fff !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.redesign-v3 .btn-secondary {
    min-height: 50px !important;
    padding: 0 22px !important;
    border: 1px solid var(--v3-line) !important;
    border-radius: 2px !important;
    background: rgba(255, 255, 255, .5) !important;
    color: var(--v3-navy) !important;
    white-space: nowrap !important;
}

.redesign-v3 .hero-btn-arrow-v4 { color: var(--v3-silver) !important; }
.redesign-v3 .hero-visual-v4 { display: none !important; }

/* Main flow */
.redesign-v3 .home-flow { display: flex !important; flex-direction: column !important; background: var(--v3-paper) !important; }
.redesign-v3 .home-flow > .partners-section { order: 1 !important; }
.redesign-v3 .home-flow > .about-section { order: 2 !important; }
.redesign-v3 .home-flow > .featured-projects-section { order: 3 !important; }
.redesign-v3 .home-flow > .services-section { order: 4 !important; }
.redesign-v3 .home-flow > .quality-safety-section { order: 5 !important; }
.redesign-v3 .home-flow > .latest-news-section { order: 6 !important; }
.redesign-v3 .home-flow > .home-cta-v3 { order: 7 !important; }

.redesign-v3 .home-flow > section {
    position: relative !important;
    border-radius: 0 !important;
}

.redesign-v3 .section-header { max-width: 1320px !important; margin-inline: auto !important; }
.redesign-v3 .section-tag { display: none !important; }
.redesign-v3 .featured-projects-section .section-tag,
.redesign-v3 .services-section .section-tag { display: inline-block !important; }

.redesign-v3 .section-title {
    color: var(--v3-navy) !important;
    font-size: clamp(2.5rem, 4.2vw, 5rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
}

/* Logo wall directly after the hero */
.redesign-v3 .home-flow .partners-section {
    padding: 54px clamp(24px, 6vw, 104px) 76px !important;
    background: var(--v3-white) !important;
    border-top: 1px solid var(--v3-line) !important;
    border-bottom: 1px solid var(--v3-line) !important;
}

.redesign-v3 .partners-section .section-header { display: none !important; }
.redesign-v3 .partners-wall-shell { max-width: 1320px !important; margin: 0 auto !important; }
.redesign-v3 .partners-logo-wall {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 1px !important;
    padding: 1px !important;
    overflow: hidden !important;
    background: var(--v3-line) !important;
}

.redesign-v3 .partners-logo-wall .partner-card {
    min-height: 116px !important;
    padding: 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--v3-white) !important;
    box-shadow: none !important;
    transition: background-color .3s ease !important;
}

.redesign-v3 .partners-logo-wall .partner-card:nth-child(-n+6) { min-height: 138px !important; background: #eceeef !important; }
.redesign-v3 .partners-logo-wall .partner-logo-img {
    width: auto !important;
    max-width: 76% !important;
    height: auto !important;
    max-height: 62px !important;
    filter: grayscale(1) contrast(.86) !important;
    opacity: .72 !important;
    transition: filter .3s ease, opacity .3s ease, transform .45s var(--v3-ease) !important;
}
.redesign-v3 .partners-logo-wall .partner-card:nth-child(-n+6) .partner-logo-img { max-width: 82% !important; max-height: 74px !important; opacity: .86 !important; }
.redesign-v3 .partners-logo-wall .partner-card:hover { background: var(--v3-paper) !important; transform: none !important; }
.redesign-v3 .partners-logo-wall .partner-card:hover .partner-logo-img { filter: grayscale(0) !important; opacity: 1 !important; transform: scale(1.04) !important; }
.redesign-v3 .partners-toggle {
    margin-top: 18px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--v3-navy) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--v3-navy) !important;
}

/* About as an editorial composition */
.redesign-v3 .home-flow .about-section {
    padding: clamp(96px, 10vw, 160px) clamp(24px, 7vw, 120px) !important;
    background: var(--v3-concrete) !important;
}

.redesign-v3 .about-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .82fr) minmax(420px, 1.18fr) !important;
    align-items: center !important;
    gap: clamp(60px, 8vw, 130px) !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
}

.redesign-v3 .about-section .section-title { max-width: 650px !important; margin-bottom: 28px !important; }
.redesign-v3 .about-section [data-i18n="about_text"] {
    max-width: 560px !important;
    margin-bottom: 26px !important;
    color: #485563 !important;
    font-size: 1rem !important;
    line-height: 1.75 !important;
}

.redesign-v3 .about-composition { min-height: 610px !important; }
.redesign-v3 .about-comp-grid {
    background-size: 54px 54px !important;
    opacity: .34 !important;
}
.redesign-v3 .about-img-main-wrapper {
    inset: 0 10% 12% 0 !important;
    border-radius: 0 !important;
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%) !important;
    box-shadow: var(--v3-shadow) !important;
}
.redesign-v3 .about-img-main { filter: saturate(.62) contrast(1.04) !important; }
.redesign-v3 .about-img-sub-wrapper {
    inset: auto 0 0 auto !important;
    width: 45% !important;
    height: 40% !important;
    border: 10px solid var(--v3-concrete) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.redesign-v3 .about-floating-badge {
    inset: 34px auto auto -28px !important;
    min-width: 154px !important;
    padding: 20px 24px !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 0 !important;
    background: var(--v3-navy) !important;
    box-shadow: 0 18px 46px rgba(13,28,56,.2) !important;
}
.redesign-v3 .about-badge-icon { display: none !important; }
.redesign-v3 .about-badge-text strong { color: #fff !important; font-size: 1.65rem !important; }
.redesign-v3 .about-badge-text span { color: rgba(255,255,255,.66) !important; }

/* Slanted project gallery */
.redesign-v3 .home-flow .featured-projects-section {
    padding: clamp(96px, 9vw, 145px) clamp(24px, 5vw, 84px) clamp(110px, 10vw, 170px) !important;
    overflow: hidden !important;
    background: var(--v3-navy) !important;
}
.redesign-v3 .featured-projects-section::before { display: none !important; }
.redesign-v3 .featured-projects-section .section-header { margin-bottom: 52px !important; }
.redesign-v3 .featured-projects-section .section-tag { color: var(--v3-silver) !important; }
.redesign-v3 .featured-projects-section .section-title { max-width: 880px !important; color: #fff !important; }
.redesign-v3 .featured-grid,
.redesign-v3 .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
    display: flex !important;
    gap: 0 !important;
    align-items: stretch !important;
    width: min(1240px, 94vw) !important;
    max-width: none !important;
    height: min(62vw, 650px) !important;
    min-height: 520px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}

.redesign-v3 .featured-card,
.redesign-v3 .featured-card:first-child {
    position: relative !important;
    flex: 1 1 0 !important;
    width: auto !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 -3.8% 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    clip-path: polygon(16% 0, 100% 0, 84% 100%, 0 100%) !important;
    box-shadow: none !important;
    transition: flex .75s var(--v3-ease), filter .5s ease, opacity .5s ease !important;
}
html[dir="rtl"] .redesign-v3 .featured-card,
html[dir="rtl"] .redesign-v3 .featured-card:first-child { margin: 0 0 0 -3.8% !important; clip-path: polygon(0 0, 84% 0, 100% 100%, 16% 100%) !important; }
.redesign-v3 .featured-card:hover,
.redesign-v3 .featured-card.is-expanded { flex: 1.6 1 0 !important; transform: none !important; }
.redesign-v3 .featured-card .featured-img { filter: saturate(.45) contrast(1.08) brightness(.7) !important; }
.redesign-v3 .featured-card:hover .featured-img,
.redesign-v3 .featured-card.is-expanded .featured-img { filter: saturate(.72) contrast(1.03) brightness(.82) !important; }
.redesign-v3 .featured-card::after { background: linear-gradient(0deg, rgba(5,14,29,.92), transparent 62%) !important; }
.redesign-v3 .featured-info { inset: auto 82px 42px 18% !important; }
html[dir="rtl"] .redesign-v3 .featured-info { inset: auto 18% 42px 82px !important; }
.redesign-v3 .featured-card-title { font-size: clamp(1.2rem, 2vw, 2rem) !important; }
.redesign-v3 .featured-index { display: none !important; }
.redesign-v3 .featured-expand {
    inset: 26px 15% auto auto !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.96) !important;
    color: var(--v3-navy) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.2) !important;
    transition: transform .55s var(--v3-ease), background-color .3s ease !important;
}
html[dir="rtl"] .redesign-v3 .featured-expand { inset: 26px auto auto 15% !important; }
.redesign-v3 .featured-expand span { transition: transform .55s var(--v3-ease) !important; }
.redesign-v3 .featured-card.is-expanded .featured-expand span { transform: rotate(45deg) !important; }
.redesign-v3 .featured-detail {
    inset: auto 12% 92px 12% !important;
    max-width: none !important;
    padding: 20px 22px !important;
    border-radius: 2px !important;
    background: rgba(255,255,255,.96) !important;
    clip-path: inset(18% 0 0 0) !important;
    transform: translateY(16px) !important;
    transition: opacity .35s ease, transform .55s var(--v3-ease), clip-path .55s var(--v3-ease) !important;
}
.redesign-v3 .featured-card.is-expanded .featured-detail { clip-path: inset(0) !important; transform: translateY(0) !important; }
.redesign-v3 .featured-detail .featured-card-desc { padding-inline-end: 12px !important; color: #3f4a57 !important; font-size: .9rem !important; line-height: 1.55 !important; }
.redesign-v3 .featured-projects-section > div:last-child { margin-top: 52px !important; }

/* Services: one asymmetric bento, concise by default */
.redesign-v3 .home-flow .services-section {
    padding: clamp(100px, 10vw, 160px) clamp(24px, 7vw, 120px) !important;
    background: var(--v3-paper) !important;
    color: var(--v3-ink) !important;
}
.redesign-v3 .services-section .section-header { margin-bottom: 48px !important; }
.redesign-v3 .services-section .section-tag { color: var(--v3-slate) !important; }
.redesign-v3 .services-section .section-title { max-width: 860px !important; color: var(--v3-navy) !important; }
.redesign-v3 .service-architecture-v3 {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
}
.redesign-v3 .service-cluster-v3 {
    position: relative !important;
    min-height: 280px !important;
    padding: 34px !important;
    border: 1px solid var(--v3-line) !important;
    border-radius: 2px !important;
    background: var(--v3-white) !important;
    color: var(--v3-navy) !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.redesign-v3 .service-cluster-v3:nth-child(1) { grid-column: span 7 !important; min-height: 350px !important; }
.redesign-v3 .service-cluster-v3:nth-child(2) { grid-column: span 5 !important; }
.redesign-v3 .service-cluster-v3:nth-child(3) { grid-column: span 5 !important; }
.redesign-v3 .service-cluster-v3:nth-child(4) { grid-column: span 7 !important; background: var(--v3-navy-soft) !important; color: #fff !important; }
.redesign-v3 .service-cluster-v3::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--v3-silver);
    transform: scaleY(0);
    transform-origin: bottom;
    transition: transform .55s var(--v3-ease);
}
.redesign-v3 .service-cluster-v3:hover::before,
.redesign-v3 .service-cluster-v3.is-v2-open::before { transform: scaleY(1); }
.redesign-v3 .cluster-no-v3 { display: none !important; }
.redesign-v3 .service-cluster-v3 h3 { max-width: 550px !important; color: inherit !important; font-size: clamp(1.35rem, 2vw, 2.15rem) !important; line-height: 1.22 !important; }
.redesign-v3 .service-cluster-details-v2 { margin-top: auto !important; }
.redesign-v3 .service-cluster-v3 .v2-disclosure,
.redesign-v3 .about-section .v2-disclosure,
.redesign-v3 .quality-safety-section .v2-disclosure {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: auto !important;
    padding: 10px 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
}
.redesign-v3 .v2-disclosure-plus {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px !important;
    border: 1px solid currentColor !important;
    border-radius: 50% !important;
    font-size: 1.2rem !important;
    line-height: 1 !important;
    transition: transform .55s var(--v3-ease), background-color .3s ease, color .3s ease !important;
}
.redesign-v3 .is-v2-open > .v2-disclosure .v2-disclosure-plus {
    transform: rotate(45deg) !important;
    border-color: var(--v3-navy) !important;
    background: var(--v3-navy) !important;
    color: var(--v3-white) !important;
}
.redesign-v3 .service-cluster-v3.is-v2-open:nth-child(4) > .v2-disclosure .v2-disclosure-plus {
    border-color: #fff !important;
    background: #fff !important;
    color: var(--v3-navy) !important;
}
.redesign-v3 .v2-disclosure-label { font-size: .78rem !important; font-weight: 700 !important; letter-spacing: .04em !important; }
.redesign-v3 .v2-expandable {
    max-height: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(12px) !important;
    transition: max-height .65s var(--v3-ease), opacity .35s ease, transform .55s var(--v3-ease), margin .55s var(--v3-ease) !important;
}
.redesign-v3 .is-v2-open > .v2-expandable,
.redesign-v3 .is-v2-open .v2-expandable {
    max-height: 280px !important;
    margin-top: 14px !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}
.redesign-v3 .service-cluster-v3 p { color: #53606d !important; line-height: 1.65 !important; }
.redesign-v3 .service-cluster-v3:nth-child(4) p { color: rgba(255,255,255,.72) !important; }
.redesign-v3.redesign-v2 .service-cluster-v3 .v2-expandable p { color: #53606d !important; }
.redesign-v3.redesign-v2 .service-cluster-v3:nth-child(4) .v2-expandable p { color: rgba(255,255,255,.72) !important; }
.redesign-v3 .cluster-scope-v3 { color: var(--v3-slate) !important; }

/* Quality: visual statement without a heavy dark block */
.redesign-v3 .home-flow .quality-safety-section {
    min-height: 650px !important;
    padding: clamp(90px, 9vw, 145px) clamp(24px, 7vw, 120px) !important;
    overflow: hidden !important;
    background: var(--v3-concrete) !important;
    color: var(--v3-navy) !important;
}
.redesign-v3 .quality-safety-section::before {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0;
    width: 48%;
    background: linear-gradient(90deg, var(--v3-concrete), transparent 24%), url('assets/about_industrial_2.webp?v=2') center / cover no-repeat;
    filter: grayscale(.45) contrast(1.04);
    opacity: .82;
}
html[dir="rtl"] .redesign-v3 .quality-safety-section::before { transform: scaleX(-1); }
.redesign-v3 .quality-safety-section > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(230px, .42fr) !important;
    align-items: end !important;
    gap: 50px !important;
    max-width: 1320px !important;
    min-height: 390px !important;
    margin: 0 auto !important;
}
.redesign-v3 .quality-safety-section > div > div:first-child {
    max-width: 680px !important;
    padding: 42px !important;
    background: rgba(242,243,243,.94) !important;
    border: 1px solid rgba(13,28,56,.1) !important;
}
.redesign-v3 .quality-safety-section .section-title { color: var(--v3-navy) !important; }
.redesign-v3 .quality-safety-section [data-i18n="quality_desc"] { color: #4c5966 !important; font-size: 1rem !important; line-height: 1.7 !important; }
.redesign-v3 .quality-safety-section > div > div:last-child { align-self: end !important; }
.redesign-v3 .quality-safety-section > div > div:last-child > div {
    padding: 30px !important;
    border: 0 !important;
    border-radius: 2px !important;
    background: var(--v3-navy) !important;
    box-shadow: var(--v3-shadow) !important;
    backdrop-filter: none !important;
}

/* News in an asymmetric editorial grid */
.redesign-v3 .home-flow .latest-news-section {
    padding: clamp(100px, 10vw, 160px) clamp(24px, 7vw, 120px) !important;
    background: var(--v3-white) !important;
}
.redesign-v3 .latest-news-section .section-header { margin-bottom: 46px !important; }
.redesign-v3 .news-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
    max-width: 1320px !important;
}
.redesign-v3 .news-card {
    grid-column: span 5 !important;
    min-height: 310px !important;
    border: 1px solid var(--v3-line) !important;
    border-radius: 0 !important;
    background: var(--v3-paper) !important;
    box-shadow: none !important;
}
.redesign-v3 .news-card:first-child { grid-column: span 7 !important; grid-row: span 2 !important; }
.redesign-v3 .news-card:first-child .news-img-wrapper { height: 360px !important; }
.redesign-v3 .news-img-wrapper { height: 190px !important; }
.redesign-v3 .news-img { filter: saturate(.55) contrast(1.04) !important; transition: transform .8s var(--v3-ease), filter .5s ease !important; }
.redesign-v3 .news-card:hover .news-img { transform: scale(1.025) !important; filter: saturate(.76) !important; }
.redesign-v3 .news-info { padding: 26px !important; }
.redesign-v3 .news-date { color: var(--v3-slate) !important; }

/* CTA and footer */
.redesign-v3 .home-cta-v3 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 48px !important;
    padding: clamp(90px, 9vw, 135px) clamp(24px, 7vw, 120px) !important;
    background: var(--v3-paper) !important;
    color: var(--v3-navy) !important;
    border-top: 1px solid var(--v3-line) !important;
}
.redesign-v3 .home-cta-copy-v3 { max-width: 850px !important; }
.redesign-v3 .home-cta-copy-v3 > span { display: none !important; }
.redesign-v3 .home-cta-v3 h2 { color: var(--v3-navy) !important; font-size: clamp(2.7rem, 5vw, 5.6rem) !important; line-height: 1.02 !important; letter-spacing: -.05em !important; }
.redesign-v3 .home-cta-v3 p { max-width: 610px !important; color: var(--v3-slate) !important; }
.redesign-v3 .footer { border-radius: 0 !important; background: var(--v3-navy) !important; }

/* Section journey, motivated by the reference video's continuous scene */
.redesign-v3 .v3-flow-item {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s ease, transform .9s var(--v3-ease);
}
.redesign-v3 .v3-flow-item.is-v3-visible { opacity: 1; transform: translateY(0); }

/* Public inner pages inherit the same material and header system. */
.public-inner-v3 { background: var(--v3-paper) !important; }
.public-inner-v3 main { color: var(--v3-ink); }
.public-inner-v3 .projects-hero,
.public-inner-v3 .page-header,
.public-inner-v3 .contact-hero,
.public-inner-v3 .news-hero { background-color: var(--v3-concrete) !important; }

@media (min-width: 821px) {
    .redesign-v3 .navbar.scrolled .logo-container { display: none !important; }
}

@media (max-width: 1060px) {
    .redesign-v3 .navbar,
    .redesign-v3 .navbar.scrolled { width: calc(100% - 28px) !important; }
    .redesign-v3 .navbar.scrolled { width: min(760px, calc(100% - 28px)) !important; }
    .redesign-v3 .hero-v4 .hero-bg-wrapper,
    .redesign-v3 .hero-v4::after { width: 52vw !important; }
    .redesign-v3 .hero-v4 .hero-content { width: 53% !important; }
    .redesign-v3 .partners-logo-wall { grid-template-columns: repeat(4, 1fr) !important; }
    .redesign-v3 .about-grid { grid-template-columns: 1fr 1fr !important; gap: 54px !important; }
    .redesign-v3 .featured-grid { height: 590px !important; width: 100% !important; }
}

@media (max-width: 820px) {
    .redesign-v3 .navbar,
    .redesign-v3 .navbar.scrolled {
        inset-block-start: 10px !important;
        width: calc(100% - 20px) !important;
        height: 62px !important;
        min-height: 62px !important;
        padding: 6px 8px !important;
    }
    .redesign-v3 .navbar .logo-container,
    .redesign-v3 .navbar.scrolled .logo-container { display: flex !important; min-width: 168px !important; max-width: 168px !important; height: 48px !important; }
    .redesign-v3 .navbar .logo-img,
    .redesign-v3 .navbar.scrolled .logo-img { height: 48px !important; transform: none !important; }
    .redesign-v3 .navbar .nav-links {
        position: fixed !important;
        top: 82px !important;
        right: 10px !important;
        left: 10px !important;
        width: auto !important;
        height: auto !important;
        min-height: 220px !important;
        padding: 12px !important;
        border: 1px solid rgba(255,255,255,.1) !important;
        border-radius: 3px !important;
        background: var(--v3-navy) !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        overflow: hidden !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-12px) scale(.98) !important;
        transition: opacity .25s ease, transform .4s var(--v3-ease), visibility 0s .4s !important;
    }
    html[dir="ltr"] .redesign-v3 .navbar .nav-links,
    html[dir="rtl"] .redesign-v3 .navbar .nav-links { right: 10px !important; left: 10px !important; }
    .redesign-v3 .navbar .nav-links.active {
        right: 10px !important;
        left: 10px !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
        transition-delay: 0s !important;
    }
    .redesign-v3 .navbar .nav-links li { display: block !important; width: 100% !important; }
    .redesign-v3 .navbar .nav-item { justify-content: flex-start !important; width: 100% !important; }
    .redesign-v3 .navbar .nav-toggle { display: flex !important; }
    .redesign-v3 .hero-v4 { min-height: auto !important; padding: 88px 14px 22px !important; }
    .redesign-v3 .hero-v4 .hero-bg-wrapper {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 47svh !important;
        min-height: 340px !important;
        clip-path: polygon(0 0, 100% 0, 100% 90%, 10% 100%) !important;
    }
    .redesign-v3 .hero-v4::after { inset: 88px 14px auto auto !important; width: calc(100% - 28px) !important; height: 47svh !important; min-height: 340px !important; }
    .redesign-v3 .hero-grid-v4 { min-height: auto !important; }
    .redesign-v3 .hero-v4 .hero-content {
        width: 100% !important;
        min-height: auto !important;
        padding: 50px 10px 66px !important;
    }
    .redesign-v3 .hero-v4 .hero-title,
    html[dir="rtl"] .redesign-v3 .hero-v4 .hero-title { max-width: 680px !important; font-size: clamp(2.65rem, 11vw, 4.3rem) !important; }
    .redesign-v3 .hero-ghost-v3 { inset-block-end: 16px; font-size: 18vw; }
    .redesign-v3 .partners-logo-wall { grid-template-columns: repeat(3, 1fr) !important; }
    .redesign-v3 .about-grid { grid-template-columns: 1fr !important; }
    .redesign-v3 .about-composition { min-height: 540px !important; }
    .redesign-v3 .featured-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 12px !important;
    }
    .redesign-v3 .featured-card,
    .redesign-v3 .featured-card:first-child,
    html[dir="rtl"] .redesign-v3 .featured-card,
    html[dir="rtl"] .redesign-v3 .featured-card:first-child {
        width: 100% !important;
        height: 430px !important;
        min-height: 430px !important;
        margin: 0 !important;
        clip-path: none !important;
    }
    .redesign-v3 .featured-card:hover,
    .redesign-v3 .featured-card.is-expanded { flex: none !important; }
    .redesign-v3 .service-cluster-v3:nth-child(n) { grid-column: span 6 !important; min-height: 290px !important; }
    .redesign-v3 .quality-safety-section::before { width: 100% !important; opacity: .18 !important; }
    .redesign-v3 .quality-safety-section > div { grid-template-columns: 1fr !important; }
    .redesign-v3 .quality-safety-section > div > div:last-child { max-width: 330px !important; }
    .redesign-v3 .news-card,
    .redesign-v3 .news-card:first-child { grid-column: span 12 !important; grid-row: auto !important; }
    .redesign-v3 .home-cta-v3 { grid-template-columns: 1fr !important; align-items: start !important; }
}

@media (max-width: 560px) {
    .redesign-v3 .navbar .logo-container,
    .redesign-v3 .navbar.scrolled .logo-container { display: flex !important; min-width: 126px !important; max-width: 126px !important; }
    .redesign-v3 .navbar .logo-img,
    .redesign-v3 .navbar.scrolled .logo-img { height: 43px !important; }
    .redesign-v3 .navbar .btn-lang,
    .redesign-v3 .navbar.scrolled .btn-lang { min-width: 70px !important; height: 40px !important; padding: 0 10px !important; }
    .redesign-v3 .hero-v4 .hero-bg-wrapper,
    .redesign-v3 .hero-v4::after { height: 32svh !important; min-height: 250px !important; }
    .redesign-v3 .hero-v4 .hero-content { padding: 30px 10px 44px !important; }
    .redesign-v3 .hero-kicker-v4 { margin-bottom: 18px !important; }
    .redesign-v3 .hero-v4 .hero-title,
    html[dir="rtl"] .redesign-v3 .hero-v4 .hero-title {
        margin-bottom: 16px !important;
        font-size: clamp(2rem, 8vw, 2.8rem) !important;
    }
    .redesign-v3 .hero-v4 .hero-desc { margin-bottom: 20px !important; font-size: .9rem !important; line-height: 1.5 !important; }
    .redesign-v3 .hero-v4 .hero-btns { width: 100% !important; flex-direction: column !important; }
    .redesign-v3 .hero-v4 .hero-title > span { white-space: nowrap; }
    .redesign-v3 .hero-v4 .hero-btns a { justify-content: center !important; width: 100% !important; }
    .redesign-v3 .partners-logo-wall { grid-template-columns: repeat(2, 1fr) !important; }
    .redesign-v3 .partners-logo-wall .partner-card,
    .redesign-v3 .partners-logo-wall .partner-card:nth-child(-n+6) { min-height: 104px !important; }
    .redesign-v3 .about-composition { min-height: 430px !important; }
    .redesign-v3 .about-floating-badge { inset: 20px auto auto 0 !important; }
    .redesign-v3 .featured-card,
    .redesign-v3 .featured-card:first-child { height: 380px !important; min-height: 380px !important; }
    .redesign-v3 .featured-info { inset: auto 22px 28px 22px !important; }
    .redesign-v3 .featured-detail { inset-inline: 18px !important; }
    .redesign-v3 .service-cluster-v3:nth-child(n) { grid-column: span 12 !important; min-height: 260px !important; padding: 28px !important; }
    .redesign-v3 .quality-safety-section > div > div:first-child { padding: 28px !important; }
    .redesign-v3 .home-cta-v3 h2 { font-size: clamp(2.35rem, 11vw, 3.5rem) !important; }
}

@media (prefers-reduced-motion: reduce) {
    .redesign-v3 *,
    .redesign-v3 *::before,
    .redesign-v3 *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
    .redesign-v3 .v3-flow-item { opacity: 1 !important; transform: none !important; }
}

/* redesign-v4.css */
/*
 * AL.SHEREF Redesign V4
 * Direction: Architectural Atlas
 * System: cold architectural editorial, light-led surfaces, navy anchors
 * Shape rule: media 24px/organic arches, content surfaces 20px, controls pill
 */

body.redesign-v4 {
    --v4-navy: #15233c;
    --v4-navy-soft: #23324b;
    --v4-graphite: #465160;
    --v4-steel: #8f99a7;
    --v4-mist: #dfe4e8;
    --v4-paper: #f4f5f6;
    --v4-white: #fcfcfb;
    --v4-line: rgba(21, 35, 60, 0.15);
    --v4-line-light: rgba(255, 255, 255, 0.16);
    --v4-shadow: 0 24px 70px rgba(21, 35, 60, 0.12);
    background: var(--v4-paper);
    color: var(--v4-navy);
    overflow-x: clip;
}

body.redesign-v4,
body.redesign-v4 * {
    box-sizing: border-box;
}

body.redesign-v4 .home-flow {
    display: flex;
    flex-direction: column;
    background: var(--v4-paper);
}

body.redesign-v4 .home-flow > section {
    isolation: isolate;
}

body.redesign-v3.redesign-v4 .home-flow > .partners-section { order: 1 !important; }
body.redesign-v3.redesign-v4 .home-flow > .featured-projects-section { order: 2 !important; }
body.redesign-v3.redesign-v4 .home-flow > .about-section { order: 3 !important; }
body.redesign-v3.redesign-v4 .home-flow > .services-section { order: 4 !important; }
body.redesign-v3.redesign-v4 .home-flow > .quality-safety-section { order: 5 !important; }
body.redesign-v3.redesign-v4 .home-flow > .latest-news-section { order: 6 !important; }
body.redesign-v3.redesign-v4 .home-flow > .home-cta-v3 { order: 7 !important; }

body.redesign-v4 .section-tag {
    display: none !important;
}

body.redesign-v4 .section-title {
    max-width: 900px;
    margin: 0;
    color: var(--v4-navy) !important;
    font-family: var(--font-english-display);
    font-size: clamp(2.2rem, 4.5vw, 5rem);
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.04em;
    text-align: start !important;
}

body.redesign-v4[dir="rtl"] .section-title,
html[dir="rtl"] body.redesign-v4 .section-title {
    font-family: var(--font-arabic-display);
    line-height: 1.22;
    letter-spacing: -0.025em;
}

body.redesign-v4 .section-header {
    width: min(100%, 1440px);
    margin: 0 auto 52px !important;
    padding: 0 !important;
}

/* Inner pages need a deliberate landing zone below the fixed navigation. */
body.public-inner-v3.redesign-v4 > .section-header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 44px !important;
    padding: clamp(154px, 14vw, 210px) max(5%, calc((100% - 1320px) / 2)) 28px !important;
    background: linear-gradient(180deg, #eef1f3 0%, var(--v4-paper) 100%) !important;
}

body.public-inner-v3.redesign-v4 > .section-header .section-title {
    max-width: 900px !important;
    margin: 0 !important;
}

body.public-inner-v3.redesign-v4 .contact-detail-icon {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    color: var(--v4-navy) !important;
}

body.public-inner-v3.redesign-v4 .contact-detail-icon svg {
    width: 22px;
    height: 22px;
}

body.redesign-v4 .btn-primary,
body.redesign-v4 .btn-secondary,
body.redesign-v4 .partners-toggle,
body.redesign-v4 .btn-lang {
    border-radius: 999px !important;
    white-space: nowrap;
}

body.redesign-v4 .btn-primary:active,
body.redesign-v4 .btn-secondary:active,
body.redesign-v4 .btn-lang:active,
body.redesign-v4 .featured-expand:active {
    transform: translateY(1px) scale(0.985);
}

body.redesign-v3.redesign-v4 .nav-toggle:focus-visible,
body.redesign-v3.redesign-v4 .btn-lang:focus-visible,
body.redesign-v3.redesign-v4 .nav-item:focus-visible,
body.redesign-v3.redesign-v4 .v2-disclosure:focus-visible,
body.redesign-v3.redesign-v4 .featured-expand:focus-visible {
    outline: 2px solid #aab3bf !important;
    outline-offset: 4px !important;
}

/* Header */
body.redesign-v4 .navbar {
    top: 18px;
    left: 50%;
    right: auto;
    width: min(calc(100% - 40px), 1480px);
    height: 72px;
    padding: 0 20px 0 24px;
    transform: translateX(-50%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background: rgba(17, 29, 49, 0.94);
    box-shadow: 0 12px 36px rgba(5, 14, 29, 0.2);
    -webkit-backdrop-filter: blur(8px) saturate(115%);
    backdrop-filter: blur(8px) saturate(115%);
    transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1),
                width 420ms cubic-bezier(0.16, 1, 0.3, 1),
                height 420ms cubic-bezier(0.16, 1, 0.3, 1),
                border-radius 420ms cubic-bezier(0.16, 1, 0.3, 1),
                background-color 250ms ease,
                box-shadow 250ms ease;
}

body.redesign-v4 .navbar.scrolled {
    width: min(calc(100% - 80px), 1120px);
    height: 62px;
    transform: translateX(-50%) translateY(-6px);
    border-radius: 999px;
    background: rgba(18, 31, 52, 0.97);
    box-shadow: 0 16px 46px rgba(5, 14, 29, 0.24);
}

body.redesign-v4 .logo-container {
    min-width: 230px;
    gap: 10px;
}

body.redesign-v4 .logo-img {
    width: 52px;
    height: 52px;
    object-fit: contain;
    filter: none !important;
    opacity: 1 !important;
}

body.redesign-v4 .navbar.scrolled .logo-img {
    width: 46px;
    height: 46px;
}

body.redesign-v4 .logo-brand-name {
    color: #f4f5f6;
    letter-spacing: 0.015em;
}

body.redesign-v4 .logo-brand-sub {
    color: #bcc4cf;
}

body.redesign-v4 .nav-links {
    gap: clamp(18px, 2.4vw, 40px);
    white-space: nowrap;
}

body.redesign-v4 .nav-item {
    color: #e4e8ed;
    font-size: 0.9rem;
    font-weight: 600;
}

body.redesign-v4 .nav-item::after {
    background: #aab3bf !important;
    height: 2px;
}

body.redesign-v4 .nav-item:hover,
body.redesign-v4 .nav-item.active {
    color: #ffffff;
}

body.redesign-v4 .btn-lang {
    min-width: 94px;
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.07);
    color: #f4f5f6;
}

/* Hero */
body.redesign-v4 .hero.hero-v4 {
    min-height: 100dvh;
    max-height: none;
    padding: 112px clamp(24px, 5vw, 82px) 62px;
    background: var(--v4-navy) !important;
    overflow: hidden;
}

body.redesign-v4 .hero-bg-wrapper,
body.redesign-v4 .hero-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

body.redesign-v4 .hero-bg-img {
    object-fit: cover;
    object-position: center;
    transform: scale(1.035);
    filter: saturate(0.66) contrast(1.05) brightness(0.76);
}

body.redesign-v4 .hero-overlay {
    display: block !important;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(10, 20, 36, 0.92) 0%, rgba(10, 20, 36, 0.76) 41%, rgba(10, 20, 36, 0.2) 72%, rgba(10, 20, 36, 0.5) 100%),
        linear-gradient(0deg, rgba(9, 18, 32, 0.72) 0%, transparent 48%);
}

body.redesign-v4 .hero-grid-v4 {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
    align-items: center;
    width: min(100%, 1480px);
    min-height: calc(100dvh - 174px);
    margin: 0 auto;
    gap: clamp(30px, 4vw, 72px);
}

body.redesign-v4 .hero-content {
    display: block !important;
    top: auto !important;
    height: auto !important;
    max-width: 650px;
    padding: 0;
    text-align: start;
}

body.redesign-v4 .hero-kicker-v4 {
    margin-bottom: 22px;
    color: #d2d8e0;
    font-size: clamp(0.72rem, 1vw, 0.86rem);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

body.redesign-v4 .hero-kicker-line-v4 {
    width: 40px;
    background: #aab3bf;
}

body.redesign-v4 .hero-title {
    max-width: 680px;
    margin: 0 0 24px;
    color: #f7f8f9;
    font-size: clamp(3.35rem, 6vw, 6.5rem);
    font-weight: 600;
    line-height: 0.94;
    letter-spacing: -0.052em;
    text-shadow: 0 12px 38px rgba(4, 12, 24, 0.22);
}

html[dir="rtl"] body.redesign-v4 .hero-title {
    font-family: var(--font-arabic-display);
    font-size: clamp(3rem, 5.2vw, 5.7rem);
    line-height: 1.16;
    letter-spacing: -0.035em;
}

body.redesign-v4 .hero-desc {
    max-width: 560px;
    margin: 0 0 34px;
    color: #d5dbe3;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.7;
}

body.redesign-v4 .hero-btns {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

body.redesign-v4 .hero-btns .btn-primary,
body.redesign-v4 .hero-btns .btn-secondary {
    min-height: 52px;
    padding: 0 24px;
}

body.redesign-v4 .hero-btns .btn-primary {
    border-color: #f5f6f7;
    background: #f5f6f7;
    color: var(--v4-navy);
}

body.redesign-v4 .hero-btns .btn-secondary {
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(14, 27, 46, 0.32);
    color: #f5f6f7;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

body.redesign-v4 .hero-btn-arrow-v4 {
    transition: transform 250ms ease;
}

body.redesign-v4 .hero-primary-v4:hover .hero-btn-arrow-v4 {
    transform: translate(2px, -2px);
}

body.redesign-v4 .hero-proof-v4,
body.redesign-v4 .hero-scroll-v4,
body.redesign-v4 .hero-index-v4 {
    display: none !important;
}

body.redesign-v4 .hero-ghost-v3 {
    z-index: 2;
    right: auto;
    bottom: -0.12em;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    color: rgba(255, 255, 255, 0.075);
    font-size: clamp(6rem, 16vw, 18rem);
    font-weight: 700;
    letter-spacing: -0.075em;
    line-height: 0.8;
    text-align: center;
    white-space: nowrap;
}

body.redesign-v4 .hero-visual-v4 {
    position: relative;
    display: grid !important;
    grid-template-columns: 0.82fr 1.18fr 0.72fr;
    align-items: end;
    height: min(66vh, 680px);
    gap: 10px;
    filter: drop-shadow(0 28px 40px rgba(2, 10, 22, 0.24));
}

body.redesign-v4 .hero-slice-v4 {
    position: relative;
    inset: auto !important;
    width: 100% !important;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(22, 38, 62, 0.78);
    clip-path: none !important;
    transition: transform 500ms cubic-bezier(0.16, 1, 0.3, 1), opacity 500ms ease;
}

body.redesign-v4 .hero-slice-a-v4 {
    height: 64%;
    border-radius: 110px 20px 20px 20px;
}

body.redesign-v4 .hero-slice-b-v4 {
    height: 92%;
    border-radius: 22px 140px 22px 22px;
    transform: translateY(-2%);
}

body.redesign-v4 .hero-slice-c-v4 {
    height: 54%;
    border-radius: 22px 22px 100px 22px;
    transform: translateY(-18%);
}

body.redesign-v4 .hero-slice-v4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.62) contrast(1.08) brightness(0.86);
    transition: transform 700ms cubic-bezier(0.16, 1, 0.3, 1), filter 400ms ease;
}

body.redesign-v4 .hero-slice-v4:hover {
    transform: translateY(-8px);
}

body.redesign-v4 .hero-slice-b-v4:hover {
    transform: translateY(calc(-2% - 8px));
}

body.redesign-v4 .hero-slice-c-v4:hover {
    transform: translateY(calc(-18% - 8px));
}

body.redesign-v4 .hero-slice-v4:hover img {
    transform: scale(1.035);
    filter: saturate(0.78) contrast(1.05) brightness(0.94);
}

body.redesign-v4 .hero-slice-v4 figcaption,
body.redesign-v4 .hero-visual-outline-v4 {
    display: none !important;
}

/* Specificity bridge over the previous redesign layer */
body.redesign-v3.redesign-v4 .hero-v4::before,
body.redesign-v3.redesign-v4 .hero-v4::after {
    display: none !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-overlay {
    display: block !important;
    z-index: 1 !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-bg-wrapper {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    clip-path: none !important;
    box-shadow: none !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-bg-wrapper::after {
    display: none !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-bg-img,
body.redesign-v3.redesign-v4 .hero-v4:hover .hero-bg-img {
    object-position: center !important;
    filter: saturate(0.66) contrast(1.05) brightness(0.76) !important;
    transform: scale(1.035) !important;
}

body.redesign-v3.redesign-v4 .hero-grid-v4 {
    display: grid !important;
    grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr) !important;
    align-items: center !important;
    width: min(100%, 1480px) !important;
    min-height: calc(100dvh - 174px) !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-content {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    color: #f7f8f9 !important;
}

body.redesign-v3.redesign-v4 .hero-kicker-v4 {
    margin-bottom: 22px !important;
    color: #d2d8e0 !important;
}

body.redesign-v3.redesign-v4 .hero-kicker-line-v4 {
    background: #aab3bf !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-title,
html[dir="rtl"] body.redesign-v3.redesign-v4 .hero-v4 .hero-title {
    max-width: 680px !important;
    margin: 0 0 24px !important;
    color: #f7f8f9 !important;
    font-size: clamp(3.35rem, 6vw, 6.5rem) !important;
    font-weight: 600 !important;
    line-height: 0.94 !important;
    letter-spacing: -0.052em !important;
    text-shadow: 0 12px 38px rgba(4, 12, 24, 0.22) !important;
}

html[lang="ar"] body.redesign-v3.redesign-v4 .hero-v4 .hero-title {
    font-size: clamp(3rem, 5.2vw, 5.7rem) !important;
    line-height: 1.16 !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-desc {
    max-width: 560px !important;
    margin: 0 0 34px !important;
    color: #d5dbe3 !important;
    font-size: clamp(1rem, 1.35vw, 1.18rem) !important;
    line-height: 1.7 !important;
    text-shadow: none !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-btns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-btns .btn-primary {
    border-color: #f5f6f7 !important;
    border-radius: 999px !important;
    background: #f5f6f7 !important;
    color: var(--v4-navy) !important;
}

body.redesign-v3.redesign-v4 .hero-v4 .hero-btns .btn-secondary {
    border-color: rgba(255, 255, 255, 0.35) !important;
    border-radius: 999px !important;
    background: rgba(14, 27, 46, 0.32) !important;
    color: #f5f6f7 !important;
}

body.redesign-v3.redesign-v4 .hero-visual-v4 {
    display: grid !important;
}

/* Capability rail, inspired by the monochrome reference without mimicking retail UI */
body.redesign-v4 .capability-rail-v4 {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    padding: 0 clamp(22px, 4vw, 64px);
    background: #17253d;
    color: #f4f6f8;
}

body.redesign-v4 .capability-item-v4 {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    align-items: center;
    min-height: 132px;
    padding: 24px clamp(16px, 2vw, 30px);
    gap: 16px;
    border-inline-end: 1px solid rgba(255, 255, 255, 0.12);
    color: inherit;
    text-decoration: none;
    transition: background-color 250ms ease, transform 250ms ease;
}

body.redesign-v4 .capability-item-v4:first-child {
    border-inline-start: 1px solid rgba(255, 255, 255, 0.12);
}

body.redesign-v4 .capability-item-v4:hover {
    background: rgba(255, 255, 255, 0.06);
    transform: translateY(-3px);
}

body.redesign-v4 .capability-thumb-v4 {
    width: 62px;
    height: 74px;
    overflow: hidden;
    border-radius: 10px 34px 10px 10px;
    background: #283750;
}

body.redesign-v4 .capability-thumb-v4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.08) brightness(0.86);
    transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1), filter 300ms ease;
}

body.redesign-v4 .capability-item-v4:hover img {
    transform: scale(1.06);
    filter: grayscale(0.45) contrast(1.05) brightness(0.96);
}

body.redesign-v4 .capability-copy-v4 {
    display: grid;
    gap: 7px;
    min-width: 0;
}

body.redesign-v4 .capability-copy-v4 strong {
    color: #f5f6f8;
    font-size: clamp(0.82rem, 1.05vw, 1rem);
    line-height: 1.25;
}

body.redesign-v4 .capability-copy-v4 small {
    display: -webkit-box;
    overflow: hidden;
    color: #abb5c2;
    font-size: 0.72rem;
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* Logo wall */
body.redesign-v4 .partners-section {
    order: 1;
    padding: 62px clamp(24px, 5vw, 72px) 58px !important;
    background: var(--v4-white) !important;
}

body.redesign-v3.redesign-v4 .home-flow .partners-section {
    min-height: 0 !important;
    padding: 62px clamp(24px, 5vw, 72px) 58px !important;
}

body.redesign-v4 .partners-section .section-header,
body.redesign-v4 .partners-toggle {
    display: none !important;
}

body.redesign-v4 .partners-wall-shell {
    width: min(100%, 1400px);
    margin: 0 auto;
}

body.redesign-v4 .partners-logo-wall {
    display: grid !important;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    align-items: center;
    gap: clamp(22px, 3vw, 52px);
    max-height: none !important;
    overflow: visible !important;
}

body.redesign-v4 .partner-logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 72px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.redesign-v4 .partner-logo-card:nth-child(n+9) {
    display: none;
}

body.redesign-v4 .partner-logo-img {
    max-width: 130px;
    max-height: 56px;
    object-fit: contain;
    filter: grayscale(1) contrast(0.86);
    opacity: 0.65;
    transition: opacity 250ms ease, filter 250ms ease, transform 250ms ease;
}

body.redesign-v4 .partner-logo-card:hover .partner-logo-img {
    transform: translateY(-3px);
    filter: grayscale(0.2) contrast(1);
    opacity: 1;
}

/* Remove duplicate and unverified stats block */
body.redesign-v4 .stats-section {
    display: none !important;
}

/* Projects, asymmetric editorial gallery */
body.redesign-v4 .featured-projects-section {
    order: 2;
    padding: clamp(100px, 11vw, 168px) clamp(24px, 5vw, 72px) !important;
    background: var(--v4-paper) !important;
}

body.redesign-v4 .featured-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(280px, 1fr));
    width: min(100%, 1440px);
    min-height: 720px;
    margin: 0 auto;
    gap: 14px;
}

body.redesign-v4 .featured-card {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    border: 0 !important;
    border-radius: 22px;
    background: var(--v4-navy);
    box-shadow: none !important;
}

body.redesign-v4 .featured-card:nth-child(1) {
    grid-column: 1 / span 7;
    grid-row: 1 / span 2;
    border-radius: 22px 150px 22px 22px;
}

body.redesign-v4 .featured-card:nth-child(2) {
    grid-column: 8 / span 5;
    grid-row: 1;
    border-radius: 22px 22px 100px 22px;
}

body.redesign-v4 .featured-card:nth-child(3) {
    grid-column: 8 / span 5;
    grid-row: 2;
    border-radius: 100px 22px 22px 22px;
}

body.redesign-v4 .featured-card-visual,
body.redesign-v4 .featured-img-wrapper,
body.redesign-v4 .featured-img {
    width: 100%;
    height: 100%;
}

body.redesign-v4 .featured-card-visual {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    color: #ffffff;
}

body.redesign-v4 .featured-img {
    object-fit: cover;
    filter: saturate(0.72) contrast(1.05) brightness(0.82);
    transition: transform 850ms cubic-bezier(0.16, 1, 0.3, 1), filter 450ms ease;
}

body.redesign-v4 .featured-card:hover .featured-img {
    transform: scale(1.035);
    filter: saturate(0.9) contrast(1.04) brightness(0.72);
}

body.redesign-v4 .featured-card-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(10, 20, 36, 0.88), rgba(10, 20, 36, 0.06) 56%);
    pointer-events: none;
}

body.redesign-v4 .featured-index {
    display: none !important;
}

body.redesign-v4 .featured-info {
    position: absolute;
    z-index: 2;
    right: 78px;
    bottom: 24px;
    left: 26px;
    padding: 0 !important;
    background: transparent !important;
}

html[dir="rtl"] body.redesign-v4 .featured-info {
    right: 26px;
    left: 78px;
}

body.redesign-v4 .featured-card-title {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.25rem, 2vw, 2.1rem);
    font-weight: 650;
    line-height: 1.14;
}

body.redesign-v4 .featured-expand {
    position: absolute;
    z-index: 5;
    right: 18px;
    bottom: 18px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.36);
    border-radius: 999px;
    background: rgba(246, 248, 249, 0.94);
    color: var(--v4-navy);
    cursor: pointer;
    box-shadow: 0 10px 28px rgba(5, 12, 24, 0.22);
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1), background-color 250ms ease, color 250ms ease;
}

html[dir="rtl"] body.redesign-v4 .featured-expand {
    right: auto;
    left: 18px;
}

body.redesign-v4 .featured-expand span {
    display: block;
    font-size: 1.7rem;
    font-weight: 300;
    line-height: 1;
    transition: transform 420ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.redesign-v4 .featured-card.is-expanded .featured-expand {
    background: var(--v4-navy);
    color: #ffffff;
    transform: rotate(0deg);
}

body.redesign-v4 .featured-card.is-expanded .featured-expand span {
    transform: rotate(45deg);
}

body.redesign-v4 .featured-detail {
    position: absolute;
    z-index: 4;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-rows: 0fr;
    padding: 0 82px 0 28px;
    overflow: hidden;
    background: rgba(245, 247, 248, 0.97);
    color: var(--v4-navy);
    opacity: 0;
    transform: translateY(18px);
    transition: grid-template-rows 450ms cubic-bezier(0.16, 1, 0.3, 1),
                padding 450ms cubic-bezier(0.16, 1, 0.3, 1),
                opacity 260ms ease,
                transform 450ms cubic-bezier(0.16, 1, 0.3, 1);
}

html[dir="rtl"] body.redesign-v4 .featured-detail {
    padding-right: 28px;
    padding-left: 82px;
}

body.redesign-v4 .featured-card.is-expanded .featured-detail {
    grid-template-rows: 1fr;
    padding-top: 24px;
    padding-bottom: 82px;
    opacity: 1;
    transform: translateY(0);
}

body.redesign-v4 .featured-card-desc {
    align-self: start;
    min-height: 0;
    margin: 0 0 16px;
    overflow: hidden;
    color: #465160;
    font-size: 0.94rem;
    line-height: 1.65;
}

body.redesign-v4 .featured-detail-link {
    width: fit-content;
    color: var(--v4-navy);
    font-size: 0.86rem;
    font-weight: 700;
    text-decoration: none;
}

body.redesign-v4 .featured-projects-section > div:last-child {
    width: min(100%, 1440px);
    margin: 38px auto 0 !important;
    text-align: start !important;
}

body.redesign-v4 .featured-projects-section > div:last-child .btn-primary {
    min-height: 50px;
    border: 1px solid var(--v4-navy);
    background: transparent;
    color: var(--v4-navy);
}

/* About becomes the editorial atlas inspired by the provided dark collage */
body.redesign-v4 .about-section {
    order: 3;
    padding: clamp(100px, 11vw, 170px) clamp(24px, 5vw, 72px) !important;
    background: var(--v4-mist) !important;
}

body.redesign-v4 .about-grid {
    display: grid;
    grid-template-columns: minmax(300px, 0.78fr) minmax(520px, 1.22fr);
    align-items: center;
    width: min(100%, 1440px);
    margin: 0 auto;
    gap: clamp(44px, 7vw, 110px);
}

body.redesign-v4 .about-section .section-title {
    max-width: 620px;
    margin-bottom: 26px !important;
}

body.redesign-v4 .about-section [data-i18n="about_text"] {
    max-width: 52ch;
    margin-bottom: 32px !important;
    color: #465160 !important;
    font-size: 1.05rem !important;
    line-height: 1.8 !important;
}

body.redesign-v4 .about-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

body.redesign-v4 .about-feat-item {
    min-width: 0;
    padding: 18px 0;
    border-top: 1px solid rgba(21, 35, 60, 0.22);
}

body.redesign-v4 .about-feat-bullet,
body.redesign-v4 .about-feat-text p {
    display: none !important;
}

body.redesign-v4 .about-feat-text strong {
    display: block;
    color: var(--v4-navy);
    font-size: 0.95rem;
    line-height: 1.45;
}

body.redesign-v4 .about-composition {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: repeat(10, 52px);
    min-height: 520px;
    isolation: isolate;
}

body.redesign-v4 .about-comp-grid {
    position: absolute;
    inset: 10% 8% 4% 12%;
    border: 1px solid rgba(21, 35, 60, 0.1);
    border-radius: 20px;
    background-image:
        linear-gradient(rgba(21, 35, 60, 0.075) 1px, transparent 1px),
        linear-gradient(90deg, rgba(21, 35, 60, 0.075) 1px, transparent 1px);
    background-size: 42px 42px;
}

body.redesign-v4 .about-img-main-wrapper,
body.redesign-v4 .about-img-sub-wrapper,
body.redesign-v4 .about-img-editorial-v4 {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    margin: 0;
    overflow: hidden;
    border: 5px solid var(--v4-mist);
    box-shadow: 0 24px 54px rgba(21, 35, 60, 0.16);
}

body.redesign-v4 .about-img-main-wrapper {
    z-index: 2;
    grid-column: 4 / 10;
    grid-row: 1 / 10;
    border-radius: 160px 26px 160px 26px;
}

body.redesign-v4 .about-img-sub-wrapper {
    z-index: 3;
    grid-column: 1 / 6;
    grid-row: 5 / 9;
    border-radius: 22px 100px 22px 22px;
}

body.redesign-v4 .about-img-editorial-v4 {
    z-index: 4;
    grid-column: 9 / 13;
    grid-row: 3 / 8;
    border-radius: 100px 22px 22px 22px;
    background: var(--v4-navy);
}

body.redesign-v4 .about-img-main,
body.redesign-v4 .about-img-sub,
body.redesign-v4 .about-img-editorial-v4 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.redesign-v4 .about-img-main,
body.redesign-v4 .about-img-sub {
    filter: saturate(0.62) contrast(1.04);
}

body.redesign-v4 .about-img-editorial-v4 img {
    filter: saturate(0.72) brightness(0.92);
}

body.redesign-v4 .about-img-editorial-v4 figcaption {
    position: absolute;
    right: 12px;
    bottom: 10px;
    left: 12px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 0.66rem;
    line-height: 1.3;
    text-align: center;
}

body.redesign-v4 .about-floating-badge {
    z-index: 5;
    right: auto !important;
    bottom: 0 !important;
    left: 26%;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    gap: 12px;
    min-width: 168px;
    padding: 16px 20px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 18px;
    background: rgba(250, 251, 251, 0.92);
    color: var(--v4-navy);
    box-shadow: var(--v4-shadow);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

body.redesign-v4 .about-badge-icon {
    display: none;
}

body.redesign-v4 .about-badge-text strong {
    color: var(--v4-navy) !important;
    font-size: 1.6rem;
}

body.redesign-v4 .about-badge-text span {
    color: var(--v4-graphite) !important;
    font-size: 0.72rem;
}

/* Services, sparse bento with distinct surface treatments */
body.redesign-v4 .services-section {
    order: 4;
    padding: clamp(100px, 11vw, 170px) clamp(24px, 5vw, 72px) !important;
    background: #f7f8f9 !important;
    color: var(--v4-navy) !important;
}

body.redesign-v4 .services-section .section-header,
body.redesign-v4 .services-intro,
body.redesign-v4 .services-promise-v3,
body.redesign-v4 .service-architecture-v3,
body.redesign-v4 .services-closing-v3 {
    width: min(100%, 1440px);
    margin-right: auto;
    margin-left: auto;
}

body.redesign-v4 .services-intro {
    max-width: 58ch;
    margin-top: 24px;
    margin-bottom: 52px;
    color: var(--v4-graphite) !important;
    font-size: 1.08rem !important;
    line-height: 1.75;
    text-align: start !important;
}

body.redesign-v4 .services-promise-v3 {
    display: none !important;
}

body.redesign-v4 .delivery-rail-v3,
body.redesign-v4 .services-grid {
    display: none !important;
}

body.redesign-v4 .service-architecture-v3 {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: minmax(230px, auto);
    gap: 14px;
}

body.redesign-v4 .service-cluster-v3 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-width: 0;
    padding: clamp(26px, 3vw, 42px) !important;
    overflow: hidden;
    border: 1px solid var(--v4-line) !important;
    border-radius: 20px !important;
    background: #eef1f3 !important;
    color: var(--v4-navy) !important;
    box-shadow: none !important;
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1), border-color 250ms ease;
}

body.redesign-v4 .service-cluster-v3:hover {
    transform: translateY(-6px);
    border-color: rgba(21, 35, 60, 0.28) !important;
}

body.redesign-v4 .service-cluster-v3:nth-child(1) {
    grid-column: 1 / span 7;
    min-height: 340px;
    background:
        linear-gradient(90deg, rgba(239, 242, 244, 0.96), rgba(239, 242, 244, 0.7)),
        url("assets/about_industrial_2.webp?v=2") center / cover !important;
}

body.redesign-v4 .service-cluster-v3:nth-child(2) {
    grid-column: 8 / span 5;
    border-radius: 20px 100px 20px 20px !important;
    background: #dfe4e8 !important;
}

body.redesign-v4 .service-cluster-v3:nth-child(3) {
    grid-column: 1 / span 5;
    border-radius: 100px 20px 20px 20px !important;
    background: var(--v4-navy) !important;
    color: #f7f8f9 !important;
}

body.redesign-v4 .service-cluster-v3:nth-child(4) {
    grid-column: 6 / span 7;
    min-height: 320px;
    background:
        linear-gradient(90deg, rgba(236, 239, 242, 0.96), rgba(236, 239, 242, 0.7)),
        url("assets/editorial-material-study-v1.webp") center / cover !important;
}

body.redesign-v4 .cluster-no-v3,
body.redesign-v4 .cluster-scope-v3 {
    display: none !important;
}

body.redesign-v4 .service-cluster-v3 h3 {
    max-width: 17ch;
    margin: 0 0 14px;
    color: inherit !important;
    font-size: clamp(1.4rem, 2vw, 2.15rem);
    line-height: 1.12;
}

body.redesign-v4 .service-cluster-v3 p {
    max-width: 48ch;
    margin: 0;
    color: #485462 !important;
    font-size: 0.94rem;
    line-height: 1.68;
}

body.redesign-v4 .service-cluster-v3:nth-child(3) p {
    color: #c7cfd9 !important;
}

body.redesign-v4 .services-closing-v3 {
    margin-top: 34px;
    color: var(--v4-navy) !important;
    font-size: clamp(1.1rem, 1.65vw, 1.45rem) !important;
    font-weight: 650;
    text-align: start !important;
}

/* The earlier values grid repeats the same information; keep it out of the homepage flow */
body.redesign-v4 .why-us-section-v2 {
    display: none !important;
}

/* Quality is a light blueprint field, keeping navy as the brand anchor */
body.redesign-v4 .quality-safety-section {
    order: 5;
    min-height: 600px;
    padding: clamp(100px, 11vw, 168px) clamp(24px, 5vw, 72px) !important;
    background: #e9edf0 !important;
    color: var(--v4-navy) !important;
}

body.redesign-v4 .quality-blueprint-v4 {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.16;
    filter: grayscale(0.25) contrast(0.92);
}

body.redesign-v4 .quality-safety-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(242, 244, 246, 0.98) 0%, rgba(242, 244, 246, 0.88) 52%, rgba(242, 244, 246, 0.55) 100%);
    pointer-events: none;
}

body.redesign-v4 .quality-safety-section > div {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
    width: min(100%, 1320px) !important;
    max-width: none !important;
    gap: clamp(54px, 8vw, 120px) !important;
}

body.redesign-v4 .quality-safety-section .section-title {
    max-width: 720px;
    margin-bottom: 24px !important;
    color: var(--v4-navy) !important;
    font-size: clamp(2.6rem, 5vw, 5.6rem) !important;
}

body.redesign-v4 .quality-safety-section [data-i18n="quality_desc"] {
    max-width: 58ch;
    color: var(--v4-graphite) !important;
    font-size: 1.08rem !important;
    line-height: 1.75 !important;
}

body.redesign-v4 .quality-safety-section > div > div:last-child > div {
    padding: 34px 28px !important;
    border: 1px solid rgba(21, 35, 60, 0.16) !important;
    border-radius: 20px !important;
    background: rgba(250, 251, 251, 0.78) !important;
    box-shadow: 0 24px 62px rgba(21, 35, 60, 0.12) !important;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

body.redesign-v4 .quality-safety-section svg,
body.redesign-v4 .quality-safety-section h3 {
    color: var(--v4-navy) !important;
}

body.redesign-v4 .quality-safety-section [data-i18n="quality_badge"] {
    color: var(--v4-graphite) !important;
}

/* News, concise editorial cards */
body.redesign-v4 .latest-news-section {
    order: 6;
    padding: clamp(100px, 10vw, 155px) clamp(24px, 5vw, 72px) !important;
    background: var(--v4-white) !important;
}

body.redesign-v4 .latest-news-section .section-header,
body.redesign-v4 .latest-news-section .news-grid,
body.redesign-v4 .latest-news-section > div:last-child {
    width: min(100%, 1440px);
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body.redesign-v4 .latest-news-section .news-grid {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body.redesign-v4 .news-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--v4-line);
    border-radius: 20px;
    background: var(--v4-paper);
    color: var(--v4-navy);
    box-shadow: none;
}

body.redesign-v4 .news-card:nth-child(1) {
    grid-column: 1 / span 7;
}

body.redesign-v4 .news-card:nth-child(2) {
    grid-column: 8 / span 5;
}

body.redesign-v4 .news-card:nth-child(3) {
    grid-column: 4 / span 9;
}

body.redesign-v4 .news-img-wrapper {
    height: clamp(230px, 31vw, 460px) !important;
    overflow: hidden;
}

body.redesign-v4 .news-card:nth-child(2) .news-img-wrapper {
    height: clamp(230px, 25vw, 380px) !important;
}

body.redesign-v4 .news-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.72) contrast(1.03);
    transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.redesign-v4 .news-card:hover .news-img {
    transform: scale(1.025);
}

body.redesign-v4 .news-info {
    padding: 24px 26px 28px;
}

body.redesign-v4 .news-date {
    color: #65707e;
    font-size: 0.76rem;
}

body.redesign-v4 .news-card-title {
    margin: 10px 0 0;
    color: var(--v4-navy);
    font-size: clamp(1.2rem, 1.8vw, 1.8rem);
    line-height: 1.24;
}

body.redesign-v4 .news-card-content {
    display: none;
}

body.redesign-v4 .latest-news-section > div:last-child {
    margin-top: 34px !important;
    text-align: start !important;
}

body.redesign-v4 .latest-news-section > div:last-child .btn-primary {
    min-height: 50px;
    border: 1px solid var(--v4-navy) !important;
    background: transparent !important;
    color: var(--v4-navy) !important;
}

/* CTA */
body.redesign-v4 .home-cta-v3 {
    order: 7;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) auto;
    align-items: end;
    width: 100%;
    padding: clamp(100px, 11vw, 170px) clamp(24px, 7vw, 110px) !important;
    gap: 40px;
    border-top: 1px solid var(--v4-line);
    background: #eef1f3 !important;
    color: var(--v4-navy) !important;
}

body.redesign-v4 .home-cta-copy-v3 {
    max-width: 980px;
}

body.redesign-v4 .home-cta-copy-v3 > span {
    display: none;
}

body.redesign-v4 .home-cta-copy-v3 h2 {
    max-width: 880px;
    margin: 0 0 22px;
    color: var(--v4-navy) !important;
    font-family: var(--font-english-display);
    font-size: clamp(2.5rem, 5.2vw, 5.8rem);
    font-weight: 600;
    line-height: 0.98;
    letter-spacing: -0.045em;
}

html[dir="rtl"] body.redesign-v4 .home-cta-copy-v3 h2 {
    font-family: var(--font-arabic-display);
    line-height: 1.18;
    letter-spacing: -0.025em;
}

body.redesign-v4 .home-cta-copy-v3 p {
    max-width: 62ch;
    margin: 0;
    color: var(--v4-graphite) !important;
    font-size: 1rem;
    line-height: 1.75;
}

body.redesign-v4 .home-cta-button-v3 {
    min-height: 56px;
    padding: 0 28px;
    border: 1px solid var(--v4-navy) !important;
    background: var(--v4-navy) !important;
    color: #ffffff !important;
}

/* Footer */
body.redesign-v4 .footer {
    background: #142139 !important;
    color: #d8dee6;
}

body.redesign-v4 .footer::before {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.12), transparent) !important;
}

body.redesign-v4 .footer-logo-img {
    filter: none !important;
    opacity: 1 !important;
}

body.redesign-v4 .footer-link:hover {
    color: #ffffff;
}

/* Entrance motion: only transform and opacity */
body.redesign-v4.v4-motion-ready .capability-item-v4,
body.redesign-v4.v4-motion-ready .hero-content,
body.redesign-v4.v4-motion-ready .hero-slice-v4 {
    opacity: 0;
    transform: translateY(22px);
}

body.redesign-v4.v4-motion-ready.v4-loaded .hero-content {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 720ms ease 90ms, transform 820ms cubic-bezier(0.16, 1, 0.3, 1) 90ms;
}

body.redesign-v4.v4-motion-ready.v4-loaded .hero-slice-v4 {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 700ms ease, transform 850ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.redesign-v4.v4-motion-ready.v4-loaded .hero-slice-a-v4 { transition-delay: 180ms; }
body.redesign-v4.v4-motion-ready.v4-loaded .hero-slice-b-v4 { transition-delay: 260ms; }
body.redesign-v4.v4-motion-ready.v4-loaded .hero-slice-c-v4 { transition-delay: 340ms; }

body.redesign-v4.v4-motion-ready.v4-loaded .capability-item-v4 {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 600ms ease, transform 720ms cubic-bezier(0.16, 1, 0.3, 1), background-color 250ms ease;
}

body.redesign-v4.v4-motion-ready.v4-loaded .capability-item-v4:nth-child(1) { transition-delay: 300ms; }
body.redesign-v4.v4-motion-ready.v4-loaded .capability-item-v4:nth-child(2) { transition-delay: 360ms; }
body.redesign-v4.v4-motion-ready.v4-loaded .capability-item-v4:nth-child(3) { transition-delay: 420ms; }
body.redesign-v4.v4-motion-ready.v4-loaded .capability-item-v4:nth-child(4) { transition-delay: 480ms; }

body.redesign-v4 .v4-observe {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 720ms ease, transform 820ms cubic-bezier(0.16, 1, 0.3, 1);
}

body.redesign-v4 .v4-observe.v4-in-view {
    opacity: 1;
    transform: translateY(0);
}

/* Previous-version components use !important. These rules deliberately win for V4. */
body.redesign-v3.redesign-v4 .home-flow .featured-projects-section {
    padding: clamp(100px, 11vw, 168px) clamp(24px, 5vw, 72px) !important;
    background: var(--v4-paper) !important;
}

body.redesign-v3.redesign-v4 .featured-projects-section .section-tag,
body.redesign-v3.redesign-v4 .services-section .section-tag {
    display: none !important;
}

body.redesign-v3.redesign-v4 .partners-logo-wall {
    grid-template-columns: repeat(8, minmax(0, 1fr)) !important;
    gap: clamp(22px, 3vw, 52px) !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}

body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card,
body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(-n+6) {
    min-height: 72px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(n+9) {
    display: none !important;
}

body.redesign-v3.redesign-v4 .partners-logo-wall .partner-logo-img,
body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(-n+6) .partner-logo-img {
    max-width: 130px !important;
    max-height: 56px !important;
    opacity: 0.65 !important;
}

body.redesign-v3.redesign-v4 .featured-projects-section .section-header {
    margin-bottom: 52px !important;
}

body.redesign-v3.redesign-v4 .featured-projects-section .section-title {
    color: var(--v4-navy) !important;
}

body.redesign-v3.redesign-v4 .featured-grid,
body.redesign-v3.redesign-v4 .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(280px, 1fr)) !important;
    align-items: stretch !important;
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
    height: auto !important;
    min-height: 720px !important;
    gap: 14px !important;
    overflow: visible !important;
}

body.redesign-v3.redesign-v4 .featured-card,
body.redesign-v3.redesign-v4 .featured-card:first-child,
html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-card,
html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-card:first-child {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 22px !important;
    clip-path: none !important;
    transition: transform 350ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.redesign-v3.redesign-v4 .featured-card:nth-child(1) {
    grid-column: 1 / span 7 !important;
    grid-row: 1 / span 2 !important;
    border-radius: 22px 150px 22px 22px !important;
}

body.redesign-v3.redesign-v4 .featured-card:nth-child(2) {
    grid-column: 8 / span 5 !important;
    grid-row: 1 !important;
    border-radius: 22px 22px 100px 22px !important;
}

body.redesign-v3.redesign-v4 .featured-card:nth-child(3) {
    grid-column: 8 / span 5 !important;
    grid-row: 2 !important;
    border-radius: 100px 22px 22px 22px !important;
}

body.redesign-v3.redesign-v4 .featured-card:hover,
body.redesign-v3.redesign-v4 .featured-card.is-expanded {
    transform: translateY(-4px) !important;
}

body.redesign-v3.redesign-v4 .featured-info,
html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-info {
    inset: auto 78px 24px 26px !important;
}

html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-info {
    inset: auto 26px 24px 78px !important;
}

body.redesign-v3.redesign-v4 .featured-expand,
html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-expand {
    inset: auto 18px 18px auto !important;
    border-radius: 999px !important;
}

html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-expand {
    inset: auto auto 18px 18px !important;
}

body.redesign-v3.redesign-v4 .featured-detail {
    inset: auto 0 0 0 !important;
    max-width: none !important;
    padding: 0 82px 0 28px !important;
    border-radius: 0 !important;
    background: rgba(245, 247, 248, 0.97) !important;
    clip-path: none !important;
    opacity: 0 !important;
    transform: translateY(18px) !important;
    transition: padding 450ms cubic-bezier(0.16, 1, 0.3, 1), opacity 260ms ease, transform 450ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-detail {
    padding-right: 28px !important;
    padding-left: 82px !important;
}

body.redesign-v3.redesign-v4 .featured-card.is-expanded .featured-detail {
    padding-top: 24px !important;
    padding-bottom: 82px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

body.redesign-v3.redesign-v4 .home-flow .about-section {
    padding: clamp(100px, 11vw, 170px) clamp(24px, 5vw, 72px) !important;
    background: var(--v4-mist) !important;
}

body.redesign-v3.redesign-v4 .about-grid {
    grid-template-columns: minmax(300px, 0.78fr) minmax(520px, 1.22fr) !important;
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
    gap: clamp(44px, 7vw, 110px) !important;
}

body.redesign-v3.redesign-v4 .about-composition {
    min-height: 520px !important;
}

body.redesign-v3.redesign-v4 .about-img-main-wrapper,
body.redesign-v3.redesign-v4 .about-img-sub-wrapper {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
    border: 5px solid var(--v4-mist) !important;
    clip-path: none !important;
    box-shadow: 0 24px 54px rgba(21, 35, 60, 0.16) !important;
}

body.redesign-v3.redesign-v4 .about-img-main-wrapper {
    grid-column: 4 / 10 !important;
    grid-row: 1 / 10 !important;
    border-radius: 160px 26px 160px 26px !important;
}

body.redesign-v3.redesign-v4 .about-img-sub-wrapper {
    grid-column: 1 / 6 !important;
    grid-row: 5 / 9 !important;
    border-radius: 22px 100px 22px 22px !important;
}

body.redesign-v3.redesign-v4 .about-floating-badge {
    inset: auto auto 0 26% !important;
    min-width: 168px !important;
    padding: 16px 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 18px !important;
    background: rgba(250, 251, 251, 0.92) !important;
}

body.redesign-v3.redesign-v4 .about-floating-badge .about-badge-text strong { color: var(--v4-navy) !important; }
body.redesign-v3.redesign-v4 .about-floating-badge .about-badge-text span { color: var(--v4-graphite) !important; }

body.redesign-v3.redesign-v4 .home-flow .services-section {
    padding: clamp(100px, 11vw, 170px) clamp(24px, 5vw, 72px) !important;
    background: #f7f8f9 !important;
}

body.redesign-v3.redesign-v4 .service-architecture-v3 {
    width: min(100%, 1440px) !important;
    max-width: 1440px !important;
    gap: 14px !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    min-height: 230px !important;
    padding: clamp(26px, 3vw, 42px) !important;
    border: 1px solid var(--v4-line) !important;
    border-radius: 20px !important;
    background: #eef1f3 !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(1) {
    grid-column: 1 / span 7 !important;
    min-height: 340px !important;
    background: linear-gradient(90deg, rgba(239, 242, 244, 0.96), rgba(239, 242, 244, 0.7)), url("assets/about_industrial_2.webp?v=2") center / cover !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(2) {
    grid-column: 8 / span 5 !important;
    border-radius: 20px 100px 20px 20px !important;
    background: #dfe4e8 !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(3) {
    grid-column: 1 / span 5 !important;
    border-radius: 100px 20px 20px 20px !important;
    background: var(--v4-navy) !important;
    color: #f7f8f9 !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(4) {
    grid-column: 6 / span 7 !important;
    min-height: 320px !important;
    background: linear-gradient(90deg, rgba(236, 239, 242, 0.96), rgba(236, 239, 242, 0.7)), url("assets/editorial-material-study-v1.webp") center / cover !important;
    color: var(--v4-navy) !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3::before {
    display: none !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(3) p,
body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(3) .v2-expandable p {
    color: #c7cfd9 !important;
}

body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(4) p,
body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(4) .v2-expandable p {
    color: #485462 !important;
}

body.redesign-v3.redesign-v4 .v2-disclosure {
    gap: 10px !important;
    padding-top: 14px !important;
}

body.redesign-v3.redesign-v4 .v2-disclosure-plus {
    border-radius: 999px !important;
}

body.redesign-v3.redesign-v4 .home-flow .quality-safety-section {
    min-height: 600px !important;
    padding: clamp(100px, 11vw, 168px) clamp(24px, 5vw, 72px) !important;
    background: #e9edf0 !important;
}

body.redesign-v3.redesign-v4 .quality-safety-section::before {
    display: none !important;
}

body.redesign-v3.redesign-v4 .quality-safety-section > div {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr) !important;
    align-items: center !important;
    width: min(100%, 1320px) !important;
    max-width: 1320px !important;
    min-height: 0 !important;
    gap: clamp(54px, 8vw, 120px) !important;
}

body.redesign-v3.redesign-v4 .quality-safety-section > div > div:first-child {
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.redesign-v3.redesign-v4 .quality-safety-section > div > div:last-child > div {
    padding: 34px 28px !important;
    border: 1px solid rgba(21, 35, 60, 0.16) !important;
    border-radius: 20px !important;
    background: rgba(250, 251, 251, 0.78) !important;
    box-shadow: 0 24px 62px rgba(21, 35, 60, 0.12) !important;
}

body.redesign-v3.redesign-v4 .news-card {
    border-radius: 20px !important;
    background: var(--v4-paper) !important;
}

body.redesign-v3.redesign-v4 .news-card:nth-child(1) {
    grid-column: 1 / span 7 !important;
    grid-row: auto !important;
}

body.redesign-v3.redesign-v4 .news-card:nth-child(2) { grid-column: 8 / span 5 !important; }
body.redesign-v3.redesign-v4 .news-card:nth-child(3) { grid-column: 4 / span 9 !important; }

body.redesign-v3.redesign-v4 .news-img-wrapper,
body.redesign-v3.redesign-v4 .news-card:first-child .news-img-wrapper {
    height: clamp(230px, 31vw, 460px) !important;
}

body.redesign-v3.redesign-v4 .news-card:nth-child(2) .news-img-wrapper {
    height: clamp(230px, 25vw, 380px) !important;
}

/* Tablet */
@media (max-width: 1180px) {
    body.redesign-v4 .navbar,
    body.redesign-v4 .navbar.scrolled {
        width: min(calc(100% - 28px), 1080px);
    }

    body.redesign-v4 .logo-container {
        min-width: 190px;
    }

    body.redesign-v4 .logo-text {
        display: none;
    }

    body.redesign-v4 .hero-grid-v4 {
        grid-template-columns: minmax(0, 0.92fr) minmax(400px, 1.08fr);
    }

    body.redesign-v4 .hero-title {
        font-size: clamp(3.1rem, 6vw, 5.2rem);
    }

    body.redesign-v4 .capability-rail-v4 {
        padding: 0 18px;
    }

    body.redesign-v4 .capability-item-v4 {
        grid-template-columns: 50px minmax(0, 1fr);
        padding: 20px 14px;
        gap: 12px;
    }

    body.redesign-v4 .capability-thumb-v4 {
        width: 50px;
        height: 64px;
    }

    body.redesign-v4 .partners-logo-wall {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    body.redesign-v4 .partner-logo-card:nth-child(n+7) {
        display: none;
    }

    body.redesign-v4 .about-grid {
        grid-template-columns: minmax(280px, 0.85fr) minmax(470px, 1.15fr);
        gap: 46px;
    }

    body.redesign-v4 .quality-safety-section > div {
        gap: 46px !important;
    }
}

/* Mobile and small tablets: explicit single-column collapse */
@media (max-width: 767px) {
    body.redesign-v4 .navbar,
    body.redesign-v4 .navbar.scrolled {
        top: 10px;
        width: calc(100% - 20px);
        height: 62px;
        padding: 0 12px 0 14px;
        transform: translateX(-50%);
        border-radius: 18px;
    }

    body.redesign-v4 .logo-container {
        min-width: 0;
    }

    body.redesign-v4 .logo-img,
    body.redesign-v4 .navbar.scrolled .logo-img {
        width: 44px;
        height: 44px;
    }

    body.redesign-v4 .nav-links {
        top: 72px;
        right: 0;
        left: 0;
        width: 100%;
        padding: 18px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 18px;
        background: rgba(17, 29, 49, 0.98);
    }

    body.redesign-v4 .btn-lang {
        min-width: 78px;
        height: 40px;
        font-size: 0.8rem;
    }

    body.redesign-v4 .hero.hero-v4 {
        min-height: 100dvh;
        padding: 94px 20px 28px;
    }

    body.redesign-v4 .hero-grid-v4 {
        grid-template-columns: 1fr;
        align-content: center;
        min-height: calc(100dvh - 122px);
        gap: 26px;
    }

    body.redesign-v4 .hero-content {
        align-self: end;
        max-width: 100%;
    }

    body.redesign-v4 .hero-kicker-v4 {
        margin-bottom: 16px;
        font-size: 0.68rem;
        letter-spacing: 0.08em;
    }

    body.redesign-v4 .hero-title,
    html[dir="rtl"] body.redesign-v4 .hero-title {
        max-width: 12ch;
        margin-bottom: 18px;
        font-size: clamp(2.7rem, 13vw, 4.25rem);
        line-height: 0.98;
    }

    html[dir="rtl"] body.redesign-v4 .hero-title {
        max-width: 14ch;
        line-height: 1.15;
    }

    body.redesign-v4 .hero-desc {
        max-width: 34ch;
        margin-bottom: 24px;
        font-size: 0.94rem;
        line-height: 1.65;
    }

    body.redesign-v4 .hero-btns {
        gap: 9px;
    }

    body.redesign-v4 .hero-btns .btn-primary,
    body.redesign-v4 .hero-btns .btn-secondary {
        min-height: 47px;
        padding: 0 16px;
        font-size: 0.78rem;
    }

    body.redesign-v4 .hero-visual-v4 {
        position: absolute;
        inset: 82px 18px auto 43%;
        z-index: -1;
        display: grid;
        height: 42vh;
        min-height: 300px;
        opacity: 0.56;
    }

    body.redesign-v4 .hero-slice-a-v4 {
        height: 68%;
        border-radius: 72px 14px 14px 14px;
    }

    body.redesign-v4 .hero-slice-b-v4 {
        height: 92%;
        border-radius: 14px 86px 14px 14px;
    }

    body.redesign-v4 .hero-slice-c-v4 {
        height: 58%;
        border-radius: 14px 14px 66px 14px;
    }

    body.redesign-v4 .hero-ghost-v3 {
        bottom: 3%;
        font-size: 23vw;
        opacity: 0.55;
    }

    body.redesign-v4 .capability-rail-v4 {
        display: flex;
        gap: 0;
        padding: 0 14px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    body.redesign-v4 .capability-rail-v4::-webkit-scrollbar {
        display: none;
    }

    body.redesign-v4 .capability-item-v4 {
        flex: 0 0 min(88vw, 360px);
        min-height: 112px;
        scroll-snap-align: start;
    }

    body.redesign-v4 .partners-section {
        padding: 42px 20px !important;
    }

    body.redesign-v4 .partners-logo-wall {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px 18px;
    }

    body.redesign-v4 .partner-logo-card:nth-child(n+7) {
        display: none;
    }

    body.redesign-v4 .partner-logo-card {
        min-height: 58px;
    }

    body.redesign-v4 .partner-logo-img {
        max-width: 92px;
        max-height: 42px;
    }

    body.redesign-v4 .featured-projects-section,
    body.redesign-v4 .about-section,
    body.redesign-v4 .services-section,
    body.redesign-v4 .quality-safety-section,
    body.redesign-v4 .latest-news-section,
    body.redesign-v4 .home-cta-v3 {
        padding: 82px 20px !important;
    }

    body.redesign-v4 .section-title,
    body.redesign-v4 .quality-safety-section .section-title {
        font-size: clamp(2.15rem, 10vw, 3.5rem) !important;
        line-height: 1.04;
    }

    html[dir="rtl"] body.redesign-v4 .section-title,
    html[dir="rtl"] body.redesign-v4 .quality-safety-section .section-title {
        line-height: 1.24;
    }

    body.redesign-v4 .section-header {
        margin-bottom: 34px !important;
    }

    body.redesign-v4 .featured-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: none;
        min-height: 0;
        gap: 12px;
    }

    body.redesign-v4 .featured-card,
    body.redesign-v4 .featured-card:nth-child(1),
    body.redesign-v4 .featured-card:nth-child(2),
    body.redesign-v4 .featured-card:nth-child(3) {
        grid-column: 1;
        grid-row: auto;
        min-height: 420px;
        border-radius: 18px 86px 18px 18px;
    }

    body.redesign-v4 .featured-card:nth-child(2) {
        min-height: 330px;
        border-radius: 18px 18px 86px 18px;
    }

    body.redesign-v4 .featured-card:nth-child(3) {
        min-height: 330px;
        border-radius: 86px 18px 18px 18px;
    }

    body.redesign-v4 .featured-info {
        right: 72px;
        bottom: 20px;
        left: 20px;
    }

    html[dir="rtl"] body.redesign-v4 .featured-info {
        right: 20px;
        left: 72px;
    }

    body.redesign-v4 .featured-card-title {
        font-size: 1.35rem;
    }

    body.redesign-v4 .featured-expand {
        right: 14px;
        bottom: 14px;
        width: 46px;
        height: 46px;
    }

    html[dir="rtl"] body.redesign-v4 .featured-expand {
        right: auto;
        left: 14px;
    }

    body.redesign-v4 .featured-detail {
        padding-right: 76px;
        padding-left: 20px;
    }

    html[dir="rtl"] body.redesign-v4 .featured-detail {
        padding-right: 20px;
        padding-left: 76px;
    }

    body.redesign-v4 .about-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    body.redesign-v4 .about-features {
        grid-template-columns: 1fr;
        gap: 0;
    }

    body.redesign-v4 .about-composition {
        grid-template-rows: repeat(10, 38px);
        min-height: 380px;
    }

    body.redesign-v4 .about-img-main-wrapper {
        grid-column: 3 / 11;
        grid-row: 1 / 10;
        border-radius: 100px 18px 100px 18px;
    }

    body.redesign-v4 .about-img-sub-wrapper {
        grid-column: 1 / 6;
        grid-row: 6 / 10;
        border-radius: 18px 70px 18px 18px;
    }

    body.redesign-v4 .about-img-editorial-v4 {
        grid-column: 9 / 13;
        grid-row: 3 / 7;
        border-radius: 64px 16px 16px 16px;
    }

    body.redesign-v4 .about-img-editorial-v4 figcaption {
        display: none;
    }

    body.redesign-v4 .about-floating-badge {
        left: 22%;
        min-width: 148px;
        padding: 13px 16px;
    }

    body.redesign-v4 .service-architecture-v3 {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto;
    }

    body.redesign-v4 .service-cluster-v3,
    body.redesign-v4 .service-cluster-v3:nth-child(1),
    body.redesign-v4 .service-cluster-v3:nth-child(2),
    body.redesign-v4 .service-cluster-v3:nth-child(3),
    body.redesign-v4 .service-cluster-v3:nth-child(4) {
        grid-column: 1;
        min-height: 270px;
        border-radius: 18px !important;
    }

    body.redesign-v4 .service-cluster-v3:nth-child(2) {
        border-radius: 18px 78px 18px 18px !important;
    }

    body.redesign-v4 .service-cluster-v3:nth-child(3) {
        border-radius: 78px 18px 18px 18px !important;
    }

    body.redesign-v4 .quality-safety-section {
        min-height: 0;
    }

    body.redesign-v4 .quality-safety-section > div {
        grid-template-columns: 1fr;
        gap: 34px !important;
    }

    body.redesign-v4 .quality-safety-section > div > div {
        min-width: 0 !important;
    }

    body.redesign-v4 .quality-safety-section [data-i18n="quality_desc"] {
        font-size: 1rem !important;
    }

    body.redesign-v4 .latest-news-section .news-grid {
        grid-template-columns: 1fr !important;
    }

    body.redesign-v4 .news-card,
    body.redesign-v4 .news-card:nth-child(1),
    body.redesign-v4 .news-card:nth-child(2),
    body.redesign-v4 .news-card:nth-child(3) {
        grid-column: 1;
    }

    body.redesign-v4 .news-img-wrapper,
    body.redesign-v4 .news-card:nth-child(2) .news-img-wrapper {
        height: 250px !important;
    }

    body.redesign-v4 .home-cta-v3 {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 28px;
    }

    body.redesign-v4 .home-cta-copy-v3 h2 {
        font-size: clamp(2.25rem, 10vw, 3.6rem);
        line-height: 1.03;
    }

    html[dir="rtl"] body.redesign-v4 .home-cta-copy-v3 h2 {
        line-height: 1.2;
    }

    body.redesign-v4 .home-cta-button-v3 {
        width: fit-content;
    }

    /* Specificity bridge: V3 shipped mobile rules with !important. */
    body.redesign-v3.redesign-v4 .home-flow .featured-projects-section,
    body.redesign-v3.redesign-v4 .home-flow .about-section,
    body.redesign-v3.redesign-v4 .home-flow .services-section,
    body.redesign-v3.redesign-v4 .home-flow .quality-safety-section,
    body.redesign-v3.redesign-v4 .home-flow .latest-news-section,
    body.redesign-v3.redesign-v4 .home-flow .home-cta-v3 {
        padding: 82px 20px !important;
    }

    body.redesign-v3.redesign-v4 .hero.hero-v4 {
        min-height: 100dvh !important;
        padding: 104px 20px 38px !important;
    }

    body.redesign-v3.redesign-v4 .hero-v4 .hero-bg-wrapper {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        border: 0 !important;
        border-radius: 0 !important;
    }

    body.redesign-v3.redesign-v4 .hero-grid-v4 {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-content: center !important;
        min-height: calc(100dvh - 142px) !important;
        gap: 0 !important;
    }

    body.redesign-v3.redesign-v4 .hero-v4 .hero-content {
        align-self: center !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.redesign-v3.redesign-v4 .hero-v4 .hero-title,
    html[dir="rtl"] body.redesign-v3.redesign-v4 .hero-v4 .hero-title {
        width: 100% !important;
        max-width: 12ch !important;
        margin-bottom: 18px !important;
        font-size: clamp(2.3rem, 10.4vw, 3.35rem) !important;
        line-height: 0.98 !important;
        letter-spacing: -0.045em !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    html[lang="ar"] body.redesign-v3.redesign-v4 .hero-v4 .hero-title {
        max-width: 14ch !important;
        font-size: clamp(2.4rem, 10.5vw, 3.35rem) !important;
        line-height: 1.18 !important;
        letter-spacing: -0.025em !important;
    }

    body.redesign-v3.redesign-v4 .hero-v4 .hero-desc {
        width: 100% !important;
        max-width: 34ch !important;
        margin-bottom: 24px !important;
        font-size: 0.94rem !important;
        line-height: 1.65 !important;
    }

    body.redesign-v3.redesign-v4 .hero-visual-v4 {
        display: none !important;
    }

    body.redesign-v3.redesign-v4 .hero-v4 .hero-bg-img,
    body.redesign-v3.redesign-v4 .hero-v4:hover .hero-bg-img {
        object-position: 58% center !important;
        filter: saturate(0.58) contrast(1.06) brightness(0.62) !important;
    }

    body.redesign-v3.redesign-v4 .partners-logo-wall {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 22px 18px !important;
    }

    body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card,
    body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(-n+6) {
        min-height: 58px !important;
    }

    body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(n+7) {
        display: none !important;
    }

    body.redesign-v3.redesign-v4 .partners-logo-wall .partner-logo-img,
    body.redesign-v3.redesign-v4 .partners-logo-wall .partner-card:nth-child(-n+6) .partner-logo-img {
        max-width: 92px !important;
        max-height: 42px !important;
    }

    body.redesign-v3.redesign-v4 .featured-grid,
    body.redesign-v3.redesign-v4 .featured-grid:has(> [data-i18n="no_projects"]:only-child) {
        grid-template-columns: 1fr !important;
        grid-template-rows: none !important;
        min-height: 0 !important;
        gap: 12px !important;
    }

    body.redesign-v3.redesign-v4 .featured-card,
    body.redesign-v3.redesign-v4 .featured-card:nth-child(1),
    body.redesign-v3.redesign-v4 .featured-card:nth-child(2),
    body.redesign-v3.redesign-v4 .featured-card:nth-child(3),
    html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-card,
    html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-card:first-child {
        grid-column: 1 !important;
        grid-row: auto !important;
        min-height: 420px !important;
        border-radius: 18px 86px 18px 18px !important;
    }

    body.redesign-v3.redesign-v4 .featured-card:nth-child(2) {
        min-height: 330px !important;
        border-radius: 18px 18px 86px 18px !important;
    }

    body.redesign-v3.redesign-v4 .featured-card:nth-child(3) {
        min-height: 330px !important;
        border-radius: 86px 18px 18px 18px !important;
    }

    body.redesign-v3.redesign-v4 .featured-info {
        inset: auto 72px 20px 20px !important;
    }

    html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-info {
        inset: auto 20px 20px 72px !important;
    }

    body.redesign-v3.redesign-v4 .featured-expand {
        inset: auto 14px 14px auto !important;
        width: 46px !important;
        height: 46px !important;
    }

    html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-expand {
        inset: auto auto 14px 14px !important;
    }

    body.redesign-v3.redesign-v4 .featured-detail {
        padding-right: 76px !important;
        padding-left: 20px !important;
    }

    html[dir="rtl"] body.redesign-v3.redesign-v4 .featured-detail {
        padding-right: 20px !important;
        padding-left: 76px !important;
    }

    body.redesign-v3.redesign-v4 .about-grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    body.redesign-v3.redesign-v4 .about-composition {
        grid-template-rows: repeat(10, 38px) !important;
        min-height: 380px !important;
    }

    body.redesign-v3.redesign-v4 .about-img-main-wrapper {
        grid-column: 3 / 11 !important;
        grid-row: 1 / 10 !important;
        border-radius: 100px 18px 100px 18px !important;
    }

    body.redesign-v3.redesign-v4 .about-img-sub-wrapper {
        grid-column: 1 / 6 !important;
        grid-row: 6 / 10 !important;
        border-radius: 18px 70px 18px 18px !important;
    }

    body.redesign-v3.redesign-v4 .about-floating-badge {
        inset: auto auto 0 22% !important;
        min-width: 148px !important;
        padding: 13px 16px !important;
    }

    body.redesign-v3.redesign-v4 .service-architecture-v3 {
        grid-template-columns: 1fr !important;
        grid-auto-rows: auto !important;
    }

    body.redesign-v3.redesign-v4 .service-cluster-v3,
    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(1),
    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(2),
    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(3),
    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(4) {
        grid-column: 1 !important;
        min-height: 270px !important;
        border-radius: 18px !important;
    }

    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(2) {
        border-radius: 18px 78px 18px 18px !important;
    }

    body.redesign-v3.redesign-v4 .service-cluster-v3:nth-child(3) {
        border-radius: 78px 18px 18px 18px !important;
    }

    body.redesign-v3.redesign-v4 .quality-safety-section {
        min-height: 0 !important;
    }

    body.redesign-v3.redesign-v4 .quality-safety-section > div {
        grid-template-columns: 1fr !important;
        gap: 34px !important;
    }

    body.redesign-v3.redesign-v4 .latest-news-section .news-grid {
        grid-template-columns: 1fr !important;
    }

    body.redesign-v3.redesign-v4 .news-card,
    body.redesign-v3.redesign-v4 .news-card:nth-child(1),
    body.redesign-v3.redesign-v4 .news-card:nth-child(2),
    body.redesign-v3.redesign-v4 .news-card:nth-child(3) {
        grid-column: 1 !important;
    }

    body.redesign-v3.redesign-v4 .home-cta-v3 {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.redesign-v4 *,
    body.redesign-v4 *::before,
    body.redesign-v4 *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    body.redesign-v4 .v4-observe,
    body.redesign-v4.v4-motion-ready .capability-item-v4,
    body.redesign-v4.v4-motion-ready .hero-content,
    body.redesign-v4.v4-motion-ready .hero-slice-v4 {
        opacity: 1 !important;
        transform: none !important;
    }
}

@media (prefers-reduced-transparency: reduce) {
    body.redesign-v4 .navbar,
    body.redesign-v4 .hero-btns .btn-secondary,
    body.redesign-v4 .about-floating-badge,
    body.redesign-v4 .quality-safety-section > div > div:last-child > div {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
}

/* redesign-v4-1.css */
/*
 * AL.SHEREF Redesign V4.1
 * Project-media integration, named partner wall, and motion polish.
 * This layer intentionally leaves the API, admin panel, forms, and routes untouched.
 */

body.redesign-v41 {
    --v41-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --v41-soft-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Keep supplied photography crisp without introducing layout shift. */
body.redesign-v41 img {
    image-rendering: auto;
}

body.redesign-v41 .hero-bg-img,
body.redesign-v41 .hero-slice-v4 img,
body.redesign-v41 .capability-thumb-v4 img,
body.redesign-v41 .about-composition img,
body.redesign-v41 .service-media-v41 img,
body.redesign-v41 .featured-img,
body.redesign-v41 .news-img {
    transform-origin: center;
    backface-visibility: hidden;
}

body.redesign-v41 .hero-bg-img {
    object-position: center 58%;
    filter: saturate(0.78) contrast(1.04) brightness(0.66) !important;
}

body.redesign-v41 .hero-slice-v4 img {
    filter: saturate(0.72) contrast(1.06) brightness(0.83);
}

/* Partner wall: logo and company name only, with no tile or square frame. */
body.redesign-v3.redesign-v4.redesign-v41 .partners-section {
    padding-block: clamp(72px, 8vw, 112px) !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-section .section-header {
    display: block !important;
    width: min(100%, 1400px);
    margin-inline: auto !important;
    margin-bottom: clamp(38px, 5vw, 64px) !important;
    text-align: center;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-section .section-tag {
    display: block !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-section .section-title {
    max-width: none;
    font-size: clamp(2rem, 3.5vw, 3.7rem) !important;
    text-align: center !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: clamp(34px, 4vw, 62px) clamp(24px, 3vw, 50px) !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-card,
body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-card:nth-child(-n+12) {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    min-height: 104px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-card:nth-child(n+13) {
    display: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall.is-expanded .partner-card {
    display: flex !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-logo-img,
body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-card:nth-child(-n+12) .partner-logo-img {
    width: min(100%, 142px) !important;
    height: 58px !important;
    max-width: 142px !important;
    max-height: 58px !important;
    object-fit: contain;
    opacity: 0.86 !important;
    filter: grayscale(1) contrast(1.08) !important;
    mix-blend-mode: multiply;
    transition: transform 420ms var(--v41-ease), opacity 260ms ease, filter 260ms ease !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partner-name {
    display: block;
    max-width: 18ch;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4f5967;
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.01em;
    text-align: center;
    text-wrap: balance;
}

html[dir="rtl"] body.redesign-v41 .partner-name {
    font-size: 0.82rem;
    line-height: 1.55;
}

body.redesign-v3.redesign-v4.redesign-v41 .partner-card:hover .partner-logo-img {
    transform: translateY(-5px) scale(1.025);
    opacity: 1 !important;
    filter: grayscale(0.15) contrast(1.08) !important;
}

body.redesign-v3.redesign-v4.redesign-v41 .partners-toggle {
    display: inline-flex !important;
    width: max-content;
    margin: clamp(46px, 6vw, 72px) auto 0;
}

/* Service cards become a photographic project atlas while keeping copy readable. */
body.redesign-v4.redesign-v41 .service-cluster-v3,
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(1),
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(2),
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(3),
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(4) {
    isolation: isolate;
    min-height: 380px !important;
    background: #14243c !important;
    color: #fff !important;
}

body.redesign-v4.redesign-v41 .service-cluster-v3::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(10, 22, 40, 0.02) 18%, rgba(10, 22, 40, 0.88) 78%, rgba(10, 22, 40, 0.97) 100%);
    pointer-events: none;
}

body.redesign-v4.redesign-v41 .service-media-v41 {
    position: absolute;
    inset: 0;
    z-index: -2;
    margin: 0;
    overflow: hidden;
}

body.redesign-v4.redesign-v41 .service-media-v41 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(0.72) contrast(1.03) brightness(0.8);
    transition: transform 1.1s var(--v41-ease), filter 500ms ease;
}

body.redesign-v4.redesign-v41 .service-cluster-v3:hover .service-media-v41 img {
    transform: scale(1.045);
    filter: saturate(0.9) contrast(1.03) brightness(0.86);
}

body.redesign-v4.redesign-v41 .service-cluster-v3 h3,
body.redesign-v4.redesign-v41 .service-cluster-v3 p,
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(3) p,
body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(4) p {
    position: relative;
    z-index: 1;
    color: #fff !important;
    text-shadow: 0 1px 20px rgba(5, 14, 28, 0.36);
}

body.redesign-v4.redesign-v41 .service-cluster-v3 p {
    color: rgba(255, 255, 255, 0.78) !important;
}

/* Editorial image treatment is subtle and consistent across sections. */
body.redesign-v41 .about-img-main,
body.redesign-v41 .about-img-sub,
body.redesign-v41 .about-img-editorial-v4 img {
    filter: saturate(0.7) contrast(1.04);
    transition: transform 900ms var(--v41-ease), filter 500ms ease;
}

body.redesign-v41 .about-img-main-wrapper:hover .about-img-main,
body.redesign-v41 .about-img-sub-wrapper:hover .about-img-sub,
body.redesign-v41 .about-img-editorial-v4:hover img {
    transform: scale(1.035);
    filter: saturate(0.92) contrast(1.02);
}

/* Inner-page mastheads receive one unique, relevant project image each. */
body.redesign-v41.public-inner-v3 > .section-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: clamp(310px, 38vw, 500px);
    padding-inline: clamp(24px, 7vw, 118px) !important;
    justify-content: center;
}

body.redesign-v41.public-inner-v3 > .section-header::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: var(--v41-masthead-image, none);
    background-position: center;
    background-size: cover;
    filter: saturate(0.72) contrast(1.04);
    transform: scale(1.025);
}

body.redesign-v41.public-inner-v3 > .section-header::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(247, 248, 249, 0.99) 0%, rgba(247, 248, 249, 0.94) 42%, rgba(247, 248, 249, 0.36) 74%, rgba(247, 248, 249, 0.1) 100%);
}

html[dir="rtl"] body.redesign-v41.public-inner-v3 > .section-header::after {
    background: linear-gradient(270deg, rgba(247, 248, 249, 0.99) 0%, rgba(247, 248, 249, 0.94) 42%, rgba(247, 248, 249, 0.36) 74%, rgba(247, 248, 249, 0.1) 100%);
}

body.page-projects-v41 { --v41-masthead-image: url("assets/project-media/balanced/industrial-frame-progress.webp"); }
body.page-news-v41 { --v41-masthead-image: url("assets/project-media/balanced/garment-factory-floor.webp"); }
body.page-contact-v41 { --v41-masthead-image: url("assets/project-media/balanced/mosque-exterior-main.webp"); }

body.redesign-v41.public-inner-v3 > .section-header > * {
    position: relative;
    z-index: 1;
}

/* Motion system: progressive enhancement only, transform and opacity only. */
body.redesign-v41.v41-motion-ready .v41-reveal,
body.redesign-v41.v41-motion-ready .v41-media-reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 720ms ease, transform 900ms var(--v41-ease);
    transition-delay: var(--v41-delay, 0ms);
}

body.redesign-v41.v41-motion-ready .v41-media-reveal {
    transform: translateY(26px) scale(0.985);
}

body.redesign-v41.v41-motion-ready .v41-reveal.v41-in-view,
body.redesign-v41.v41-motion-ready .v41-media-reveal.v41-in-view {
    opacity: 1;
    transform: translateY(0) scale(1);
}

body.redesign-v41.v41-motion-ready .service-media-v41 img {
    transform: scale(1.08);
}

body.redesign-v41.v41-motion-ready .service-cluster-v3.v41-in-view .service-media-v41 img {
    transform: scale(1);
}

body.redesign-v41.v41-motion-ready .service-cluster-v3.v41-in-view:hover .service-media-v41 img {
    transform: scale(1.045);
}

body.redesign-v41.v41-motion-ready.public-inner-v3 > .section-header::before {
    animation: v41-masthead-settle 1.25s var(--v41-ease) both;
}

@keyframes v41-masthead-settle {
    from { opacity: 0; transform: scale(1.08); }
    to { opacity: 1; transform: scale(1.025); }
}

@media (max-width: 900px) {
    body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall .partner-card:nth-child(n+7) {
        display: none !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall.is-expanded .partner-card {
        display: flex !important;
    }

    body.redesign-v41.public-inner-v3 > .section-header::after,
    html[dir="rtl"] body.redesign-v41.public-inner-v3 > .section-header::after {
        background: linear-gradient(180deg, rgba(247, 248, 249, 0.34) 0%, rgba(247, 248, 249, 0.9) 62%, rgba(247, 248, 249, 1) 100%);
    }
}

@media (max-width: 620px) {
    body.redesign-v3.redesign-v4.redesign-v41 .partners-logo-wall {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 34px 20px !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41 .partner-name {
        font-size: 0.72rem;
    }

    body.redesign-v4.redesign-v41 .service-cluster-v3,
    body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(1),
    body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(2),
    body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(3),
    body.redesign-v3.redesign-v4.redesign-v41 .service-cluster-v3:nth-child(4) {
        min-height: 360px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.redesign-v41 .v41-reveal,
    body.redesign-v41 .v41-media-reveal,
    body.redesign-v41 .service-media-v41 img,
    body.redesign-v41.public-inner-v3 > .section-header::before {
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
}

/* redesign-v4-2.css */
/*
 * AL.SHEREF Redesign V4.2
 * Focus: hero fit, project disclosure clarity, partner hover, photographic QHSE and CTA
 * Shape rule: 18px media, 14px detail surfaces, pill controls
 */

body.redesign-v42 {
    --v42-navy: #14243c;
    --v42-navy-deep: #0d1c32;
    --v42-silver: #aab3bf;
    --v42-paper: #f4f5f6;
    --v42-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hero: keep the two-line message inside its own column on laptop widths. */
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-grid-v4 {
    grid-template-columns: minmax(0, 1fr) minmax(420px, 0.98fr) !important;
    gap: clamp(32px, 3.4vw, 54px) !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-content {
    max-width: 620px !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title,
html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
    width: 100% !important;
    max-width: 10ch !important;
    font-size: clamp(3.05rem, 4.35vw, 5.2rem) !important;
    line-height: 0.94 !important;
    text-wrap: balance;
}

body.redesign-v42 .hero-title > span {
    display: block;
    white-space: nowrap;
}

html[lang="ar"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
    max-width: 12ch !important;
    font-size: clamp(2.9rem, 4.15vw, 4.9rem) !important;
    line-height: 1.16 !important;
}

body.redesign-v42 .hero-v4 .hero-desc {
    max-width: 45ch !important;
}

body.redesign-v42 .hero-visual-v4 {
    height: min(63vh, 650px) !important;
}

/* Partner gallery: quiet identities at rest, clear color and naming on intent. */
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: start !important;
    column-gap: clamp(24px, 4vw, 62px) !important;
    row-gap: clamp(22px, 3vw, 38px) !important;
    overflow: visible !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:nth-child(-n+12),
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall.is-expanded .partner-card {
    position: relative;
    isolation: isolate;
    display: grid !important;
    grid-template-rows: 84px minmax(42px, auto);
    align-items: center;
    justify-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 144px !important;
    padding: 8px 4px 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
    cursor: pointer;
    outline: none;
    transform: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+11) {
    display: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card::before {
    display: none;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:hover,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus-visible {
    z-index: 3;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus-visible {
    outline: 2px solid rgba(20, 36, 60, 0.45);
    outline-offset: 7px;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-logo-img,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:nth-child(-n+12) .partner-logo-img {
    grid-row: 1;
    align-self: center;
    width: auto !important;
    height: auto !important;
    max-width: min(134px, 88%) !important;
    max-height: 76px !important;
    object-fit: contain;
    mix-blend-mode: multiply;
    transform-origin: center center;
    opacity: 0.62 !important;
    filter: grayscale(1) saturate(0) contrast(1.06) !important;
    transition: transform 480ms var(--v42-ease), opacity 260ms ease, filter 320ms ease !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partner-name {
    position: static;
    grid-row: 2;
    align-self: start;
    display: -webkit-box;
    width: min(100%, 19ch) !important;
    min-width: 0;
    min-height: 2.7em !important;
    max-width: 19ch !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--v42-navy);
    font-size: clamp(0.72rem, 0.86vw, 0.84rem);
    font-weight: 700;
    line-height: 1.32;
    letter-spacing: 0;
    text-align: center;
    text-wrap: balance;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    pointer-events: none;
    opacity: 0;
    transform: translateY(7px);
    transition: transform 400ms var(--v42-ease), opacity 240ms ease;
}

html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partner-name {
    font-size: clamp(0.76rem, 0.9vw, 0.88rem);
    line-height: 1.48;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:hover .partner-logo-img,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus .partner-logo-img,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus-visible .partner-logo-img {
    transform: scale(1.12) !important;
    opacity: 1 !important;
    filter: grayscale(0) saturate(1.08) contrast(1.04) drop-shadow(0 9px 13px rgba(20, 36, 60, 0.13)) !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:hover .partner-name,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus .partner-name,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus-visible .partner-name {
    opacity: 1;
    transform: translateY(0);
}

/* Service detail disclosure: one readable visual treatment across all four cards. */
body.redesign-v42 .service-cluster-v3 {
    display: flex !important;
    flex-direction: column !important;
}

body.redesign-v42 .service-cluster-v3::after {
    transition: background 520ms ease !important;
}

body.redesign-v42 .service-cluster-v3.is-v2-open::after {
    background: linear-gradient(180deg, rgba(8, 19, 35, 0.28) 0%, rgba(8, 19, 35, 0.9) 55%, rgba(8, 19, 35, 0.99) 100%) !important;
}

body.redesign-v42 .service-cluster-v3 .v2-disclosure {
    position: relative;
    z-index: 4;
    width: max-content;
    min-height: 44px;
    margin-top: auto !important;
    padding: 5px 13px 5px 5px !important;
    border: 1px solid rgba(255, 255, 255, 0.42) !important;
    border-radius: 999px !important;
    background: rgba(10, 24, 43, 0.58) !important;
    color: #f7f8f9 !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    transition: transform 320ms var(--v42-ease), background-color 260ms ease, border-color 260ms ease !important;
}

html[dir="rtl"] body.redesign-v42 .service-cluster-v3 .v2-disclosure {
    padding: 5px 5px 5px 13px !important;
}

body.redesign-v42 .service-cluster-v3 .v2-disclosure:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.78) !important;
    background: rgba(12, 28, 49, 0.82) !important;
}

body.redesign-v42 .service-cluster-v3 .v2-disclosure-plus {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
    border-color: rgba(255, 255, 255, 0.7) !important;
}

body.redesign-v42 .service-cluster-v3.is-v2-open > .v2-disclosure .v2-disclosure-plus {
    border-color: #f6f7f8 !important;
    background: #f6f7f8 !important;
    color: var(--v42-navy) !important;
}

body.redesign-v42 .service-cluster-v3 .v2-expandable {
    position: relative;
    z-index: 4;
    width: min(100%, 560px);
    padding: 0 18px !important;
    border: 1px solid transparent;
    border-radius: 14px;
    background: rgba(8, 20, 37, 0);
    transition: max-height 620ms var(--v42-ease), opacity 320ms ease, transform 520ms var(--v42-ease), margin 420ms var(--v42-ease), padding 420ms var(--v42-ease), background-color 320ms ease !important;
}

body.redesign-v42 .service-cluster-v3.is-v2-open > .v2-expandable,
body.redesign-v42 .service-cluster-v3.is-v2-open .v2-expandable {
    max-height: 250px !important;
    margin-top: 12px !important;
    padding: 15px 18px 17px !important;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(8, 20, 37, 0.74);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .service-cluster-v3 .v2-expandable p,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .service-cluster-v3:nth-child(1) .v2-expandable p,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .service-cluster-v3:nth-child(2) .v2-expandable p,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .service-cluster-v3:nth-child(3) .v2-expandable p,
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .service-cluster-v3:nth-child(4) .v2-expandable p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 0.94rem;
    line-height: 1.62 !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.36);
}

body.redesign-v42 .service-cluster-v3 .cluster-scope-v3 {
    display: block;
    margin-top: 9px;
    color: rgba(255, 255, 255, 0.68) !important;
    font-size: 0.76rem;
}

/* QHSE is a compact proof strip: one message, one project image, no oversized collage. */
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 {
    min-height: clamp(500px, 46vw, 590px) !important;
    padding: clamp(58px, 6vw, 82px) clamp(24px, 6vw, 96px) !important;
    background: var(--v42-navy-deep) !important;
    color: #f7f8f9 !important;
}

body.redesign-v42 .quality-story-bg-v42 {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(0.48) contrast(1.08) brightness(0.42);
    transform: scale(1.025);
}

body.redesign-v42 .quality-story-v42::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(8, 20, 37, 0.98) 0%, rgba(8, 20, 37, 0.92) 42%, rgba(8, 20, 37, 0.58) 68%, rgba(8, 20, 37, 0.78) 100%);
    pointer-events: none;
}

html[dir="rtl"] body.redesign-v42 .quality-story-v42::before {
    background: linear-gradient(270deg, rgba(8, 20, 37, 0.98) 0%, rgba(8, 20, 37, 0.92) 42%, rgba(8, 20, 37, 0.58) 68%, rgba(8, 20, 37, 0.78) 100%);
}

body.redesign-v42 .quality-story-v42::after,
body.redesign-v42 .quality-blueprint-v4 {
    display: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 > div:not(.quality-media-v42):not(.v2-section-bridge) {
    position: relative;
    z-index: 3;
    display: grid !important;
    grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr) !important;
    align-items: center !important;
    width: min(100%, 1380px) !important;
    min-height: 350px !important;
    margin: 0 auto !important;
    gap: clamp(36px, 6vw, 92px) !important;
}

body.redesign-v42 .quality-story-v42 > div:not(.quality-media-v42) > div:first-child {
    max-width: 650px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.redesign-v42 .quality-story-v42 > div:not(.quality-media-v42) > div:last-child {
    display: none !important;
}

body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 .section-title {
    max-width: 12ch;
    margin-bottom: 18px !important;
    color: #f7f8f9 !important;
    font-size: clamp(2.55rem, 4vw, 4.35rem) !important;
    line-height: 0.96 !important;
}

html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 .section-title {
    max-width: 13ch;
    line-height: 1.18 !important;
}

body.redesign-v42 .quality-story-v42 [data-i18n="quality_desc"] {
    max-width: 48ch !important;
    color: rgba(242, 245, 248, 0.82) !important;
    font-size: 1rem !important;
    line-height: 1.72 !important;
}

body.redesign-v42 .quality-story-v42 .v2-disclosure {
    color: #f7f8f9 !important;
}

body.redesign-v42 .quality-media-v42 {
    position: absolute;
    z-index: 2;
    top: 9%;
    right: clamp(24px, 6vw, 96px);
    bottom: 9%;
    width: min(45vw, 610px);
    pointer-events: none;
}

html[dir="rtl"] body.redesign-v42 .quality-media-v42 {
    right: auto;
    left: clamp(24px, 6vw, 96px);
}

body.redesign-v42 .quality-frame-v42 {
    position: absolute;
    margin: 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: var(--v42-navy);
    box-shadow: 0 28px 68px rgba(1, 8, 18, 0.32);
}

body.redesign-v42 .quality-frame-main-v42 {
    inset: 0;
    border-radius: 74px 18px 18px 18px;
}

body.redesign-v42 .quality-frame-detail-v42 {
    display: none;
}

html[dir="rtl"] body.redesign-v42 .quality-frame-main-v42 {
    inset: 0;
    border-radius: 18px 74px 18px 18px;
}

html[dir="rtl"] body.redesign-v42 .quality-frame-detail-v42 {
    right: auto;
    left: 0;
    border-radius: 18px 18px 18px 72px;
}

body.redesign-v42 .quality-frame-v42 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.06) brightness(0.82);
    transition: transform 1s var(--v42-ease), filter 480ms ease;
}

body.redesign-v42 .quality-story-v42:hover .quality-frame-main-v42 img {
    transform: scale(1.035);
    filter: grayscale(0.72) contrast(1.05) brightness(0.9);
}

/* CTA: a real project image with an intentional navy scrim and no white wash. */
body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .home-cta-v3 {
    position: relative;
    isolation: isolate;
    min-height: clamp(520px, 56vw, 680px);
    align-items: end !important;
    overflow: hidden;
    border-top: 0 !important;
    background:
        linear-gradient(90deg, rgba(8, 20, 37, 0.96) 0%, rgba(8, 20, 37, 0.82) 50%, rgba(8, 20, 37, 0.38) 78%, rgba(8, 20, 37, 0.58) 100%),
        url("assets/project-media/balanced/commercial-facade-palms.webp") center 48% / cover no-repeat !important;
    color: #f7f8f9 !important;
}

html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .home-cta-v3 {
    background:
        linear-gradient(270deg, rgba(8, 20, 37, 0.96) 0%, rgba(8, 20, 37, 0.82) 50%, rgba(8, 20, 37, 0.38) 78%, rgba(8, 20, 37, 0.58) 100%),
        url("assets/project-media/balanced/commercial-facade-palms.webp") center 48% / cover no-repeat !important;
}

body.redesign-v42 .home-cta-copy-v3 h2 {
    max-width: 11ch !important;
    color: #f7f8f9 !important;
    text-shadow: 0 10px 34px rgba(1, 8, 18, 0.26);
}

body.redesign-v42 .home-cta-copy-v3 p {
    color: rgba(242, 245, 248, 0.8) !important;
}

body.redesign-v42 .home-cta-button-v3 {
    display: inline-flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-width: 246px;
    min-height: 68px;
    padding: 8px 9px 8px 25px !important;
    border: 1px solid rgba(255, 255, 255, 0.86) !important;
    border-radius: 999px !important;
    background: rgba(247, 248, 249, 0.96) !important;
    color: var(--v42-navy) !important;
    white-space: nowrap;
    box-shadow: 0 18px 44px rgba(2, 9, 19, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    transition: transform 380ms var(--v42-ease), background-color 260ms ease, box-shadow 320ms ease !important;
}

body.redesign-v42 .home-cta-arrow-v42 {
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--v42-navy);
    color: #f7f8f9;
    font-size: 1.16rem;
    line-height: 1;
    transition: transform 420ms var(--v42-ease), background-color 260ms ease;
}

body.redesign-v42 .home-cta-button-v3:hover {
    transform: translateY(-4px) scale(1.012);
    background: #ffffff !important;
    box-shadow: 0 24px 54px rgba(2, 9, 19, 0.34), inset 0 1px 0 rgba(255, 255, 255, 1);
}

body.redesign-v42 .home-cta-button-v3:hover .home-cta-arrow-v42 {
    transform: translate(2px, -2px) rotate(5deg);
    background: #223754;
}

body.redesign-v42 .home-cta-button-v3:active {
    transform: translateY(-1px) scale(0.98);
}

body.redesign-v42 .home-cta-button-v3:focus-visible {
    outline: 3px solid rgba(247, 248, 249, 0.72);
    outline-offset: 4px;
}

@media (max-width: 1220px) and (min-width: 768px) {
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-grid-v4 {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 0.94fr) !important;
        gap: 30px !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title,
    html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
        font-size: clamp(2.85rem, 4.25vw, 3.8rem) !important;
    }

    html[lang="ar"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
        font-size: clamp(2.7rem, 4vw, 3.6rem) !important;
    }

    body.redesign-v42 .hero-visual-v4 {
        height: min(58vh, 570px) !important;
    }
}

@media (max-width: 900px) {
    body.redesign-v42 .quality-media-v42 {
        opacity: 0.52;
        width: 54vw;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 > div:not(.quality-media-v42):not(.v2-section-bridge) {
        grid-template-columns: minmax(0, 0.74fr) minmax(250px, 1.26fr) !important;
    }
}

@media (max-width: 767px) {
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-grid-v4 {
        grid-template-columns: 1fr !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title,
    html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
        width: min(100%, calc(100vw - 40px)) !important;
        max-width: calc(100vw - 40px) !important;
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
        letter-spacing: -0.035em !important;
    }

    html[lang="ar"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .hero-v4 .hero-title {
        max-width: 14ch !important;
        font-size: clamp(2.35rem, 10vw, 3.2rem) !important;
    }

    body.redesign-v42 .hero-title > span {
        white-space: normal;
    }

    body.redesign-v42 .hero-v4 .hero-kicker,
    html[dir="rtl"] body.redesign-v42 .hero-v4 .hero-kicker {
        width: min(100%, calc(100vw - 40px));
        max-width: 30ch;
        white-space: normal;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 {
        min-height: 480px !important;
        padding: 64px 20px !important;
    }

    body.redesign-v42 .quality-story-v42::before,
    html[dir="rtl"] body.redesign-v42 .quality-story-v42::before {
        background: linear-gradient(180deg, rgba(8, 20, 37, 0.95) 0%, rgba(8, 20, 37, 0.84) 68%, rgba(8, 20, 37, 0.72) 100%);
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 > div:not(.quality-media-v42):not(.v2-section-bridge) {
        display: block !important;
        min-height: 0 !important;
    }

    body.redesign-v42 .quality-media-v42 {
        inset: 0 !important;
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 0.58 !important;
    }

    body.redesign-v42 .quality-frame-main-v42,
    html[dir="rtl"] body.redesign-v42 .quality-frame-main-v42 {
        inset: 0 !important;
        border: 0;
        border-radius: 0;
    }

    body.redesign-v42 .quality-frame-main-v42 img {
        filter: grayscale(1) contrast(1.08) brightness(0.68);
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .quality-story-v42 .section-title {
        max-width: 12ch;
        font-size: clamp(2.2rem, 9.5vw, 3.2rem) !important;
        text-shadow: 0 8px 28px rgba(2, 9, 19, 0.5);
    }

    body.redesign-v42 .quality-story-v42 [data-i18n="quality_desc"] {
        max-width: 34ch !important;
        padding: 12px 14px;
        border: 1px solid rgba(255, 255, 255, 0.14);
        border-radius: 14px;
        background: rgba(8, 20, 37, 0.62);
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .home-cta-v3,
    html[dir="rtl"] body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .home-cta-v3 {
        min-height: 600px;
        align-content: end;
        background:
            linear-gradient(180deg, rgba(8, 20, 37, 0.34) 0%, rgba(8, 20, 37, 0.88) 54%, rgba(8, 20, 37, 0.98) 100%),
            url("assets/project-media/balanced/commercial-facade-palms.webp") center / cover no-repeat !important;
    }

    body.redesign-v42 .home-cta-copy-v3 h2 {
        max-width: 12ch !important;
        font-size: clamp(2.3rem, 10vw, 3.45rem) !important;
    }

    body.redesign-v42 .service-cluster-v3.is-v2-open > .v2-expandable,
    body.redesign-v42 .service-cluster-v3.is-v2-open .v2-expandable {
        max-height: 310px !important;
    }
}

@media (max-width: 620px) {
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        column-gap: 20px !important;
        row-gap: 24px !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+7) {
        display: none !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card {
        grid-template-rows: 76px minmax(42px, auto);
        min-height: 132px !important;
        padding: 4px 2px 0 !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-logo-img,
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:nth-child(-n+12) .partner-logo-img {
        max-width: min(128px, 88%) !important;
        max-height: 76px !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-name {
        opacity: 1;
        transform: none;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:hover .partner-logo-img,
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-card:focus-visible .partner-logo-img {
        transform: scale(1.1) !important;
    }

    body.redesign-v42 .home-cta-button-v3 {
        min-width: min(100%, 246px);
    }
}

@media (hover: none) {
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partner-name {
        opacity: 1;
        transform: none;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall .partner-logo-img {
        opacity: 0.82 !important;
        filter: grayscale(0.36) saturate(0.84) contrast(1.02) !important;
    }
}

@media (min-width: 621px) and (max-width: 1100px) {
    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(-n+8) {
        display: grid !important;
    }

    body.redesign-v3.redesign-v4.redesign-v41.redesign-v42 .partners-logo-wall:not(.is-expanded) .partner-card:nth-child(n+9) {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.redesign-v42 .partner-logo-img,
    body.redesign-v42 .partner-name,
    body.redesign-v42 .service-cluster-v3::after,
    body.redesign-v42 .service-cluster-v3 .v2-disclosure,
    body.redesign-v42 .service-cluster-v3 .v2-expandable,
    body.redesign-v42 .quality-frame-v42 img,
    body.redesign-v42 .home-cta-button-v3 {
        transition: none !important;
    }
}

/* V4.3 performance layer */
.media-reveal {
    opacity: 0.01;
    transition: opacity 420ms ease;
}

.media-reveal.media-ready {
    opacity: 1;
}

@supports (content-visibility: auto) {
    .redesign-home .home-flow > section:not(.partners-section),
    .redesign-home .footer {
        content-visibility: auto;
        contain-intrinsic-size: auto 760px;
    }
}

@media (max-width: 768px) {
    .redesign-home .hero-slice-v4,
    .redesign-home .capability-item-v4,
    .redesign-home .motion-image,
    .redesign-v41 .v41-media-reveal {
        will-change: auto !important;
    }

    .redesign-home .hero-slice-v4,
    .redesign-home .hero-content,
    .redesign-home .capability-item-v4 {
        transition-duration: 460ms !important;
    }

    .redesign-home .v2-section-bridge::after,
    .redesign-home .rd-scroll-line {
        animation: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .media-reveal,
    .media-reveal.media-ready {
        opacity: 1 !important;
        transition: none !important;
    }
}
