/* ========================================
   AL DURRA NATIONAL REAL ESTATE
   Mont-Fort Inspired Design System
   ======================================== */

/* CSS Variables - Al Durra Brand Colors */
:root {
  /* Primary Colors */
  --durra-gray: #6B6B6B;
  --durra-orange: #FF7F50;
  --durra-red: #A52A2A;

  /* Secondary Colors */
  --durra-cream: #FAFAFA;
  --durra-gold: #FFA500;
  --durra-brown: #8B4513;

  /* Accent Colors */
  --durra-ivory: #F5F5F0;
  --durra-charcoal: #4A4A4A;
  --durra-mustard: #D4A84B;
  --durra-pearl: #F0EDE8;

  /* Theme Colors */
  --bg-light: #FAFAFA;
  --bg-dark: #1a1a1a;
  --text-dark: #1a1a1a;
  --text-light: #ffffff;
  --text-muted: rgba(26, 26, 26, 0.6);
  --text-muted-light: rgba(255, 255, 255, 0.6);

  /* Arabic Typography - Readex Pro for headings, IBM Plex Sans Arabic for body */
  --font-primary: 'IBM Plex Sans Arabic', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: 'Readex Pro', -apple-system, BlinkMacSystemFont, sans-serif;

  /* Arabic Font Sizes - Slightly larger for better legibility */
  --fs-hero: clamp(3rem, 8vw, 7rem);
  --fs-h1: clamp(2.5rem, 5vw, 4.5rem);
  --fs-h2: clamp(2rem, 4vw, 3.5rem);
  --fs-h3: clamp(1.5rem, 3vw, 2.25rem);
  --fs-h4: clamp(1.25rem, 2vw, 1.75rem);
  --fs-h5: clamp(1.1rem, 1.5vw, 1.35rem);
  --fs-h6: clamp(1rem, 1.25vw, 1.15rem);
  --fs-body: clamp(1rem, 1.1vw, 1.125rem);
  --fs-body-lg: clamp(1.1rem, 1.25vw, 1.25rem);
  --fs-small: clamp(0.875rem, 1vw, 0.9375rem);
  --fs-caption: clamp(0.75rem, 0.9vw, 0.875rem);

  /* Arabic Line Heights - More generous for readability */
  --lh-heading: 1.3;
  --lh-body: 1.8;
  --lh-tight: 1.2;

  /* Arabic Letter Spacing */
  --ls-heading: 0.01em;
  --ls-body: 0.02em;
  --ls-wide: 0.05em;

  /* Transitions */
  --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);

  /* Grid */
  --grid-columns: 24;
  --container-padding: 5vw;
}

/* ========================================
   Reset & Base
   ======================================== */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--font-primary);
  background: var(--bg-light);
  color: var(--text-dark);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  overflow-x: hidden;
  opacity: 0;
  transition: opacity 0.6s var(--ease-smooth);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body.loaded {
  opacity: 1;
}

body[data-theme="dark"] {
  background: var(--bg-dark);
  color: var(--text-light);
}

::selection {
  background: var(--durra-red);
  color: white;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

/* ========================================
   Arabic Typography System
   Cairo for Headings | IBM Plex Sans Arabic for Body
   ======================================== */

/* Base Heading Styles - All headings use Cairo */
h1, h2, h3, h4, h5, h6,
.fs-h1, .fs-h2, .fs-h3, .fs-h4, .fs-h5, .fs-h6 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
  margin: 0;
  text-wrap: balance;
}

/* Hero / Display Heading */
.fs-hero {
  font-family: var(--font-display);
  font-size: var(--fs-hero);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

/* H1 Styles */
h1, .fs-h1 {
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.15;
}

/* H2 Styles */
h2, .fs-h2 {
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.2;
}

/* H3 Styles */
h3, .fs-h3 {
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.25;
}

/* H4 Styles */
h4, .fs-h4 {
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.3;
}

/* H5 Styles */
h5, .fs-h5 {
  font-size: var(--fs-h5);
  font-weight: 600;
  line-height: 1.35;
}

/* H6 Styles */
h6, .fs-h6 {
  font-size: var(--fs-h6);
  font-weight: 600;
  line-height: 1.4;
}

/* Body Text Styles */
.fs-body {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: 400;
}

.fs-body-lg {
  font-family: var(--font-primary);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-body);
  font-weight: 400;
}

.fs-body-s {
  font-family: var(--font-primary);
  font-size: var(--fs-small);
  line-height: 1.7;
  font-weight: 400;
}

/* Label / Caption Styles */
.fs-label,
.section-label {
  font-family: var(--font-primary);
  font-size: var(--fs-caption);
  font-weight: 600;
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
}

.fs-caption {
  font-family: var(--font-primary);
  font-size: var(--fs-caption);
  line-height: 1.5;
  font-weight: 400;
}

/* CTA / Button Text */
.fs-cta {
  font-family: var(--font-primary);
  font-size: var(--fs-small);
  font-weight: 600;
  letter-spacing: var(--ls-wide);
}

/* Paragraph Styles */
p {
  font-family: var(--font-primary);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  margin-bottom: 1em;
}

p:last-child {
  margin-bottom: 0;
}

/* Lead Paragraph */
.lead, .fs-lead {
  font-family: var(--font-primary);
  font-size: var(--fs-body-lg);
  line-height: 1.7;
  font-weight: 400;
  color: var(--text-muted);
}

/* Strong / Bold Text */
strong, b {
  font-weight: 600;
}

/* Small Text */
small {
  font-size: var(--fs-small);
}

.uppercase {
  text-transform: uppercase;
}

/* Color Classes */
.text-red { color: var(--durra-red); }
.text-orange { color: var(--durra-orange); }
.text-gold { color: var(--durra-gold); }
.text-white { color: var(--text-light); }
.text-muted { color: var(--text-muted); }

/* ========================================
   Grid System (24 Column)
   ======================================== */
.grid {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: 0 1rem;
  padding: 0 var(--container-padding);
}

.grid-no-margin {
  display: grid;
  grid-template-columns: repeat(24, 1fr);
  gap: 0 1rem;
}

/* Column utilities */
.col-start-1 { grid-column-start: 1; }
.col-start-2 { grid-column-start: 2; }
.col-start-3 { grid-column-start: 3; }
.col-start-4 { grid-column-start: 4; }
.col-start-5 { grid-column-start: 5; }
.col-start-6 { grid-column-start: 6; }
.col-start-7 { grid-column-start: 7; }
.col-start-8 { grid-column-start: 8; }
.col-start-9 { grid-column-start: 9; }
.col-start-10 { grid-column-start: 10; }
.col-start-11 { grid-column-start: 11; }
.col-start-12 { grid-column-start: 12; }

.col-end-13 { grid-column-end: 13; }
.col-end-14 { grid-column-end: 14; }
.col-end-15 { grid-column-end: 15; }
.col-end-16 { grid-column-end: 16; }
.col-end-17 { grid-column-end: 17; }
.col-end-18 { grid-column-end: 18; }
.col-end-19 { grid-column-end: 19; }
.col-end-20 { grid-column-end: 20; }
.col-end-21 { grid-column-end: 21; }
.col-end-22 { grid-column-end: 22; }
.col-end-23 { grid-column-end: 23; }
.col-end-24 { grid-column-end: 24; }
.col-end-25 { grid-column-end: 25; }

@media (min-width: 768px) {
  .tb\:col-start-1 { grid-column-start: 1; }
  .tb\:col-start-2 { grid-column-start: 2; }
  .tb\:col-end-4 { grid-column-end: 4; }
  .tb\:col-end-5 { grid-column-end: 5; }
  .tb\:col-end-25 { grid-column-end: 25; }
}

@media (min-width: 1024px) {
  .dk\:col-start-2 { grid-column-start: 2; }
  .dk\:col-start-3 { grid-column-start: 3; }
  .dk\:col-start-4 { grid-column-start: 4; }
  .dk\:col-start-5 { grid-column-start: 5; }
  .dk\:col-start-6 { grid-column-start: 6; }
  .dk\:col-start-7 { grid-column-start: 7; }
  .dk\:col-start-10 { grid-column-start: 10; }
  .dk\:col-start-12 { grid-column-start: 12; }
  .dk\:col-start-14 { grid-column-start: 14; }
  .dk\:col-end-11 { grid-column-end: 11; }
  .dk\:col-end-13 { grid-column-end: 13; }
  .dk\:col-end-14 { grid-column-end: 14; }
  .dk\:col-end-19 { grid-column-end: 19; }
  .dk\:col-end-22 { grid-column-end: 22; }
  .dk\:col-end-23 { grid-column-end: 23; }
  .dk\:col-end-24 { grid-column-end: 24; }
}

@media (min-width: 1440px) {
  .lg\:col-start-4 { grid-column-start: 4; }
  .lg\:col-start-7 { grid-column-start: 7; }
  .lg\:col-start-13 { grid-column-start: 13; }
  .lg\:col-start-14 { grid-column-start: 14; }
  .lg\:col-end-12 { grid-column-end: 12; }
  .lg\:col-end-21 { grid-column-end: 21; }
  .lg\:col-end-22 { grid-column-end: 22; }
}

/* ========================================
   Custom Cursor - Disabled
   ======================================== */
.cursor {
  display: none !important;
}

/* ========================================
   Preloader
   ======================================== */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-light);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  transition: opacity 0.6s ease,
              visibility 0.6s ease;
}

.preloader.hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.preloader-content {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.preloader-icon {
  width: 60px;
  height: auto;
  margin-bottom: 1.5rem;
}

.preloader-svg {
  width: 100%;
  height: auto;
  display: block;
}

.preloader-bg {
  fill: var(--text-dark);
}

.preloader-counter {
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.preloader-number {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  color: var(--text-dark);
  line-height: 1;
  letter-spacing: -0.02em;
  min-width: 2ch;
  text-align: right;
}

.preloader-percent {
  font-family: var(--font-display);
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 400;
  color: var(--durra-red);
  margin-left: 0.1em;
}

/* Preloader complete animation */
.preloader.complete .preloader-content {
  animation: preloaderFadeUp 0.5s ease forwards;
}

@keyframes preloaderFadeUp {
  to {
    opacity: 0;
    transform: translateY(-20px);
  }
}

/* ========================================
   Header / Navigation
   ======================================== */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  padding: 1.5rem 0;
  background: transparent;
  transition: background 0.4s var(--ease-smooth),
              padding 0.4s var(--ease-smooth),
              transform 0.4s var(--ease-smooth),
              backdrop-filter 0.4s var(--ease-smooth);
}

.header.scrolled {
  background: rgba(240, 237, 232, 0.95);
  backdrop-filter: blur(20px);
  padding: 1rem 0;
}

.header[data-theme="dark"] {
  background: transparent;
}

.header[data-theme="dark"].scrolled {
  background: rgba(240, 237, 232, 0.95);
  backdrop-filter: blur(20px);
}

.header.header-hidden {
  transform: translateY(-100%);
}

.header nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  grid-column: 1 / -1;
}

.header-logo {
  height: 60px;
  width: auto;
  transition: opacity 0.3s var(--ease-smooth);
}

@media (min-width: 768px) {
  .header-logo {
    height: 80px;
  }
}

@media (min-width: 1200px) {
  .header-logo {
    height: 85px;
  }
}

.header-logo:hover {
  opacity: 0.7;
}

/* Logo switching based on theme */
.header-logo-link {
  display: flex;
  position: relative;
}

.header-logo-dark,
.header-logo-light {
  transition: opacity 0.4s var(--ease-smooth);
}

/* Default: show dark logo, hide light */
.header-logo-light {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.header-logo-dark {
  opacity: 1;
}

/* Dark theme (video hero): show white logo initially */
.header[data-theme="dark"] .header-logo-light {
  opacity: 1;
}

.header[data-theme="dark"] .header-logo-dark {
  opacity: 0;
}

/* When scrolled: show dark logo for pearl background */
.header[data-theme="dark"].scrolled .header-logo-light {
  opacity: 0;
}

.header[data-theme="dark"].scrolled .header-logo-dark {
  opacity: 1;
}

.nav-links {
  display: flex;
  gap: 2.5rem;
  list-style: none;
}

.nav-link {
  position: relative;
  font-family: var(--font-display);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-dark);
  transition: color 0.3s var(--ease-smooth);
}

/* Dark theme (video hero): white text initially */
.header[data-theme="dark"] .nav-link {
  color: var(--text-light);
}

/* When scrolled: dark text for pearl background */
.header[data-theme="dark"].scrolled .nav-link {
  color: var(--text-dark);
}

.nav-link::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--durra-red);
  transition: width 0.3s var(--ease-smooth);
}

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

.nav-link:hover {
  color: var(--durra-red);
}

/* Dropdown Menu - Multi-level */
.nav-item-dropdown {
  position: relative;
}

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s var(--ease-smooth), visibility 0.3s var(--ease-smooth);
  z-index: 100;
  padding-top: 15px;
}

/* Desktop - Show on hover */
@media (min-width: 1025px) {
  .nav-item-dropdown:hover .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* Tablet/Mobile - Show when active class is added */
@media (max-width: 1024px) {
  .nav-item-dropdown.active .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

.nav-dropdown-content {
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(20px);
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  min-width: 700px;
}

.nav-dropdown-section {
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Country Button */
.nav-dropdown-country {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--durra-red);
  background: transparent;
  border: none;
  padding: 0.75rem 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(165, 42, 42, 0.2);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.2s var(--ease-smooth);
  width: 100%;
}

.nav-dropdown-country:hover {
  color: var(--durra-gold);
}

.dropdown-arrow {
  transition: transform 0.3s var(--ease-smooth);
}

.nav-dropdown-section.active .dropdown-arrow {
  transform: rotate(180deg);
}

/* Projects Container */
.nav-dropdown-projects {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s var(--ease-smooth);
}

.nav-dropdown-section.active .nav-dropdown-projects {
  max-height: 500px;
}

/* Desktop - Show all by default */
@media (min-width: 1025px) {
  .nav-dropdown-projects {
    max-height: none;
    overflow: visible;
  }

  .dropdown-arrow {
    display: none;
  }

  .nav-dropdown-country {
    cursor: default;
    pointer-events: none;
  }
}

.nav-dropdown-link {
  font-size: 0.875rem;
  color: var(--text-dark);
  padding: 0.5rem 0.75rem;
  border-radius: 4px;
  transition: all 0.2s var(--ease-smooth);
  display: block;
}

.nav-dropdown-link:hover {
  background: rgba(165, 42, 42, 0.05);
  color: var(--durra-red);
  padding-left: 1rem;
}

/* Nav link arrow - visible on desktop for dropdown indicator */
.nav-link-arrow {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 4px;
  vertical-align: middle;
  opacity: 0.7;
  transition: transform 0.3s var(--ease-smooth), opacity 0.3s var(--ease-smooth);
}

.nav-item-dropdown:hover .nav-link-arrow {
  opacity: 1;
  transform: rotate(180deg);
}

/* Language Switch */
.lang-switch {
  display: flex;
  align-items: center;
  margin-left: 1.5rem;
}

.lang-switch a {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-dark);
  padding: 6px 12px;
  border-radius: 4px;
  transition: all 0.3s var(--ease-smooth);
}

.header[data-theme="dark"] .lang-switch a {
  color: var(--text-light);
}

.header[data-theme="dark"].scrolled .lang-switch a {
  color: var(--text-dark);
}

.lang-switch a:hover {
  color: var(--durra-red);
}

.lang-switch a.active {
  background: var(--durra-red);
  color: white;
}

.header[data-theme="dark"] .lang-switch a.active {
  background: var(--durra-red);
  color: white;
}

/* Menu Toggle (Mobile) */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  padding: 10px;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: var(--text-dark);
  transition: all 0.3s var(--ease-smooth);
}

/* Dark theme (video hero): white hamburger initially */
.header[data-theme="dark"] .menu-toggle span {
  background: var(--text-light);
}

/* When scrolled: dark hamburger for pearl background */
.header[data-theme="dark"].scrolled .menu-toggle span {
  background: var(--text-dark);
}

.menu-toggle.active span:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* ========================================
   Responsive Navigation - Breakpoints
   ======================================== */

/* Tablet & Mobile - Base (≤1024px) */
@media (max-width: 1024px) {
  .menu-toggle {
    display: flex;
    position: fixed;
    right: var(--container-padding);
    top: 2.1rem;
    z-index: 1010;
  }
  
  .lang-switch {
    position: fixed;
    right: calc(var(--container-padding) + 60px);
    top: 2.25rem;
    z-index: 1010;
  }

  .nav-links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100vw;
    height: 100vh;
    background: var(--bg-dark);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    transition: right 0.5s var(--ease-out-expo);
    overflow-y: auto;
    padding: 8rem 0 4rem 0;
    margin: 0;
  }

  .nav-links.active {
    right: 0;
  }

  .nav-links > li {
    width: 100%;
    max-width: 100%;
    text-align: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .nav-links > li:last-child {
    border-bottom: none;
  }

  .nav-link {
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    padding: 1.25rem 0;
    width: 100%;
    text-align: center;
    margin: 0;
    color: var(--text-light);
  }

  /* Show arrow on mobile */
  .nav-link-arrow {
    display: inline-block;
    stroke: currentColor;
    transition: transform 0.3s var(--ease-smooth);
  }

  .nav-item-dropdown.active > .nav-link .nav-link-arrow {
    transform: rotate(180deg);
  }

  /* Improve hover contrast for mobile nav links */
  .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.05);
  }

  /* Dropdown Container */
  .nav-item-dropdown {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0;
  }

  .nav-item-dropdown > .nav-link {
    width: 100%;
    padding: 1.25rem 0;
    text-align: center;
  }

  .nav-dropdown {
    width: 100%;
    max-width: 100%;
    display: block;
    position: static;
    left: auto;
    right: auto;
    transform: none;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0 !important;
    pointer-events: none;
    transition: max-height 0.4s var(--ease-smooth), opacity 0.3s var(--ease-smooth), visibility 0.3s var(--ease-smooth);
    z-index: 1;
  }

  .nav-item-dropdown.active .nav-dropdown {
    opacity: 1;
    visibility: visible;
    max-height: 2000px;
    pointer-events: auto;
  }

  .nav-dropdown-content {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    grid-template-columns: none;
    gap: 0;
    box-shadow: none;
    border-radius: 0;
    backdrop-filter: none;
  }

  .nav-dropdown-section {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  /* Country Buttons - All Devices ≤1024px */
  .nav-dropdown-country {
    width: 100%;
    max-width: 100%;
    font-size: 1.1rem;
    padding: 1rem 0;
    margin: 0 auto;
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    border-left: none;
    border-right: none;
    border-top: none;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    pointer-events: auto;
    background: transparent;
    box-sizing: border-box;
  }

  .nav-dropdown-country:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
  }

  .nav-dropdown-country:active {
    color: var(--durra-gold);
  }

  .dropdown-arrow {
    display: inline-block;
    stroke: currentColor;
    transition: transform 0.3s var(--ease-smooth);
  }

  .nav-dropdown-section.active .dropdown-arrow {
    transform: rotate(180deg);
  }

  /* Projects Container - Animated Slide */
  .nav-dropdown-projects {
    width: 100%;
    max-width: 100%;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    background: rgba(255, 255, 255, 0.02);
    transition: max-height 0.4s var(--ease-smooth),
                opacity 0.3s var(--ease-smooth),
                padding 0.4s var(--ease-smooth);
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .nav-dropdown-section.active .nav-dropdown-projects {
    max-height: 1000px;
    opacity: 1;
    padding: 0.5rem 0;
  }

  /* Project Links - Perfectly Centered */
  .nav-dropdown-link {
    display: block;
    width: 100%;
    max-width: 100%;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.8);
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    border-left: none;
    border-right: none;
    border-top: none;
    border-radius: 0;
    box-sizing: border-box;
  }

  .nav-dropdown-link:last-child {
    border-bottom: none;
  }

  /* Hover state - high contrast */
  .nav-dropdown-link:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    padding-left: 0;
  }

  /* Remove hover on touch devices */
  @media (hover: none) and (pointer: coarse) {
    .nav-dropdown-link:hover {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem;
      padding-left: 0;
      padding-right: 0;
      background: transparent;
      color: rgba(255, 255, 255, 0.8);
    }
  }

  .nav-dropdown-link:active {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    padding-left: 0;
    padding-right: 0;
    background: rgba(255, 165, 0, 0.1);
    color: var(--durra-gold);
  }
}

/* Tablet Specific (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
  .nav-link {
    font-size: 1.3rem;
  }

  .nav-dropdown-content {
    min-width: 0;
    grid-template-columns: none;
  }

  .nav-dropdown-country {
    font-size: 1rem;
    padding: 0.9rem 0;
  }

  .nav-dropdown-link {
    font-size: 0.9rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
}

/* Mobile Specific (≤767px) */
@media (max-width: 767px) {
  .nav-links {
    padding: 6rem 0 4rem 0;
  }

  .nav-link {
    font-size: 1.5rem;
    padding: 1rem 0;
  }

  .nav-dropdown-content {
    min-width: 0;
    grid-template-columns: none;
  }

  .nav-dropdown-country {
    font-size: 1.1rem;
    padding: 1rem 0;
  }

  .nav-dropdown-link {
    font-size: 0.95rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

/* Small Mobile (≤480px) */
@media (max-width: 480px) {
  .nav-links {
    padding: 5rem 0 3rem 0;
  }

  .nav-link {
    font-size: 1.3rem;
    padding: 0.9rem 0;
  }

  .nav-dropdown-content {
    min-width: 0;
    grid-template-columns: none;
  }

  .nav-dropdown-country {
    font-size: 1rem;
    padding: 0.9rem 0;
  }

  .nav-dropdown-link {
    font-size: 0.9rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
}

/* ========================================
   Hero Section
   ======================================== */
.hero {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  background: var(--bg-light);
}

.hero[data-theme="dark"] {
  background: var(--bg-dark);
}

.hero-inner {
  text-align: center;
  padding: 0 var(--container-padding);
}

.hero-logo {
  width: clamp(200px, 40vw, 400px);
  margin: 0 auto 2rem;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s var(--ease-out-expo) 0.5s forwards;
}

.hero-icon {
  display: block;
  width: clamp(50px, 8vw, 70px);
  height: auto;
  margin: 0 auto 1.25rem;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s var(--ease-out-expo) 0.6s forwards;
}

.hero-tagline {
  font-family: var(--font-display);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  color: var(--text-muted);
  margin-bottom: 1rem;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s var(--ease-out-expo) 0.8s forwards;
}

.hero[data-theme="dark"] .hero-tagline {
  color: var(--text-muted-light);
}

.hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 2rem;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 1s var(--ease-out-expo) 1s forwards;
}

.hero-title .highlight {
  color: var(--durra-red);
}

.hero[data-theme="dark"] .hero-title .highlight {
  color: var(--durra-orange);
}

.hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  margin-top: 1rem;
  opacity: 0.8;
}

/* Hero Animation Classes */
.hero .hero-element {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s var(--ease-out-expo),
              transform 1s var(--ease-out-expo);
}

.hero .hero-element.animate-in {
  opacity: 1;
  transform: translateY(0);
}

.hero .hero-element[data-delay="1"] { transition-delay: 0.1s; }
.hero .hero-element[data-delay="2"] { transition-delay: 0.25s; }
.hero .hero-element[data-delay="3"] { transition-delay: 0.4s; }
.hero .hero-element[data-delay="4"] { transition-delay: 0.55s; }
.hero .hero-element[data-delay="5"] { transition-delay: 0.7s; }

/* Video Hero specific styles */
.video-hero {
  background: var(--bg-dark);
  color: var(--text-light);
}

.video-hero .hero-logo {
  animation: none;
}

.video-hero .hero-tagline {
  animation: none;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.video-hero .hero-title {
  animation: none;
  color: var(--text-light);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}

/* Rotating Hero Titles */
.hero-titles-container {
  position: relative;
  min-height: 150px;
  width: 100%;
  display: block;
  margin-bottom: 2rem;
}

/* Override base hero-title styles for rotating titles */
.hero-titles-container .hero-title.rotating-title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  margin-bottom: 0;
  pointer-events: none;
  animation: none !important;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-in-out, transform 0.8s ease-in-out;
}

/* Show active title - high specificity override */
.hero .hero-titles-container .hero-title.rotating-title.active,
.video-hero .hero-titles-container .hero-title.rotating-title.active,
.fullscreen-video-hero .hero-titles-container .hero-title.rotating-title.active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto;
}

/* Fade out animation */
.hero-titles-container .hero-title.rotating-title.fade-out {
  opacity: 0 !important;
  transform: translateY(-20px);
}

/* Video hero specific styles */
.video-hero .hero-titles-container .hero-title.rotating-title {
  color: var(--text-light);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
}

/* Gradient text for rotating titles */
.hero-titles-container .rotating-title .gradient-text {
  background: linear-gradient(
    90deg,
    var(--durra-orange),
    var(--durra-gold),
    var(--durra-orange)
  );
  background-size: 200% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 4s ease infinite;
}

.video-hero .hero-subtitle {
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.video-hero .scroll-indicator-text {
  color: rgba(255, 255, 255, 0.6);
}

.video-hero .scroll-indicator-line {
  background: linear-gradient(to bottom, var(--durra-orange), transparent);
}

.video-hero .scroll-indicator-line::after {
  background: var(--durra-orange);
}

/* Scroll Indicator */
.scroll-indicator {
  position: absolute;
  bottom: 3rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  opacity: 0;
  animation: fadeUp 0.8s var(--ease-out-expo) 1.5s forwards;
}

.scroll-indicator-text {
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.hero[data-theme="dark"] .scroll-indicator-text {
  color: var(--text-muted-light);
}

.scroll-indicator-line {
  width: 1px;
  height: 60px;
  background: linear-gradient(to bottom, var(--durra-red), transparent);
  position: relative;
  overflow: hidden;
}

.scroll-indicator-line::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20px;
  background: var(--durra-red);
  animation: scrollDown 1.5s ease-in-out infinite;
}

@keyframes scrollDown {
  0% { top: 0; opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ========================================
   Chapter Sections
   ======================================== */
section[data-chapter] {
  padding: 8rem 0;
  position: relative;
}

.section-index {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--durra-red);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.section-index::after {
  content: '';
  width: 40px;
  height: 1px;
  background: var(--durra-red);
}

.section-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: 2rem;
}

/* Section titles are visible - GSAP handles animation */

/* ========================================
   Who We Are Section
   ======================================== */
.who-we-are {
  background: var(--bg-light);
}

.who-we-are .content {
  grid-column: 1 / -1;
}

/* Arabic (Noto Kufi) glyphs need more vertical room than the 1.2 base,
   otherwise the last line's descenders crop against .line-reveal overflow:hidden */
.who-we-are .section-title {
  line-height: 1.6;
  padding-bottom: 0.25em;
}

@media (min-width: 1024px) {
  .who-we-are .section-index {
    grid-row: 1;
  }

  .who-we-are .section-title {
    grid-column: 10 / 24;
    grid-row: 2;
  }

  .who-we-are .content {
    grid-column: 5 / 13;
    grid-row: 3;
  }
}

.content-text {
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.8;
  color: var(--text-muted);
  margin-bottom: 2rem;
}

/* Link Block */
.link-block {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--durra-red);
  transition: gap 0.3s var(--ease-smooth);
}

.link-block:hover {
  gap: 1.25rem;
}

.link-block .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

.link-block .arrow svg {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  transition: transform 0.3s var(--ease-smooth);
}

.link-block:hover .arrow svg {
  transform: translateX(4px);
}

/* ========================================
   Divisions / Services Section
   ======================================== */
.divisions {
  background: var(--durra-pearl);
  color: var(--text-dark);
  padding: 8rem 0;
  position: relative;
  overflow: hidden;
}

/* Animated Architectural Building Background */
.arch-building-bg {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  opacity: 0.3;
}

.arch-building-svg {
  height: 100%;
  width: auto;
  filter: sepia(20%) saturate(50%) brightness(0.85);
}

/* CSS glow overlay removed - using JS stroke animation instead */

/* Ensure content stays above background */
.divisions .grid {
  position: relative;
  z-index: 1;
}

.divisions .section-index {
  color: var(--durra-red);
}

.divisions .section-title {
  color: var(--text-dark);
}

.divisions-intro {
  color: var(--text-muted);
  max-width: 600px;
  margin-bottom: 4rem;
}

.division-card {
  padding: 3rem 0;
  border-top: 1px solid rgba(26, 26, 26, 0.1);
  position: relative;
  overflow: hidden;
}

.division-card:last-child {
  border-bottom: 1px solid rgba(26, 26, 26, 0.1);
}

.division-number {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: var(--durra-red);
  margin-bottom: 1rem;
}

.division-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--text-dark);
  margin-bottom: 1rem;
  transition: color 0.3s var(--ease-smooth);
}

.division-card:hover .division-title {
  color: var(--durra-red);
}

.division-description {
  color: var(--text-muted);
  max-width: 500px;
  margin-bottom: 1.5rem;
}

.division-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-dark);
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.4s var(--ease-smooth),
              transform 0.4s var(--ease-smooth),
              gap 0.3s var(--ease-smooth);
}

.division-card:hover .division-link {
  opacity: 1;
  transform: translateX(0);
}

.division-link:hover {
  gap: 1rem;
  color: var(--durra-red);
}

/* ========================================
   Projects Section - Reimagined
   ======================================== */
.projects {
  padding: 8rem 0;
  background: var(--bg-light);
}

/* Featured Project - Hero Style */
.project-featured {
  max-width: 1400px;
  margin: 0 auto 4rem;
  padding: 0 2rem;
}

.project-featured-link {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 3rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.project-featured-image {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 12px;
  background: #f0f0f0;
}

.project-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out-expo);
}

.project-featured-link:hover .project-featured-image img {
  transform: scale(1.05);
}

.project-featured-content {
  padding: 2rem 0;
}

.project-featured-label {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--durra-orange);
  margin-bottom: 1rem;
  padding: 0.4rem 0.8rem;
  background: rgba(201, 85, 59, 0.1);
  border-radius: 4px;
}

.project-featured-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--text-dark);
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.project-featured-location {
  font-size: 1rem;
  color: var(--durra-orange);
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.project-featured-type {
  font-size: 1rem;
  color: var(--text-muted);
  margin-bottom: 2rem;
}

.project-featured-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-dark);
  transition: gap 0.3s ease;
}

.project-featured-link:hover .project-featured-cta {
  gap: 1rem;
  color: var(--durra-orange);
}

@media (max-width: 900px) {
  .project-featured-link {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .project-featured-content {
    padding: 0;
  }
}

/* Project Grid */
.project-grid-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}

.project-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

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

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

.project-item {
  display: block;
  text-decoration: none;
  color: inherit;
}

.project-item-image {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 8px;
  background: #f0f0f0;
  margin-bottom: 1rem;
}

.project-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease-out-expo);
}

.project-item:hover .project-item-image img {
  transform: scale(1.08);
}

.project-item-info {
  padding: 0 0.25rem;
}

.project-item-location {
  display: block;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--durra-orange);
  margin-bottom: 0.3rem;
}

.project-item-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--text-dark);
  margin-bottom: 0.2rem;
  transition: color 0.3s ease;
}

.project-item:hover .project-item-name {
  color: var(--durra-orange);
}

.project-item-type {
  font-size: 0.85rem;
  color: var(--text-muted);
}

/* ========================================
   Global Presence / Map Section
   ======================================== */
.global-presence {
  background: var(--durra-pearl);
  color: var(--text-dark);
  padding: 8rem 0;
  position: relative;
  overflow: hidden;
}

.global-presence .section-index {
  color: var(--durra-red);
}

.global-presence .section-title {
  color: var(--text-dark);
  max-width: 900px;
}

.locations-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  margin-top: 4rem;
}

.location-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  transition: color 0.3s var(--ease-smooth);
}

.location-item::before {
  content: '';
  width: 6px;
  height: 6px;
  background: var(--durra-red);
  border-radius: 50%;
}

.location-item:hover {
  color: var(--text-dark);
}

/* ========================================
   Values Section
   ======================================== */
.values {
  padding: 8rem 0;
  background: white;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 4rem;
  align-items: stretch;
}

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

@media (max-width: 640px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}

.value-card {
  padding: 2rem;
  background: var(--durra-pearl);
  border-radius: 8px;
  transition: transform 0.4s var(--ease-smooth),
              box-shadow 0.4s var(--ease-smooth);
}

.value-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.value-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--durra-red);
  border-radius: 8px;
  margin-bottom: 1.5rem;
}

.value-icon svg {
  width: 24px;
  height: 24px;
  stroke: white;
}

.value-title {
  font-family: var(--font-display);
  font-size: 1.3rem;
  margin-bottom: 0.75rem;
  color: var(--text-dark);
}

.value-description {
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.6;
}

/* ========================================
   Board of Directors
   ======================================== */
.board {
  padding: 8rem 0;
  background: var(--durra-pearl);
}

.board-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  margin-top: 4rem;
}

@media (max-width: 1200px) {
  .board-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

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

@media (max-width: 480px) {
  .board-grid {
    grid-template-columns: 1fr;
  }
}

.board-member {
  text-align: center;
}

.board-member-image {
  width: 120px;
  height: 120px;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 2rem;
  color: var(--durra-red);
  transition: transform 0.4s var(--ease-smooth),
              background 0.4s var(--ease-smooth);
}

.board-member:hover .board-member-image {
  transform: scale(1.05);
  background: var(--durra-red);
  color: white;
}

/* Use icon instead of initials - add class "use-icon" to toggle */
.board-member-image.use-icon {
  background: white;
  padding: 0;
}

.board-member-image .board-icon {
  width: 50%;
  height: 50%;
  object-fit: contain;
}

.board-member:hover .board-member-image.use-icon {
  background: white;
}

.board-member-name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  margin-bottom: 0.25rem;
  color: var(--text-dark);
}

.board-member-role {
  font-size: 0.8rem;
  color: var(--durra-red);
  font-weight: 500;
}

/* ========================================
   Chapters Navigation (Side)
   ======================================== */
.chapters-nav {
  position: fixed;
  left: var(--container-padding);
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: none;
}

@media (min-width: 1200px) {
  .chapters-nav {
    display: none;
  }
}

.chapters-nav ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.chapter-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.4rem 0;
  cursor: pointer;
}

.chapter-dot {
  position: relative;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--text-muted);
  opacity: 0.4;
  flex-shrink: 0;
  transition: transform 0.45s var(--ease-out-expo),
              background 0.45s var(--ease-out-expo),
              opacity 0.45s var(--ease-out-expo),
              box-shadow 0.45s var(--ease-out-expo);
}

.chapter-link:hover .chapter-dot {
  opacity: 1;
  transform: scale(1.3);
}

.chapter-link.active .chapter-dot {
  background: var(--durra-red);
  opacity: 1;
  transform: scale(1.35);
  box-shadow: 0 0 0 5px rgba(165, 42, 42, 0.12);
}

/* Label reveals as clean text on hover / active */
.chapter-label {
  font-size: 0.66rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
  opacity: 0;
  transform: translateX(-8px);
  pointer-events: none;
  transition: opacity 0.45s var(--ease-out-expo),
              transform 0.45s var(--ease-out-expo);
}

.chapter-link:hover .chapter-label,
.chapter-link.active .chapter-label {
  opacity: 1;
  transform: translateX(0);
}

.chapter-link.active .chapter-label {
  color: var(--durra-red);
}

/* Theme-aware chapters nav */
[data-theme="dark"] .chapter-dot {
  background: var(--text-muted-light);
}

[data-theme="dark"] .chapter-label {
  color: var(--text-muted-light);
}

/* ========================================
   Footer
   ======================================== */
.footer {
  background: var(--bg-dark);
  color: var(--text-light);
  padding: 6rem 0 3rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
}

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

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

.footer-brand {
  grid-column: span 1;
}

.footer-logo {
  height: 80px;
  width: auto;
  margin-bottom: 1.5rem;
}

@media (min-width: 768px) {
  .footer-logo {
    height: 100px;
  }
}

.footer-tagline {
  font-size: 0.9rem;
  color: var(--text-muted-light);
  margin-bottom: 1.5rem;
  max-width: 280px;
}

.footer-column h4 {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 1.5rem;
}

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

.footer-links a {
  font-size: 0.9rem;
  color: var(--text-muted-light);
  transition: color 0.3s var(--ease-smooth);
}

.footer-links a:hover {
  color: var(--durra-orange);
}

.footer-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1rem;
  font-size: 0.9rem;
  color: var(--text-muted-light);
}

.footer-contact-item svg {
  width: 18px;
  height: 18px;
  stroke: var(--durra-orange);
  flex-shrink: 0;
  margin-top: 2px;
}

.footer-bottom {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.footer-copyright {
  font-size: 0.8rem;
  color: var(--text-muted-light);
}

.footer-legal-links {
  display: flex;
  gap: 2rem;
}

.footer-legal-links a {
  font-size: 0.8rem;
  color: var(--text-muted-light);
  transition: color 0.3s var(--ease-smooth);
}

.footer-legal-links a:hover {
  color: var(--text-light);
}

/* ========================================
   Animations
   ======================================== */
[data-animation="FadeIn"] {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.8s var(--ease-out-expo),
              transform 0.8s var(--ease-out-expo);
}

[data-animation="Line"] {
  width: 0;
  height: 1px;
  background: var(--durra-red);
  transition: width 1s var(--ease-out-expo);
}

[data-animation="Line"].active {
  width: 100%;
}

/* Stagger animations - visible by default */
.stagger-children > * {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   Utility Classes
   ======================================== */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Scroll Progress */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  background: var(--durra-red);
  z-index: 10000;
  transform-origin: left;
  transform: scaleX(0);
  transition: transform 0.1s linear;
}

/* Back to Top Button */
.back-to-top {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 48px;
  height: 48px;
  background: var(--durra-red);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.4s var(--ease-smooth);
  z-index: 100;
}

.back-to-top.visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--durra-orange);
  transform: translateY(-4px);
}

.back-to-top svg {
  width: 20px;
  height: 20px;
  stroke: white;
}

/* ========================================
   Page Hero (Inner Pages)
   ======================================== */
.page-hero {
  min-height: 60vh;
  display: flex;
  align-items: flex-end;
  padding: 10rem 0 4rem;
  background: var(--bg-light);
}

.page-hero-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--durra-orange);
  margin-bottom: 1rem;
}

.page-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  font-weight: 500;
  line-height: 1.1;
  color: var(--text-dark);
  margin-bottom: 1.5rem;
}

.page-hero-subtitle {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: var(--text-muted);
  max-width: 600px;
  line-height: 1.7;
}

/* ========================================
   Project Detail Sections
   ======================================== */
.project-detail {
  padding: 8rem 0;
  position: relative;
}

.project-detail[data-theme="dark"] {
  background: var(--bg-dark);
  color: var(--text-light);
}

.project-detail[data-theme="dark"] .section-title {
  color: var(--text-light);
}

.project-detail[data-theme="dark"] .project-description {
  color: var(--text-muted-light);
}

.project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 4rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.meta-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.meta-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--durra-orange);
}

.meta-value {
  font-size: 1rem;
  font-weight: 500;
}

.project-description {
  color: var(--text-muted);
  line-height: 1.8;
  max-width: 500px;
}

/* ========================================
   Project Gallery
   ======================================== */
.project-gallery {
  margin-top: 3rem;
}

.gallery-grid {
  display: grid;
  gap: 1rem;
}

.gallery-grid.gallery-4 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 300px);
}

.gallery-grid.gallery-3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: 400px 200px;
}

@media (min-width: 768px) {
  .gallery-grid.gallery-4 {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 400px;
  }

  .gallery-grid.gallery-3 {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 400px;
  }
}

.gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.gallery-item.large {
  grid-column: span 2;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease-smooth);
}

.gallery-item:hover img {
  transform: scale(1.05);
}

/* Regional Projects Grid */
.projects-grid.regional {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}

@media (min-width: 768px) {
  .projects-grid.regional {
    grid-template-columns: repeat(3, 1fr);
  }
}

.projects-grid.regional .project-card {
  aspect-ratio: 4/3;
}

/* ========================================
   CTA Section
   ======================================== */
.cta-section {
  padding: 8rem 0;
  background: white;
  text-align: center;
}

.cta-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cta-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--text-dark);
  margin-bottom: 1rem;
}

.cta-text {
  color: var(--text-muted);
  max-width: 500px;
  margin-bottom: 2rem;
  text-align: center;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: var(--durra-red);
  color: white;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 4px;
  transition: all 0.3s var(--ease-smooth);
}

.cta-button:hover {
  background: var(--durra-orange);
  transform: translateY(-2px);
}

.cta-button svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s var(--ease-smooth);
}

.cta-button:hover svg {
  transform: translateX(4px);
}

/* CTA Pearl variant */
.cta-section.cta-pearl {
  background: var(--durra-pearl);
}

/* ========================================
   About Page Styles
   ======================================== */
.about-section {
  padding: 8rem 0;
  position: relative;
}

.about-section[data-theme="dark"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.about-section[data-theme="dark"] .section-index {
  color: var(--durra-red);
}

.about-section[data-theme="dark"] .section-title {
  color: var(--text-dark);
}

/* Goals Section with Dhow Background */
.goals-section {
  position: relative;
  overflow: hidden;
  background: var(--durra-pearl) !important;
}

.about-section.goals-section {
  background: var(--durra-pearl) !important;
}

.dhow-bg {
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 800px;
  pointer-events: none;
  z-index: 0;
  opacity: 0.08;
}

.dhow-svg {
  width: 100%;
  height: auto;
  display: block;
}

.goals-section .grid {
  position: relative;
  z-index: 1;
}

/* Fix text visibility on light background for goals */
.goals-section .divisions-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.goals-section .division-card {
  padding: 2.5rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
}

.goals-section .division-card:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.goals-section .division-number {
  color: var(--durra-red);
}

.goals-section .division-title {
  color: var(--text-dark);
}

.goals-section .division-description {
  color: var(--text-muted);
}

.about-content {
  max-width: 700px;
}

.about-content p {
  margin-bottom: 1.5rem;
  line-height: 1.8;
}

.about-content p:last-child {
  margin-bottom: 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 4rem;
  width: 100%;
}

@media (max-width: 767px) {
  .stats-grid {
    grid-template-columns: 1fr;
  }
}

.stat-item {
  text-align: center;
  padding: 2rem;
  background: rgba(165, 42, 42, 0.05);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 150px;
}

.stat-number {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4vw, 3.5rem);
  font-weight: 600;
  color: var(--durra-red);
  line-height: 1;
  margin-bottom: 0.5rem;
}

.stat-label {
  font-size: 0.85rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Vision/Mission Cards */
.vision-mission-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-top: 4rem;
}

@media (min-width: 768px) {
  .vision-mission-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.vm-card {
  padding: 3rem;
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.vm-card-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--durra-red);
  border-radius: 50%;
  margin-bottom: 1.5rem;
}

.vm-card-icon svg {
  width: 28px;
  height: 28px;
  stroke: white;
}

.vm-card-title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  margin-bottom: 1rem;
  color: var(--text-dark);
}

.vm-card-text {
  color: var(--text-muted);
  line-height: 1.7;
}

/* ========================================
   Contact Page Styles
   ======================================== */
.contact-section {
  padding: 8rem 0;
}

.contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  margin-top: 4rem;
}

@media (min-width: 1024px) {
  .contact-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.contact-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact-item {
  display: flex;
  gap: 1rem;
}

.contact-item-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--durra-cream);
  border-radius: 8px;
  flex-shrink: 0;
}

.contact-item-icon svg {
  width: 24px;
  height: 24px;
  stroke: var(--durra-red);
}

.contact-item-content h4 {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--durra-orange);
  margin-bottom: 0.5rem;
}

.contact-item-content p {
  color: var(--text-muted);
  line-height: 1.6;
}

.contact-item-content a {
  color: var(--text-dark);
  transition: color 0.3s var(--ease-smooth);
}

.contact-item-content a:hover {
  color: var(--durra-red);
}

/* Contact Form */
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-group label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.form-group input,
.form-group textarea {
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  font-family: inherit;
  font-size: 1rem;
  transition: border-color 0.3s var(--ease-smooth),
              box-shadow 0.3s var(--ease-smooth);
}

.form-group input:focus,
.form-group textarea:focus {
  outline: none;
  border-color: var(--durra-red);
  box-shadow: 0 0 0 3px rgba(165, 42, 42, 0.1);
}

.form-group textarea {
  min-height: 150px;
  resize: vertical;
}

.form-group input.error,
.form-group textarea.error {
  border-color: #e53e3e;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .form-row {
    grid-template-columns: repeat(2, 1fr);
  }
}

.submit-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: var(--durra-red);
  color: white;
  font-size: 0.9rem;
  font-weight: 500;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s var(--ease-smooth);
  align-self: flex-start;
}

.submit-button:hover {
  background: var(--durra-orange);
  transform: translateY(-2px);
}

.submit-button svg {
  width: 18px;
  height: 18px;
}

/* Map Container */
.map-section {
  padding: 0;
  height: 400px;
  background: var(--durra-cream);
  display: flex;
  align-items: center;
  justify-content: center;
}

.map-placeholder {
  text-align: center;
  color: var(--text-muted);
}

.map-placeholder svg {
  width: 64px;
  height: 64px;
  stroke: var(--durra-red);
  margin-bottom: 1rem;
}

/* ========================================
   Mobile Navigation
   ======================================== */
@media (max-width: 768px) {
  .nav-links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: var(--bg-dark);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    transition: right 0.4s var(--ease-smooth);
    z-index: 999;
  }

  .nav-links.active {
    right: 0;
  }

  .nav-links .nav-link {
    font-size: 1.5rem;
    color: var(--text-light);
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    gap: 5px;
    z-index: 1000;
  }

  .menu-toggle span {
    width: 24px;
    height: 2px;
    background: var(--text-dark);
    transition: all 0.3s var(--ease-smooth);
  }

  .menu-toggle.active span {
    background: var(--text-light);
  }

  .menu-toggle.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }

  .menu-toggle.active span:nth-child(2) {
    opacity: 0;
  }

  .menu-toggle.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }
}

/* ========================================
   MONT-FORT STYLE ANIMATIONS
   ======================================== */

/* Enhanced Hero Animation Styles */
.hero-element {
  opacity: 0;
  transform: translateY(60px);
  will-change: opacity, transform;
}

.hero-element.animate-in {
  animation: heroReveal 1.2s var(--ease-out-expo) forwards;
}

.hero-element[data-delay="1"] { animation-delay: 0.1s; }
.hero-element[data-delay="2"] { animation-delay: 0.2s; }
.hero-element[data-delay="3"] { animation-delay: 0.3s; }
.hero-element[data-delay="4"] { animation-delay: 0.4s; }
.hero-element[data-delay="5"] { animation-delay: 0.5s; }
.hero-element[data-delay="6"] { animation-delay: 0.6s; }
.hero-element[data-delay="7"] { animation-delay: 0.7s; }
.hero-element[data-delay="8"] { animation-delay: 0.8s; }

@keyframes heroReveal {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Split Text Animation Styles */
.split-ready {
  overflow: hidden;
}

.split-ready .word {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.split-ready .word-inner {
  display: inline-block;
  transform: translateY(0);
  opacity: 1;
  transition: transform 0.8s var(--ease-out-expo),
              opacity 0.6s var(--ease-out-expo);
  transition-delay: calc(var(--word-index) * 0.04s);
}

/* Character Split Animation (for titles) */
.char-split {
  overflow: hidden;
}

.char-split .char {
  display: inline-block;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.6s var(--ease-out-expo),
              opacity 0.4s var(--ease-out-expo);
  transition-delay: calc(var(--char-index) * 0.02s);
}

.char-split.revealed .char {
  transform: translateY(0);
  opacity: 1;
}

/* Line Draw Animation */
.line-reveal {
  position: relative;
  overflow: hidden;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
}

.line-reveal::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--durra-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 1.2s var(--ease-out-expo);
}

.line-reveal.revealed::after {
  transform: scaleX(1);
}

/* ========================================
   PARALLAX STYLES
   ======================================== */
.parallax-container {
  position: relative;
  overflow: hidden;
}

.parallax-image {
  position: absolute;
  inset: -20%;
  width: 140%;
  height: 140%;
  object-fit: cover;
  will-change: transform;
  transition: transform 0.1s linear;
}

.parallax-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 120%;
  object-fit: cover;
  will-change: transform;
}

/* Parallax Section */
.parallax-section {
  position: relative;
  overflow: hidden;
  min-height: 80vh;
}

.parallax-section .parallax-layer {
  position: absolute;
  inset: 0;
  will-change: transform;
}

.parallax-section .parallax-layer.slow {
  transform: translateY(calc(var(--scroll-y, 0) * -0.1));
}

.parallax-section .parallax-layer.medium {
  transform: translateY(calc(var(--scroll-y, 0) * -0.3));
}

.parallax-section .parallax-layer.fast {
  transform: translateY(calc(var(--scroll-y, 0) * -0.5));
}

/* ========================================
   VIDEO BACKGROUND
   ======================================== */
.video-background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  background: var(--bg-dark);
}

/* Ensure poster displays immediately */
.video-background video[poster] {
  background-size: cover;
  background-position: center;
}

.video-background::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.4) 50%,
    rgba(0, 0, 0, 0.6) 100%
  );
  pointer-events: none;
}

.video-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.video-hero .hero-inner {
  position: relative;
  z-index: 1;
}

/* YouTube Background Styles */
.video-background.youtube-bg {
  overflow: hidden;
}

.video-background.youtube-bg .youtube-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.video-background.youtube-bg .youtube-container iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 177.78vh; /* 16:9 aspect ratio */
  min-width: 100%;
  height: 100vh;
  min-height: 56.25vw; /* 16:9 aspect ratio */
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Video fallback for YouTube background */
.video-background.youtube-bg .video-fallback {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}

.video-background.youtube-bg.video-loaded .video-fallback {
  opacity: 0;
  transition: opacity 0.5s ease;
}

/* Mobile fallback - just show the image */
.video-background.youtube-bg.mobile-fallback .youtube-container {
  display: none;
}

.video-background.youtube-bg.mobile-fallback .video-fallback {
  opacity: 1;
}

/* ========================================
   ENHANCED CURSOR STYLES
   ======================================== */
.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  pointer-events: none;
  z-index: 10000;
  mix-blend-mode: difference;
  opacity: 0;
  will-change: transform;
}

body.cursor-ready .cursor {
  opacity: 1;
}

.cursor .inner {
  position: relative;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}

.cursor .circle {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 1px solid white;
  border-radius: 50%;
  transition: transform 0.25s var(--ease-smooth),
              border-color 0.25s var(--ease-smooth),
              background 0.25s var(--ease-smooth);
}

.cursor .middle-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 4px;
  height: 4px;
  background: white;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.25s var(--ease-smooth),
              opacity 0.25s var(--ease-smooth);
}

/* Cursor States */
.cursor[data-state="hover"] .circle {
  transform: scale(1.8);
  border-color: var(--durra-orange);
}

.cursor[data-state="hover"] .middle-dot {
  transform: translate(-50%, -50%) scale(2);
}

.cursor[data-state="draggable"] .circle {
  transform: scale(2);
  border-color: var(--durra-orange);
  border-style: dashed;
}

.cursor[data-state="dragging"] .circle {
  transform: scale(0.6);
  background: rgba(255, 127, 80, 0.3);
}

.cursor[data-state="text"] .circle {
  transform: scale(0.5) scaleX(0.2);
  background: white;
  border: none;
}

.cursor[data-state="text"] .middle-dot {
  opacity: 0;
}

/* Hide cursor on touch devices */
@media (hover: none) and (pointer: coarse) {
  .cursor {
    display: none !important;
  }
}

/* ========================================
   MAGNETIC BUTTON EFFECT
   ======================================== */
.magnetic-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s var(--ease-smooth);
}

.magnetic-button .button-inner {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: var(--durra-red);
  color: white;
  font-size: 0.9rem;
  font-weight: 500;
  border-radius: 4px;
  transition: transform 0.3s var(--ease-smooth),
              background 0.3s var(--ease-smooth);
}

.magnetic-button:hover .button-inner {
  background: var(--durra-orange);
}

/* ========================================
   SCROLL REVEAL ANIMATIONS
   ======================================== */
.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale,
.reveal-rotate {
  opacity: 1;
  transform: none;
  transition: opacity 0.8s var(--ease-out-expo),
              transform 0.8s var(--ease-out-expo);
}

/* Stagger Reveal - visible by default */
.stagger-reveal > * {
  opacity: 1;
  transform: translateY(0);
}

/* ========================================
   IMAGE REVEAL ANIMATION
   ======================================== */
.image-reveal {
  position: relative;
  overflow: hidden;
}

.image-reveal::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--durra-red);
  z-index: 1;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 1s var(--ease-out-expo);
}

.image-reveal img {
  transform: scale(1);
  transition: transform 1.2s var(--ease-out-expo);
}

/* ========================================
   SMOOTH SCROLLING ENHANCEMENT
   ======================================== */
html {
  scroll-behavior: smooth;
}

html.smooth-scroll {
  scroll-behavior: auto;
}

/* Locomotive-style smooth scroll classes */
html.has-scroll-smooth {
  overflow: hidden;
}

html.has-scroll-dragging {
  user-select: none;
}

.has-scroll-smooth body {
  overflow: hidden;
}

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh;
}

/* ========================================
   HOVER EFFECTS
   ======================================== */
.hover-lift {
  transition: transform 0.4s var(--ease-smooth),
              box-shadow 0.4s var(--ease-smooth);
}

.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.hover-scale {
  transition: transform 0.4s var(--ease-smooth);
}

.hover-scale:hover {
  transform: scale(1.05);
}

.hover-glow {
  transition: box-shadow 0.4s var(--ease-smooth);
}

.hover-glow:hover {
  box-shadow: 0 0 30px rgba(165, 42, 42, 0.3);
}

/* ========================================
   PROJECT CARD ENHANCED ANIMATIONS
   ======================================== */
.project-card {
  overflow: hidden;
}

.project-card .project-image {
  transition: transform 1s var(--ease-out-expo);
}

.project-card:hover .project-image {
  transform: scale(1.1);
}

.project-card .project-overlay {
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.9) 0%,
    rgba(0, 0, 0, 0.4) 40%,
    transparent 70%
  );
  opacity: 0;
  transition: opacity 0.5s var(--ease-smooth);
}

.project-card:hover .project-overlay {
  opacity: 1;
}

.project-card .project-location,
.project-card .project-name,
.project-card .project-type {
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.5s var(--ease-out-expo),
              opacity 0.5s var(--ease-out-expo);
}

.project-card:hover .project-location {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.1s;
}

.project-card:hover .project-name {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.15s;
}

.project-card:hover .project-type {
  transform: translateY(0);
  opacity: 1;
  transition-delay: 0.2s;
}

/* ========================================
   LOADING ANIMATION
   ======================================== */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.loading-shimmer {
  background: linear-gradient(
    90deg,
    var(--durra-cream) 25%,
    var(--durra-ivory) 50%,
    var(--durra-cream) 75%
  );
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* ========================================
   COUNTER ANIMATION
   ======================================== */
.counter-animate {
  display: inline-block;
  font-variant-numeric: tabular-nums;
}

/* ========================================
   FLOATING ANIMATION
   ======================================== */
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.float-animation {
  animation: float 3s ease-in-out infinite;
}

/* ========================================
   PULSE RING ANIMATION
   ======================================== */
@keyframes pulseRing {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1.5);
    opacity: 0;
  }
}

.pulse-ring {
  position: relative;
}

.pulse-ring::before {
  content: '';
  position: absolute;
  inset: -10px;
  border: 2px solid var(--durra-red);
  border-radius: 50%;
  animation: pulseRing 2s ease-out infinite;
}

/* ========================================
   TEXT GRADIENT ANIMATION
   ======================================== */
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.gradient-text {
  background: linear-gradient(
    90deg,
    var(--durra-red),
    var(--durra-orange),
    var(--durra-gold),
    var(--durra-red)
  );
  background-size: 300% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gradientShift 5s ease infinite;
}

/* ========================================
   BORDER ANIMATION
   ======================================== */
.animated-border {
  position: relative;
}

.animated-border::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--durra-red), var(--durra-orange)) border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* ========================================
   INTERACTIVE HERO (MONT-FORT STYLE)
   ======================================== */
.interactive-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-dark);
  color: var(--text-light);
  overflow: hidden;
}

.interactive-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0;
}

/* Dynamic Sky Gradient - real-time color interpolation via CSS variables */
.sky-gradient {
  position: absolute;
  inset: 0;
  z-index: 0;
  /* Colors set via JavaScript for smooth interpolation */
  --sky-top: 10, 10, 26;
  --sky-upper: 15, 15, 37;
  --sky-mid: 20, 20, 48;
  --sky-lower: 26, 26, 46;
  --sky-horizon: 26, 26, 26;
  background: linear-gradient(
    to bottom,
    rgb(var(--sky-top)) 0%,
    rgb(var(--sky-upper)) 25%,
    rgb(var(--sky-mid)) 50%,
    rgb(var(--sky-lower)) 75%,
    rgb(var(--sky-horizon)) 100%
  );
}

.interactive-bg canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* Floating Geometric Shapes - Hidden for cleaner sky */
.floating-shapes {
  display: none;
}

.shape-1 {
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, var(--durra-red) 0%, transparent 70%);
  top: 10%;
  left: 5%;
}

.shape-2 {
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, var(--durra-orange) 0%, transparent 70%);
  top: 60%;
  right: 10%;
}

.shape-3 {
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, var(--durra-gold) 0%, transparent 70%);
  bottom: 20%;
  left: 15%;
}

.shape-4 {
  width: 350px;
  height: 350px;
  background: radial-gradient(circle, var(--durra-red) 0%, transparent 70%);
  top: 30%;
  right: 25%;
}

.shape-5 {
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, var(--durra-orange) 0%, transparent 70%);
  top: 5%;
  right: 5%;
}

/* Gradient Orbs that follow mouse */
.gradient-orbs {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
  will-change: transform;
  transition: transform 0.1s linear;
}

.orb-primary {
  width: 500px;
  height: 500px;
  background: var(--durra-red);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.orb-secondary {
  width: 400px;
  height: 400px;
  background: var(--durra-orange);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Kuwait Skyline Silhouette - Repeating Pattern */
.kuwait-skyline {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  overflow: hidden;
}

.kuwait-skyline.visible {
  opacity: 1;
}

/* Wrapper for seamless repeat across viewport - no gaps */
.skyline-repeat-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 0;
  font-size: 0; /* Remove inline-block gaps */
  line-height: 0;
}

/* Individual skyline instance - seamless tiles with no gaps */
.skyline-instance {
  flex-shrink: 0;
  height: auto;
  display: inline-block;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  border: none;
  /* Apply brand colors filter - lighter, warmer tones blended with background */
  filter: sepia(0.15) saturate(0.5) brightness(0.9) hue-rotate(-5deg);
  opacity: 0.7;
  mix-blend-mode: multiply;
}

/* Remove any gaps from object elements */
.skyline-instance,
object.skyline-instance {
  margin-left: -2px; /* Overlap slightly to eliminate any micro-gaps */
}

.skyline-instance:first-child {
  margin-left: 0;
}

/* Base sizing - mobile first */
.skyline-instance {
  width: 450px;
  max-height: 200px;
}

/* Tablet */
@media (min-width: 768px) {
  .skyline-instance {
    width: 600px;
    max-height: 240px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .skyline-instance {
    width: 750px;
    max-height: 300px;
  }
}

/* Large Desktop */
@media (min-width: 1400px) {
  .skyline-instance {
    width: 900px;
    max-height: 360px;
  }
}

/* Extra Large / 2K */
@media (min-width: 1920px) {
  .skyline-instance {
    width: 1150px;
    max-height: 420px;
  }
}

/* 4K+ */
@media (min-width: 2560px) {
  .skyline-instance {
    width: 1500px;
    max-height: 500px;
  }
}

/* 5K */
@media (min-width: 3840px) {
  .skyline-instance {
    width: 1900px;
    max-height: 580px;
  }
}

/* Animated Sun element - pure radiating glow from a point */
.skyline-sun {
  position: absolute;
  bottom: 20%;
  right: -100px;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: transparent;
  /* Sun is ONLY layered box-shadows radiating outward from center point */
  box-shadow:
    0 0 15px 8px rgba(255,255,255,1),
    0 0 35px 20px rgba(255,255,250,0.85),
    0 0 60px 40px rgba(255,255,240,0.65),
    0 0 100px 65px rgba(255,252,220,0.45),
    0 0 150px 100px rgba(255,248,200,0.28),
    0 0 210px 140px rgba(255,244,180,0.15),
    0 0 280px 190px rgba(255,240,160,0.08),
    0 0 360px 250px rgba(255,235,140,0.03);
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transform-origin: center center;
  will-change: transform, opacity, right, bottom;
  border: none;
  outline: none;
}

/* Sun glow animation - subtle breathing pulse */
@keyframes sunGlow {
  0%, 100% {
    box-shadow:
      0 0 15px 8px rgba(255,255,255,1),
      0 0 35px 20px rgba(255,255,250,0.85),
      0 0 60px 40px rgba(255,255,240,0.65),
      0 0 100px 65px rgba(255,252,220,0.45),
      0 0 150px 100px rgba(255,248,200,0.28),
      0 0 210px 140px rgba(255,244,180,0.15),
      0 0 280px 190px rgba(255,240,160,0.08),
      0 0 360px 250px rgba(255,235,140,0.03);
  }
  50% {
    box-shadow:
      0 0 18px 10px rgba(255,255,255,1),
      0 0 42px 25px rgba(255,255,250,0.87),
      0 0 75px 50px rgba(255,255,240,0.68),
      0 0 120px 80px rgba(255,252,220,0.48),
      0 0 180px 120px rgba(255,248,200,0.3),
      0 0 250px 170px rgba(255,244,180,0.17),
      0 0 330px 225px rgba(255,240,160,0.09),
      0 0 420px 290px rgba(255,235,140,0.04);
  }
}

.skyline-sun.active {
  animation: sunGlow 6s ease-in-out infinite;
}

/* Floating clouds container - covers entire hero section */
.skyline-clouds {
  position: absolute;
  top: 0;
  left: -300px;
  right: -300px;
  bottom: 0;
  pointer-events: none;
  z-index: 4;
  overflow: visible;
}

/* Individual cloud styling */
.skyline-cloud {
  position: absolute;
  opacity: 0.5;
  filter: blur(0.5px);
  will-change: transform;
}

.skyline-cloud svg {
  width: 100%;
  height: auto;
}

/* Flying birds container - appear during daytime */
.skyline-birds {
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  height: 200px;
  pointer-events: none;
  z-index: 3;
  overflow: visible;
  opacity: 0;
  transition: opacity 2s ease;
}

.skyline-birds.visible {
  opacity: 1;
}

/* Individual bird styling */
.skyline-bird {
  position: absolute;
  width: 20px;
  height: 10px;
  opacity: 0.6;
  will-change: transform;
}

.skyline-bird svg {
  width: 100%;
  height: 100%;
}

/* Bird flying animation */
@keyframes birdFly {
  0%, 100% {
    transform: scaleY(1);
  }
  50% {
    transform: scaleY(0.6);
  }
}

.skyline-bird svg path {
  animation: birdFly 0.4s ease-in-out infinite;
}

/* Stars container - appear at night */
.skyline-stars {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}

.skyline-stars.visible {
  opacity: 1;
}

/* Individual star styling */
.skyline-star {
  position: absolute;
  width: 2px;
  height: 2px;
  background: #fff;
  border-radius: 50%;
  opacity: 0;
  animation: starTwinkle var(--twinkle-duration, 3s) ease-in-out infinite;
  animation-delay: var(--twinkle-delay, 0s);
}

.skyline-star.bright {
  width: 3px;
  height: 3px;
  box-shadow: 0 0 4px 1px rgba(255, 255, 255, 0.6);
}

.skyline-star.dim {
  width: 1px;
  height: 1px;
  opacity: 0.5;
}

@keyframes starTwinkle {
  0%, 100% {
    opacity: 0.3;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* Islamic Pattern Overlay */
.islamic-pattern-overlay {
  position: absolute;
  inset: 0;
  background-image: url('../images/islamic-pattern.svg');
  background-size: 200px 200px;
  background-repeat: repeat;
  opacity: 0.03;
  pointer-events: none;
  z-index: 1;
  animation: patternFloat 60s linear infinite;
}

@keyframes patternFloat {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 200px 200px;
  }
}

/* Mashrabiya decorative borders */
.mashrabiya-border {
  position: relative;
}

.mashrabiya-border::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background-image: url('../images/mashrabiya-pattern.svg');
  background-size: 60px 60px;
  background-repeat: repeat-x;
  opacity: 0.2;
}

/* Building lines decoration */
.building-decoration {
  position: absolute;
  width: 200px;
  height: 300px;
  background-image: url('../images/building-lines.svg');
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.1;
  pointer-events: none;
}

.building-decoration.left {
  left: 5%;
  bottom: 10%;
}

.building-decoration.right {
  right: 5%;
  bottom: 15%;
  transform: scaleX(-1);
}

/* Grid overlay for depth */
.interactive-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
  z-index: 1;
}

/* Noise texture overlay */
.interactive-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.03;
  pointer-events: none;
  z-index: 2;
}

.interactive-hero .hero-inner {
  position: relative;
  z-index: 3;
}

.interactive-hero .hero-logo {
  animation: none;
}

.interactive-hero .hero-tagline {
  animation: none;
  color: rgba(255, 255, 255, 0.7);
}

.interactive-hero .hero-title {
  animation: none;
  color: var(--text-light);
}

.interactive-hero .scroll-indicator {
  z-index: 3;
}

.interactive-hero .scroll-indicator-text {
  color: rgba(255, 255, 255, 0.6);
}

.interactive-hero .scroll-indicator-line {
  background: linear-gradient(to bottom, var(--durra-orange), transparent);
}

.interactive-hero .scroll-indicator-line::after {
  background: var(--durra-orange);
}

/* Page Video Hero Adjustments */
.page-video-hero {
  min-height: 70vh;
}

.page-video-hero .hero-inner {
  text-align: center;
  max-width: 800px;
  padding: 4rem 3rem;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.page-video-hero .page-hero-label {
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--durra-orange);
  margin-bottom: 1.5rem;
}

.page-video-hero .page-hero-title {
  color: var(--text-light);
  margin-bottom: 1.5rem;
  font-weight: 300;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1.2;
}

.page-video-hero .page-hero-subtitle {
  color: rgba(255, 255, 255, 0.75);
  max-width: 600px;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.7;
}

/* Fullscreen Video Hero - No overlay, like homepage */
.fullscreen-video-hero {
  min-height: 100vh;
}

.fullscreen-video-hero .hero-inner {
  text-align: center;
  padding: 0 var(--container-padding);
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border: none;
  max-width: none;
}

.fullscreen-video-hero .hero-tagline {
  color: rgba(255, 255, 255, 0.7);
}

.fullscreen-video-hero .hero-title {
  color: var(--text-light);
}

.fullscreen-video-hero .hero-title .highlight {
  color: var(--durra-orange);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .shape-1 { width: 200px; height: 200px; }
  .shape-2 { width: 150px; height: 150px; }
  .shape-3 { width: 120px; height: 120px; }
  .shape-4 { width: 180px; height: 180px; }
  .shape-5 { width: 100px; height: 100px; }

  .orb-primary { width: 300px; height: 300px; }
  .orb-secondary { width: 250px; height: 250px; }

  .page-video-hero {
    min-height: 60vh;
  }
}

/* ========================================
   GSAP ANIMATION STYLES
   ======================================== */

/* Word wrap for split text animations */
.word-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
}

.word-wrap .word {
  display: inline-block;
  will-change: transform;
}

/* Split character styles */
.split-char {
  display: inline-block;
  will-change: transform, opacity;
}

/* GSAP Image Reveal */
.gsap-image-reveal {
  position: relative;
  overflow: hidden;
}

.gsap-image-reveal .reveal-overlay {
  position: absolute;
  inset: 0;
  background: var(--durra-red);
  z-index: 2;
  transform-origin: right center;
}

.gsap-image-reveal img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  will-change: transform;
}

/* GSAP Fade Image */
.gsap-fade-image {
  will-change: transform, opacity;
}

/* Division border animation */
.division-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--durra-orange), transparent);
  transform: scaleX(0);
  transition: transform 0.6s var(--ease-out-expo);
}

.division-card:hover .division-border {
  transform: scaleX(1);
}

/* Scroll progress bar enhancement */
.scroll-progress {
  transform-origin: left center;
  transform: scaleX(0);
}

/* Horizontal scroll section */
[data-horizontal-scroll] {
  overflow: hidden;
}

.horizontal-container {
  display: flex;
  width: max-content;
  will-change: transform;
}

.horizontal-panel {
  width: 100vw;
  height: 100vh;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Pinned content */
.pinned-content {
  position: relative;
  will-change: transform;
}

/* Progress bar for sticky elements */
[data-sticky] .progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--durra-orange);
  transform: scaleX(0);
  transform-origin: left center;
}

/* Magnetic button enhancement */
.magnetic-button {
  will-change: transform;
}

/* Counter animation styles */
[data-counter] {
  font-variant-numeric: tabular-nums;
  will-change: contents;
}

/* Smooth transitions for theme changes */
.header {
  transition: background 0.6s var(--ease-smooth),
              padding 0.4s var(--ease-smooth),
              transform 0.4s var(--ease-smooth);
}

/* GSAP specific utility classes */
.gsap-hidden {
  visibility: hidden;
}

.gsap-visible {
  visibility: visible;
}

/* Real estate themed decorative elements */
.building-lines {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
}

.building-line {
  position: absolute;
  width: 1px;
  height: 0;
  background: linear-gradient(to bottom, transparent, var(--durra-orange), transparent);
  opacity: 0.3;
}

.building-line:nth-child(1) { left: 20%; }
.building-line:nth-child(2) { left: 40%; }
.building-line:nth-child(3) { left: 60%; }
.building-line:nth-child(4) { left: 80%; }

/* Skyline silhouette effect */
.skyline-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 200px;
  background: linear-gradient(to top, var(--bg-dark), transparent);
  pointer-events: none;
  z-index: 1;
}

/* Elegant line animations */
.elegant-line {
  position: relative;
  display: inline-block;
}

.elegant-line::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--durra-gold);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.6s var(--ease-out-expo);
}

.elegant-line:hover::after,
.elegant-line.active::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* Luxury shimmer effect */
@keyframes luxuryShimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.luxury-shimmer {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(212, 175, 55, 0.3) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: luxuryShimmer 3s ease-in-out infinite;
}

/* Property card 3D tilt */
.property-tilt {
  transform-style: preserve-3d;
  perspective: 1000px;
}

.property-tilt:hover {
  transform: rotateY(-5deg) rotateX(5deg);
}

/* Architectural grid overlay */
.arch-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(212, 175, 55, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212, 175, 55, 0.05) 1px, transparent 1px);
  background-size: 40px 40px;
  pointer-events: none;
}

/* Blueprint effect */
.blueprint-bg {
  background:
    linear-gradient(rgba(26, 26, 26, 0.95), rgba(26, 26, 26, 0.95)),
    url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23d4af37' stroke-width='0.5' opacity='0.1'%3E%3Cpath d='M0 20h40M20 0v40'/%3E%3C/g%3E%3C/svg%3E");
}

/* Golden ratio spiral (decorative) */
.golden-spiral {
  position: absolute;
  width: 300px;
  height: 300px;
  border: 1px solid var(--durra-gold);
  border-radius: 50%;
  opacity: 0.1;
  animation: rotate 30s linear infinite;
}

@keyframes rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Perspective scroll effect */
.perspective-scroll {
  transform-style: preserve-3d;
  perspective: 1000px;
}

.perspective-scroll > * {
  transform: translateZ(0);
  transition: transform 0.5s var(--ease-out-expo);
}

/* Stagger reveal container */
.stagger-container > * {
  opacity: 0;
  transform: translateY(40px);
}

.stagger-container.active > * {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s var(--ease-out-expo),
              transform 0.6s var(--ease-out-expo);
}

.stagger-container.active > *:nth-child(1) { transition-delay: 0.1s; }
.stagger-container.active > *:nth-child(2) { transition-delay: 0.2s; }
.stagger-container.active > *:nth-child(3) { transition-delay: 0.3s; }
.stagger-container.active > *:nth-child(4) { transition-delay: 0.4s; }
.stagger-container.active > *:nth-child(5) { transition-delay: 0.5s; }
.stagger-container.active > *:nth-child(6) { transition-delay: 0.6s; }

/* Clip path reveal */
.clip-reveal {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
  transition: clip-path 1s var(--ease-out-expo);
}

.clip-reveal.revealed {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* Mask reveal animation */
.mask-reveal {
  -webkit-mask-image: linear-gradient(to bottom, black 0%, transparent 0%);
  mask-image: linear-gradient(to bottom, black 0%, transparent 0%);
  -webkit-mask-size: 100% 200%;
  mask-size: 100% 200%;
  transition: -webkit-mask-position 1s var(--ease-out-expo),
              mask-position 1s var(--ease-out-expo);
}

.mask-reveal.revealed {
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
}

/* ========================================
   PROJECTS PAGE - REIMAGINED
   ======================================== */

/* Projects Hero */
.projects-hero {
  position: relative;
  min-height: 100vh;
  height: 100vh;
  height: 100dvh; /* Dynamic viewport height for mobile browsers */
  display: flex;
  align-items: flex-end;
  padding-bottom: 6rem;
  overflow: hidden;
}

.projects-hero .video-background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.projects-hero .video-background .youtube-container {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-height: 100vh;
  min-width: 177.78vh;
  transform: translate(-50%, -50%);
}

.projects-hero .video-fallback {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.projects-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.projects-hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.05);
}

.projects-hero > .projects-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.25) 40%,
    rgba(0, 0, 0, 0.1) 100%
  );
  z-index: 1;
}

.projects-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.5) 0%,
    rgba(0, 0, 0, 0.25) 40%,
    rgba(0, 0, 0, 0.1) 100%
  );
}

.projects-hero-content {
  position: relative;
  z-index: 2;
}

.projects-hero-label {
  color: var(--durra-orange);
  margin-bottom: 1rem;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.projects-hero-title {
  color: var(--text-light);
  margin-bottom: 1.5rem;
  font-weight: 400;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
}

.projects-hero-subtitle {
  color: rgba(255, 255, 255, 0.9);
  max-width: 600px;
  margin-bottom: 3rem;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.projects-hero-stats {
  display: flex;
  gap: 3rem;
}

.projects-hero-stats .stat-item {
  text-align: left;
}

.projects-hero-stats .stat-number {
  display: block;
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 400;
  color: var(--text-light);
  line-height: 1;
  margin-bottom: 0.25rem;
}

.projects-hero-stats .stat-label {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

/* Projects Portfolio Section */
.projects-portfolio {
  padding: 5rem 0 8rem;
  background: var(--bg-light);
}

/* Filter Toggle Container */
.filter-toggle-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  margin-bottom: 0;
}

.filter-toggle-btn {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1.5rem;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-dark);
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s var(--ease-smooth);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.filter-toggle-btn:hover {
  border-color: var(--durra-red);
  color: var(--durra-red);
  box-shadow: 0 4px 12px rgba(165, 42, 42, 0.15);
}

.filter-toggle-btn.active {
  background: var(--durra-red);
  border-color: var(--durra-red);
  color: white;
}

.filter-toggle-btn .filter-icon {
  flex-shrink: 0;
}

.filter-toggle-btn .filter-arrow {
  transition: transform 0.3s var(--ease-smooth);
}

.filter-toggle-btn.active .filter-arrow {
  transform: rotate(180deg);
}

/* Filter Bar - Hidden by default */
.projects-filter-bar {
  display: none;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 1.5rem;
  padding: 1.5rem;
  margin-bottom: 2rem;
  background: white;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s var(--ease-smooth);
}

.projects-filter-bar.active {
  display: flex;
  opacity: 1;
  max-height: 500px;
  margin-top: 1rem;
}

.filter-group {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.filter-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.filter-buttons {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.filter-btn {
  padding: 0.6rem 1.25rem;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--text-dark);
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s var(--ease-smooth);
}

.filter-btn:hover {
  border-color: var(--durra-red);
  color: var(--durra-red);
}

.filter-btn.active {
  background: var(--durra-red);
  border-color: var(--durra-red);
  color: white;
}

.projects-count {
  font-size: 0.85rem;
  color: var(--text-muted);
}

.projects-count .count-number {
  font-weight: 600;
  color: var(--durra-red);
}

/* Projects Grid */
.projects-grid-container {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}

@media (min-width: 640px) {
  .projects-grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .projects-grid-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Project Card - New Design */
.project-card-new {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  background: white;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: transform 0.5s var(--ease-out-expo),
              box-shadow 0.5s var(--ease-out-expo);
}

.project-card-new:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.project-card-new.featured {
  grid-column: 1 / -1;
}

@media (min-width: 1024px) {
  .project-card-new.featured {
    grid-column: 1 / 3;
    grid-row: span 2;
  }
}

.project-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.project-card-new.featured .project-card-link {
  flex-direction: column;
}

@media (min-width: 1024px) {
  .project-card-new.featured .project-card-link {
    flex-direction: row;
  }
}

/* Project Card Image */
.project-card-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
}

/* Placeholder for projects without images */
.project-card-image.placeholder-image {
  background: var(--durra-pearl);
  display: flex;
  align-items: center;
  justify-content: center;
}

.project-card-image.placeholder-image .placeholder-icon {
  width: 80px;
  height: auto;
  opacity: 0.8;
  position: relative;
  z-index: 2;
  transition: opacity 0.3s var(--ease-smooth), transform 0.3s var(--ease-smooth);
}

.project-card-new:hover .project-card-image.placeholder-image .placeholder-icon {
  opacity: 1;
  transform: scale(1.1);
}
.project-card-new.featured .project-card-image {
  aspect-ratio: 16/10;
}

@media (min-width: 1024px) {
  .project-card-new.featured .project-card-image {
    flex: 1;
    aspect-ratio: auto;
    min-height: 100%;
  }

  .project-card-new.featured .project-card-image img {
    object-position: center 30%; /* Clip from bottom, show more of the tower top */
  }
}

.project-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out-expo);
}

.project-card-new:hover .project-card-image img {
  transform: scale(1.08);
}

.project-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.4) 0%,
    transparent 50%
  );
  opacity: 0;
  transition: opacity 0.4s var(--ease-smooth);
}

.project-card-new:hover .project-card-overlay {
  opacity: 1;
}

/* Project Card Content */
.project-card-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.project-card-new.featured .project-card-content {
  padding: 2rem;
}

@media (min-width: 1024px) {
  .project-card-new.featured .project-card-content {
    flex: 0.8;
    justify-content: center;
  }
}

.project-card-meta {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}

.project-location-tag,
.project-type-tag {
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  border-radius: 4px;
}

.project-location-tag {
  background: rgba(165, 42, 42, 0.1);
  color: var(--durra-red);
}

.project-type-tag {
  background: rgba(107, 107, 107, 0.1);
  color: var(--durra-gray);
}

.project-card-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  color: var(--text-dark);
  margin-bottom: 0.75rem;
  line-height: 1.3;
  transition: color 0.3s var(--ease-smooth);
}

.project-card-new.featured .project-card-title {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.project-card-new:hover .project-card-title {
  color: var(--durra-red);
}

.project-card-desc {
  font-size: 0.9rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  flex: 1;
}

.project-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.project-status {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: 0.4rem 0.8rem;
  border-radius: 100px;
}

.project-status.completed {
  background: rgba(34, 139, 34, 0.1);
  color: #228B22;
}

.project-status.operational {
  background: rgba(30, 144, 255, 0.1);
  color: #1E90FF;
}

.project-status.in-progress {
  background: rgba(255, 165, 0, 0.1);
  color: #FF8C00;
}

.project-status.sold {
  background: rgba(138, 43, 226, 0.1);
  color: #8B008B;
}

.project-arrow {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bg-light);
  border-radius: 50%;
  transition: all 0.3s var(--ease-smooth);
}

.project-arrow svg {
  width: 16px;
  height: 16px;
  color: var(--durra-red);
  transition: transform 0.3s var(--ease-smooth);
}

.project-card-new:hover .project-arrow {
  background: var(--durra-red);
}

.project-card-new:hover .project-arrow svg {
  color: white;
}

/* No Results */
.no-results {
  text-align: center;
  padding: 4rem 2rem;
}

.no-results p {
  font-size: 1.1rem;
  color: var(--text-muted);
  margin-bottom: 1.5rem;
}

.reset-filters {
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
  font-weight: 500;
  color: white;
  background: var(--durra-red);
  border: none;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.3s var(--ease-smooth);
}

.reset-filters:hover {
  background: var(--durra-orange);
  transform: translateY(-2px);
}

/* Filter Animation Classes */
.project-card-new.filtering-out {
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
}

.project-card-new.filtered-hidden {
  display: none;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
  .projects-hero {
    min-height: 100vh;
    height: 100vh;
    height: 100dvh;
    padding-bottom: 4rem;
  }

  .projects-hero-stats {
    gap: 2rem;
  }

  .filter-toggle-container {
    flex-direction: row;
    gap: 1rem;
  }

  .filter-toggle-btn {
    padding: 0.75rem 1rem;
    font-size: 0.85rem;
  }

  .filter-toggle-btn span {
    display: none;
  }

  .projects-filter-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
  }

  .filter-group {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .filter-group.filter-type,
  .filter-group.filter-status {
    padding-top: 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
  }

  .filter-label {
    display: block;
    margin-bottom: 0.25rem;
  }

  .projects-count {
    text-align: right;
  }

  .project-card-content {
    padding: 1.25rem;
  }
}

/* ========================================
   LIGHT THEME SECTIONS (Pearl Background)
   ======================================== */
/* Services Process Section */
.services-process[data-theme="light"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.services-process[data-theme="light"] .section-index {
  color: var(--durra-red);
}

.services-process[data-theme="light"] .section-title {
  color: var(--text-dark);
}

.services-process[data-theme="light"] .section-intro {
  color: var(--text-muted);
}

/* Services Metrics Section */
.services-metrics[data-theme="light"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.services-metrics[data-theme="light"] .section-label {
  color: var(--durra-red);
}

.services-metrics[data-theme="light"] .metrics-title {
  color: var(--text-dark);
}

/* Project Gallery Section */
.project-gallery[data-theme="light"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.project-gallery[data-theme="light"] .section-label {
  color: var(--durra-red);
}

.project-gallery[data-theme="light"] .section-title {
  color: var(--text-dark);
}

/* Project Timeline Section */
.project-timeline[data-theme="light"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.project-timeline[data-theme="light"] .section-label {
  color: var(--durra-red);
}

.project-timeline[data-theme="light"] .section-title {
  color: var(--text-dark);
}

/* Contact Footer CTA Section */
.contact-footer-cta[data-theme="light"] {
  background: var(--durra-pearl);
  color: var(--text-dark);
}

.contact-footer-cta[data-theme="light"] .section-label {
  color: var(--durra-red);
}

.contact-footer-cta[data-theme="light"] h2 {
  color: var(--text-dark);
}

.contact-footer-cta[data-theme="light"] p {
  color: var(--text-muted);
}
/* ==============================================
   AL DURRA - ARABIC RTL STYLESHEET
   This imports the main English styles and adds RTL overrides
   ============================================== */

/* Import the main English stylesheet */
@import url('../../../assets/css/style.css');

/* ==============================================
   RTL GLOBAL OVERRIDES
   ============================================== */

/* Base RTL direction */
html {
  direction: rtl;
}

body {
  direction: rtl;
  text-align: right;
}

/* Arabic font stack */
body,
.nav-link,
.nav-dropdown-link,
.nav-dropdown-country,
.footer-links a,
.footer-tagline,
.footer-contact-item,
.footer-copyright,
h1, h2, h3, h4, h5, h6,
p, span, a, button, li {
  font-family: 'Noto Sans Arabic', 'Inter', sans-serif;
}

.fs-h1, .fs-h2, .fs-h3, .hero-title, .section-title,
.project-featured-title, .projects-hero-title {
  font-family: 'Noto Kufi Arabic', 'Playfair Display', serif;
}

/* ==============================================
   HEADER & NAVIGATION RTL
   ============================================== */

/* Header nav - natural RTL flow handles direction */
.header nav {
  flex-direction: row-reverse;
}

/* Logo stays on right in RTL */
.header-logo-link {
  order: 2;
}

/* Nav links on left in RTL - natural RTL flow handles order */
.nav-links {
  order: 1;
}

/* Language switch RTL - positioned in normal flow for desktop */
.lang-switch {
  margin-left: 0;
  margin-right: 1.5rem;
  order: 0;
}

/* Menu toggle on left in RTL - only for mobile */
.menu-toggle {
  order: -1;
}

.nav-link {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
}

.nav-link-arrow {
  margin-right: 4px;
  margin-left: 0;
}

/* Dropdown RTL */
.nav-dropdown {
  left: auto;
  right: 50%;
  transform: translateX(50%);
}

.nav-dropdown-content {
  text-align: right;
}

.nav-dropdown-country {
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.dropdown-arrow {
  margin-left: 8px;
  margin-right: 0;
}

.nav-dropdown-projects {
  text-align: right;
}

/* ==============================================
   CHAPTERS NAV RTL
   ============================================== */

.chapters-nav {
  left: auto !important;
  right: var(--container-padding) !important;
}

.chapter-link {
  position: relative !important;
  flex-direction: row !important;
  justify-content: flex-end !important;
}

.chapter-dot {
  flex-shrink: 0 !important;
}

.chapter-label {
  position: absolute !important;
  right: calc(100% + 12px) !important;
  left: auto !important;
  top: 50% !important;
  white-space: nowrap !important;
  transform: translate(8px, -50%) !important;
}

.chapter-link:hover .chapter-label,
.chapter-link.active .chapter-label {
  transform: translate(0, -50%) !important;
}

/* ==============================================
   GRID SYSTEM RTL OVERRIDES
   ============================================== */

/* Keep grid working normally - RTL is handled by direction */
.grid {
  direction: rtl;
}

/* Content inside grid cells should be RTL */
.grid > * {
  direction: rtl;
}

/* Section titles and text 
.section-title,
.section-index,
.fs-body,
.text-muted,
p {
  text-align: right !important;
}*/

/* Hero tagline centered */
.hero-tagline {
  text-align: center !important;
}

/* Hero subtitle centered */
.hero-subtitle {
  text-align: center !important;
}

/* ==============================================
   CONTENT SECTIONS RTL
   ============================================== */

/* Section index */
.section-index {
  text-align: left !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
}

.section-index::after {
  /* Keep default order - line on right of number */
}

/* Link blocks */
.link-block,
.division-link {
  flex-direction: row;
  justify-content: flex-end;
}

.link-block .arrow,
.link-block svg,
.division-link svg {
  transform: none !important;
  margin-left: 8px;
  margin-right: 0;
}

/* Division cards */
.division-card {
  text-align: right;
}

.division-number {
  right: auto;
  left: 0;
}

/* ==============================================
   HERO SECTIONS RTL
   ============================================== */

.hero-inner {
  text-align: center;
}

.scroll-indicator {
  text-align: center;
}

/* Projects hero */
.projects-hero-content {
  text-align: right;
}

.projects-hero-stats {
  justify-content: flex-start;
}

.stat-item {
  text-align: right;
}

/* ==============================================
   PROJECT CARDS RTL
   ============================================== */

.project-card-content {
  text-align: right;
}

.project-card-meta {
  flex-direction: row-reverse;
}

.project-card-footer {
  flex-direction: row-reverse;
}

.project-arrow svg {
  transform: scaleX(-1);
}

/* Featured project */
.project-featured-content {
  left: auto;
  right: 0;
  text-align: right;
}

.project-featured-cta svg {
  transform: scaleX(-1);
  margin-left: 0;
  margin-right: 8px;
}

/* Project items */
.project-item-info {
  text-align: right;
}

/* ==============================================
   VALUES & BOARD SECTIONS RTL
   ============================================== */

.value-card {
  text-align: right;
}

.board-member {
  text-align: center;
}

.board-member-name,
.board-member-role {
  text-align: center !important;
}

.vm-card {
  text-align: right;
}

/* ==============================================
   FOOTER RTL
   ============================================== */

.footer-grid {
  direction: rtl;
}

.footer-brand {
  text-align: right;
}

.footer-column {
  text-align: right;
}

.footer-column h4 {
  text-align: right;
}

.footer-contact {
  align-items: flex-end;
}

.footer-contact-item {
  flex-direction: row;
  text-align: right;
  justify-content: flex-start;
}

.footer-contact-item svg {
  margin-right: 0;
  margin-left: 12px;
  order: 1;
}

.footer-contact-item span {
  order: 2;
}

.footer-bottom {
  flex-direction: row-reverse;
}

.footer-legal-links {
  flex-direction: row-reverse;
}

/* ==============================================
   BACK TO TOP & SCROLL PROGRESS RTL
   ============================================== */

.back-to-top {
  right: auto;
  left: 30px;
}

.scroll-progress {
  left: auto;
  right: 0;
}

/* ==============================================
   FORMS & INPUTS RTL (Contact page)
   ============================================== */

input,
textarea,
select {
  text-align: right;
}

.form-group label {
  text-align: right;
}

/* ==============================================
   FILTER BAR RTL (Projects page)
   ============================================== */

.filter-bar {
  flex-direction: row-reverse;
}

.filter-toggle-btn {
  flex-direction: row-reverse;
}

.filter-toggle-btn svg {
  margin-right: 0;
  margin-left: 8px;
}

.filter-group {
  flex-direction: row-reverse;
}

.filter-btn {
  margin-right: 0;
  margin-left: 8px;
}

/* ==============================================
   SERVICES PAGE RTL
   ============================================== */

.service-card {
  text-align: right;
}

.service-icon {
  margin-right: 0;
  margin-left: auto;
}

/* ==============================================
   PROJECT DETAIL PAGE RTL
   ============================================== */

.project-info-grid {
  direction: rtl;
}

.project-detail-content {
  text-align: right;
}

.other-projects-grid {
  direction: rtl;
}

/* ==============================================
   CTA SECTION RTL
   ============================================== */

.cta-content {
  text-align: center;
}

.cta-button {
  flex-direction: row-reverse;
}

.cta-button svg {
  transform: scaleX(-1);
  margin-left: 0;
  margin-right: 8px;
}

/* ==============================================
   MOBILE RESPONSIVE RTL
   ============================================== */

@media (max-width: 1024px) {
  .chapters-nav {
    right: 20px;
    left: auto;
  }
  
  /* Hamburger menu on left for mobile */
  .menu-toggle {
    position: fixed;
    left: var(--container-padding);
    right: auto;
    z-index: 1010;
    top: 2.1rem;
  }
  
  /* Language switch next to hamburger */
  .lang-switch {
    position: fixed;
    left: calc(var(--container-padding) + 60px);
    right: auto;
    z-index: 1010;
    top: 2.25rem;
  }
  
  /* Logo on right for mobile */
  .header-logo-link {
    position: absolute;
    right: var(--container-padding);
    left: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  
  /* Ensure header nav has proper height for positioning */
  .header nav {
    min-height: 60px;
  }
  
  .nav-links {
    right: auto !important;
    left: -100% !important;
    text-align: right;
    transition: left 0.5s var(--ease-out-expo) !important;
  }
  
  .nav-links.active {
    left: 0 !important;
    right: auto !important;
  }
  
  .nav-links li {
    text-align: center;
  }
  
  .mobile-menu-footer {
    text-align: right;
  }
  
  /* Reset dropdown positioning for mobile */
  .nav-dropdown {
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  
  .nav-dropdown-content {
    text-align: center;
  }
  
  .nav-dropdown-country {
    flex-direction: row;
    justify-content: center;
  }
  
  .nav-dropdown-projects {
    text-align: center;
  }
  
  .nav-dropdown-link {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .chapters-nav {
    display: none;
  }
  
  .back-to-top {
    left: 20px;
    right: auto;
  }
  
  .footer-grid {
    text-align: center;
  }
}

/* ==============================================
   DIVISIONS SECTION ALIGNMENT
   ============================================== */

/* Align section title with division cards below */
@media (min-width: 1024px) {
  .divisions .section-title {
    grid-column-start: 7 !important;
    grid-column-end: 21 !important;
  }

  .divisions .section-index {
    grid-column-start: 7 !important;
  }

  .divisions-intro {
    grid-column-start: 12 !important;
    grid-column-end: 20 !important;
  }
}

/* ==============================================
   MOBILE HERO TITLE FIXES - Prevent cropping
   ============================================== */

@media (max-width: 768px) {
  .hero-title,
  .hero-titles-container .hero-title.rotating-title {
    font-size: clamp(2rem, 10vw, 3rem);
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
    text-wrap: balance;
    padding: 0 1rem;
    line-height: 1.2;
  }

  .hero-titles-container {
    min-height: auto;
    height: auto;
    padding: 0 0.5rem;
  }

  .hero-titles-container .hero-title.rotating-title {
    position: relative;
    display: none;
  }

  .hero-titles-container .hero-title.rotating-title.active {
    display: block;
  }

  /* Lang-switch mobile behavior - hidden by default, shown when menu opens */
  .lang-switch {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3rem;
    top: auto;
    right: auto;
    z-index: 1010;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s var(--ease-smooth), visibility 0.3s var(--ease-smooth);
  }

  /* Show lang-switch when menu is open */
  .nav-links.active ~ .lang-switch,
  body.menu-open .lang-switch {
    opacity: 1;
    visibility: visible;
  }

  .lang-switch a {
    font-size: 1rem;
    padding: 10px 20px;
    color: var(--text-light);
  }
}

@media (max-width: 480px) {
  .hero-title,
  .hero-titles-container .hero-title.rotating-title {
    font-size: clamp(1.75rem, 9vw, 2.5rem);
    line-height: 1.25;
  }
}