
:root{
  --bg:#0f1d3a;
  --bg-2:#13264b;
  --text:#0f1320;
  --muted:#6b7280;
  --brand:#1f3f73;
  --brand-2:#0d2a52;
  --accent:#1a56db;
  --white:#ffffff;
  --card:#d0d6e0;
  --gradient-primary:linear-gradient(135deg, #1a56db 0%, #3b82f6 100%);
  --gradient-secondary:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --shadow-soft:0 4px 20px rgba(0,0,0,0.08);
  --shadow-medium:0 8px 30px rgba(0,0,0,0.12);
  --shadow-strong:0 20px 60px rgba(0,0,0,0.15);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);line-height:1.6}

.container{max-width:1100px;margin:0 auto;padding:0 18px}

/* Premium Header */
.site-header{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(20px);border-bottom:1px solid rgba(229,231,235,0.3);z-index:1000;transition:all 0.3s ease}
.site-header.scrolled{background:rgba(255,255,255,0.98);box-shadow:var(--shadow-soft)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:80px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-weight:700}
.logo{height:50px;width:auto;transition:transform 0.3s ease}
.logo.sm{height:40px}
.brand-text{text-transform:uppercase;letter-spacing:.06em;font-size:1.1em}

.nav{display:flex;gap:18px;align-items:center}
.nav a{text-decoration:none;color:var(--text);font-weight:600;padding:8px 10px;border-radius:8px}
.nav a:hover{background:#f2f4f8}

/* Dropdown Menu */
.dropdown{position:relative}
/* .dropdown-toggle{position:relative;padding-right:20px} */
/* .dropdown-toggle::after{content:"▼";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;transition:transform 0.2s} */
.dropdown:hover .dropdown-toggle::after{transform:translateY(-50%) rotate(180deg)}
.dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all 0.2s;z-index:100}
.dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:10px 16px;border-bottom:1px solid #f3f4f6;color:var(--text);font-weight:500}
.dropdown-menu a:last-child{border-bottom:none}
.dropdown-menu a:hover{background:#f8fafc;color:var(--accent)}

.menu-toggle{display:none;background:none;border:0;padding:8px;gap:4px;flex-direction:column}
.menu-toggle span{display:block;width:24px;height:2px;background:#111;border-radius:2px}

/* Cinematic Hero Section */
.cinematic-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, #0c1c39 0%, #1a2b5c 50%, #2d3748 100%);z-index:1}
.particle-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2}
.particle{position:absolute;width:4px;height:4px;background:rgba(59,130,246,0.6);border-radius:50%;box-shadow:0 0 10px rgba(59,130,246,0.8)}
.particle:nth-child(1){top:20%;left:10%;animation-delay:0s}
.particle:nth-child(2){top:40%;left:80%;animation-delay:0.5s}
.particle:nth-child(3){top:60%;left:20%;animation-delay:1s}
.particle:nth-child(4){top:80%;left:70%;animation-delay:1.5s}
.particle:nth-child(5){top:30%;left:50%;animation-delay:2s}
.particle:nth-child(6){top:70%;left:30%;animation-delay:2.5s}
.particle:nth-child(7){top:10%;left:60%;animation-delay:3s}
.particle:nth-child(8){top:50%;left:90%;animation-delay:3.5s}
.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(12,28,57,0.7) 0%, rgba(26,43,92,0.5) 50%, rgba(45,55,72,0.6) 100%);z-index:3}
.hero-content{position:relative;z-index:4;text-align:center;color:#fff;padding:120px 0 80px}
.logo-fade-in{margin-bottom:40px}
.hero-logo{height:80px;width:auto;filter:drop-shadow(0 4px 20px rgba(0,0,0,0.3))}
/* .hero-headline{font-size:clamp(32px,6vw,64px);font-weight:800;line-height:1.1;margin:0 0 20px;background:linear-gradient(135deg, #fff 0%, #e2e8f0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text} */
.hero-subhead{font-size:clamp(18px,3vw,28px);font-weight:600;margin:0 0 16px;opacity:0.9;letter-spacing:0.5px}
.hero-description{max-width:600px;margin:0 auto 40px;font-size:clamp(16px,2vw,20px);opacity:0.8;line-height:1.6 ; text-align: center !important;}
.kpi-section{margin:60px 0}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:800px;margin:0 auto}
.kpi-item{text-align:center}
.kpi-number{font-size:clamp(32px,4vw,48px);font-weight:800;color:#3b82f6;margin-bottom:8px;text-shadow:0 2px 10px rgba(59,130,246,0.3)}
.kpi-text{font-size:clamp(32px,4vw,48px);font-weight:800;color:#3b82f6;margin-bottom:8px;text-shadow:0 2px 10px rgba(59,130,246,0.3)}

.kpi-label{font-size:14px;font-weight:600;opacity:0.8;text-transform:uppercase;letter-spacing:1px}
.hero-cta{margin-top:60px}
.btn{display:inline-block;padding:16px 32px;border-radius:12px;text-decoration:none;font-weight:600;font-size:16px;transition:all 0.3s ease;border:2px solid transparent}
.btn.primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-medium)}
.btn.primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-strong)}
.btn.secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,0.3);backdrop-filter:blur(10px)}
.btn.secondary:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.5)}
.btn + .btn{margin-left:16px}
.shimmer-btn{position:relative;overflow:hidden}
.shimmer-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);transition:left 0.6s ease}
.shimmer-btn:hover::before{left:100%}
.scroll-indicator{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);z-index:4}
.scroll-arrow{width:24px;height:24px;border:2px solid rgba(255,255,255,0.6);border-top:none;border-right:none;transform:rotate(-45deg);margin:0 auto}

/* Services Teaser Grid */
.services-teaser{padding:100px 0;background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:32px;margin:60px 0}
.service-card{background:var(--card);border:1px solid #e5e7eb;border-radius:20px;padding:40px 32px;text-align:center;transition:all 0.4s ease;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:0;transition:opacity 0.3s ease;z-index:1}
.service-card:hover::before{opacity:0.05}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-strong);border-color:rgba(59,130,246,0.2)}
.service-icon{width:80px;height:80px;margin:0 auto 24px;background:var(--gradient-primary);border-radius:20px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.service-icon svg{width:40px;height:40px;color:#fff}
.shimmer-icon{background:linear-gradient(90deg, var(--gradient-primary) 0%, #8b5cf6 50%, var(--gradient-primary) 100%);background-size:200% 100%;animation:shimmer 3s infinite}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.service-card h3{margin:0 0 16px;font-size:1.4em;font-weight:700;color:var(--brand);position:relative;z-index:2}
.service-card p{margin:0;color:#6b7280;line-height:1.6;position:relative;z-index:2}

/* Trust Bar */
.trust-bar{background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);padding:60px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}
.trust-content{display:flex;align-items:center;justify-content:space-between;gap:40px}
.iso-badges{display:flex;gap:32px}
.iso-badge{text-align:center;padding:24px;background:#fff;border-radius:16px;box-shadow:var(--shadow-soft);transition:all 0.3s ease;border:2px solid transparent}
.iso-badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium);border-color:rgba(59,130,246,0.2)}
.badge-icon{font-size:24px;font-weight:800;color:var(--accent);margin-bottom:8px}
.badge-text{font-size:14px;font-weight:600;color:var(--text)}
.trust-text{flex:1;text-align:center}
.trust-text p{margin:0;font-size:18px;font-weight:600;color:var(--text);opacity:0.8}

/* Process Section */
.process-section{padding:100px 0;background:#fff}
.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin:60px 0;position:relative}
.process-step{text-align:center;position:relative}
.process-step::after{content:'';position:absolute;top:40px;right:-30px;width:60px;height:2px;background:linear-gradient(90deg, var(--accent), transparent);z-index:1}
.process-step:last-child::after{display:none}
.step-number{font-size:48px;font-weight:800;color:var(--accent);margin-bottom:16px;opacity:0.1;position:relative}
.step-number::before{content:attr(data-step);position:absolute;top:0;left:0;right:0;bottom:0;font-size:48px;font-weight:800;color:var(--accent);opacity:1}
.step-content{margin-bottom:24px}
.step-content h3{font-size:1.5em;font-weight:700;color:var(--brand);margin:0 0 12px}
.step-content p{margin:0;color:#6b7280;line-height:1.6}
.step-icon{width:60px;height:60px;margin:0 auto;background:var(--gradient-primary);border-radius:16px;display:flex;align-items:center;justify-content:center}
.step-icon svg{width:30px;height:30px;color:#fff}

/* Map Section */
.map-section{padding:100px 0;background:linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%)}
.map-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.map-text h2{font-size:2.5em;font-weight:800;color:var(--brand);margin:0 0 20px}
.map-text p{font-size:1.1em;color:#6b7280;line-height:1.6;margin:0 0 32px}
.location-details{margin:32px 0}
.location-item{margin:12px 0;font-size:16px;color:var(--text)}
.location-item strong{color:var(--brand);font-weight:600}
.map-cta{margin-top:32px}
.map-container{position:relative;height:400px;background:#fff;border-radius:20px;box-shadow:var(--shadow-medium);overflow:hidden}
.map-placeholder{width:100%;height:100%;background:linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 100%);display:flex;align-items:center;justify-content:center;position:relative}
.pulsing-pin{position:relative;width:60px;height:60px}
.pin-ripple{position:absolute;top:50%;left:50%;width:20px;height:20px;background:rgba(59,130,246,0.6);border-radius:50%;transform:translate(-50%, -50%);animation:pulse 2s infinite}
.pin-icon{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);font-size:24px;z-index:2}
@keyframes pulse{0%{transform:translate(-50%, -50%) scale(1);opacity:1}100%{transform:translate(-50%, -50%) scale(3);opacity:0}}
.map-text-overlay{position:absolute;bottom:20px;left:20px;background:rgba(255,255,255,0.9);padding:12px 20px;border-radius:12px;font-weight:600;color:var(--brand);backdrop-filter:blur(10px)}

/* Back to Top Button */
.back-to-top{position:fixed;bottom:40px;right:40px;width:56px;height:56px;background:var(--gradient-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:0;transform:scale(0);transition:all 0.3s ease;z-index:1000;box-shadow:var(--shadow-medium);
 display:grid;           /* جديد */
  place-items:center;     /* جديد */
  line-height:0;          /* يمنع أي فراغ داخلي */
}
.back-to-top:hover{transform:scale(1.1);box-shadow:var(--shadow-strong)}
.back-to-top svg{width:24px;height:24px;display:block;}


/* Section Headers */
.section-head{text-align:center;margin:60px 0 40px}
.section-head h2{font-size:clamp(28px,4vw,42px);font-weight:800;color:var(--brand);margin:0 0 16px}
.section-head p{font-size:1.1em;color:#6b7280;margin:0;max-width:600px;margin:0 auto}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(135deg, rgba(17,25,43,.7), rgba(12,27,64,.55))}
.hero-inner{position:relative;padding:64px 0;color:#fff}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 8px}
.hero-subtitle{font-size:clamp(18px,3vw,24px);font-weight:600;margin:0 0 6px;opacity:.95}
.hero-description{font-size:clamp(16px,2.5vw,20px);font-weight:500;margin:0 0 8px;opacity:.9; text-align: center !important;}
.hero-detail{max-width:700px;opacity:.85;margin:0 0 20px;line-height:1.5}
.btn{display:inline-block;border:1px solid #fff;color:#fff;padding:10px 16px;border-radius:12px;text-decoration:none;font-weight:600}
.btn.primary{background:#1a56db;border-color:#1a56db}
.btn + .btn{margin-left:8px}

.section-head{text-align:center;margin:48px 0 20px}
.section-head h2{font-size:clamp(22px,3.5vw,32px);margin:0}
.section-head p{color:var(--muted);margin:8px 0 0}

.card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card{background:var(--card);border:1px solid #e5e7eb;border-radius:16px;padding:18px}
.card h3{margin:0 0 6px}
.card p{margin:0;color:#374151}

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;margin:36px auto}
.split img{width:100%;height:auto;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.07)}

.cta-band{background:linear-gradient(90deg,var(--bg),var(--bg-2));color:#fff;margin:56px 0 0}
.band-inner{display:flex;align-items:center;justify-content:space-between;padding:24px 0}
.band-inner .btn{border-color:#fff}

.page-hero.small{background:linear-gradient(120deg,var(--bg),var(--bg-2));color:#fff;padding:36px 0;margin-bottom:18px}
.page-hero.small h1{margin:0}
.prose h2{margin-top:20px}
.prose h3{margin-top:16px;color:var(--brand);font-size:1.1em}
.intro-section{background:#f8fafc;border-left:4px solid var(--accent);padding:16px 20px;margin:20px 0;border-radius:0 8px 8px 0}
.service-card{background:var(--card);border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin:16px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.service-card h3{margin:0 0 8px;color:var(--brand);font-size:1.1em}
.service-card p{margin:0;line-height:1.6}
.why-choose-us{background:linear-gradient(135deg,#f0f4ff,#e8f2ff);border:1px solid #c7d2fe;border-radius:12px;padding:24px;margin:24px 0;text-align:center}
.why-choose-us h2{margin:0 0 12px;color:var(--brand)}
.why-choose-us p{margin:0;font-size:1.05em;line-height:1.6}
.table-wrap{overflow:auto}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}
th,td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}
th{background:#f3f6fb}

.check{list-style:none;padding:0;margin:14px 0 0}
.check li{margin:6px 0;padding-left:28px;position:relative}
.check li::before{content:"✔";position:absolute;left:0;top:0;color:#1a56db}

.site-footer{background:#0e1a33;color:#dbe4ff;margin-top:48px}
.site-footer a{color:#cfe0ff;text-decoration:none}
.site-footer .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;padding:28px 0}
.site-footer .small.print{padding:14px 0;color:#9fb3ff}

/* Social Links */
.social-links{display:flex;gap:12px}
.social-link{display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.1);border-radius:8px;transition:all 0.2s;text-decoration:none;color:#cfe0ff}
.social-link:hover{background:rgba(255,255,255,.2);color:#fff;transform:translateY(-1px)}
.social-link svg{flex-shrink:0}

/* Contact Page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:32px 0}
.contact-item{margin:24px 0}
.contact-item h3{margin:0 0 8px;color:var(--brand)}
.contact-form{background:var(--card);padding:32px;border-radius:16px;border:1px solid #e5e7eb}
.form-group{margin:20px 0}
.form-group label{display:block;margin:0 0 6px;font-weight:600;color:var(--text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:border-color 0.2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}
.form-group textarea{resize:vertical;min-height:120px}

/* Image Gallery */
.gallery-section{background:#f8fafc;padding:60px 0;margin:40px 0}
.image-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,200px);gap:16px;margin:32px 0}
.gallery-item{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.1);transition:transform 0.3s,box-shadow 0.3s}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.15)}
.gallery-item.large{grid-column:span 2;grid-row:span 2}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;padding:24px;transform:translateY(100%);transition:transform 0.3s}
.gallery-item:hover .gallery-overlay{transform:translateY(0)}
.gallery-overlay h3{margin:0 0 8px;font-size:1.2em;font-weight:600}
.gallery-overlay p{margin:0;opacity:.9;font-size:.9em;line-height:1.4}

/* About Page Layout */
.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:32px 0}
.about-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.1)}

/* Services Page Layout */
.services-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin:32px 0}
.services-image img{width:100%;height:auto;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.1)}

.muted{color:#9ca3af}

/* Responsive Design */
@media (max-width: 1200px){
  .kpi-grid{grid-template-columns:repeat(2,1fr);gap:32px}
  .process-steps{gap:40px}
  .map-content{gap:40px}
  .facts-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .certifications-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .leadership-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .qhse-grid{grid-template-columns:repeat(2,1fr);gap:24px}
}

@media (max-width: 980px){
  .header-inner{height:70px}
  .hero-content{padding:100px 0 60px}
  .kpi-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .services-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  .trust-content{flex-direction:column;gap:32px;text-align:center}
  .iso-badges{justify-content:center}
  .process-steps{grid-template-columns:1fr;gap:40px}
  .process-step::after{display:none}
  .map-content{grid-template-columns:1fr;gap:40px}
  .map-container{height:300px}
  .contact-grid{grid-template-columns:1fr;gap:24px}
  .about-intro{grid-template-columns:1fr;gap:24px}
  .services-intro{grid-template-columns:1fr;gap:24px}
  .image-gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(4,180px)}
  .gallery-item.large{grid-column:span 2;grid-row:span 1}
  .nav{display:none;position:absolute;right:12px;top:70px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px;flex-direction:column;min-width:200px;box-shadow:0 8px 24px rgba(0,0,0,.08)}
  .nav.show{display:flex}
  .dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;margin-left:16px}
  .dropdown-menu a{padding:6px 0;border-bottom:none}
  .menu-toggle{display:flex}
  .back-to-top{bottom:20px;right:20px;width:48px;height:48px}
}


.submenu-toggle{ display:none; }
@media (max-width: 980px){
  .dropdown-header{ display:flex; align-items:center; justify-content:center; gap:8px; }
  .submenu-toggle{
    display:inline-flex;            /* show only on mobile */
    background:none; border:0; font-size:14px; line-height:1; cursor:pointer;
    transform:translateY(1px);
  }
  /* .dropdown-toggle::after{ display:none !important; } اخفاء السهم القديم بالموبايل */
}
/* Desktop-only adjust for Services chevron */
@media (min-width: 981px){
  /* .dropdown-toggle{ padding-right: 28px; } كانت 20px */
  /* .dropdown-toggle::after{ right: 4px; }   كانت 8px → صار أقرب لليمين */
}
/* === Certifications Flip (Desktop) === */
.cert-card{
  position: relative;
  border-radius: 18px;
  overflow: hidden;             /* حتى لا تختفي الواجهة أثناء القلب */
  perspective: 1200px;          /* أساس الـ 3D */
  will-change: transform;
}

.cert-card-inner{
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform .6s ease;
}

.cert-card-face{
  position: absolute;
  inset: 0;
  backface-visibility: hidden;  /* مهم لتجنّب الاختفاء */
  -webkit-backface-visibility: hidden;
  border-radius: inherit;
}

/* الواجهة الأمامية: محتوى النص */
.cert-card-face.front{
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* الواجهة الخلفية: صورة الشهادة */
.cert-card-face.back{
  transform: rotateY(180deg);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.cert-card-face.back img{
  max-width: 100%;
  max-height: 78vh;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0,0,0,.2);
}

/* قلب الكارد على الديسكتوب فقط */
@media (min-width: 981px){
  .cert-card:hover .cert-card-inner{ transform: rotateY(180deg); }
}

/* ارتفاع مبدئي موحّد لمنع قفزة أثناء القلب */
.cert-card, .cert-card-face{ min-height: 320px; }

@media (max-width: 768px){
  .hero-content{padding:80px 0 40px}
  .hero-headline{font-size:clamp(24px,8vw,40px)}
  .hero-subhead{font-size:clamp(16px,4vw,20px)}
  .kpi-grid{grid-template-columns:1fr;gap:20px}
  .kpi-number{font-size:clamp(24px,6vw,36px)}
    .kpi-text{font-size:clamp(24px,6vw,36px)}
  .services-grid{grid-template-columns:1fr;gap:20px}
  .service-card{padding:32px 24px}
  .service-icon{width:60px;height:60px}
  .service-icon svg{width:30px;height:30px}
  .iso-badges{flex-direction:column;gap:16px}
  .process-steps{gap:32px}
  .step-number{font-size:36px}
  .map-container{height:250px}
  .section-head{margin:40px 0 24px}
  .section-head h2{font-size:clamp(24px,6vw,32px)}
}

@media (max-width: 560px){
  .hero-content{padding:60px 0 30px}
  .hero-logo{height:60px}
  .btn{padding:12px 24px;font-size:14px}
  .btn + .btn{margin-left:12px}
  .service-card{padding:24px 20px}
  .service-icon{width:50px;height:50px;margin-bottom:16px}
  .service-icon svg{width:24px;height:24px}
  .trust-bar{padding:40px 0}
  .process-section{padding:60px 0}
  .map-section{padding:60px 0}
  .map-container{height:200px}
  .back-to-top{bottom:16px;right:16px;width:44px;height:44px}
  .back-to-top svg{width:20px;height:20px}
  .image-gallery{grid-template-columns:1fr;grid-template-rows:repeat(5,200px)}
  .gallery-item.large{grid-column:span 1;grid-row:span 1}
  .gallery-overlay{transform:translateY(0);background:rgba(0,0,0,.7)}
  .social-links{flex-direction:column;gap:8px}
}



/* ==== Fix: Prevent horizontal scroll & constrain mobile nav ==== */
html, body {
  overflow-x: hidden; /* stop right-drag whitespace */
  width: 100%;
}

img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

/* Ensure common wrappers never exceed viewport width */
.container, .site-header, .header-inner, .cinematic-hero, .hero-content {
  max-width: 100%;
  overflow-x: clip;
}

@media (max-width: 980px){
  /* Constrain dropdown nav panel within viewport */
  .site-header .nav{
    left: 12px;
    right: 12px;
    width: auto;
    max-width: calc(100% - 24px);
  }
  /* Remove extra lateral offset inside nav */
  .site-header .dropdown-menu{
    margin-left: 0;
  }
}


/* ==== Mobile nav submenu behavior ==== */
@media (max-width: 980px){
  .dropdown-header{
    display:flex;
    align-items:center;
    justify-content:center; /* center like Home, About */
    gap: 8px;
    padding: 8px 0;
  }
  .submenu-toggle{
    background:none;
    border:0;
    font-size: 14px;
    line-height: 1;
    cursor:pointer;
    transform: translateY(1px);
  }
  /* hide submenu by default */
  .site-header .dropdown-menu{
    display: none;
    margin-left: 0;
  }
  .site-header .dropdown.open .dropdown-menu{
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
}

/* ==== Certifications: single column on phones ==== */
@media (max-width: 767px){
  .certifications-grid{
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 14px;
  }
}


@media (max-width: 980px){
  /* .dropdown-toggle::after{ display:none !important; } */
}


/* overlay thumbnail inside gallery overlay */
.gallery-overlay .overlay-thumb{
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 12px;
  margin-bottom: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
}
@media (max-width: 767px){
  .gallery-overlay .overlay-thumb{ width:48px;height:48px; }
}


/* === Assistant Fix: Certifications Flip & Visibility === */
.certifications-grid{ overflow: visible; }

.cert-card{
  position: relative;
  border-radius: 18px;
  perspective: 1200px;
  z-index: 0;
}
.cert-card:hover{ z-index: 5; }

/* Cancel any previous hover transforms on the card itself */
.cert-card:hover{ transform: none !important; }

.cert-card-inner{
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transform-origin: center;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}
@media (min-width: 981px){
  .cert-card:hover .cert-card-inner{ transform: rotateY(180deg) !important; }
}

.cert-card-face{
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: inherit;
}
.cert-card-face.front{ transform: rotateY(0); z-index: 2; }
.cert-card-face.back{
  transform: rotateY(180deg);
  background:#fff;
  display:flex; align-items:center; justify-content:center;
  padding:16px;
}
.cert-card-face.back img{
  max-width: 100%;
  max-height: 78vh;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
}

/* Stable height to avoid layout shift */
.cert-card, .cert-card-face{ min-height: 320px; }

/* On mobile: no flip (lightbox handles it) */
@media (max-width: 980px){
  .cert-card:hover .cert-card-inner{ transform:none !important; }
}
/* Service card: text left + square image right (non-breaking) */
.service-card--split{
  display: grid;
  grid-template-columns: 1fr 168px; /* النص 1fr + صورة مربعة ثابتة */
  align-items: center;
  gap: 18px;
  text-align: left; /* لأن service-card أصلاً مركزية أحياناً */
}
.service-card--split .sc-text{ min-width: 0; } /* لمنع تمدد مفرط */
.service-card--split .sc-image{
  justify-self: end; 
}
.service-card--split .sc-image img{
  width: 168px;
  aspect-ratio: 1 / 1;      /* مربّع دائماً */
  object-fit: cover;         /* قص ذكي للصورة */
  border-radius: 12px;       /* ينسجم مع كروّات الكارد */
  display: block;
}

/* موبايل: نخليها صف واحد بدون ما نخرب الشكل */
@media (max-width: 560px){
  .service-card--split{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .service-card--split .sc-image{
    justify-self: start;      /* بتطلع يمين/يسار حسب اتجاه الصفحة */
  }
  .service-card--split .sc-image img{
    width: 140px;             /* أصغر شوي على الموبايل */
  }
}
