/*
 * Al Rajhi Corp — assets/css/main.css
 * Main stylesheet for the WordPress theme
 */

/* ══════════════════════════════
   CSS VARIABLES
══════════════════════════════ */
:root {
  --gold: #C9A02A;
  --gold-light: #E8C04A;
  --gold-dim: rgba(201,160,42,0.15);
  --navy: #06091A;
  --navy-mid: #0D1630;
  --navy-light: #152040;
  --white: #FFFFFF;
  --off-white: #F5F3EE;
  --text-muted: rgba(255,255,255,0.55);
  --text-body: rgba(255,255,255,0.82);
  --border: rgba(201,160,42,0.2);
}

/* ══════════════════════════════
   RESET & BASE
══════════════════════════════ */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family:'Cairo',sans-serif;
  background:var(--navy);
  color:var(--white);
  overflow-x:hidden;
  direction:rtl;
}

/* WordPress body classes override */
body.alrajhi-theme { background:var(--navy); }

/* Scrollbar */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--navy); }
::-webkit-scrollbar-thumb { background:var(--gold); border-radius:2px; }

/* Noise overlay */
body::before {
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:0; opacity:0.4;
}

/* ══════════════════════════════
   UTILITIES
══════════════════════════════ */
.container { max-width:1200px; margin:0 auto; padding:0 40px; }
.gold { color:var(--gold); }

.tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase;
  color:var(--gold); margin-bottom:16px;
}
.tag::before { content:''; width:24px; height:1px; background:var(--gold); }

.section-title { font-size:clamp(28px,4vw,44px); font-weight:700; line-height:1.2; margin-bottom:12px; }
.section-sub { font-size:15px; color:var(--text-muted); line-height:1.8; max-width:520px; }

.gold-divider {
  height:1px;
  background:linear-gradient(to right, transparent, var(--gold), transparent);
  opacity:0.3;
}

/* ══════════════════════════════
   BUTTONS
══════════════════════════════ */
.btn-primary {
  background:var(--gold); color:var(--navy);
  font-family:'Cairo',sans-serif; font-size:14px; font-weight:700;
  padding:14px 30px; border-radius:5px; border:none; cursor:pointer;
  transition:all 0.3s; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
}
.btn-primary:hover {
  background:var(--gold-light); transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(201,160,42,0.3); color:var(--navy);
}
.btn-secondary {
  color:var(--white); font-family:'Cairo',sans-serif; font-size:14px; font-weight:500;
  padding:14px 30px; border-radius:5px; border:1px solid rgba(255,255,255,0.2);
  cursor:pointer; transition:all 0.3s; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px; background:transparent;
}
.btn-secondary:hover {
  border-color:var(--gold); color:var(--gold);
  background:rgba(201,160,42,0.05);
}

/* ══════════════════════════════
   NAVBAR
══════════════════════════════ */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between;
  transition:all 0.4s ease;
}
nav.scrolled {
  background:rgba(6,9,26,0.96);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:12px 40px;
}
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.logo-svg-wrap { width:46px; height:46px; flex-shrink:0; }
.nav-logo-text { display:flex; flex-direction:column; }
.nav-logo-ar { font-size:16px; font-weight:700; color:var(--white); line-height:1.1; }
.nav-logo-en { font-size:10px; color:var(--gold); letter-spacing:3px; font-weight:500; }

/* WordPress custom-logo reset */
.nav-logo .custom-logo-link { display:flex; align-items:center; }
.nav-logo .custom-logo { width:46px; height:46px; object-fit:contain; }

.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a {
  font-size:13px; color:var(--text-body); text-decoration:none;
  transition:color 0.3s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0;
  height:1px; background:var(--gold);
  transform:scaleX(0); transition:transform 0.3s; transform-origin:right;
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { transform:scaleX(1); }

/* WordPress menu items */
.nav-links .menu-item a { font-size:13px; color:var(--text-body); text-decoration:none; }
.nav-links .menu-item a:hover { color:var(--white); }

.nav-btn {
  background:var(--gold); color:var(--navy) !important;
  font-family:'Cairo',sans-serif; font-size:13px; font-weight:700;
  padding:9px 22px; border-radius:4px; border:none; cursor:pointer;
  transition:all 0.3s; text-decoration:none;
}
.nav-btn:hover { background:var(--gold-light); transform:translateY(-1px); }

.lang-toggle {
  font-size:11px; font-weight:600; letter-spacing:1px;
  color:var(--text-muted); border:1px solid rgba(255,255,255,0.15);
  padding:4px 10px; border-radius:3px; cursor:pointer; transition:all 0.3s;
  background:transparent; font-family:'Cairo',sans-serif;
}
.lang-toggle:hover { border-color:var(--gold); color:var(--gold); }

/* Mobile menu */
.menu-btn {
  display:none; background:none; border:none; cursor:pointer; padding:4px;
}
.menu-btn span {
  display:block; width:22px; height:1.5px;
  background:var(--white); margin:5px 0; transition:all 0.3s;
}
.menu-btn.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.menu-btn.active span:nth-child(2) { opacity:0; }
.menu-btn.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

.mobile-menu {
  display:none; position:absolute; top:100%; left:0; right:0;
  background:rgba(6,9,26,0.98); border-bottom:1px solid var(--border);
  padding:20px 40px; flex-direction:column; gap:16px;
}
.mobile-menu.open { display:flex; }
.mobile-menu a, .mobile-menu .menu-item a {
  font-size:15px; color:var(--text-body); text-decoration:none; padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.mobile-menu-links { list-style:none; padding:0; margin:0; }
.mobile-menu-links .menu-item { border-bottom:1px solid rgba(255,255,255,0.06); }
.mobile-menu-links .menu-item a { display:block; padding:10px 0; font-size:15px; color:var(--text-body); text-decoration:none; }

/* ══════════════════════════════
   HERO
══════════════════════════════ */
.hero {
  min-height:100vh; display:flex; align-items:center;
  position:relative; overflow:hidden; padding-top:90px;
}
.hero-bg {
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 70% 60% at 20% 50%, rgba(13,34,85,0.7) 0%, transparent 70%),
    radial-gradient(ellipse 50% 80% at 90% 20%, rgba(201,160,42,0.06) 0%, transparent 60%),
    var(--navy);
}
.hero-grid {
  position:absolute; inset:0; z-index:1;
  background-image:
    linear-gradient(rgba(201,160,42,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(201,160,42,0.04) 1px, transparent 1px);
  background-size:60px 60px;
  -webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent);
  mask-image:radial-gradient(ellipse 80% 80% at 50% 50%, black, transparent);
}
.hero-glow {
  position:absolute; right:-200px; top:50%; transform:translateY(-60%);
  width:700px; height:700px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,160,42,0.07) 0%, transparent 65%);
  z-index:1; animation:pulse 6s ease-in-out infinite;
}
.hero-ring {
  position:absolute; right:-80px; top:50%; transform:translateY(-50%);
  width:520px; height:520px; border-radius:50%;
  border:1px solid rgba(201,160,42,0.08); z-index:1;
  animation:spin 40s linear infinite;
}
.hero-ring::before {
  content:''; position:absolute; inset:60px; border-radius:50%;
  border:1px solid rgba(201,160,42,0.12);
}
.hero-ring::after {
  content:''; position:absolute; inset:120px; border-radius:50%;
  border:1px solid rgba(201,160,42,0.18);
}
.hero-content { position:relative; z-index:2; max-width:640px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(201,160,42,0.1); border:1px solid rgba(201,160,42,0.3);
  color:var(--gold); font-size:11px; font-weight:600; letter-spacing:1px;
  padding:6px 16px; border-radius:30px; margin-bottom:28px;
  animation:fadeInDown 0.8s ease forwards;
}
.hero-badge-dot {
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  animation:blink 2s ease-in-out infinite;
}
.hero-title {
  font-size:clamp(36px,5.5vw,68px); font-weight:900; line-height:1.1;
  margin-bottom:24px; animation:fadeInUp 0.9s ease 0.1s both;
}
.hero-title em {
  font-style:normal; color:transparent;
  -webkit-text-stroke:1.5px var(--gold);
}
.hero-desc {
  font-size:16px; color:var(--text-body); line-height:1.9;
  margin-bottom:40px; animation:fadeInUp 0.9s ease 0.2s both;
}
.hero-actions {
  display:flex; gap:16px; align-items:center; flex-wrap:wrap;
  animation:fadeInUp 0.9s ease 0.3s both;
}

/* Scroll hint */
.scroll-hint {
  position:absolute; bottom:100px; left:50%; transform:translateX(-50%);
  z-index:2; display:flex; flex-direction:column; align-items:center; gap:8px;
  animation:fadeIn 1s ease 1s both;
}
.scroll-hint span {
  font-size:10px; letter-spacing:3px; color:var(--text-muted); text-transform:uppercase;
}
.scroll-line {
  width:1px; height:50px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  animation:scrollDown 2s ease-in-out infinite;
}

/* Stats bar */
.hero-stats {
  position:absolute; bottom:0; left:0; right:0; z-index:2;
  background:var(--gold);
  display:flex; justify-content:space-around; align-items:center;
  padding:20px 40px;
  animation:fadeInUp 0.9s ease 0.5s both;
}
.hstat { text-align:center; }
.hstat-num { font-size:26px; font-weight:900; color:var(--navy); line-height:1; }
.hstat-lbl { font-size:10px; font-weight:600; color:rgba(6,9,26,0.65); margin-top:3px; letter-spacing:1px; }
.hstat-div { width:1px; height:40px; background:rgba(6,9,26,0.2); }

/* ══════════════════════════════
   SERVICES
══════════════════════════════ */
.services { padding:120px 0; position:relative; z-index:1; }
.services-header { text-align:center; margin-bottom:70px; }
.services-header .section-sub { margin:0 auto; }

.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:60px;
}
.svc {
  background:var(--navy-mid); border:1px solid rgba(255,255,255,0.05);
  padding:48px 36px; position:relative; overflow:hidden;
  transition:all 0.4s ease; cursor:default;
}
.svc::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--gold-dim), transparent);
  opacity:0; transition:opacity 0.4s;
}
.svc:hover::before { opacity:1; }
.svc:hover { border-color:var(--border); transform:translateY(-4px); }

.svc-number { font-size:11px; font-weight:700; letter-spacing:3px; color:var(--gold); margin-bottom:28px; opacity:0.7; }
.svc-icon-wrap {
  width:60px; height:60px; margin-bottom:24px;
  border:1px solid var(--border); border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(201,160,42,0.05); transition:all 0.3s;
}
.svc-icon-wrap svg { width:28px; height:28px; }
.svc:hover .svc-icon-wrap { background:var(--gold-dim); border-color:var(--gold); }

.svc-title { font-size:20px; font-weight:700; margin-bottom:14px; }
.svc-desc { font-size:14px; color:var(--text-muted); line-height:1.8; margin-bottom:24px; }
.svc-link {
  font-size:12px; font-weight:600; color:var(--gold); letter-spacing:1px;
  display:flex; align-items:center; gap:6px; transition:gap 0.3s;
}
.svc:hover .svc-link { gap:12px; }
.svc-accent {
  position:absolute; bottom:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transition:transform 0.4s; transform-origin:right;
}
.svc:hover .svc-accent { transform:scaleX(1); }

/* ══════════════════════════════
   ABOUT
══════════════════════════════ */
.about { padding:120px 0; background:var(--navy-mid); position:relative; z-index:1; }
.about-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }

.about-img-frame {
  width:100%; aspect-ratio:4/3;
  background:linear-gradient(135deg, var(--navy-light), var(--navy-mid));
  border-radius:4px; border:1px solid var(--border);
  overflow:hidden; position:relative; display:flex; align-items:center; justify-content:center;
}
.about-map-svg { width:90%; opacity:0.6; }

.about-visual { position:relative; }
.about-badge {
  position:absolute; bottom:-24px; right:-24px;
  background:var(--gold); padding:24px 28px; border-radius:4px; text-align:center;
}
.about-badge-num { font-size:36px; font-weight:900; color:var(--navy); line-height:1; }
.about-badge-lbl { font-size:11px; font-weight:700; color:rgba(6,9,26,0.7); }

.about-facts { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:36px; }
.fact {
  padding:20px; border:1px solid var(--border); border-radius:4px;
  background:rgba(201,160,42,0.03); transition:all 0.3s;
}
.fact:hover { border-color:var(--gold); background:var(--gold-dim); }
.fact-val { font-size:22px; font-weight:800; color:var(--gold); }
.fact-key { font-size:12px; color:var(--text-muted); margin-top:4px; }

/* ══════════════════════════════
   TRACKING
══════════════════════════════ */
.tracking {
  padding:100px 0; z-index:1; position:relative;
  background:linear-gradient(180deg, var(--navy-mid) 0%, var(--navy) 100%);
}
.tracking-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }

.tracking-form-wrap {
  background:var(--navy-light); border:1px solid var(--border);
  border-radius:8px; padding:40px;
}
.track-title { font-size:22px; font-weight:700; margin-bottom:8px; }
.track-sub { font-size:13px; color:var(--text-muted); margin-bottom:28px; }

.track-input-group { position:relative; margin-bottom:14px; }
.track-input {
  width:100%; padding:14px 18px;
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1);
  border-radius:4px; color:var(--white);
  font-family:'Cairo',sans-serif; font-size:14px; text-align:right;
  transition:border-color 0.3s; outline:none;
}
.track-input:focus { border-color:var(--gold); }
.track-input::placeholder { color:rgba(255,255,255,0.3); }
.track-input.error { border-color:#E24B4A; }

.track-btn-full {
  width:100%; padding:14px; background:var(--gold);
  border:none; border-radius:4px;
  font-family:'Cairo',sans-serif; font-size:15px; font-weight:700;
  color:var(--navy); cursor:pointer; transition:all 0.3s;
}
.track-btn-full:hover { background:var(--gold-light); }

.contact-quick-link {
  flex:1; text-align:center; padding:10px;
  border:1px solid var(--border); border-radius:4px;
  font-size:13px; color:var(--gold); text-decoration:none;
  transition:all 0.3s;
}
.contact-quick-link:hover { background:rgba(201,160,42,0.1); }

.track-features { display:flex; flex-direction:column; gap:20px; }
.track-feat { display:flex; align-items:flex-start; gap:16px; }
.feat-icon-box {
  width:48px; height:48px; flex-shrink:0;
  background:var(--gold-dim); border:1px solid var(--border);
  border-radius:8px; display:flex; align-items:center; justify-content:center;
}
.feat-icon-box svg { width:22px; height:22px; stroke:var(--gold); }
.feat-body h4 { font-size:15px; font-weight:600; margin-bottom:4px; }
.feat-body p { font-size:13px; color:var(--text-muted); line-height:1.6; }

/* ══════════════════════════════
   COMPANIES
══════════════════════════════ */
.companies { padding:100px 0; background:var(--navy-mid); z-index:1; position:relative; }
.companies-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:60px; }

.company-card {
  background:var(--navy); border:1px solid rgba(255,255,255,0.06);
  border-radius:4px; padding:36px; text-align:center;
  transition:all 0.4s; cursor:pointer; position:relative; overflow:hidden;
}
.company-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:2px; background:var(--gold);
  transform:scaleX(0); transition:transform 0.4s;
}
.company-card:hover::after { transform:scaleX(1); }
.company-card:hover { border-color:var(--border); transform:translateY(-6px); }

.company-logo-area {
  width:70px; height:70px; margin:0 auto 20px;
  border-radius:50%; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  background:var(--gold-dim); font-size:28px;
}
.company-name { font-size:18px; font-weight:700; margin-bottom:8px; }
.company-sub { font-size:12px; color:var(--text-muted); margin-bottom:16px; }
.company-link { font-size:11px; font-weight:600; color:var(--gold); letter-spacing:1px; text-transform:uppercase; }

/* ══════════════════════════════
   CLIENTS TICKER
══════════════════════════════ */
.clients { padding:80px 0; z-index:1; position:relative; }
.clients-label {
  text-align:center; font-size:11px; letter-spacing:3px;
  color:var(--text-muted); text-transform:uppercase; margin-bottom:40px;
}
.clients-ticker { overflow:hidden; position:relative; }
.clients-ticker::before,
.clients-ticker::after {
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2;
}
.clients-ticker::before { left:0; background:linear-gradient(to right, var(--navy), transparent); }
.clients-ticker::after  { right:0; background:linear-gradient(to left,  var(--navy), transparent); }

.clients-track {
  display:flex; gap:24px;
  animation:ticker 25s linear infinite;
  width:max-content;
}
.client-chip {
  background:var(--navy-mid); border:1px solid rgba(255,255,255,0.07);
  border-radius:4px; padding:14px 28px; white-space:nowrap;
  font-size:13px; font-weight:600; color:var(--text-muted);
  transition:all 0.3s; flex-shrink:0;
}
.client-chip:hover { border-color:var(--border); color:var(--gold); }

/* ══════════════════════════════
   CTA SECTION
══════════════════════════════ */
.cta-section {
  padding:100px 0; z-index:1; position:relative; text-align:center;
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 100%);
  border-top:1px solid var(--border);
}
.cta-section h2 { font-size:clamp(28px,4vw,48px); font-weight:800; margin-bottom:16px; }
.cta-section p { font-size:15px; color:var(--text-muted); max-width:480px; margin:0 auto 36px; line-height:1.8; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ══════════════════════════════
   CONTACT
══════════════════════════════ */
.contact { padding:120px 0; background:var(--navy-mid); z-index:1; position:relative; }
.contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; }

.contact-info h2 { font-size:36px; font-weight:800; margin-bottom:16px; line-height:1.3; }
.contact-info p { font-size:14px; color:var(--text-muted); line-height:1.9; margin-bottom:36px; }

.contact-cards { display:flex; flex-direction:column; gap:16px; }
.contact-card {
  display:flex; align-items:center; gap:16px;
  padding:18px 20px; border:1px solid var(--border);
  border-radius:4px; background:rgba(201,160,42,0.03);
  transition:all 0.3s; text-decoration:none; color:var(--white);
}
.contact-card:hover { background:var(--gold-dim); border-color:var(--gold); }
.contact-icon {
  width:42px; height:42px; border-radius:8px;
  background:var(--gold-dim); border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.contact-icon svg { width:18px; height:18px; stroke:var(--gold); }
.contact-card-body small {
  font-size:10px; color:var(--text-muted);
  letter-spacing:1px; display:block; margin-bottom:2px;
}
.contact-card-body span { font-size:14px; font-weight:600; }

/* Contact form */
.contact-form {
  background:var(--navy); border:1px solid var(--border);
  border-radius:8px; padding:40px;
}
.form-row { margin-bottom:18px; }
.form-label { display:block; font-size:12px; font-weight:600; color:var(--text-muted); margin-bottom:8px; letter-spacing:1px; }
.form-input,
.form-select,
.form-textarea {
  width:100%; padding:12px 16px;
  background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.1);
  border-radius:4px; color:var(--white);
  font-family:'Cairo',sans-serif; font-size:14px; text-align:right;
  transition:border-color 0.3s; outline:none; resize:none;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus { border-color:var(--gold); }
.form-input::placeholder,
.form-textarea::placeholder { color:rgba(255,255,255,0.25); }
.form-select option { background:var(--navy-mid); color:var(--white); }
.form-textarea { height:110px; }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

.form-success-msg,
.form-ajax-msg {
  padding:14px 18px; border-radius:4px; font-size:13px;
  margin-bottom:18px; font-weight:600;
}
.form-success-msg,
.form-ajax-msg.success { background:rgba(40,167,69,0.15); border:1px solid rgba(40,167,69,0.4); color:#28a745; }
.form-ajax-msg.error { background:rgba(220,53,69,0.15); border:1px solid rgba(220,53,69,0.4); color:#dc3545; }

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer { background:var(--navy); border-top:1px solid var(--border); z-index:1; position:relative; }
.footer-main { padding:70px 0 50px; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }

.footer-brand p {
  font-size:13px; color:var(--text-muted); line-height:1.8;
  margin-top:16px; max-width:240px;
}
.footer-socials { display:flex; gap:10px; margin-top:24px; }
.social-btn {
  width:36px; height:36px; border-radius:4px;
  border:1px solid rgba(255,255,255,0.1);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:all 0.3s; text-decoration:none;
}
.social-btn:hover { border-color:var(--gold); background:var(--gold-dim); }
.social-btn svg { width:16px; height:16px; stroke:var(--text-muted); }
.social-btn:hover svg { stroke:var(--gold); }

.footer-col h5 {
  font-size:12px; font-weight:700; letter-spacing:2px;
  color:var(--gold); text-transform:uppercase; margin-bottom:20px;
}
.footer-col a {
  display:block; font-size:13px; color:var(--text-muted);
  text-decoration:none; margin-bottom:12px; transition:color 0.3s;
}
.footer-col a:hover { color:var(--white); }

/* WordPress nav menu in footer */
.footer-col .menu { list-style:none; padding:0; margin:0; }
.footer-col .menu .menu-item a {
  display:block; font-size:13px; color:var(--text-muted);
  text-decoration:none; margin-bottom:12px; transition:color 0.3s;
}
.footer-col .menu .menu-item a:hover { color:var(--white); }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.05);
  padding:20px 0; display:flex; justify-content:space-between; align-items:center;
}
.footer-copy { font-size:12px; color:var(--text-muted); }
.footer-links { display:flex; gap:24px; }
.footer-links a { font-size:12px; color:var(--text-muted); text-decoration:none; transition:color 0.3s; }
.footer-links a:hover { color:var(--gold); }

/* Footer nav menu */
.footer-links .menu { list-style:none; padding:0; margin:0; display:flex; gap:24px; }
.footer-links .menu .menu-item a { font-size:12px; color:var(--text-muted); text-decoration:none; transition:color 0.3s; }
.footer-links .menu .menu-item a:hover { color:var(--gold); }

/* ══════════════════════════════
   ANIMATIONS
══════════════════════════════ */
@keyframes pulse {
  0%,100% { transform:translateY(-60%) scale(1); }
  50%      { transform:translateY(-60%) scale(1.1); }
}
@keyframes spin    { to { transform:translateY(-50%) rotate(360deg); } }
@keyframes blink   { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
@keyframes ticker  { to { transform:translateX(-50%); } }
@keyframes scrollDown {
  0%   { transform:scaleY(0); transform-origin:top; }
  50%  { transform:scaleY(1); transform-origin:top; }
  51%  { transform-origin:bottom; }
  100% { transform:scaleY(0); transform-origin:bottom; }
}
@keyframes fadeInDown { from{opacity:0;transform:translateY(-20px);} to{opacity:1;transform:translateY(0);} }
@keyframes fadeInUp   { from{opacity:0;transform:translateY(30px);}  to{opacity:1;transform:translateY(0);} }
@keyframes fadeIn     { from{opacity:0;} to{opacity:1;} }

/* Scroll reveal */
.reveal { opacity:0; transform:translateY(40px); transition:all 0.8s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:0.1s; }
.reveal-delay-2 { transition-delay:0.2s; }
.reveal-delay-3 { transition-delay:0.3s; }

/* ══════════════════════════════
   WORDPRESS SPECIFIC OVERRIDES
══════════════════════════════ */
/* Hide default WordPress admin bar offset */
.admin-bar nav { top:32px; }
@media screen and (max-width:782px) { .admin-bar nav { top:46px; } }

/* Alignments */
.alignleft  { float:right; margin-left:1.5em; }
.alignright { float:left; margin-right:1.5em; }
.aligncenter { display:block; margin:0 auto; }
img.alignleft, img.alignright, img.aligncenter { max-width:100%; height:auto; }

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width:1024px) {
  .services-grid,
  .companies-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:768px) {
  .container { padding:0 20px; }
  nav { padding:16px 20px; }
  nav.scrolled { padding:10px 20px; }

  .nav-links { display:none; }
  .menu-btn { display:block; }

  .hero-title { font-size:36px; }
  .hero-stats { flex-wrap:wrap; gap:16px; padding:16px 20px; }
  .hstat-div { display:none; }
  .hstat { min-width:calc(50% - 8px); }

  .services-grid,
  .about-inner,
  .tracking-inner,
  .companies-grid,
  .contact-inner { grid-template-columns:1fr; }

  .about-badge { position:relative; bottom:auto; right:auto; margin-top:16px; display:inline-block; }
  .about-visual { margin-bottom:40px; }

  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  .footer-links { flex-wrap:wrap; justify-content:center; }

  .form-row-2 { grid-template-columns:1fr; }
  .cta-actions { flex-direction:column; align-items:center; }

  .hero-ring, .hero-glow { display:none; }
  .tracking-form-wrap { padding:24px; }
  .contact-form { padding:24px; }
}

@media (max-width:480px) {
  .hero { padding-top:80px; }
  .services { padding:70px 0; }
  .about, .contact, .companies { padding:70px 0; }
  .tracking { padding:60px 0; }
  .clients { padding:50px 0; }
  .cta-section { padding:60px 0; }
  .svc { padding:32px 24px; }
}
