/* ============================================================
   CYNERGY SOLUTIONS — UNIFIED DESIGN SYSTEM
   Light mode (default) + Dark mode ([data-theme="dark"])
   Production-ready with responsive breakpoints
   ============================================================ */

/* ── DESIGN TOKENS ───────────────────────────────────────── */
:root {
  /* Gold palette (shared across themes) */
  --gold:        #C9A84C;
  --gold-light:  #E4C97A;
  --gold-pale:   #F7EDD3;
  --gold-dark:   #8A6B28;

  /* Light theme surfaces */
  --bg-page:     #F5F0E8;
  --bg-1:        #FFFFFF;
  --bg-2:        #EDE6D8;
  --bg-3:        #E4DBCA;
  --bg-4:        #D9CEBC;
  --bg-nav:      rgba(255,255,255,0.92);

  /* Light theme text */
  --text-1:      #0D0F15;
  --text-2:      #2E3038;
  --text-3:      #5A5E6B;
  --text-4:      rgba(13,15,21,0.36);

  /* Light theme borders */
  --border-1:    rgba(13,15,21,0.07);
  --border-2:    rgba(13,15,21,0.12);
  --border-gold: rgba(201,168,76,0.3);

  /* Light theme shadows */
  --shadow-card: 0 4px 24px rgba(13,15,21,0.06), 0 1px 4px rgba(13,15,21,0.04);
  --shadow-gold: 0 6px 30px rgba(201,168,76,0.28);
  --shadow-hover:0 12px 40px rgba(13,15,21,0.1), 0 4px 12px rgba(201,168,76,0.08);

  /* Hover overlay */
  --hover-bg:    rgba(201,168,76,0.06);

  /* Inverted surface (always dark — footer, CTA, contact-info) */
  --surface-inverted: #0D0F15;

  /* Gradient tokens */
  --grad-hero:     linear-gradient(135deg, #FDFBF7 0%, #F0E9DB 40%, #FBF8F2 70%, #EDE6D8 100%);
  --grad-section:  linear-gradient(180deg, #F5F0E8 0%, #EDE6D8 50%, #F5F0E8 100%);
  --grad-section2: linear-gradient(180deg, #EDE6D8 0%, #F5F0E8 50%, #EDE6D8 100%);
  --grad-gold:     linear-gradient(135deg, var(--gold), var(--gold-light));
  --grad-gold-rev: linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-dark));
  --grad-card:     linear-gradient(160deg, #FFFFFF 0%, #FAF7F0 100%);
  --grad-dark:     linear-gradient(135deg, #0D0F15, #1a1c26, #12141E);
  --grad-glass:    linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;

  /* Spacing scale */
  --s4:4px; --s8:8px; --s12:12px; --s16:16px;
  --s20:20px; --s24:24px; --s32:32px; --s40:40px;
  --s48:48px; --s56:56px; --s64:64px; --s80:80px;
  --s96:96px;

  /* Radius */
  --r-sm:  6px;
  --r-md:  12px;
  --r-lg:  20px;
  --r-xl:  28px;
  --r-pill:100px;
}

/* ── DARK THEME OVERRIDES ────────────────────────────────── */
[data-theme="dark"] {
  --bg-page:     #0E0F14;
  --bg-1:        #161820;
  --bg-2:        #1E2028;
  --bg-3:        #252730;
  --bg-4:        #2E3040;
  --bg-nav:      rgba(14,15,20,0.96);

  --text-1:      #FFFFFF;
  --text-2:      rgba(255,255,255,0.70);
  --text-3:      rgba(255,255,255,0.42);
  --text-4:      rgba(255,255,255,0.25);

  --border-1:    rgba(255,255,255,0.08);
  --border-2:    rgba(255,255,255,0.14);
  --border-gold: rgba(201,168,76,0.18);

  --shadow-card: 0 2px 20px rgba(0,0,0,0.35);
  --shadow-gold: 0 4px 24px rgba(201,168,76,0.22);
  --shadow-hover:0 8px 32px rgba(0,0,0,0.45);

  --hover-bg:    rgba(255,255,255,0.07);

  --surface-inverted: #1E2028;

  --grad-hero:     linear-gradient(135deg, #0E0F14 0%, #161820 50%, #0E0F14 100%);
  --grad-section:  linear-gradient(180deg, #0E0F14 0%, #1E2028 100%);
  --grad-section2: linear-gradient(180deg, #1E2028 0%, #0E0F14 100%);
  --grad-card:     linear-gradient(145deg, #161820, #1E2028);
  --grad-dark:     linear-gradient(135deg, #161820, #252730, #161820);
  --grad-glass:    linear-gradient(135deg, rgba(201,168,76,0.08), rgba(201,168,76,0.02));
}

/* ── RESET ────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:var(--font-body);
  background:var(--bg-page);
  color:var(--text-1);
  line-height:1.6;
  overflow-x:hidden;
  transition: background 0.3s, color 0.3s;
}
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; font-family:var(--font-body); }

/* ── IMAGE PLACEHOLDERS ───────────────────────────────────── */
.img-ph {
  background:linear-gradient(145deg, var(--bg-3), var(--bg-4), var(--bg-3));
  border:1.5px dashed var(--border-gold);
  border-radius:var(--r-md);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  color:var(--gold-dark); font-size:12px; font-weight:500;
  position:relative; overflow:hidden;
}
.img-ph::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(201,168,76,0.08) 0%, transparent 40%, rgba(201,168,76,0.04) 100%);
}
.img-ph-icon { font-size:26px; opacity:0.55; }
.img-ph-label { opacity:0.65; text-align:center; padding:0 12px; line-height:1.4; }
.img-ph-size { font-size:10px; color:var(--text-3); border:1px solid var(--border-gold); padding:2px 8px; border-radius:var(--r-pill); }
[data-theme="dark"] .img-ph { color:var(--gold); }

/* ── NAVBAR ───────────────────────────────────────────────── */
.navbar {
  position:sticky; top:0; z-index:200;
  background:var(--bg-nav);
  backdrop-filter:blur(24px); -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--border-1);
  height:68px; display:flex; align-items:center; padding:0 48px; gap:32px;
  box-shadow:0 1px 0 var(--border-1);
  transition: background 0.3s, box-shadow 0.3s;
}
.navbar::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,0.2), transparent);
}
.navbar-logo { display:flex; align-items:center; flex-shrink:0; }
.navbar-logo-img {
  height:40px; width:auto; object-fit:contain;
  transition:filter 0.3s;
}
/* Dark mode: brighten + slightly adjust the logo for visibility on dark bg */
[data-theme="dark"] .navbar-logo-img {
  filter:brightness(1.8) contrast(0.9);
}
.navbar-links { display:flex; align-items:center; gap:4px; flex:1; }
.navbar-links a {
  font-size:13px; font-weight:500; color:var(--text-3);
  padding:7px 16px; border-radius:var(--r-pill);
  transition:all 0.2s cubic-bezier(0.4,0,0.2,1); white-space:nowrap;
  position:relative;
}
.navbar-links a:hover {
  color:var(--text-1);
  background:var(--hover-bg);
}
.navbar-links a.active {
  color:var(--gold-dark);
  background:linear-gradient(135deg, rgba(201,168,76,0.1), rgba(201,168,76,0.04));
  border:1px solid rgba(201,168,76,0.15);
  font-weight:600;
}
[data-theme="dark"] .navbar-links a.active { color:var(--gold); }
.navbar-cta {
  margin-left:auto;
  background:linear-gradient(135deg, var(--gold), var(--gold-light)) !important;
  color:#12141A !important;
  font-weight:600 !important;
  padding:8px 20px !important;
  border-radius:var(--r-sm) !important;
  transition:all 0.25s !important;
  position:relative; overflow:hidden;
}
.navbar-cta::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s;
}
.navbar-cta:hover::after { left:100%; }
.navbar-cta:hover { box-shadow:var(--shadow-gold),0 0 20px rgba(201,168,76,0.3) !important; transform:translateY(-1px); }

/* ── THEME TOGGLE ────────────────────────────────────────── */
.theme-toggle {
  background:var(--hover-bg);
  border:1px solid var(--border-1);
  border-radius:50%;
  width:40px; height:40px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  flex-shrink:0;
  margin-left:8px;
  position:relative;
  overflow:hidden;
  color:var(--text-1);
}
.theme-toggle:hover {
  border-color:var(--gold);
  background:linear-gradient(135deg, rgba(201,168,76,0.15), rgba(201,168,76,0.05));
  transform:rotate(15deg) scale(1.08);
  box-shadow:0 0 16px rgba(201,168,76,0.2);
}
[data-theme="dark"] .theme-toggle { color:var(--gold); }
[data-theme="dark"] .theme-toggle:hover {
  background:linear-gradient(135deg, rgba(201,168,76,0.2), rgba(201,168,76,0.08));
  box-shadow:0 0 20px rgba(201,168,76,0.25);
}
.theme-toggle .icon-sun,
.theme-toggle .icon-moon { position:absolute; transition:all 0.4s cubic-bezier(0.4,0,0.2,1); }
.theme-toggle .icon-sun { opacity:1; transform:rotate(0) scale(1); }
.theme-toggle .icon-moon { opacity:0; transform:rotate(-90deg) scale(0.5); }
[data-theme="dark"] .theme-toggle .icon-sun { opacity:0; transform:rotate(90deg) scale(0.5); }
[data-theme="dark"] .theme-toggle .icon-moon { opacity:1; transform:rotate(0) scale(1); }

/* ── MOBILE MENU ─────────────────────────────────────────── */
.mobile-menu-btn {
  display:none;
  background:none; border:none;
  color:var(--text-1); font-size:24px;
  padding:4px; cursor:pointer;
}

/* ── GOLD DIVIDER ────────────────────────────────────────── */
.divider-gold {
  height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--gold-dark) 20%,var(--gold) 50%,var(--gold-dark) 80%,transparent 100%);
  position:relative;
  overflow:hidden;
}
.divider-gold::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.4),transparent);
  animation:shimmer 3s infinite;
}
.divider { height:1px; background:var(--border-1); margin:0 48px; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 26px; border-radius:var(--r-sm);
  font-size:14px; font-weight:600; border:none;
  transition:all 0.18s; letter-spacing:0.2px;
  cursor:pointer; font-family:var(--font-body);
}
.btn-gold {
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#12141A;
  position:relative; overflow:hidden;
}
.btn-gold::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.25),transparent);
  transition:left 0.5s;
}
.btn-gold:hover::after { left:100%; }
.btn-gold:hover { box-shadow:var(--shadow-gold),0 0 20px rgba(201,168,76,0.3); transform:translateY(-2px); }
.btn-ghost {
  background:transparent; color:var(--text-2); border:1.5px solid var(--border-2);
  position:relative; overflow:hidden;
}
.btn-ghost:hover {
  border-color:var(--gold); color:var(--gold-dark);
  background:linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));
  box-shadow:0 2px 12px rgba(201,168,76,0.1);
  transform:translateY(-1px);
}
[data-theme="dark"] .btn-ghost:hover { color:var(--gold); }
.btn-outline { background:transparent; color:var(--gold); border:1.5px solid var(--gold); position:relative; overflow:hidden; }
.btn-outline:hover { background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#12141A; box-shadow:var(--shadow-gold); transform:translateY(-1px); }
.btn-outline::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transition:left 0.5s;
}
.btn-outline:hover::after { left:100%; }
.btn-dark { background:var(--surface-inverted); color:#fff; }
.btn-dark:hover { opacity:0.85; }

/* ── SECTIONS ────────────────────────────────────────────── */
.section { padding:var(--s80) var(--s48); }
.section-sm { padding:var(--s56) var(--s48); }
.section-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-size:11px; font-weight:700; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--gold-dark); margin-bottom:14px;
}
.section-eyebrow::before { content:''; width:28px; height:2px; background:linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius:1px; }
.section-title {
  font-family:var(--font-display); font-size:40px; font-weight:700;
  line-height:1.15; letter-spacing:-0.3px; color:var(--text-1); margin-bottom:12px;
}
.section-sub { font-size:15px; color:var(--text-3); max-width:520px; line-height:1.75; margin-bottom:48px; }
[data-theme="dark"] .section-eyebrow { color:var(--gold); }

/* ── CARDS ────────────────────────────────────────────────── */
.card {
  background:var(--bg-1); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:var(--s32);
  transition:all 0.22s; position:relative; overflow:hidden;
}
.card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:var(--border-gold); }
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  transform:scaleX(0); transform-origin:left; transition:transform 0.3s;
}
.card:hover::before { transform:scaleX(1); }

/* ── BADGE ───────────────────────────────────────────────── */
.badge {
  display:inline-flex; align-items:center; gap:6px;
  background:linear-gradient(135deg, rgba(201,168,76,0.12), rgba(201,168,76,0.04));
  border:1px solid rgba(201,168,76,0.25);
  color:var(--gold-dark); font-size:11px; font-weight:600;
  padding:5px 14px; border-radius:var(--r-pill); letter-spacing:0.3px;
}
[data-theme="dark"] .badge { color:var(--gold); }
.badge-product {
  display:inline-flex;
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  color:#12141A;
  font-size:10px; font-weight:700; letter-spacing:0.5px;
  padding:3px 10px; border-radius:var(--r-sm);
  box-shadow:0 2px 8px rgba(201,168,76,0.2);
}

/* ── HERO ─────────────────────────────────────────────────── */
.hero {
  background:var(--grad-hero);
  min-height:640px; padding:var(--s96) var(--s48) var(--s80);
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:120px;
  background:linear-gradient(to top, var(--bg-page), transparent);
  pointer-events:none;
}
.hero-bg-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,0.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,0.05) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,0.3) 20%,rgba(0,0,0,0.3) 80%,transparent);
  pointer-events:none;
}
.hero-glow {
  position:absolute; top:-120px; right:-80px; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,0.18) 0%, rgba(201,168,76,0.06) 40%, transparent 70%);
  pointer-events:none;
  animation:float-glow 8s ease-in-out infinite;
}
.hero-glow-2 {
  position:absolute; bottom:-80px; left:5%; width:450px; height:450px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,0.10) 0%, rgba(201,168,76,0.03) 40%, transparent 70%);
  pointer-events:none;
  animation:float-glow 6s ease-in-out infinite reverse;
}
/* Third glow orb for extra depth */
.hero::before {
  content:''; position:absolute; top:40%; left:30%; width:350px; height:350px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,0.07) 0%, transparent 60%);
  pointer-events:none; z-index:0;
  animation:float-glow 10s ease-in-out 2s infinite;
}
.hero-content { position:relative; z-index:2; }
.hero-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:linear-gradient(135deg, rgba(201,168,76,0.12), rgba(201,168,76,0.04));
  border:1px solid rgba(201,168,76,0.3);
  color:var(--gold-dark); font-size:11px; font-weight:600;
  padding:5px 14px; border-radius:var(--r-pill); letter-spacing:0.3px; margin-bottom:20px;
  backdrop-filter:blur(8px);
}
[data-theme="dark"] .hero-badge { color:var(--gold); }
.flag-ng {
  display:inline-block; vertical-align:middle;
  border-radius:2px; flex-shrink:0;
  box-shadow:0 0 0 1px rgba(0,0,0,0.12);
}
.hero-title {
  font-family:var(--font-display); font-size:58px; font-weight:700;
  line-height:1.1; letter-spacing:-1px; color:var(--text-1); margin-bottom:20px;
}
.hero-title .accent {
  font-style:italic;
  background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dark));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  background-size:200% 200%;
  animation:gradient-shift 4s ease infinite;
}
.hero-lead { font-size:16px; color:var(--text-2); max-width:460px; line-height:1.8; margin-bottom:36px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:48px; }
.hero-stats {
  display:flex; gap:28px; padding:24px 28px;
  background:linear-gradient(135deg, rgba(255,255,255,0.7), rgba(255,255,255,0.3));
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(201,168,76,0.15);
  border-radius:var(--r-lg);
  box-shadow:0 4px 24px rgba(0,0,0,0.04);
}
[data-theme="dark"] .hero-stats {
  background:linear-gradient(135deg, rgba(22,24,32,0.6), rgba(30,32,40,0.4));
  border-color:rgba(201,168,76,0.12);
}
.stat-val { font-family:var(--font-display); font-size:34px; font-weight:700; color:var(--text-1); line-height:1; }
.stat-val span { color:var(--gold); }
.stat-lbl { font-size:11px; color:var(--text-3); text-transform:uppercase; letter-spacing:0.8px; margin-top:6px; }
.hero-visual { position:relative; z-index:2; display:flex; flex-direction:column; gap:16px; }
.hero-img-main { width:100%; height:320px; }
.hero-img-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hero-img-sm { height:220px; }

/* ── SERVICE CARDS ───────────────────────────────────────── */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.service-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:var(--s32) 28px;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); position:relative; overflow:hidden;
  box-shadow:var(--shadow-card);
}
.service-card:hover {
  border-color:var(--border-gold);
  box-shadow:var(--shadow-hover), 0 0 0 1px rgba(201,168,76,0.1);
}
.service-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light));
  transform:scaleX(0); transform-origin:left; transition:transform 0.3s;
}
.service-card:hover::before { transform:scaleX(1); }
.service-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-hover); border-color:var(--border-gold); }
.service-icon {
  width:56px; height:56px;
  background:linear-gradient(135deg, rgba(201,168,76,0.1), rgba(201,168,76,0.2));
  border:2px solid rgba(201,168,76,0.2);
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:24px; margin-bottom:22px;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 4px 16px rgba(201,168,76,0.08);
  position:relative;
}
.service-icon::after {
  content:''; position:absolute; inset:-4px; border-radius:calc(var(--r-md) + 4px);
  background:linear-gradient(135deg, rgba(201,168,76,0.15), transparent, rgba(201,168,76,0.1));
  opacity:0; transition:opacity 0.3s;
}
.service-card:hover .service-icon::after { opacity:1; }
.service-card:hover .service-icon {
  transform:scale(1.12) rotate(-5deg);
  box-shadow:0 6px 24px rgba(201,168,76,0.3);
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border-color:var(--gold);
}
.service-card h3 { font-family:var(--font-display); font-size:21px; font-weight:700; color:var(--text-1); margin-bottom:12px; line-height:1.25; }
.service-card p { font-size:13.5px; color:var(--text-3); line-height:1.75; }

/* ── WHY / STRATEGIC THRUST (legacy support) ─────────────── */
.why-section {
  background:var(--grad-section);
  padding:var(--s80) var(--s48);
  position:relative;
}
.why-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--border-gold), transparent);
}
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.why-left { padding-right:32px; }
.why-img { width:100%; height:400px; border-radius:var(--r-xl); object-fit:cover; }
.why-items { display:flex; flex-direction:column; gap:20px; }
.why-item {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:22px 24px;
  display:flex; gap:18px; align-items:flex-start;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 2px 12px rgba(0,0,0,0.03);
}
.why-item:hover {
  box-shadow:var(--shadow-hover);
  transform:translateX(6px);
  border-color:var(--border-gold);
  border-left:3px solid var(--gold);
}
.why-num {
  width:38px; height:38px; flex-shrink:0;
  background:linear-gradient(135deg,var(--surface-inverted),#2a2c38);
  color:var(--gold);
  border-radius:var(--r-sm); display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:18px; font-weight:700;
  transition:all 0.3s;
  box-shadow:0 2px 8px rgba(0,0,0,0.15);
}
.why-item:hover .why-num {
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#12141A;
  transform:scale(1.1);
}
.why-item h4 { font-size:15px; font-weight:600; color:var(--text-1); margin-bottom:5px; }
.why-item p { font-size:13px; color:var(--text-3); line-height:1.7; }

/* ── STRATEGIC THRUST (new layout) ───────────────────────── */
.thrust-section {
  position:relative;
}

/* Banner with image */
.thrust-banner {
  position:relative; overflow:hidden;
  height:420px;
}
.thrust-banner-img {
  width:100%; height:100%; object-fit:cover;
  display:block;
}
.thrust-banner-overlay {
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(13,15,21,0.85) 0%, rgba(13,15,21,0.6) 40%, rgba(201,168,76,0.15) 100%);
}
.thrust-banner-content {
  position:absolute; bottom:0; left:0; right:0;
  padding:var(--s48) var(--s48) var(--s64);
  z-index:2;
}
.thrust-banner-title {
  font-family:var(--font-display); font-size:48px; font-weight:700;
  color:#fff; line-height:1.1; margin-bottom:12px; letter-spacing:-0.5px;
}
.thrust-banner-sub {
  font-size:15px; color:rgba(255,255,255,0.65); max-width:520px; line-height:1.75;
}

/* 2x2 card grid — pulled up to overlap the banner */
.thrust-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:20px;
  padding:0 var(--s48);
  margin-top:-80px;
  position:relative; z-index:3;
  padding-bottom:var(--s64);
}

.thrust-card {
  background:var(--grad-card);
  border:1px solid var(--border-1);
  border-radius:var(--r-xl);
  padding:32px 28px 28px;
  position:relative; overflow:hidden;
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--shadow-card);
}
.thrust-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover), 0 0 0 1px rgba(201,168,76,0.12);
  border-color:var(--border-gold);
}

/* Gold accent line at top */
.thrust-card-accent {
  position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--gold), var(--gold-light), transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
}
.thrust-card:hover .thrust-card-accent { transform:scaleX(1); }

/* Large number watermark */
.thrust-card-num {
  position:absolute; top:12px; right:20px;
  font-family:var(--font-display); font-size:64px; font-weight:700;
  line-height:1;
  background:linear-gradient(180deg, rgba(201,168,76,0.12), rgba(201,168,76,0.03));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
  pointer-events:none;
  transition:all 0.3s;
}
.thrust-card:hover .thrust-card-num {
  background:linear-gradient(180deg, rgba(201,168,76,0.25), rgba(201,168,76,0.06));
  -webkit-background-clip:text; background-clip:text;
}

/* Icon */
.thrust-card-icon {
  width:52px; height:52px;
  background:linear-gradient(135deg, rgba(201,168,76,0.1), rgba(201,168,76,0.2));
  border:1.5px solid rgba(201,168,76,0.25);
  border-radius:var(--r-md);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  transition:all 0.3s;
}
.thrust-card:hover .thrust-card-icon {
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border-color:var(--gold);
  transform:scale(1.08) rotate(-3deg);
  box-shadow:0 4px 20px rgba(201,168,76,0.3);
}
.thrust-card:hover .thrust-card-icon svg { stroke:#12141A; }

.thrust-card h3 {
  font-family:var(--font-display); font-size:22px; font-weight:700;
  color:var(--text-1); margin-bottom:10px; line-height:1.2;
}
.thrust-card p {
  font-size:13.5px; color:var(--text-3); line-height:1.75;
}

/* ── PRODUCTS (homepage grid) ────────────────────────────── */
.products-section {
  background:var(--grad-section2);
  position:relative;
}
.products-section::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(201,168,76,0.15), transparent);
}
.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.product-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); overflow:hidden;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); cursor:pointer;
  box-shadow:var(--shadow-card);
  position:relative;
}
.product-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow-hover), 0 0 0 1px rgba(201,168,76,0.12);
  border-color:var(--border-gold);
}
.product-img { height:180px; width:100%; object-fit:cover; display:block; }
.product-body { padding:24px; }
.product-body h3 { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--text-1); margin:10px 0 10px; line-height:1.2; }
.product-body p { font-size:12.5px; color:var(--text-3); line-height:1.7; margin-bottom:16px; }
.product-link { font-size:12px; font-weight:600; color:var(--gold-dark); display:flex; align-items:center; gap:6px; }
[data-theme="dark"] .product-link { color:var(--gold); }
.product-link::after { content:'\2192'; transition:transform 0.15s; }
.product-card:hover .product-link::after { transform:translateX(4px); }

/* ── PRODUCTS FULL PAGE ──────────────────────────────────── */
.product-full-row {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); overflow:hidden;
  display:grid; grid-template-columns:260px 1fr;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1); margin-bottom:20px;
  box-shadow:var(--shadow-card);
}
.product-full-row:hover {
  border-color:var(--border-gold);
  box-shadow:var(--shadow-hover), 0 0 0 1px rgba(201,168,76,0.08);
  transform:translateY(-2px);
}
.product-full-img { height:100%; min-height:200px; border-radius:0; object-fit:cover; width:100%; display:block; }
.product-full-body { padding:32px 36px; }
.product-full-body h2 { font-family:var(--font-display); font-size:28px; font-weight:700; color:var(--text-1); margin:10px 0 12px; }
.product-full-body p { font-size:14px; color:var(--text-3); line-height:1.8; margin-bottom:20px; }
.product-meta { display:flex; gap:10px; flex-wrap:wrap; }
.meta-chip {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--bg-page); border:1px solid var(--border-1);
  color:var(--text-3); font-size:11.5px; padding:5px 12px; border-radius:var(--r-pill);
}
.meta-chip.gold { color:var(--gold-dark); border-color:rgba(201,168,76,0.3); background:rgba(201,168,76,0.08); }
[data-theme="dark"] .meta-chip.gold { color:var(--gold); }

/* ── TESTIMONIALS ────────────────────────────────────────── */
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.testi-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:28px 28px 28px 32px;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--shadow-card);
  border-left:3px solid transparent;
}
.testi-card:hover {
  border-color:var(--border-gold);
  border-left-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.testi-stars { color:var(--gold); font-size:15px; letter-spacing:3px; margin-bottom:14px; }
.testi-quote { font-family:var(--font-display); font-size:17px; font-style:italic; color:var(--text-1); line-height:1.65; margin-bottom:20px; }
.testi-author { display:flex; align-items:center; gap:12px; }
.testi-avatar {
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold-pale), rgba(201,168,76,0.25));
  border:2px solid rgba(201,168,76,0.35);
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:700; color:var(--gold-dark);
  font-family:var(--font-display); flex-shrink:0;
  box-shadow:0 2px 8px rgba(201,168,76,0.15);
}
[data-theme="dark"] .testi-avatar { color:var(--gold); }
.testi-name { font-size:13px; font-weight:600; color:var(--text-1); }
.testi-org { font-size:11px; color:var(--gold-dark); font-weight:500; }
[data-theme="dark"] .testi-org { color:var(--gold); }

/* ── CLIENTS ─────────────────────────────────────────────── */
.clients-section { background:var(--grad-section); padding:var(--s80) var(--s48); }
.clients-region { margin-bottom:40px; }
.region-heading { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.region-heading span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--gold-dark); }
[data-theme="dark"] .region-heading span { color:var(--gold); }
.region-heading::after {
  content:''; flex:1; height:1px;
  background:linear-gradient(90deg, var(--border-gold), var(--border-1), transparent);
}
.client-tags { display:flex; flex-wrap:wrap; gap:10px; }
.client-tag {
  background:var(--grad-card); border:1px solid var(--border-1);
  color:var(--text-2); font-size:12.5px; font-weight:500;
  padding:8px 16px; border-radius:var(--r-md); transition:all 0.25s;
  box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.client-tag:hover {
  background:linear-gradient(135deg, rgba(201,168,76,0.1), rgba(201,168,76,0.03));
  border-color:var(--border-gold); color:var(--gold-dark);
  box-shadow:0 4px 12px rgba(201,168,76,0.12);
  transform:translateY(-2px);
}
[data-theme="dark"] .client-tag:hover { color:var(--gold); }

/* ── ABOUT ───────────────────────────────────────────────── */
.about-hero {
  background:var(--grad-hero); padding:var(--s96) var(--s48) var(--s80);
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:center; position:relative; overflow:hidden;
}
.about-hero-bg {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(201,168,76,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.05) 1px,transparent 1px);
  background-size:48px 48px; pointer-events:none;
}
.about-title { font-family:var(--font-display); font-size:52px; font-weight:700; line-height:1.1; letter-spacing:-0.5px; margin-bottom:20px; color:var(--text-1); }
.about-lead { font-size:15px; color:var(--text-2); line-height:1.8; margin-bottom:32px; }
.vision-cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:48px; }
.vision-card { border-radius:var(--r-lg); padding:28px; position:relative; overflow:hidden; }
.vision-card.mission { background:linear-gradient(135deg, var(--gold), var(--gold-light), var(--gold)); color:#12141A; }
.vision-card.vision { background:linear-gradient(135deg, #12141A, #1a1e28, #12141A); color:#fff; }
.vision-card h4 { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; opacity:0.55; margin-bottom:12px; }
.vision-card p { font-size:13.5px; line-height:1.75; opacity:0.9; }
.vision-card.mission p { color:rgba(18,20,26,0.85); }
.vision-card.vision p { color:rgba(255,255,255,0.85); }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.team-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:24px 18px; text-align:center;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.team-card:hover { border-color:var(--border-gold); transform:translateY(-3px); box-shadow:var(--shadow-hover); }
.team-avatar {
  width:60px; height:60px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold-pale),rgba(201,168,76,0.2));
  border:2px solid rgba(201,168,76,0.4);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:20px; font-weight:700;
  color:var(--gold-dark); margin:0 auto 14px;
  transition:all 0.3s;
}
.team-card:hover .team-avatar {
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:#12141A;
  border-color:var(--gold);
  transform:scale(1.1);
  box-shadow:0 4px 20px rgba(201,168,76,0.35);
}
.team-card h4 { font-size:13px; font-weight:600; color:var(--text-1); margin-bottom:3px; }
.team-card .quals { font-size:11px; color:var(--gold-dark); font-weight:600; margin-bottom:3px; }
[data-theme="dark"] .team-card .quals { color:var(--gold); }
.team-card .role { font-size:11px; color:var(--text-3); }

/* ── CAREER ──────────────────────────────────────────────── */
.career-hero {
  background:var(--grad-hero); padding:var(--s64) var(--s48);
  position:relative; overflow:hidden; text-align:center;
}
.career-hero-bg {
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(201,168,76,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,0.05) 1px,transparent 1px);
  background-size:48px 48px; pointer-events:none;
}
.career-hero-glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:600px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.08) 0%,transparent 65%); pointer-events:none;
}
.career-hero h1 { font-family:var(--font-display); font-size:52px; font-weight:700; margin-bottom:16px; position:relative; color:var(--text-1); }
.career-hero p { font-size:16px; color:var(--text-2); max-width:520px; margin:0 auto 36px; line-height:1.8; position:relative; }
.career-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.career-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); overflow:hidden;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--shadow-card);
}
.career-card:hover {
  border-color:var(--border-gold);
  transform:translateY(-5px);
  box-shadow:var(--shadow-hover), 0 0 0 1px rgba(201,168,76,0.1);
}
.career-card-img { height:180px; width:100%; object-fit:cover; display:block; }
.career-card-body { padding:28px; }
.career-type { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:var(--gold-dark); margin-bottom:10px; }
[data-theme="dark"] .career-type { color:var(--gold); }
.career-card-body h3 { font-family:var(--font-display); font-size:22px; font-weight:700; margin-bottom:12px; color:var(--text-1); }
.career-card-body p { font-size:13px; color:var(--text-3); line-height:1.75; margin-bottom:18px; }
.career-skills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:22px; }
.skill-tag {
  background:var(--bg-page); border:1px solid var(--border-1);
  color:var(--text-3); font-size:11px; font-weight:500;
  padding:3px 9px; border-radius:var(--r-sm);
}
.career-requirements { margin-bottom:22px; }
.career-requirements li {
  font-size:12.5px; color:var(--text-2); padding:5px 0;
  border-bottom:1px solid var(--border-1);
  display:flex; gap:8px; align-items:flex-start;
}
.career-requirements li::before { content:'\2014'; color:var(--gold-dark); flex-shrink:0; margin-top:1px; }
[data-theme="dark"] .career-requirements li::before { color:var(--gold); }
.career-apply {
  width:100%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#12141A;
  border:none; padding:12px; border-radius:var(--r-sm);
  font-size:13.5px; font-weight:600; cursor:pointer;
  font-family:var(--font-body); transition:all 0.25s;
}
.career-apply:hover { box-shadow:var(--shadow-gold), 0 0 20px rgba(201,168,76,0.25); transform:translateY(-1px); }

/* ── FEATURED JOB POSTING ────────────────────────────────── */
.job-post {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); box-shadow:var(--shadow-card);
  overflow:hidden; max-width:960px; margin:0 auto;
}
.job-post-header {
  padding:var(--s40) var(--s40) var(--s32);
  border-bottom:1px solid var(--border-1);
  background:var(--grad-glass);
}
.job-post-meta { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.job-badge {
  display:inline-flex; align-items:center; gap:5px;
  background:var(--bg-page); border:1px solid var(--border-1);
  color:var(--text-3); font-size:11px; font-weight:600;
  letter-spacing:0.3px; padding:5px 11px; border-radius:var(--r-pill);
}
.job-badge svg { flex-shrink:0; }
.job-badge-gold {
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  border-color:transparent; color:#12141A; text-transform:uppercase; letter-spacing:1px;
}
.job-post-title { font-family:var(--font-display); font-size:34px; font-weight:700; color:var(--text-1); margin-bottom:14px; }
.job-post-about { font-size:14px; color:var(--text-2); line-height:1.85; max-width:720px; }
.job-post-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--s40);
  padding:var(--s40);
}
.job-block-title {
  font-family:var(--font-display); font-size:20px; font-weight:700;
  color:var(--text-1); margin-bottom:6px;
  display:flex; align-items:center; gap:10px;
}
.job-block-title::before { content:''; width:22px; height:2px; background:linear-gradient(90deg, var(--gold), var(--gold-light)); border-radius:1px; }
.job-block-intro { font-size:13px; color:var(--text-3); margin-bottom:14px; }
.job-list { list-style:none; padding:0; margin:0; }
.job-list li {
  font-size:13.5px; color:var(--text-2); line-height:1.7;
  padding:7px 0 7px 24px; position:relative;
  border-bottom:1px solid var(--border-1);
}
.job-list li:last-child { border-bottom:none; }
.job-list li::before {
  content:''; position:absolute; left:4px; top:14px;
  width:6px; height:6px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,0.14);
}
.job-list-check li::before {
  content:'\2713'; background:none; box-shadow:none;
  left:0; top:6px; width:auto; height:auto;
  color:var(--gold-dark); font-size:13px; font-weight:700;
}
[data-theme="dark"] .job-list-check li::before { color:var(--gold); }
.job-apply-panel {
  display:grid; grid-template-columns:1.4fr 1fr; gap:var(--s40);
  padding:var(--s40); border-top:1px solid var(--border-1);
  background:var(--bg-page); align-items:center;
}
.job-deadline { font-size:13.5px; color:var(--text-2); margin-top:16px; }
.job-deadline strong { color:var(--text-1); }
.job-deadline-placeholder { color:var(--gold-dark); font-weight:600; }
[data-theme="dark"] .job-deadline-placeholder { color:var(--gold); }
.job-apply-action {
  text-align:center; background:var(--grad-card);
  border:1px solid var(--border-gold); border-radius:var(--r-lg);
  padding:var(--s32) var(--s24);
}
.job-apply-label { font-size:12px; text-transform:uppercase; letter-spacing:1px; color:var(--text-3); margin-bottom:8px; }
.job-apply-email { font-size:16px; font-weight:600; color:var(--gold-dark); word-break:break-word; text-decoration:none; }
.job-apply-email:hover { text-decoration:underline; }
[data-theme="dark"] .job-apply-email { color:var(--gold); }
.job-apply-or { font-size:12.5px; color:var(--text-3); margin-top:14px; }
.job-apply-or a { color:var(--gold-dark); text-decoration:none; font-weight:600; }
.job-apply-or a:hover { text-decoration:underline; }
[data-theme="dark"] .job-apply-or a { color:var(--gold); }

/* ── APPLICATION FORM ────────────────────────────────────── */
.apply-hero {
  background:var(--grad-hero); padding:var(--s56) var(--s48) var(--s48);
  position:relative; overflow:hidden; text-align:center;
}
.apply-hero-glow {
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:600px; height:300px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.1) 0%,transparent 65%); pointer-events:none;
}
.apply-hero h1 { font-family:var(--font-display); font-size:44px; font-weight:700; margin-bottom:14px; color:var(--text-1); }
.apply-hero p { font-size:15px; color:var(--text-2); max-width:520px; margin:0 auto; line-height:1.8; }
.apply-back { font-size:13px; font-weight:600; color:var(--gold-dark); text-decoration:none; }
.apply-back:hover { text-decoration:underline; }
[data-theme="dark"] .apply-back { color:var(--gold); }

.apply-layout { display:grid; grid-template-columns:0.85fr 1.15fr; gap:var(--s40); align-items:start; max-width:1000px; margin:0 auto; }
.apply-aside { position:sticky; top:100px; }
.apply-aside h3 { font-family:var(--font-display); font-size:24px; font-weight:700; color:var(--text-1); margin-bottom:16px; }
.apply-checklist { list-style:none; padding:0; margin:0 0 26px; }
.apply-checklist li {
  font-size:14px; color:var(--text-2); line-height:1.6;
  padding:9px 0 9px 28px; position:relative; border-bottom:1px solid var(--border-1);
}
.apply-checklist li::before {
  content:'\2713'; position:absolute; left:2px; top:9px;
  color:var(--gold-dark); font-weight:700;
}
[data-theme="dark"] .apply-checklist li::before { color:var(--gold); }
.apply-aside-note {
  background:var(--grad-glass); border:1px solid var(--border-gold);
  border-radius:var(--r-lg); padding:var(--s20);
}
.apply-aside-note strong { display:block; color:var(--text-1); font-size:14px; margin-bottom:6px; }
.apply-aside-note p { font-size:13px; color:var(--text-3); line-height:1.7; }
.apply-aside-note a { color:var(--gold-dark); font-weight:600; text-decoration:none; word-break:break-word; }
[data-theme="dark"] .apply-aside-note a { color:var(--gold); }

.apply-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); box-shadow:var(--shadow-card); padding:var(--s40);
}
.jform-field { margin-bottom:var(--s20); display:flex; flex-direction:column; }
.jform-2col { display:grid; grid-template-columns:1fr 1fr; gap:var(--s20); }
.jform-field label {
  font-size:13px; font-weight:600; color:var(--text-1);
  margin-bottom:8px; letter-spacing:0.2px;
}
.jform-field .req { color:var(--gold-dark); }
[data-theme="dark"] .jform-field .req { color:var(--gold); }
.jform-field input,
.jform-field textarea {
  background:var(--bg-1); border:1px solid var(--border-2);
  border-radius:var(--r-sm); padding:12px 14px;
  font-size:14px; color:var(--text-1); font-family:var(--font-body);
  transition:border-color 0.2s, box-shadow 0.2s; width:100%;
}
.jform-field textarea { resize:vertical; min-height:110px; line-height:1.6; }
.jform-field input:focus,
.jform-field textarea:focus {
  outline:none; border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,168,76,0.15);
}
.jform-field input::placeholder,
.jform-field textarea::placeholder { color:var(--text-4); }
.field-error { color:#c0392b; font-size:12px; margin-top:6px; }
[data-theme="dark"] .field-error { color:#ff8a7a; }
.form-summary { color:#c0392b; font-size:13px; margin-bottom:16px; }
.form-summary ul { margin:0; padding-left:18px; }
.form-summary:empty { display:none; }

.file-input { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; }
.file-drop {
  display:flex; flex-direction:column; align-items:center; gap:4px;
  text-align:center; cursor:pointer;
  background:var(--bg-page); border:1.5px dashed var(--border-gold);
  border-radius:var(--r-md); padding:var(--s24); color:var(--gold-dark);
  transition:all 0.2s;
}
.file-drop:hover { border-color:var(--gold); background:var(--hover-bg); }
[data-theme="dark"] .file-drop { color:var(--gold); }
.file-drop-text { font-size:14px; font-weight:600; color:var(--text-1); }
.file-drop-hint { font-size:12px; color:var(--text-3); }
.file-drop-name { font-size:13px; font-weight:600; color:var(--gold-dark); margin-top:4px; word-break:break-all; }
[data-theme="dark"] .file-drop-name { color:var(--gold); }
.file-drop.has-file { border-style:solid; border-color:var(--gold); background:var(--hover-bg); }

.apply-submit { width:100%; justify-content:center; margin-top:var(--s8); }
.apply-privacy { font-size:11.5px; color:var(--text-4); text-align:center; margin-top:14px; line-height:1.6; }

/* ── THANK YOU ───────────────────────────────────────────── */
.thankyou {
  background:var(--grad-hero); min-height:70vh;
  display:flex; align-items:center; justify-content:center;
  padding:var(--s64) var(--s24); position:relative; overflow:hidden;
}
.thankyou-glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:600px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.1) 0%,transparent 65%); pointer-events:none;
}
.thankyou-card {
  position:relative; text-align:center; max-width:520px;
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); box-shadow:var(--shadow-card); padding:var(--s48) var(--s40);
}
.thankyou-check {
  width:72px; height:72px; border-radius:50%; margin:0 auto var(--s24);
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#12141A;
  box-shadow:var(--shadow-gold);
}
.thankyou-card h1 { font-family:var(--font-display); font-size:38px; font-weight:700; color:var(--text-1); margin-bottom:14px; }
.thankyou-card p { font-size:15px; color:var(--text-2); line-height:1.8; margin-bottom:var(--s32); }
.thankyou-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }

/* ── ADMIN ───────────────────────────────────────────────── */
.admin-login {
  background:var(--grad-hero); min-height:80vh;
  display:flex; align-items:center; justify-content:center; padding:var(--s48) var(--s24);
}
.admin-login-card {
  width:100%; max-width:400px; text-align:center;
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); box-shadow:var(--shadow-card); padding:var(--s40);
}
.admin-login-brand img { height:38px; margin-bottom:var(--s20); }
.admin-login-card h1 { font-family:var(--font-display); font-size:28px; font-weight:700; color:var(--text-1); margin-bottom:6px; }
.admin-login-sub { font-size:13.5px; color:var(--text-3); margin-bottom:var(--s24); }
.admin-login-card .jform-field { text-align:left; }
.admin-login-links { margin-top:18px; text-align:center; font-size:13px; }
.admin-login-links a { color:var(--gold-dark); font-weight:600; }
.admin-login-links a:hover { text-decoration:underline; }
[data-theme="dark"] .admin-login-links a { color:var(--gold); }
.admin-login-back { display:block; margin-top:22px; font-size:13px; color:var(--text-3); }
.admin-login-back:hover { color:var(--gold-dark); }

/* Password field with show/hide eye toggle */
.pw-wrap { position:relative; display:flex; }
.pw-wrap input { padding-right:46px !important; width:100%; }
.pw-toggle {
  position:absolute; right:6px; top:50%; transform:translateY(-50%);
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  background:transparent; border:none; border-radius:var(--r-sm);
  color:var(--text-3); cursor:pointer; transition:color 0.15s, background 0.15s;
}
.pw-toggle:hover { color:var(--gold-dark); background:var(--hover-bg); }
[data-theme="dark"] .pw-toggle:hover { color:var(--gold); }
.pw-toggle .eye-off { display:none; }
.pw-toggle.is-visible .eye-on { display:none; }
.pw-toggle.is-visible .eye-off { display:block; }

/* Success/notice banner on admin pages */
.admin-alert {
  background:var(--grad-glass); border:1px solid var(--border-gold);
  color:var(--text-1); border-radius:var(--r-md);
  padding:14px 18px; font-size:14px; margin-bottom:var(--s24);
  display:flex; align-items:center; gap:10px;
}
.admin-alert svg { flex-shrink:0; color:var(--gold-dark); }
[data-theme="dark"] .admin-alert svg { color:var(--gold); }

/* Shared centered admin form card (change/forgot/reset password) */
.admin-form-page {
  background:var(--grad-hero); min-height:80vh;
  display:flex; align-items:center; justify-content:center; padding:var(--s48) var(--s24);
}
.admin-form-card {
  width:100%; max-width:440px;
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); box-shadow:var(--shadow-card); padding:var(--s40);
}
.admin-form-card h1 { font-family:var(--font-display); font-size:28px; font-weight:700; color:var(--text-1); margin-bottom:6px; }
.admin-form-card .admin-form-sub { font-size:13.5px; color:var(--text-3); margin-bottom:var(--s24); line-height:1.6; }

.admin-wrap { max-width:1200px; margin:0 auto; }
.admin-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:var(--s32); flex-wrap:wrap; }
.admin-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.admin-actions .btn { padding:10px 18px; font-size:13px; }
.admin-count { font-size:14px; color:var(--text-3); margin-top:8px; }
.admin-empty {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:var(--s48); text-align:center; color:var(--text-3);
}
.admin-muted { color:var(--text-4); font-size:12.5px; }

/* Application cards */
.app-list { display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.app-card {
  background:var(--bg-1); border:1px solid var(--border-1);
  border-radius:var(--r-lg); box-shadow:var(--shadow-card);
  padding:var(--s24); display:flex; flex-direction:column; gap:16px;
  transition:border-color 0.2s, box-shadow 0.2s;
}
.app-card:hover { border-color:var(--border-gold); box-shadow:var(--shadow-hover); }
.app-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.app-name { font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--text-1); line-height:1.2; }
.app-position {
  display:inline-block; margin-top:6px; font-size:11px; font-weight:700;
  text-transform:uppercase; letter-spacing:0.8px; color:var(--gold-dark);
}
[data-theme="dark"] .app-position { color:var(--gold); }
.app-date { font-size:12px; color:var(--text-4); white-space:nowrap; flex-shrink:0; }

.app-contact { display:flex; flex-wrap:wrap; gap:8px 18px; }
.app-contact a {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; color:var(--text-2); word-break:break-word;
}
.app-contact a:hover { color:var(--gold-dark); }
.app-contact svg { color:var(--gold-dark); flex-shrink:0; }
[data-theme="dark"] .app-contact a:hover, [data-theme="dark"] .app-contact svg { color:var(--gold); }

.app-cover {
  background:var(--bg-page); border:1px solid var(--border-1);
  border-radius:var(--r-md); padding:14px 16px;
}
.app-cover-label {
  display:block; font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:1px; color:var(--text-4); margin-bottom:8px;
}
.app-cover-text {
  font-size:13.5px; color:var(--text-2); line-height:1.7;
  white-space:pre-wrap; word-break:break-word; max-height:180px; overflow-y:auto;
}
.app-cover-empty { font-size:13px; color:var(--text-4); font-style:italic; }

.app-card-actions {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  margin-top:auto; padding-top:6px; flex-wrap:wrap;
}
.admin-download {
  display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:13px;
  color:var(--gold-dark); background:var(--hover-bg); border:1px solid var(--border-gold);
  padding:8px 14px; border-radius:var(--r-sm); max-width:100%; min-width:0;
}
[data-theme="dark"] .admin-download { color:var(--gold); }
.admin-download:hover { background:rgba(201,168,76,0.14); }
.admin-download svg { flex-shrink:0; }
.app-resume-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.app-delete {
  display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600;
  color:#c0392b; background:transparent; border:1px solid rgba(192,57,43,0.3);
  padding:8px 14px; border-radius:var(--r-sm); transition:all 0.15s; flex-shrink:0;
}
.app-delete:hover { background:rgba(192,57,43,0.08); border-color:rgba(192,57,43,0.6); }
[data-theme="dark"] .app-delete { color:#ff8a7a; border-color:rgba(255,138,122,0.3); }
[data-theme="dark"] .app-delete:hover { background:rgba(255,138,122,0.1); }

/* Admin top bar (admin-only layout, no public nav/footer) */
.admin-topbar {
  display:flex; align-items:center; justify-content:space-between;
  padding:0 var(--s32); height:64px;
  background:var(--bg-nav); border-bottom:1px solid var(--border-1);
  backdrop-filter:blur(20px); position:sticky; top:0; z-index:100;
}
.admin-topbar-logo img { height:30px; display:block; }

/* Pagination */
.pager { display:flex; align-items:center; justify-content:center; gap:6px; margin-top:var(--s40); flex-wrap:wrap; }
.pager-btn, .pager-num {
  display:inline-flex; align-items:center; gap:5px; padding:8px 14px;
  border-radius:var(--r-sm); border:1px solid var(--border-2);
  color:var(--text-2); font-size:13.5px; font-weight:600;
  background:var(--bg-1); transition:all 0.15s; cursor:pointer;
}
.pager-num { min-width:40px; justify-content:center; }
.pager-btn:hover, .pager-num:hover { border-color:var(--gold); color:var(--gold-dark); }
[data-theme="dark"] .pager-btn:hover, [data-theme="dark"] .pager-num:hover { color:var(--gold); }
.pager-num.active { background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#12141A; border-color:transparent; }
.pager-btn.disabled { opacity:0.4; pointer-events:none; }
.pager-info { text-align:center; font-size:12.5px; color:var(--text-4); margin-top:12px; }

/* SweetAlert-style toast (self-contained, no external library) */
.toast-container { position:fixed; top:20px; right:20px; z-index:9999; display:flex; flex-direction:column; gap:12px; max-width:360px; }
.toast {
  display:flex; align-items:flex-start; gap:12px;
  background:var(--bg-1); border:1px solid var(--border-1); border-left:4px solid #c0392b;
  border-radius:var(--r-md); box-shadow:var(--shadow-hover);
  padding:14px 16px; overflow:hidden; position:relative;
  animation:toast-in 0.35s cubic-bezier(0.2,0.8,0.2,1);
}
.toast.toast-hide { animation:toast-out 0.3s forwards; }
.toast-success { border-left-color:#1e8e5a; }
.toast-icon { flex-shrink:0; width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; }
.toast-error .toast-icon { background:#c0392b; }
.toast-success .toast-icon { background:#1e8e5a; }
.toast-body { flex:1; min-width:0; }
.toast-title { font-size:14px; font-weight:700; color:var(--text-1); margin-bottom:2px; }
.toast-msg { font-size:13px; color:var(--text-3); line-height:1.5; word-break:break-word; }
.toast-close { background:none; border:none; color:var(--text-4); font-size:18px; line-height:1; cursor:pointer; padding:0 2px; flex-shrink:0; }
.toast-close:hover { color:var(--text-1); }
.toast-progress { position:absolute; bottom:0; left:0; height:3px; background:#c0392b; opacity:0.5; animation:toast-progress linear forwards; }
.toast-success .toast-progress { background:#1e8e5a; }
@keyframes toast-in { from { opacity:0; transform:translateX(120%); } to { opacity:1; transform:translateX(0); } }
@keyframes toast-out { to { opacity:0; transform:translateX(120%); } }
@keyframes toast-progress { from { width:100%; } to { width:0%; } }
@media (max-width:480px) {
  .toast-container { left:12px; right:12px; top:12px; max-width:none; }
}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact-section {
  background:var(--grad-section); padding:var(--s80) var(--s48);
  display:grid; grid-template-columns:1fr 1.5fr; gap:40px; align-items:start;
}
.contact-info {
  background:linear-gradient(145deg, #12141A 0%, #1a1e28 50%, #12141A 100%);
  border-radius:var(--r-xl);
  padding:var(--s40); position:relative; overflow:hidden; color:#fff;
}
.contact-info::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.15) 0%,transparent 65%);
}
.contact-info h2 { font-family:var(--font-display); font-size:32px; font-weight:700; margin-bottom:8px; }
.contact-info > p { font-size:13.5px; color:rgba(255,255,255,0.6); line-height:1.75; margin-bottom:32px; }
.contact-items { display:flex; flex-direction:column; gap:22px; }
.contact-item { display:flex; gap:16px; align-items:flex-start; }
.contact-item-icon {
  width:42px; height:42px; flex-shrink:0;
  background:rgba(201,168,76,0.15); border:1px solid rgba(201,168,76,0.25);
  border-radius:var(--r-md); display:flex; align-items:center; justify-content:center; font-size:17px;
}
.contact-item h5 { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.contact-item p { font-size:13.5px; color:rgba(255,255,255,0.75); line-height:1.6; }
.contact-form-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); padding:var(--s40);
  box-shadow:var(--shadow-card);
}
.contact-form-card h2 { font-family:var(--font-display); font-size:30px; font-weight:700; margin-bottom:6px; color:var(--text-1); }
.contact-form-card > p { font-size:13.5px; color:var(--text-3); margin-bottom:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-group { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.form-group label { font-size:11.5px; font-weight:600; color:var(--text-2); letter-spacing:0.3px; }
.form-group input,
.form-group textarea,
.form-group select {
  background:var(--bg-page); border:1px solid var(--border-2);
  border-radius:var(--r-sm); padding:11px 14px;
  font-size:13.5px; font-family:var(--font-body); color:var(--text-1);
  outline:none; transition:border-color 0.15s; resize:none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color:var(--gold); background:var(--bg-1); }
.form-group input::placeholder,
.form-group textarea::placeholder { color:var(--text-4); }
.form-submit {
  width:100%; background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#12141A;
  border:none; padding:14px; border-radius:var(--r-sm);
  font-size:14px; font-weight:700; cursor:pointer;
  font-family:var(--font-body); letter-spacing:0.2px;
  transition:all 0.25s; margin-top:4px;
}
.form-submit:hover { box-shadow:var(--shadow-gold), 0 0 24px rgba(201,168,76,0.3); transform:translateY(-1px); }

/* ── CTA BAND ────────────────────────────────────────────── */
.cta-band {
  background:var(--grad-dark); padding:var(--s56) var(--s48);
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  position:relative; overflow:hidden;
}
.cta-band::before {
  content:''; position:absolute; right:-40px; top:50%; transform:translateY(-50%);
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.15) 0%,transparent 65%);
  animation:float-glow 6s ease-in-out infinite;
}
.cta-band::after {
  content:''; position:absolute; left:-80px; bottom:-60px;
  width:250px; height:250px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.08) 0%,transparent 65%);
  animation:float-glow 8s ease-in-out infinite reverse;
}
.cta-band h2 { font-family:var(--font-display); font-size:30px; font-weight:700; max-width:440px; color:#fff; }
.cta-band p { font-size:14px; color:rgba(255,255,255,0.6); margin-top:6px; }
.cta-btns { display:flex; gap:12px; flex-shrink:0; }
.btn-white {
  background:#fff; color:#12141A; border:none;
  padding:12px 22px; border-radius:var(--r-sm);
  font-size:14px; font-weight:700; cursor:pointer;
  font-family:var(--font-body); white-space:nowrap; flex-shrink:0; transition:all 0.15s;
}
.btn-white:hover { transform:translateY(-1px); box-shadow:0 4px 12px rgba(0,0,0,0.15); }
.btn-ghost-light {
  background:transparent; color:rgba(255,255,255,0.8);
  border:1.5px solid rgba(255,255,255,0.25);
  padding:12px 22px; border-radius:var(--r-sm);
  font-size:14px; font-weight:500; cursor:pointer;
  font-family:var(--font-body); transition:all 0.15s;
}
.btn-ghost-light:hover { border-color:rgba(255,255,255,0.6); color:#fff; }

/* ── SERVICES FULL PAGE ──────────────────────────────────── */
.services-full-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-xl); overflow:hidden;
  display:grid; grid-template-columns:1fr 1.2fr;
  margin-bottom:24px; transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--shadow-card);
}
.services-full-card:hover {
  border-color:var(--border-gold);
  box-shadow:var(--shadow-hover);
  transform:translateY(-2px);
}
.services-full-img { height:100%; min-height:240px; border-radius:0; object-fit:cover; width:100%; display:block; }
.services-full-body { padding:40px; }
.services-full-body h2 { font-family:var(--font-display); font-size:28px; font-weight:700; margin-bottom:14px; color:var(--text-1); }
.services-full-body p { font-size:13.5px; color:var(--text-3); line-height:1.85; margin-bottom:20px; }
.services-bullets { list-style:none; display:flex; flex-direction:column; gap:8px; }
.services-bullets li { font-size:13px; color:var(--text-2); display:flex; gap:10px; align-items:flex-start; }
.services-bullets li::before { content:'\25C6'; color:var(--gold); font-size:8px; margin-top:5px; flex-shrink:0; }

/* ── PAGE HEADER ─────────────────────────────────────────── */
.page-header {
  background:var(--grad-hero); padding:var(--s64) var(--s48) var(--s48);
  position:relative; overflow:hidden; border-bottom:1px solid var(--border-1);
}
.page-header-bg {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(201,168,76,0.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,168,76,0.04) 1px,transparent 1px);
  background-size:48px 48px; pointer-events:none;
}
.page-header-bg::after {
  content:''; position:absolute; top:-50px; right:-50px;
  width:350px; height:350px; border-radius:50%;
  background:radial-gradient(circle, rgba(201,168,76,0.1) 0%, transparent 65%);
  animation:float-glow 8s ease-in-out infinite;
}
.breadcrumb { font-size:12px; color:var(--text-3); margin-bottom:10px; position:relative; }
.breadcrumb span { color:var(--gold-dark); font-weight:600; }
[data-theme="dark"] .breadcrumb span { color:var(--gold); }
.page-header h1 { font-family:var(--font-display); font-size:44px; font-weight:700; position:relative; letter-spacing:-0.3px; color:var(--text-1); }
.page-header p { font-size:14px; color:var(--text-3); max-width:560px; line-height:1.8; margin-top:10px; position:relative; }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer {
  background:var(--grad-dark);
  border-top:1px solid rgba(255,255,255,0.08);
  padding:var(--s64) var(--s48) var(--s32);
  position:relative;
}
.footer::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), var(--gold-light), var(--gold), transparent);
}
.footer-top {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.6fr; gap:40px;
  padding-bottom:var(--s48);
  border-bottom:1px solid rgba(255,255,255,0.08);
  margin-bottom:var(--s32);
}
.footer-logo-img {
  height:44px; width:auto; object-fit:contain;
  margin-bottom:16px;
  filter:brightness(2) contrast(0.85);
}
.footer-brand p { font-size:13px; color:rgba(255,255,255,0.4); line-height:1.8; max-width:280px; }
.footer-col h5 { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:1.2px; color:rgba(255,255,255,0.42); margin-bottom:16px; }
.footer-col a { display:block; font-size:13px; color:rgba(255,255,255,0.42); margin-bottom:10px; transition:color 0.15s; cursor:pointer; }
.footer-col a:hover { color:var(--gold); }
.newsletter-label { font-size:13px; color:rgba(255,255,255,0.6); margin-bottom:12px; line-height:1.6; }
.newsletter-row { display:flex; gap:8px; }
.newsletter-row input {
  flex:1; background:rgba(255,255,255,0.07);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:var(--r-sm); padding:9px 14px;
  font-size:12.5px; color:#fff; font-family:var(--font-body); outline:none;
}
.newsletter-row input::placeholder { color:rgba(255,255,255,0.3); }
.newsletter-row input:focus { border-color:rgba(201,168,76,0.4); }
.newsletter-row button {
  background:linear-gradient(135deg, var(--gold), var(--gold-light)); color:#12141A; border:none;
  padding:9px 16px; border-radius:var(--r-sm);
  font-size:12px; font-weight:700; cursor:pointer;
  font-family:var(--font-body); white-space:nowrap; transition:all 0.2s;
}
.newsletter-row button:hover { box-shadow:0 0 16px rgba(201,168,76,0.35); transform:translateY(-1px); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; }
.footer-bottom p { font-size:11.5px; color:rgba(255,255,255,0.3); }
.footer-bottom-links { display:flex; gap:20px; }
.footer-bottom-links a { font-size:11.5px; color:rgba(255,255,255,0.3); transition:color 0.15s; cursor:pointer; }
.footer-bottom-links a:hover { color:var(--gold); }

/* ── TESTIMONIAL CAROUSEL ────────────────────────────────── */
.testi-carousel { position:relative; overflow:hidden; padding:0 4px; }
.testi-carousel-track {
  display:flex;
  gap:20px;
  transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
}
.testi-carousel-track .testi-card {
  min-width:calc((100% - 40px) / 3);
  flex-shrink:0;
  margin:0;
  border-left:3px solid transparent;
  box-sizing:border-box;
}
.testi-carousel-controls {
  display:flex; align-items:center; justify-content:center;
  gap:16px; margin-top:32px;
}
.testi-prev, .testi-next {
  width:44px; height:44px; border-radius:50%;
  background:var(--grad-card); border:1px solid var(--border-1);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--text-2);
  transition:all 0.25s;
  box-shadow:var(--shadow-card);
}
.testi-prev:hover, .testi-next:hover {
  border-color:var(--gold); color:var(--gold);
  box-shadow:var(--shadow-gold);
  transform:scale(1.08);
}
.testi-dots { display:flex; gap:8px; }
.testi-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--border-2); border:none; cursor:pointer;
  transition:all 0.25s; padding:0;
}
.testi-dot.active {
  background:linear-gradient(135deg, var(--gold), var(--gold-light));
  width:28px; border-radius:var(--r-pill);
  box-shadow:0 0 8px rgba(201,168,76,0.3);
}

/* ── CLIENT LOGO MARQUEE ─────────────────────────────────── */
.logo-marquee {
  overflow:hidden; position:relative;
  mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.logo-marquee-track {
  display:flex; align-items:center; gap:48px;
  animation:marquee-scroll 30s linear infinite;
  width:max-content;
}
.logo-marquee-track img {
  height:48px; width:auto; object-fit:contain;
  filter:grayscale(100%) opacity(0.5);
  transition:all 0.3s;
}
.logo-marquee-track img:hover {
  filter:grayscale(0%) opacity(1);
  transform:scale(1.1);
}
@keyframes marquee-scroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

/* ── CLIENT LOGO GRID ────────────────────────────────────── */
.client-logo-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
  gap:16px;
}
.client-logo-card {
  background:var(--grad-card); border:1px solid var(--border-1);
  border-radius:var(--r-lg); padding:20px 16px 14px;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
  box-shadow:var(--shadow-card);
  text-align:center;
}
.client-logo-card:hover {
  border-color:var(--border-gold);
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.client-logo-card img {
  height:48px; width:auto; max-width:100%;
  object-fit:contain;
  filter:grayscale(30%);
  transition:all 0.3s;
}
.client-logo-card:hover img { filter:grayscale(0%); }
.client-logo-card span {
  font-size:10.5px; font-weight:600; color:var(--text-3);
  letter-spacing:0.2px; line-height:1.3;
}

/* Dark mode: wrap logos in white bg for visibility */
[data-theme="dark"] .client-logo-card img {
  background:#fff;
  padding:6px 10px;
  border-radius:var(--r-sm);
  filter:none;
}
[data-theme="dark"] .logo-marquee-track img {
  background:#fff;
  padding:6px 12px;
  border-radius:var(--r-sm);
  filter:grayscale(0%) opacity(0.85);
}
[data-theme="dark"] .logo-marquee-track img:hover {
  opacity:1;
  box-shadow:0 0 12px rgba(201,168,76,0.2);
}

/* ── KEYFRAME ANIMATIONS ─────────────────────────────────── */
@keyframes shimmer {
  0% { transform:translateX(-100%); }
  100% { transform:translateX(100%); }
}
@keyframes float-glow {
  0%,100% { transform:translate(0,0) scale(1); opacity:0.7; }
  50% { transform:translate(15px,-20px) scale(1.08); opacity:1; }
}
@keyframes gradient-shift {
  0% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}
@keyframes fade-up {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes fade-in {
  from { opacity:0; }
  to { opacity:1; }
}
@keyframes slide-in-left {
  from { opacity:0; transform:translateX(-40px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes slide-in-right {
  from { opacity:0; transform:translateX(40px); }
  to { opacity:1; transform:translateX(0); }
}
@keyframes scale-in {
  from { opacity:0; transform:scale(0.92); }
  to { opacity:1; transform:scale(1); }
}
@keyframes pulse-gold {
  0%,100% { box-shadow:0 0 0 0 rgba(201,168,76,0.3); }
  50% { box-shadow:0 0 0 10px rgba(201,168,76,0); }
}
@keyframes count-up-glow {
  0% { text-shadow:none; }
  50% { text-shadow:0 0 20px rgba(201,168,76,0.3); }
  100% { text-shadow:none; }
}
@keyframes border-flow {
  0% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
  100% { background-position:0% 50%; }
}

/* ── SCROLL REVEAL ───────────────────────────────────────── */
.reveal {
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal.visible {
  opacity:1;
  transform:translateY(0);
}
.reveal-left {
  opacity:0;
  transform:translateX(-40px);
  transition:opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal-left.visible {
  opacity:1;
  transform:translateX(0);
}
.reveal-right {
  opacity:0;
  transform:translateX(40px);
  transition:opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1);
}
.reveal-right.visible {
  opacity:1;
  transform:translateX(0);
}
.reveal-scale {
  opacity:0;
  transform:scale(0.9);
  transition:opacity 0.6s cubic-bezier(0.4,0,0.2,1), transform 0.6s cubic-bezier(0.4,0,0.2,1);
}
.reveal-scale.visible {
  opacity:1;
  transform:scale(1);
}

/* Stagger children */
.stagger-children > * { opacity:0; transform:translateY(20px); transition:opacity 0.5s, transform 0.5s; }
.stagger-children.visible > *:nth-child(1) { opacity:1; transform:none; transition-delay:0s; }
.stagger-children.visible > *:nth-child(2) { opacity:1; transform:none; transition-delay:0.08s; }
.stagger-children.visible > *:nth-child(3) { opacity:1; transform:none; transition-delay:0.16s; }
.stagger-children.visible > *:nth-child(4) { opacity:1; transform:none; transition-delay:0.24s; }
.stagger-children.visible > *:nth-child(5) { opacity:1; transform:none; transition-delay:0.32s; }
.stagger-children.visible > *:nth-child(6) { opacity:1; transform:none; transition-delay:0.4s; }
.stagger-children.visible > *:nth-child(n+7) { opacity:1; transform:none; transition-delay:0.48s; }

/* ── HERO ENTRANCE ANIMATIONS ────────────────────────────── */
.hero-content { animation:fade-up 0.8s cubic-bezier(0.4,0,0.2,1) both; }
.hero-visual { animation:slide-in-right 0.9s 0.3s cubic-bezier(0.4,0,0.2,1) both; }
.hero-badge { animation:fade-in 0.6s 0.2s both; }
.hero-title { animation:fade-up 0.7s 0.3s both; }
.hero-lead { animation:fade-up 0.7s 0.45s both; }
.hero-btns { animation:fade-up 0.7s 0.55s both; }
.hero-stats { animation:fade-up 0.7s 0.65s both; }
.hero-stats .stat-val { animation:count-up-glow 2s 1s both; }

/* ── ENHANCED CARD GRADIENTS ─────────────────────────────── */
.service-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:40%;
  background:linear-gradient(to top, rgba(201,168,76,0.03), transparent);
  pointer-events:none; opacity:0; transition:opacity 0.3s;
}
.service-card:hover::after { opacity:1; }

/* ── ANIMATED BORDER ACCENTS ─────────────────────────────── */
.testi-card { position:relative; overflow:visible; }
.testi-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),transparent);
  background-size:200% 100%;
  transform:scaleX(0); transform-origin:left; transition:transform 0.4s;
}
.testi-card:hover::before { transform:scaleX(1); animation:border-flow 2s linear infinite; }
.testi-card { overflow:hidden; }

.testi-stars { animation:none; transition:transform 0.3s; }
.testi-card:hover .testi-stars { transform:scale(1.05); }

/* ── PRODUCT CARD SHINE ──────────────────────────────────── */
.product-card { position:relative; }
.product-card::after {
  content:''; position:absolute; top:0; left:-100%; width:50%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,0.05),transparent);
  transition:left 0.6s;
}
.product-card:hover::after { left:150%; }

/* ── CONTACT CARD GLOW ───────────────────────────────────── */
.contact-info::after {
  content:''; position:absolute; bottom:-40px; left:50%; transform:translateX(-50%);
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle,rgba(201,168,76,0.1) 0%,transparent 65%);
  animation:float-glow 7s ease-in-out infinite;
}

/* ── CAREER HERO GLOW ANIMATION ──────────────────────────── */
.career-hero-glow { animation:float-glow 8s ease-in-out infinite; }

/* ── NAVBAR LOGO HOVER ────────────────────────────────────── */
.navbar-logo:hover .navbar-logo-img {
  filter:brightness(1.1);
  transform:scale(1.03);
}
[data-theme="dark"] .navbar-logo:hover .navbar-logo-img {
  filter:brightness(2) contrast(0.9);
}

/* ── FOOTER LINK UNDERLINE ANIMATION ─────────────────────── */
.footer-col a {
  position:relative;
}
.footer-col a::after {
  content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px;
  background:var(--gold);
  transition:width 0.25s;
}
.footer-col a:hover::after { width:100%; }

/* ── BADGE PULSE ─────────────────────────────────────────── */
.hero-badge { position:relative; }
.hero-badge::before {
  content:''; position:absolute; inset:-2px; border-radius:var(--r-pill);
  background:rgba(201,168,76,0.15);
  animation:pulse-gold 2.5s ease-in-out infinite;
}

/* ── BTN-WHITE SHIMMER ───────────────────────────────────── */
.btn-white { position:relative; overflow:hidden; }
.btn-white::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,0.15),transparent);
  transition:left 0.5s;
}
.btn-white:hover::after { left:100%; }

/* ── FORM FOCUS GLOW ─────────────────────────────────────── */
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  box-shadow:0 0 0 3px rgba(201,168,76,0.12);
}

/* ── FORM SUBMIT PULSE ───────────────────────────────────── */
.form-submit { position:relative; overflow:hidden; }
.form-submit::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s;
}
.form-submit:hover::after { left:100%; }

/* ── SKILL TAG HOVER ─────────────────────────────────────── */
.skill-tag { transition:all 0.2s; }
.skill-tag:hover {
  background:rgba(201,168,76,0.1);
  border-color:var(--border-gold);
  transform:translateY(-1px);
}

/* ── CLIENT TAG ENTRANCE ─────────────────────────────────── */
.client-tag { transition:all 0.2s; }

/* ── PAGE HEADER GRADIENT LINE ───────────────────────────── */
.page-header::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));
  background-size:200% 100%;
  animation:border-flow 4s linear infinite;
}

/* ── BREADCRUMB ARROW ────────────────────────────────────── */
.breadcrumb a { transition:color 0.15s; }
.breadcrumb a:hover { color:var(--gold); }

/* ── VISION CARD SHEEN ───────────────────────────────────── */
.vision-card { transition:all 0.3s; }
.vision-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.12); }
.vision-card.mission:hover { box-shadow:0 8px 24px rgba(201,168,76,0.25); }

/* ── CAREER APPLY BUTTON PULSE ───────────────────────────── */
.career-apply { position:relative; overflow:hidden; }
.career-apply::after {
  content:''; position:absolute; top:0; left:-100%; width:100%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);
  transition:left 0.5s;
}
.career-apply:hover::after { left:100%; }

/* ── NEWSLETTER BUTTON GLOW ──────────────────────────────── */
.newsletter-row button { position:relative; overflow:hidden; transition:all 0.2s; }
.newsletter-row button:hover { box-shadow:0 0 12px rgba(201,168,76,0.3); }

/* ── META CHIP HOVER ─────────────────────────────────────── */
.meta-chip { transition:all 0.2s; }
.meta-chip:hover { transform:translateY(-1px); box-shadow:0 2px 8px rgba(0,0,0,0.08); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity:1; transform:none; }
  .stagger-children > * { opacity:1; transform:none; }
}

/* ── SCROLLBAR ───────────────────────────────────────────── */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--bg-page); }
::-webkit-scrollbar-thumb { background:var(--border-2); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(201,168,76,0.4); }

/* ── RESPONSIVE ──────────────────────────────────────────── */
/* ── Homepage client showcase 6-col ──────────────────────── */
.client-logo-grid--home {
  grid-template-columns:repeat(6,1fr);
  max-width:960px; margin:0 auto;
}

/* ═══════════════════════════════════════════════════════════
   TABLET  (max-width: 1024px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  /* Layout */
  .hero { grid-template-columns:1fr; min-height:auto; padding:var(--s64) var(--s32); }
  .hero-visual { display:none; }
  .about-hero { grid-template-columns:1fr; gap:32px; padding:var(--s64) var(--s32); }
  .contact-section { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .why-left { padding-right:0; }

  /* Grids → 2 col */
  .services-grid { grid-template-columns:1fr 1fr; }
  .products-grid { grid-template-columns:1fr 1fr; }
  .testimonials-grid { grid-template-columns:1fr 1fr; }
  .career-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .vision-cards { grid-template-columns:1fr; }
  .client-logo-grid--home { grid-template-columns:repeat(3,1fr); }

  /* Carousel */
  .testi-carousel-track .testi-card { min-width:calc((100% - 20px) / 2); }

  /* Full-width cards → stack */
  .product-full-row { grid-template-columns:1fr; }
  .product-full-img { min-height:200px; height:200px; }
  .services-full-card { grid-template-columns:1fr; }
  .services-full-img { min-height:200px; height:200px; }

  /* Thrust section */
  .thrust-grid { grid-template-columns:1fr 1fr; gap:16px; padding:0 var(--s32); margin-top:-60px; }
  .thrust-banner { height:360px; }
  .thrust-banner-title { font-size:38px; }

  /* Why items */
  .why-items { gap:16px; }
  .why-item { padding:20px 22px; gap:14px; }

  /* Footer */
  .footer-top { grid-template-columns:1fr 1fr; }

  /* CTA */
  .cta-band { flex-direction:column; text-align:center; }

  /* Spacing */
  .section { padding:var(--s56) var(--s32); }
  .navbar { padding:0 24px; gap:16px; }
  .navbar-logo-img { height:34px; }

  /* Typography */
  .hero-title { font-size:44px; }
  .section-title { font-size:36px; }
}

/* ═══════════════════════════════════════════════════════════
   MOBILE  (max-width: 768px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width:768px) {
  /* ── Mobile Navigation ─────────────────────────────────── */
  .navbar { padding:0 16px; height:60px; }
  .navbar-logo-img { height:28px; }
  .navbar-links { display:none; }
  .navbar-links.open {
    display:flex; flex-direction:column;
    position:absolute; top:60px; left:0; right:0;
    background:var(--bg-nav);
    border-bottom:1px solid var(--border-1);
    padding:16px 20px; gap:4px;
    box-shadow:var(--shadow-card);
    backdrop-filter:blur(20px);
    z-index:300;
  }
  .navbar-links.open a {
    padding:12px 16px;
    font-size:14px;
    border-radius:var(--r-sm);
  }
  .navbar-links.open a.active {
    background:linear-gradient(135deg, rgba(201,168,76,0.1), rgba(201,168,76,0.04));
  }
  .navbar-cta { margin-left:0 !important; text-align:center; justify-content:center; width:100%; margin-top:8px; }
  .mobile-menu-btn { display:flex; align-items:center; margin-left:auto; }
  .theme-toggle { margin-left:0; }

  /* ── Hero ───────────────────────────────────────────────── */
  .hero { padding:var(--s48) var(--s16) var(--s40); min-height:auto; }
  .hero-title { font-size:34px; letter-spacing:-0.5px; }
  .hero-lead { font-size:14px; margin-bottom:24px; }
  .hero-btns { margin-bottom:32px; }
  .hero-stats { flex-wrap:wrap; gap:16px; padding:16px 20px; }
  .stat-val { font-size:28px; }
  .stat-lbl { font-size:10px; }
  .hero-badge { font-size:10px; padding:4px 10px; }

  /* ── Sections ──────────────────────────────────────────── */
  .section { padding:var(--s48) var(--s16); }
  .section-title { font-size:30px; }
  .section-sub { font-size:14px; margin-bottom:32px; }
  .section-eyebrow { font-size:10px; }
  .divider { margin:0 16px; }

  /* ── Grids → single column ─────────────────────────────── */
  .services-grid { grid-template-columns:1fr; }
  .products-grid { grid-template-columns:1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .career-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr 1fr; }

  /* ── Job posting + apply form ──────────────────────────── */
  .job-post-grid { grid-template-columns:1fr; gap:var(--s24); padding:var(--s24); }
  .job-post-header { padding:var(--s24); }
  .job-post-title { font-size:26px; }
  .job-apply-panel { grid-template-columns:1fr; gap:var(--s24); padding:var(--s24); }
  .apply-hero h1 { font-size:32px; }
  .apply-layout { grid-template-columns:1fr; gap:var(--s24); }
  .apply-aside { position:static; }
  .apply-card { padding:var(--s24); }
  .jform-2col { grid-template-columns:1fr; gap:0; }
  .thankyou-card { padding:var(--s32) var(--s24); }
  .thankyou-card h1 { font-size:30px; }

  /* ── Admin application cards ────────────────────────────── */
  .admin-head { flex-direction:column; align-items:flex-start; }
  .app-list { grid-template-columns:1fr; }

  /* ── Client logo grids ─────────────────────────────────── */
  .client-logo-grid { grid-template-columns:repeat(3, 1fr); gap:10px; }
  .client-logo-grid--home { grid-template-columns:repeat(3,1fr); max-width:none; }
  .client-logo-card { padding:14px 10px 10px; }
  .client-logo-card img { height:36px; }
  .client-logo-card span { font-size:9px; }

  /* ── Carousel ──────────────────────────────────────────── */
  .testi-carousel-track .testi-card { min-width:100%; }
  .testi-carousel-track { gap:16px; }
  .testi-card { padding:22px 20px; }
  .testi-quote { font-size:15px; margin-bottom:16px; }
  .testi-stars { font-size:13px; margin-bottom:10px; }
  .testi-carousel-controls { gap:12px; margin-top:24px; }
  .testi-prev, .testi-next { width:38px; height:38px; }
  .testi-dot { width:8px; height:8px; }
  .testi-dot.active { width:22px; }

  /* ── Thrust section ────────────────────────────────────── */
  .thrust-banner { height:280px; }
  .thrust-banner-title { font-size:28px; }
  .thrust-banner-sub { font-size:13px; }
  .thrust-banner-content { padding:var(--s24) var(--s16) var(--s48); }
  .thrust-grid { grid-template-columns:1fr; padding:0 var(--s16); margin-top:-40px; padding-bottom:var(--s48); gap:14px; }
  .thrust-card { padding:24px 20px 20px; }
  .thrust-card-num { font-size:44px; top:8px; right:14px; }
  .thrust-card-icon { width:44px; height:44px; margin-bottom:16px; }
  .thrust-card h3 { font-size:19px; }
  .thrust-card p { font-size:12.5px; }

  /* ── Products full page ────────────────────────────────── */
  .product-full-row { grid-template-columns:1fr; }
  .product-full-img { min-height:160px; height:180px; }
  .product-full-body { padding:24px 20px; }
  .product-full-body h2 { font-size:22px; }
  .product-meta { gap:8px; }
  .meta-chip { font-size:10px; padding:4px 10px; }

  /* ── Services full page ────────────────────────────────── */
  .services-full-card { grid-template-columns:1fr; border-radius:var(--r-lg); }
  .services-full-img { min-height:180px; height:180px; }
  .services-full-body { padding:28px 20px; }
  .services-full-body h2 { font-size:22px; }

  /* ── About page ────────────────────────────────────────── */
  .about-hero { grid-template-columns:1fr; gap:24px; padding:var(--s48) var(--s16); }
  .about-title { font-size:34px; }
  .about-lead { font-size:14px; }
  .vision-cards { grid-template-columns:1fr; gap:12px; }
  .vision-card { padding:22px; }

  /* ── Why / Pillars items ────────────────────────────────── */
  .why-section { padding:var(--s48) var(--s16); }
  .why-items { gap:14px; }
  .why-item {
    flex-direction:column; gap:12px;
    padding:20px 18px; text-align:center; align-items:center;
  }
  .why-item:hover { transform:translateY(-3px); transform:translateX(0); border-left:1px solid var(--border-gold); }
  .why-num {
    width:44px; height:44px; font-size:20px;
    border-radius:50%;
  }
  .why-item h4 { font-size:14px; }
  .why-item p { font-size:12.5px; line-height:1.65; }

  /* ── Career page ───────────────────────────────────────── */
  .career-hero { padding:var(--s48) var(--s16); }
  .career-hero h1 { font-size:34px; }
  .career-hero p { font-size:14px; margin-bottom:24px; }
  .career-card-img { height:160px; }
  .career-card-body { padding:20px; }
  .career-card-body h3 { font-size:19px; }
  .career-skills { gap:4px; }
  .skill-tag { font-size:10px; padding:2px 7px; }

  /* ── Contact page ──────────────────────────────────────── */
  .contact-section { grid-template-columns:1fr; padding:var(--s48) var(--s16); gap:24px; }
  .contact-info { padding:var(--s32) var(--s24); border-radius:var(--r-lg); }
  .contact-info h2 { font-size:26px; }
  .contact-form-card { padding:var(--s32) var(--s24); border-radius:var(--r-lg); }
  .contact-form-card h2 { font-size:24px; }
  .contact-map iframe { height:260px; }

  /* ── Clients page ──────────────────────────────────────── */
  .clients-section { padding:var(--s48) var(--s16); }
  .clients-region { margin-bottom:28px; }
  .region-heading span { font-size:10px; }

  /* ── Logo marquee ──────────────────────────────────────── */
  .logo-marquee-track { gap:32px; }
  .logo-marquee-track img { height:36px; }

  /* ── Page header ───────────────────────────────────────── */
  .page-header { padding:var(--s48) var(--s16) var(--s32); }
  .page-header h1 { font-size:32px; }
  .page-header p { font-size:13px; }
  .breadcrumb { font-size:11px; }

  /* ── CTA Band ──────────────────────────────────────────── */
  .cta-band { padding:var(--s40) var(--s16); flex-direction:column; text-align:center; }
  .cta-band h2 { font-size:24px; }
  .cta-band p { font-size:13px; }
  .cta-btns { flex-direction:column; width:100%; }
  .btn-white, .btn-ghost-light { width:100%; text-align:center; justify-content:center; display:flex; }

  /* ── Footer ────────────────────────────────────────────── */
  .footer { padding:var(--s48) var(--s16) var(--s24); }
  .footer-top { grid-template-columns:1fr; gap:28px; }
  .footer-logo-img { height:36px; }
  .footer-brand p { font-size:12px; }
  .footer-col h5 { margin-bottom:10px; }
  .footer-col a { font-size:12px; margin-bottom:8px; }
  .newsletter-row { flex-direction:column; }
  .newsletter-row input { width:100%; }
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  .footer-bottom p { font-size:10px; }
  .footer-bottom-links { gap:14px; }
  .footer-bottom-links a { font-size:10px; }

  /* ── Buttons ───────────────────────────────────────────── */
  .btn { padding:11px 22px; font-size:13px; }
}

/* ═══════════════════════════════════════════════════════════
   SMALL MOBILE  (max-width: 480px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width:480px) {
  .hero-title { font-size:28px; }
  .hero-lead { font-size:13px; }
  .hero-stats { gap:12px; padding:14px 16px; }
  .stat-val { font-size:24px; }
  .hero-btns { flex-direction:column; }
  .hero-btns .btn { width:100%; justify-content:center; }

  .section-title { font-size:26px; }
  .thrust-banner { height:240px; }
  .thrust-banner-title { font-size:24px; }
  .thrust-card-num { font-size:36px; }

  .team-grid { grid-template-columns:1fr; }
  .client-logo-grid { grid-template-columns:repeat(2, 1fr); }
  .client-logo-grid--home { grid-template-columns:repeat(2,1fr); }

  .form-row { grid-template-columns:1fr; }
  .about-title { font-size:28px; }
  .career-hero h1 { font-size:28px; }
  .page-header h1 { font-size:26px; }

  .contact-info h2 { font-size:22px; }
  .contact-form-card h2 { font-size:20px; }
  .contact-map iframe { height:200px; }

  .product-full-body h2 { font-size:20px; }
  .services-full-body h2 { font-size:20px; }
}
