/* ============================================================
   company-about-us.css  v4.0
   Shans Lanka Travels — About Us  |  Premium Ivory Luxury Redesign
   All values reference main.css design tokens only.
   NO hardcoded colors, fonts, or spacing.
   ============================================================ */

/* ── Loading Overlay ──────────────────────────────────────── */
.loading-overlay {
  position: fixed; inset: 0; z-index: var(--z-index-maximum);
  background: var(--color-navy-abyss);
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.loading-overlay.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loading-spinner { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-4); }
.spinner-ring {
  width: 52px; height: 52px;
  border: 2px solid var(--color-white-10);
  border-top-color: var(--color-gold);
  border-right-color: var(--color-gold-light);
  border-radius: 50%;
  animation: spinRing 0.9s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
@keyframes spinRing { to { transform: rotate(360deg); } }
.loading-text {
  font-family: var(--font-display); color: var(--color-gold);
  font-size: var(--text-base); letter-spacing: var(--ls-widest); font-weight: var(--font-weight-light);
}

/* ── Scroll Reveal Variants ───────────────────────────────── */
.reveal-on-scroll {
  opacity: 0; transform: translateY(32px);
  transition: opacity 0.75s cubic-bezier(0.4, 0, 0.2, 1), transform 0.75s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal-on-scroll.revealed { opacity: 1; transform: translateY(0); }
.reveal-on-scroll:nth-child(2) { transition-delay: 0.1s; }
.reveal-on-scroll:nth-child(3) { transition-delay: 0.2s; }
.reveal-on-scroll:nth-child(4) { transition-delay: 0.3s; }
.reveal-on-scroll:nth-child(5) { transition-delay: 0.4s; }
.reveal-on-scroll:nth-child(6) { transition-delay: 0.5s; }

/* ── Hero Extras ──────────────────────────────────────────── */
.hero-eyebrow {
  font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold); letter-spacing: var(--ls-widest);
  text-transform: uppercase; color: var(--color-gold);
  margin-bottom: var(--spacing-4); display: block;
  animation: fadeInDown 0.8s ease forwards;
}
.hero-title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-4xl), 5vw, var(--text-7xl));
  font-weight: var(--font-weight-semibold); color: var(--color-white);
  margin-bottom: var(--spacing-5); line-height: var(--leading-tight);
  animation: fadeInUp 0.9s ease 0.1s forwards; opacity: 0;
}
.hero-subtitle {
  font-family: var(--font-elegant);
  font-size: clamp(var(--text-lg), 2vw, var(--text-2xl));
  color: var(--color-white-80); font-style: italic;
  margin-bottom: var(--spacing-7);
  animation: fadeInUp 0.9s ease 0.25s forwards; opacity: 0;
}
.hero-badges {
  display: flex; gap: var(--spacing-3); justify-content: center; flex-wrap: wrap;
  animation: fadeInUp 0.9s ease 0.4s forwards; opacity: 0;
}
.hero-badge {
  background: rgba(var(--color-navy-rgb), 0.55);
  border: 1px solid rgba(var(--color-gold-rgb), 0.35);
  color: var(--color-white-90); font-family: var(--font-primary);
  font-size: var(--text-xs); font-weight: var(--font-weight-medium);
  letter-spacing: var(--ls-wide); padding: var(--spacing-2) var(--spacing-4);
  border-radius: var(--radius-full); backdrop-filter: blur(12px);
  transition: var(--transition-elegant);
}
.hero-badge:hover {
  background: rgba(var(--color-gold-rgb), 0.18);
  border-color: rgba(var(--color-gold-rgb), 0.65);
  transform: translateY(-2px);
}
.hero-badge i { color: var(--color-gold); margin-right: var(--spacing-1-5); }

/* ── Section Base ─────────────────────────────────────────── */
.au-section { padding: var(--spacing-24) 0; position: relative; }
.au-section-light {
  background: var(--bg-secondary);
}
.au-section-dark {
  background: var(--color-navy-abyss);
  position: relative; overflow: hidden;
}
.au-section-dark::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--color-gold-rgb), 0.06) 0%, transparent 70%);
  pointer-events: none;
}
.au-section-header { margin-bottom: var(--spacing-12); }
.au-section-eyebrow {
  display: inline-flex; align-items: center; gap: var(--spacing-2);
  font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold); letter-spacing: var(--ls-widest);
  text-transform: uppercase; color: var(--color-gold-darker); margin-bottom: var(--spacing-3);
}
.au-section-eyebrow::before, .au-section-eyebrow::after {
  content: ''; display: block; width: 24px; height: 1px;
  background: var(--color-gold); opacity: 0.6;
}
.au-section-eyebrow--light { color: var(--color-gold-light); }
.au-section-eyebrow--light::before, .au-section-eyebrow--light::after {
  background: var(--color-gold-light);
}
.au-section-title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-3xl), 3.5vw, var(--text-5xl));
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-4); letter-spacing: -0.02em; line-height: var(--leading-tight);
}
.au-section-title--light { color: var(--color-white); }
.au-section-subtitle {
  font-family: var(--font-primary); font-size: var(--text-lg);
  color: var(--text-muted); max-width: 580px; margin: 0 auto;
  line-height: var(--leading-relaxed);
}

/* ── Introduction Card ────────────────────────────────────── */
.au-intro-card {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-3xl);
  padding: var(--spacing-14);
  box-shadow: var(--shadow-luxury);
  position: relative; overflow: hidden;
}
.au-intro-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--gradient-gold);
}
.au-intro-card::after {
  content: '';
  position: absolute; bottom: 0; right: 0;
  width: 300px; height: 300px;
  background: radial-gradient(circle at bottom right, rgba(var(--color-gold-rgb), 0.05) 0%, transparent 70%);
  pointer-events: none;
}
.au-intro-icon {
  font-size: var(--text-4xl); color: var(--color-gold); margin-bottom: var(--spacing-6);
  opacity: 0.5; display: block;
  animation: float 6s ease-in-out infinite;
}
.au-intro-quote {
  font-family: var(--font-elegant);
  font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl));
  font-style: italic; color: var(--color-gold-light);
  line-height: var(--leading-relaxed); border: none; padding: 0;
  margin-bottom: var(--spacing-8); position: relative;
}
.au-intro-quote::before {
  content: '"';
  font-family: var(--font-display); font-size: 5rem;
  color: var(--color-gold); opacity: 0.15;
  position: absolute; top: -2rem; left: -1rem; line-height: 1;
}
.au-intro-body {
  font-family: var(--font-primary); font-size: var(--text-md);
  color: var(--text-secondary); line-height: var(--leading-relaxed);
  margin-bottom: var(--spacing-5);
}
.au-intro-body:last-child { margin-bottom: 0; }
.au-intro-body strong { color: var(--text-primary); font-weight: var(--font-weight-semibold); }

/* ── Stats Strip ──────────────────────────────────────────── */
.au-stats-section {
  background: var(--color-navy);
  padding: var(--spacing-16) 0;
  position: relative; overflow: hidden;
}
.au-stats-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
  opacity: 0.4;
}
.au-stats-section::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
  opacity: 0.4;
}
.au-stat-card {
  background: var(--color-white-05);
  border: 1px solid var(--color-white-10);
  border-radius: var(--radius-2xl);
  padding: var(--spacing-8) var(--spacing-5);
  text-align: center;
  transition: var(--transition-premium); position: relative; overflow: hidden;
}
.au-stat-card::before {
  content: ''; position: absolute; inset: 0;
  background: var(--gradient-gold); opacity: 0;
  transition: opacity var(--transition-elegant);
}
.au-stat-card:hover {
  border-color: rgba(var(--color-gold-rgb), 0.4);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.3), 0 0 0 1px rgba(var(--color-gold-rgb), 0.2);
}
.au-stat-card:hover::before { opacity: 0.06; }
.au-stat-number {
  display: block; font-family: var(--font-display);
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  font-weight: var(--font-weight-bold); color: var(--color-gold);
  line-height: 1; margin-bottom: var(--spacing-3);
  background: var(--gradient-text);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.au-stat-plus { font-size: 70%; }
.au-stat-label {
  display: block; font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-medium); letter-spacing: var(--ls-wider);
  text-transform: uppercase; color: var(--color-white-50);
}

/* ── Vision / Mission Cards ───────────────────────────────── */
.au-vm-card {
  background: var(--bg-primary);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl); padding: var(--spacing-10); height: 100%;
  transition: var(--transition-premium); position: relative; overflow: hidden;
}
.au-vm-card::after {
  content: '';
  position: absolute; bottom: 0; right: 0;
  width: 120px; height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--color-gold-rgb), 0.05) 0%, transparent 70%);
  transition: var(--transition-smooth);
}
.au-vm-card:hover {
  box-shadow: var(--shadow-luxury); transform: translateY(-6px);
  border-color: var(--border-gold);
}
.au-vm-card:hover::after { transform: scale(2); }
.au-vm-icon {
  width: 60px; height: 60px; border-radius: var(--radius-xl);
  background: var(--color-navy); display: flex; align-items: center;
  justify-content: center; margin-bottom: var(--spacing-6); font-size: var(--text-2xl);
  color: var(--color-white); transition: var(--transition-elegant);
}
.au-vm-icon--gold { background: var(--color-gold-bg); border: 1px solid var(--border-gold); }
.au-vm-icon--gold i { color: var(--color-gold); }
.au-vm-icon--green { background: var(--color-green-bg); border: 1px solid rgba(var(--color-green-rgb),0.3); }
.au-vm-icon--green i { color: var(--color-green); }
.au-vm-card:hover .au-vm-icon { transform: scale(1.1) rotate(5deg); }
.au-vm-title {
  font-family: var(--font-display); font-size: var(--text-2xl);
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-4); letter-spacing: -0.01em;
}
.au-vm-text {
  font-family: var(--font-primary); font-size: var(--text-base);
  color: var(--text-muted); line-height: var(--leading-relaxed); margin: 0;
}

/* ── Values Cards ─────────────────────────────────────────── */
.au-value-card {
  background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl); padding: var(--spacing-8); height: 100%;
  transition: var(--transition-premium); position: relative; overflow: hidden;
}
.au-value-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 0;
  background: var(--gradient-gold); transition: height var(--transition-slow);
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.au-value-card:hover {
  box-shadow: var(--shadow-premium); transform: translateY(-5px);
  border-color: var(--border-gold);
}
.au-value-card:hover::before { height: 100%; }
.au-value-icon {
  width: 52px; height: 52px; border-radius: var(--radius-lg);
  background: var(--color-navy); display: flex; align-items: center;
  justify-content: center; margin-bottom: var(--spacing-5); font-size: var(--text-xl);
  color: var(--color-white-70); transition: var(--transition-elegant);
}
.au-value-icon--gold { background: var(--color-gold-bg); border: 1px solid var(--border-gold); }
.au-value-icon--gold i { color: var(--color-gold); }
.au-value-icon--green { background: var(--color-green-bg); border: 1px solid rgba(var(--color-green-rgb),0.3); }
.au-value-icon--green i { color: var(--color-green); }
.au-value-card:hover .au-value-icon { transform: scale(1.12) rotate(-5deg); box-shadow: var(--shadow-gold); }
.au-value-title {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-3); letter-spacing: -0.01em;
}
.au-value-text {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--text-muted); line-height: var(--leading-relaxed); margin: 0;
}

/* ── Leadership Cards ─────────────────────────────────────── */
.au-leader-card {
  border-radius: var(--radius-3xl); padding: var(--spacing-10);
  height: 100%; text-align: center;
}
.au-leader-card--primary {
  background: linear-gradient(145deg, var(--color-navy-card) 0%, var(--color-navy) 100%);
  border: 1px solid var(--border-gold);
  box-shadow: var(--shadow-luxury);
  position: relative; overflow: hidden;
  padding: 0; text-align: left;
  display: flex; align-items: stretch;
  transition: var(--transition-premium);
}
.au-leader-card--primary:hover { box-shadow: var(--glow-premium); }
.au-leader-card--primary::before {
  content: '';
  position: absolute; top: -50%; right: -50%;
  width: 200%; height: 200%;
  background: radial-gradient(circle at 70% 30%, rgba(var(--color-gold-rgb), 0.06) 0%, transparent 50%);
  pointer-events: none;
}
.au-leader-card--secondary {
  background: var(--color-white-05); border: 1px solid var(--color-white-10);
  transition: border-color var(--transition-elegant);
}
.au-leader-card--secondary:hover { border-color: var(--border-gold); }

/* Founder portrait — fills the card's left column edge-to-edge */
.au-leader-photo {
  position: relative; flex: 0 0 42%; max-width: 340px; overflow: hidden;
  border-right: 1px solid rgba(var(--color-gold-rgb), 0.25);
}
.au-leader-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform var(--transition-slow);
}
.au-leader-card--primary:hover .au-leader-photo img { transform: scale(1.06); }
.au-leader-content { padding: var(--spacing-10); flex: 1; position: relative; z-index: 1; align-self: center; }

/* Legacy round avatar — retained for secondary/co-founder cards */
.au-leader-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  background: var(--gradient-gold);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto var(--spacing-5); font-size: var(--text-3xl); color: var(--color-navy);
  box-shadow: var(--shadow-gold);
  transition: transform var(--transition-elegant); overflow: hidden;
}
.au-leader-card--secondary:hover .au-leader-avatar { transform: scale(1.08) rotate(-4deg); }
.au-leader-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.au-leader-badge {
  display: inline-block; font-size: var(--text-xs); font-weight: var(--font-weight-semibold);
  letter-spacing: var(--ls-wider); text-transform: uppercase;
  background: var(--color-gold-bg); color: var(--color-gold);
  border: 1px solid var(--border-gold); border-radius: var(--radius-full);
  padding: var(--spacing-1) var(--spacing-4); margin-bottom: var(--spacing-3);
}
.au-leader-name {
  font-family: var(--font-display); font-size: var(--text-3xl);
  font-weight: var(--font-weight-bold); color: var(--color-white);
  margin-bottom: var(--spacing-1); letter-spacing: -0.01em;
}
.au-leader-role {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--color-gold-light); letter-spacing: var(--ls-wide);
  margin-bottom: var(--spacing-5); display: block;
}
.au-leader-bio {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--color-white-60); line-height: var(--leading-relaxed); margin: 0;
}
@media (max-width: 767.98px) {
  .au-leader-card--primary { flex-direction: column; text-align: center; }
  .au-leader-photo { flex: none; max-width: none; aspect-ratio: 4 / 3; border-right: none; border-bottom: 1px solid rgba(var(--color-gold-rgb), 0.25); }
  .au-leader-content { padding: var(--spacing-8); align-self: auto; }
}
.au-btn-outline-light {
  display: inline-flex; align-items: center; gap: var(--spacing-2);
  font-family: var(--font-primary); font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold); color: var(--color-white-90);
  border: 1.5px solid rgba(var(--color-gold-rgb), 0.45);
  border-radius: var(--radius-lg); padding: var(--spacing-3-5) var(--spacing-7);
  text-decoration: none; backdrop-filter: blur(8px);
  background: rgba(var(--color-gold-rgb), 0.06);
  transition: var(--transition-elegant);
}
.au-btn-outline-light:hover {
  border-color: var(--color-gold); color: var(--color-gold);
  background: rgba(var(--color-gold-rgb), 0.14); transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(var(--color-gold-rgb), 0.2);
}

/* ── Team Strip (Leadership) — small supporting thumbnails ───────── */
.au-team-strip { max-width: 860px; margin: 0 auto; text-align: center; }
.au-team-strip-label {
  font-family: var(--font-primary); font-size: var(--text-xs); font-weight: var(--font-weight-semibold);
  letter-spacing: var(--ls-wider); text-transform: uppercase; color: var(--color-white-60);
  margin-bottom: var(--spacing-5);
}
.au-team-strip-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--spacing-4); }
.au-team-strip-photo {
  position: relative; overflow: hidden; border-radius: var(--radius-lg); aspect-ratio: 1 / 1;
  border: 1px solid var(--color-white-10); transition: var(--transition-premium);
}
.au-team-strip-photo::after {
  content: '\f00e'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center; font-size: var(--text-lg); color: var(--color-white);
  background: rgba(var(--color-navy-rgb),0.4); opacity: 0; transition: opacity var(--transition-elegant); pointer-events: none;
}
.au-team-strip-photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(55%) brightness(0.98);
  transition: transform var(--transition-slow), filter var(--transition-slow);
}
.au-team-strip-photo:hover { border-color: rgba(var(--color-gold-rgb),0.5); transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,0.3); }
.au-team-strip-photo:hover img { transform: scale(1.12); filter: grayscale(0%) brightness(1.02); }
.au-team-strip-photo:hover::after { opacity: 1; }
@media (max-width: 575px) { .au-team-strip-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── Services Items ───────────────────────────────────────── */
.au-service-item {
  display: flex; gap: var(--spacing-5); align-items: flex-start;
  padding: var(--spacing-6) var(--spacing-7);
  background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl); height: 100%;
  transition: var(--transition-premium); position: relative; overflow: hidden;
}
.au-service-item::after {
  content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: var(--gradient-gold); transform: scaleX(0); transform-origin: left;
  transition: transform var(--transition-elegant);
}
.au-service-item:hover { box-shadow: var(--shadow-lg); border-color: var(--border-gold); transform: translateY(-4px); }
.au-service-item:hover::after { transform: scaleX(1); }
.au-service-item > i {
  font-size: var(--text-2xl); color: var(--color-gold);
  margin-top: var(--spacing-1); flex-shrink: 0; width: 28px; text-align: center;
  transition: var(--transition-elegant);
}
.au-service-item:hover > i { transform: scale(1.2); }
.au-service-item h5 {
  font-family: var(--font-display); font-size: var(--text-lg);
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-2); letter-spacing: -0.01em;
}
.au-service-item p {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--text-muted); line-height: var(--leading-relaxed); margin: 0;
}
.au-btn-primary {
  display: inline-flex; align-items: center; gap: var(--spacing-2);
  font-family: var(--font-primary); font-size: var(--text-sm);
  font-weight: var(--font-weight-bold); color: var(--color-navy-deep);
  background: var(--gradient-gold); border-radius: var(--radius-xl);
  padding: var(--spacing-4) var(--spacing-10); text-decoration: none;
  box-shadow: var(--shadow-gold); transition: var(--transition-elegant);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
}
.au-btn-primary:hover {
  background: var(--gradient-gold-hover); box-shadow: var(--shadow-gold-lg);
  transform: translateY(-3px); color: var(--color-navy-deep);
}

/* ── Advantages Cards ─────────────────────────────────────── */
.au-advantage-card {
  background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl); padding: var(--spacing-8); height: 100%;
  position: relative; overflow: hidden;
  transition: var(--transition-premium);
}
.au-advantage-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: var(--gradient-gold); opacity: 0;
  transition: opacity var(--transition-elegant);
}
.au-advantage-card:hover {
  box-shadow: var(--shadow-premium); border-color: var(--border-gold); transform: translateY(-5px);
}
.au-advantage-card:hover::before { opacity: 0.04; }
.au-advantage-num {
  font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5rem);
  font-weight: var(--font-weight-bold); color: var(--color-gold);
  opacity: 0.1; position: absolute; top: var(--spacing-3); right: var(--spacing-5);
  line-height: 1; transition: opacity var(--transition-elegant);
}
.au-advantage-card:hover .au-advantage-num { opacity: 0.18; }
.au-advantage-title {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-3); letter-spacing: -0.01em;
}
.au-advantage-text {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--text-muted); line-height: var(--leading-relaxed); margin: 0;
}

/* ── Markets ──────────────────────────────────────────────── */
.au-market-card {
  display: flex; flex-direction: column; align-items: center; gap: var(--spacing-2);
  background: var(--bg-primary); border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl);
  padding: var(--spacing-6) var(--spacing-4); text-align: center;
  transition: var(--transition-premium);
}
.au-market-card:hover {
  box-shadow: var(--shadow-md); border-color: var(--border-gold); transform: translateY(-4px);
}
.au-market-flag { font-size: 2.2rem; line-height: 1; display: block; }
.au-market-name {
  font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold); color: var(--text-secondary);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
}
.au-market-pct {
  font-family: var(--font-display); font-size: var(--text-xl);
  font-weight: var(--font-weight-bold); color: var(--color-gold-dark);
}
.au-market-note {
  font-family: var(--font-primary); font-size: var(--text-xs);
  color: var(--text-muted); letter-spacing: var(--ls-wide);
  margin-top: var(--spacing-5); margin-bottom: 0;
}
.au-languages-bar {
  display: flex; align-items: center; gap: var(--spacing-2);
  flex-wrap: wrap; justify-content: center;
  padding: var(--spacing-5) var(--spacing-8);
  background: var(--bg-secondary);
  border: 1px solid var(--border-secondary);
  border-radius: var(--radius-2xl);
}
.au-lang-label {
  font-family: var(--font-primary); font-size: var(--text-xs);
  color: var(--color-gray-600); font-weight: var(--font-weight-semibold);
  letter-spacing: var(--ls-wider); text-transform: uppercase;
  margin-right: var(--spacing-2);
}
.au-lang-tag {
  font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-semibold); color: var(--color-gold-dark);
  background: var(--color-gold-bg); border: 1px solid var(--border-gold);
  border-radius: var(--radius-full); padding: var(--spacing-1) var(--spacing-3);
  transition: var(--transition-fast);
}
.au-lang-tag:hover { background: var(--gradient-gold); color: var(--color-navy-deep); }

/* ── Contact Card ─────────────────────────────────────────── */
.au-contact-card {
  background: var(--bg-primary);
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-3xl); padding: var(--spacing-12);
  box-shadow: var(--shadow-luxury); position: relative; overflow: hidden;
}
.au-contact-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--gradient-gold);
}
.au-contact-title {
  font-family: var(--font-display); font-size: var(--text-3xl);
  font-weight: var(--font-weight-semibold); color: var(--text-primary);
  margin-bottom: var(--spacing-2); letter-spacing: -0.02em;
}
.au-contact-subtitle {
  font-family: var(--font-elegant); font-size: var(--text-lg);
  color: var(--text-muted); font-style: italic;
}
.au-contact-item { display: flex; gap: var(--spacing-4); align-items: flex-start; }
.au-contact-item i {
  color: var(--color-gold); font-size: var(--text-lg);
  margin-top: var(--spacing-1); flex-shrink: 0; width: 20px;
}
.au-contact-item strong {
  display: block; font-family: var(--font-primary); font-size: var(--text-xs);
  font-weight: var(--font-weight-bold); letter-spacing: var(--ls-wider);
  text-transform: uppercase; color: var(--text-secondary); margin-bottom: var(--spacing-1);
}
.au-contact-item span, .au-contact-item a {
  font-family: var(--font-primary); font-size: var(--text-sm);
  color: var(--text-muted); line-height: var(--leading-snug);
  text-decoration: none; transition: color var(--transition-fast);
}
.au-contact-item a:hover { color: var(--color-gold-light); }

/* ── CTA Section ──────────────────────────────────────────── */
.au-cta-section {
  background: var(--gradient-premium); padding: var(--spacing-28) 0;
  position: relative; overflow: hidden;
}
.au-cta-section::before {
  content: '';
  position: absolute; top: -50%; left: -25%;
  width: 150%; height: 200%;
  background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(var(--color-gold-rgb), 0.07) 0%, transparent 70%);
  animation: rotate 30s linear infinite;
}
.au-cta-inner { max-width: 700px; margin: 0 auto; position: relative; }
.au-cta-eyebrow {
  font-family: var(--font-primary); font-size: var(--text-xs);
  letter-spacing: var(--ls-widest); text-transform: uppercase;
  color: var(--color-gold-light); margin-bottom: var(--spacing-4); display: block;
}
.au-cta-title {
  font-family: var(--font-display);
  font-size: clamp(var(--text-3xl), 4vw, var(--text-5xl));
  font-weight: var(--font-weight-semibold); color: var(--color-white);
  margin-bottom: var(--spacing-5); line-height: var(--leading-tight); letter-spacing: -0.02em;
}
.au-cta-subtitle {
  font-family: var(--font-elegant); font-size: var(--text-xl);
  font-style: italic; color: var(--color-white-70); margin-bottom: var(--spacing-10);
}
.au-cta-actions { display: flex; gap: var(--spacing-4); justify-content: center; flex-wrap: wrap; }
.au-btn-cta {
  display: inline-flex; align-items: center; gap: var(--spacing-2);
  font-family: var(--font-primary); font-size: var(--text-sm);
  font-weight: var(--font-weight-bold); color: var(--color-navy-deep);
  background: var(--gradient-gold); border-radius: var(--radius-xl);
  padding: var(--spacing-4) var(--spacing-10); text-decoration: none;
  box-shadow: var(--shadow-gold); transition: var(--transition-elegant);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
}
.au-btn-cta:hover {
  background: var(--gradient-gold-hover); box-shadow: var(--glow-gold);
  transform: translateY(-3px); color: var(--color-navy-deep);
}
.au-btn-cta-outline {
  display: inline-flex; align-items: center; gap: var(--spacing-2);
  font-family: var(--font-primary); font-size: var(--text-sm);
  font-weight: var(--font-weight-semibold); color: var(--color-white);
  background: rgba(255,255,255,0.06); border: 1.5px solid var(--color-white-30);
  border-radius: var(--radius-xl); padding: var(--spacing-4) var(--spacing-10);
  text-decoration: none; transition: var(--transition-elegant);
  letter-spacing: var(--ls-wide); text-transform: uppercase;
}
.au-btn-cta-outline:hover {
  border-color: var(--color-gold); color: var(--color-gold);
  background: rgba(var(--color-gold-rgb), 0.1); transform: translateY(-3px);
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 991.98px) {
  .au-section { padding: var(--spacing-20) 0; }
  .au-intro-card { padding: var(--spacing-10); }
  .au-contact-card { padding: var(--spacing-8); }
}
@media (max-width: 767.98px) {
  .au-section { padding: var(--spacing-14) 0; }
  .au-intro-card { padding: var(--spacing-7); }
  .au-cta-section { padding: var(--spacing-20) 0; }
  .au-contact-card { padding: var(--spacing-6); }
  .au-intro-quote::before { display: none; }
}

/* ============================================================
   Premium Interaction Layer — shimmer, tilt & magnetic touches
   Built entirely from main.css tokens + existing @keyframes
   (shimmer, pulse-gold, float, fadeInUp) — no new colours added.
   ============================================================ */

/* Animated gradient underline on section titles */
.au-section-title { position: relative; display: block; width: fit-content; }
.text-center .au-section-title { margin-inline: auto; }
.au-section-header .au-section-title::after {
  content: ''; position: absolute; left: 50%; bottom: -10px;
  width: 46px; height: 3px; border-radius: var(--radius-full);
  background: var(--gradient-gold); transform: translateX(-50%) scaleX(0);
  transform-origin: center; transition: transform 0.6s cubic-bezier(0.22,1,0.36,1) 0.1s;
}
.au-section-header.revealed .au-section-title::after,
.reveal-on-scroll.revealed .au-section-title::after { transform: translateX(-50%) scaleX(1); }

/* Tilt-ready cards: gentle 3D response driven by company-about-us.js pointer tracking */
.au-value-card, .au-advantage-card, .au-market-card, .au-vm-card, .au-service-item {
  transform-style: preserve-3d; perspective: 900px;
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), box-shadow var(--transition-elegant), border-color var(--transition-elegant);
}
.au-value-card[data-tilt], .au-advantage-card[data-tilt], .au-market-card[data-tilt] {
  transform: perspective(900px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--tilt-lift, 0));
}

/* Founder photo — soft gold pulse ring */
.au-leader-photo { position: relative; }
.au-leader-photo::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  box-shadow: 0 0 0 0 rgba(var(--color-gold-rgb), 0.35);
  animation: pulse-gold 3.6s ease-in-out infinite;
}

/* Hero badges — shimmer sweep on first paint (page-specific keyframe name
   — avoids collision with main.css's own @keyframes shimmer, which would
   otherwise be overridden sitewide by this page's redefinition since
   keyframe names are global, not scoped to the file that declares them) */
.hero-badge { position: relative; overflow: hidden; }
.hero-badge::before {
  content: ''; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(115deg, transparent, rgba(255,255,255,0.22), transparent);
  transform: skewX(-20deg); animation: auShimmer 3.2s ease-in-out infinite; animation-delay: 1.2s;
}
@keyframes auShimmer {
  0%, 60% { left: -60%; }
  100% { left: 130%; }
}

/* Magnetic-feel buttons — radial highlight tracks the pointer via --mx/--my */
.au-btn-primary, .au-btn-cta, .au-btn-outline-light, .au-btn-cta-outline {
  position: relative; overflow: hidden; isolation: isolate;
}
.au-btn-primary::before, .au-btn-cta::before, .au-btn-outline-light::before, .au-btn-cta-outline::before {
  content: ''; position: absolute; inset: 0; z-index: -1; opacity: 0;
  background: radial-gradient(120px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,0.28), transparent 70%);
  transition: opacity 0.3s ease;
}
.au-btn-primary:hover::before, .au-btn-cta:hover::before,
.au-btn-outline-light:hover::before, .au-btn-cta-outline:hover::before { opacity: 1; }

/* Market count cards — float-in emphasis on hover */
.au-market-pct { transition: transform var(--transition-elegant); display: inline-block; }
.au-market-card:hover .au-market-pct { transform: scale(1.12); }
.au-market-card:hover .au-market-flag { animation: float 1.8s ease-in-out infinite; }

/* Advantage numerals — subtle continuous float for a living, premium feel */
.au-advantage-card:hover .au-advantage-num { animation: float 3.5s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .hero-badge::before, .au-leader-photo::after,
  .au-market-card:hover .au-market-flag, .au-advantage-card:hover .au-advantage-num { animation: none; }
  .au-section-header .au-section-title::after { transition: none; transform: translateX(-50%) scaleX(1); }
}


/* ============================================================
   Photo Lightbox — click-to-enlarge gallery with slide navigation
   Shared pattern across all company-*.html pages (main.css tokens only)
   ============================================================ */
[data-lightbox] { cursor: pointer; }
.lb-overlay {
  position: fixed; inset: 0; z-index: var(--z-index-maximum);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transition: opacity 0.35s ease, visibility 0.35s ease;
}
.lb-overlay.active { opacity: 1; visibility: visible; }
.lb-backdrop { position: absolute; inset: 0; background: rgba(6,12,26,0.92); backdrop-filter: blur(6px); }
.lb-content {
  position: relative; z-index: 1; max-width: min(92vw, 1100px); max-height: 88vh;
  display: flex; flex-direction: column; align-items: center;
  transform: scale(0.94); transition: transform 0.35s cubic-bezier(0.4,0,0.2,1);
}
.lb-overlay.active .lb-content { transform: scale(1); }
.lb-image-wrap { position: relative; border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,0.5); background: var(--color-navy-abyss); line-height: 0; }
.lb-image { display: block; max-width: min(90vw, 1000px); max-height: 72vh; width: auto; height: auto; object-fit: contain; }
.lb-caption { margin-top: var(--spacing-4); font-family: var(--font-primary); font-size: var(--text-sm); color: var(--color-white-80); text-align: center; max-width: 640px; }
.lb-counter { margin-top: var(--spacing-2); font-family: var(--font-primary); font-size: var(--text-xs); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-gold-light); }
.lb-close, .lb-prev, .lb-next {
  position: fixed; display: flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2); color: var(--color-white); cursor: pointer;
  transition: var(--transition-elegant); backdrop-filter: blur(8px); z-index: 2; padding: 0;
}
.lb-close:hover, .lb-prev:hover, .lb-next:hover { background: var(--gradient-gold); color: var(--color-navy-deep); border-color: transparent; }
.lb-close { top: var(--spacing-6); right: var(--spacing-6); }
.lb-prev { left: var(--spacing-6); top: 50%; transform: translateY(-50%); }
.lb-next { right: var(--spacing-6); top: 50%; transform: translateY(-50%); }
.lb-prev:hover, .lb-next:hover { transform: translateY(-50%) scale(1.08); }
.lb-close:hover { transform: scale(1.08); }
@media (max-width: 575.98px) {
  .lb-close { top: var(--spacing-4); right: var(--spacing-4); width: 40px; height: 40px; }
  .lb-prev { left: var(--spacing-3); width: 40px; height: 40px; }
  .lb-next { right: var(--spacing-3); width: 40px; height: 40px; }
}
