/* ============================================================
   LYNN CHENEY TAX — LIGHT LUXURY THEME
   ============================================================ */

/* ===== ROOT ===== */
:root {
  --bg-base:     #faf9f6;
  --bg-card:     #ffffff;
  --bg-off:      #f5f3ee;
  --bg-elevated: #eceae4;
  --bg-navy:     #0d1225;
  --bg-navy-2:   #111828;

  --gold:        #c9a84c;
  --gold-light:  #e8c96a;
  --gold-dark:   #a07c2d;
  --gold-dim:    rgba(201,168,76,0.10);
  --gold-glow:   rgba(201,168,76,0.28);

  --white:       #ffffff;
  --text:        #1c1f2e;
  --text-muted:  #6b7284;
  --text-dim:    #b0b5c8;
  --text-navy:   #e8eaf2;

  --border:       rgba(0,0,0,0.08);
  --border-md:    rgba(0,0,0,0.12);
  --border-gold:  rgba(201,168,76,0.30);

  --shadow-xs: 0 1px 4px rgba(0,0,0,0.06);
  --shadow-sm: 0 2px 12px rgba(0,0,0,0.08);
  --shadow-md: 0 8px 32px rgba(0,0,0,0.10);
  --shadow-lg: 0 20px 60px rgba(0,0,0,0.14);
  --shadow-gold: 0 8px 40px rgba(201,168,76,0.18);

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 24px;
  --nav-h:     72px;
  --transition: all 0.38s cubic-bezier(0.4,0,0.2,1);
}

/* ===== RESET ===== */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; }
body {
  font-family:'Inter','DM Sans',sans-serif;
  background:var(--bg-base);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }
button { border:none; background:none; cursor:pointer; font-family:inherit; }
select,input,textarea { font-family:inherit; }

.container { max-width:1200px; margin:0 auto; padding:0 2rem; }
.gold { color:var(--gold); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

/* ===== PRELOADER ===== */
.preloader {
  position:fixed; inset:0; z-index:9999;
  background:var(--bg-navy);
  display:flex; align-items:center; justify-content:center;
  transition:opacity 0.7s ease, visibility 0.7s ease;
}
.preloader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.preloader-inner { text-align:center; }
.preloader-logo {
  font-family:'Playfair Display',serif;
  font-size:2.5rem; font-weight:700; letter-spacing:-0.02em;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  margin-bottom:2rem;
  animation:loaderPulse 1.4s ease-in-out infinite;
}
.preloader-bar { width:200px; height:2px; background:rgba(255,255,255,0.1); border-radius:2px; overflow:hidden; margin:0 auto; }
.preloader-fill { height:100%; background:linear-gradient(90deg,var(--gold),var(--gold-light)); animation:loaderBar 1.8s ease forwards; }
@keyframes loaderPulse { 0%,100%{opacity:1}50%{opacity:.5} }
@keyframes loaderBar { 0%{width:0}100%{width:100%} }

/* ===== NAV ===== */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-h);
  background:transparent;
  transition:var(--transition);
}
.nav.scrolled {
  background:rgba(250,249,246,0.96);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
}
.nav.nav-dark { background:transparent; }
.nav.nav-dark.scrolled {
  background:rgba(13,18,37,0.96);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.nav-inner {
  max-width:1280px; margin:0 auto; padding:0 2rem;
  height:100%; display:flex; align-items:center; justify-content:space-between; gap:2rem;
}
.nav-logo {
  font-family:'Playfair Display',serif;
  font-size:1.5rem; font-weight:700; letter-spacing:-0.02em;
  color:var(--bg-navy); flex-shrink:0;
  transition:color 0.3s;
}
.nav-logo span { color:var(--gold); }
.nav.hero-nav .nav-logo { color:var(--white); }
.nav.scrolled .nav-logo { color:var(--bg-navy); }
.nav.nav-dark.scrolled .nav-logo { color:var(--white); }

.nav-links { display:flex; gap:0.25rem; align-items:center; }
.nav-links a {
  font-size:0.875rem; font-weight:500;
  color:var(--text-muted);
  padding:0.4rem 0.75rem; border-radius:8px;
  letter-spacing:0.01em;
  transition:var(--transition);
}
.nav-links a:hover { color:var(--text); background:rgba(0,0,0,0.04); }
.nav-links a.active { color:var(--gold); font-weight:600; }
.nav.hero-nav .nav-links a { color:rgba(255,255,255,0.7); }
.nav.hero-nav .nav-links a:hover { color:var(--white); background:rgba(255,255,255,0.07); }
.nav.hero-nav .nav-links a.active { color:var(--gold); }
.nav.scrolled .nav-links a { color:var(--text-muted); }
.nav.scrolled .nav-links a:hover { color:var(--text); }
.nav.nav-dark.scrolled .nav-links a { color:rgba(255,255,255,0.6); }
.nav.nav-dark.scrolled .nav-links a:hover { color:var(--white); }

.nav-cta {
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--bg-navy);
  font-size:0.875rem; font-weight:700;
  padding:0.575rem 1.375rem;
  border-radius:100px;
  letter-spacing:0.02em;
  transition:var(--transition);
  white-space:nowrap; flex-shrink:0;
}
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 8px 24px var(--gold-glow); }

.nav-burger { display:none; flex-direction:column; gap:5px; padding:4px; }
.nav-burger span { display:block; width:24px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }
.nav.hero-nav .nav-burger span { background:var(--white); }
.nav.scrolled .nav-burger span { background:var(--text); }
.nav-mobile {
  display:none;
  background:rgba(250,249,246,0.98);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  padding:0.75rem 1.5rem 1.5rem;
}
.nav-mobile.open { display:block; }
.nav-mobile ul { display:flex; flex-direction:column; }
.nav-mobile a {
  display:block; padding:0.875rem 0;
  font-size:1rem; font-weight:500; color:var(--text-muted);
  border-bottom:1px solid var(--border);
  transition:color 0.2s;
}
.nav-mobile a:last-child { border-bottom:none; color:var(--gold); font-weight:700; }
.nav-mobile a:hover { color:var(--gold); }

/* ===== PAGE HERO (inner pages) ===== */
.page-hero {
  background:var(--bg-navy);
  padding:calc(var(--nav-h) + 4rem) 0 4.5rem;
  position:relative; overflow:hidden;
}
.page-hero::before {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 60% at 50% -10%, rgba(201,168,76,0.12) 0%, transparent 60%),
    radial-gradient(ellipse 50% 80% at 90% 50%, rgba(80,100,220,0.06) 0%, transparent 60%);
  pointer-events:none;
}
.page-hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 80%);
  pointer-events:none;
}
.page-hero-content { position:relative; z-index:2; }
.page-hero-tag {
  display:inline-flex; align-items:center; gap:0.5rem;
  font-size:0.75rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold);
  background:rgba(201,168,76,0.1);
  border:1px solid rgba(201,168,76,0.25);
  padding:0.35rem 1rem; border-radius:100px;
  margin-bottom:1.25rem;
}
.page-hero h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.25rem,4.5vw,3.5rem);
  font-weight:700; line-height:1.12; letter-spacing:-0.03em;
  color:var(--white); margin-bottom:1rem;
}
.page-hero p {
  font-size:1.0625rem; color:rgba(255,255,255,0.6);
  max-width:560px; line-height:1.75;
}
.breadcrumb {
  display:flex; align-items:center; gap:0.5rem;
  font-size:0.8125rem; color:rgba(255,255,255,0.4);
  margin-bottom:1.25rem;
}
.breadcrumb a { color:rgba(255,255,255,0.5); transition:color 0.2s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:rgba(255,255,255,0.25); }
.breadcrumb .current { color:var(--gold); }

/* ===== SECTION BASE ===== */
.section { padding:6rem 0; position:relative; overflow:hidden; }
.section-alt { background:var(--bg-off); }
.section-navy { background:var(--bg-navy); }

.section-header { text-align:center; margin-bottom:3.5rem; }
.section-tag {
  display:inline-block;
  font-size:0.75rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--gold);
  background:var(--gold-dim);
  border:1px solid var(--border-gold);
  padding:0.35rem 1rem; border-radius:100px;
  margin-bottom:1.25rem;
}
.section-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,3.5vw,2.875rem);
  font-weight:700; line-height:1.15; letter-spacing:-0.03em;
  color:var(--text); margin-bottom:1rem;
}
.section-navy .section-title { color:var(--white); }
.section-sub {
  font-size:1.0625rem; color:var(--text-muted);
  max-width:520px; margin:0 auto; line-height:1.7;
}
.section-navy .section-sub { color:rgba(255,255,255,0.55); }
.section-navy .section-tag {
  background:rgba(201,168,76,0.12); border-color:rgba(201,168,76,0.25);
}

/* ===== BUTTONS ===== */
.btn-primary {
  display:inline-flex; align-items:center; gap:0.6rem;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--bg-navy);
  font-weight:700; font-size:0.9375rem;
  padding:0.875rem 2rem; border-radius:100px;
  cursor:pointer; transition:var(--transition);
  letter-spacing:0.01em; border:none; position:relative; overflow:hidden;
}
.btn-primary::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,0.18); opacity:0; transition:opacity 0.3s;
}
.btn-primary:hover::before { opacity:1; }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 12px 40px var(--gold-glow); }
.btn-primary.btn-large { padding:1.1rem 2.5rem; font-size:1rem; }
.btn-primary.btn-block { width:100%; justify-content:center; }

.btn-outline {
  display:inline-flex; align-items:center; gap:0.6rem;
  color:var(--text); font-weight:600; font-size:0.9375rem;
  padding:0.875rem 2rem; border-radius:100px;
  border:1.5px solid var(--border-md);
  transition:var(--transition); background:transparent;
}
.btn-outline:hover { border-color:var(--gold); color:var(--gold); background:var(--gold-dim); }

.btn-outline-gold {
  display:inline-flex; align-items:center; justify-content:center; gap:0.5rem;
  color:var(--gold); font-weight:600; font-size:0.875rem;
  padding:0.75rem 1.75rem; border-radius:100px;
  border:1.5px solid var(--border-gold);
  transition:var(--transition); width:100%;
}
.btn-outline-gold:hover { background:var(--gold-dim); box-shadow:0 0 20px rgba(201,168,76,0.15); }

.btn-white {
  display:inline-flex; align-items:center; gap:0.6rem;
  background:var(--white); color:var(--bg-navy);
  font-weight:700; font-size:0.9375rem;
  padding:0.875rem 2rem; border-radius:100px;
  transition:var(--transition);
}
.btn-white:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }

.arrow-icon { width:20px; height:20px; flex-shrink:0; }

/* ===== GLASS CARD ===== */
.glass-card {
  background:rgba(255,255,255,0.75);
  border:1px solid rgba(255,255,255,0.9);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}

/* ===== MARQUEE ===== */
.marquee-strip {
  background:var(--bg-navy);
  border-top:1px solid rgba(255,255,255,0.05);
  border-bottom:1px solid rgba(255,255,255,0.05);
  overflow:hidden; padding:0.875rem 0;
}
.marquee-track {
  display:flex; gap:2rem;
  animation:marqueeScroll 40s linear infinite;
  white-space:nowrap; width:max-content;
}
.marquee-track span {
  font-size:0.8125rem; font-weight:600;
  letter-spacing:0.08em; text-transform:uppercase;
  color:rgba(255,255,255,0.35);
}
.marquee-track .dot { color:var(--gold); font-size:0.4rem; }
@keyframes marqueeScroll { from{transform:translateX(0)}to{transform:translateX(-50%)} }

/* ===== HERO (Home) ===== */
.hero {
  min-height:100vh;
  background:var(--bg-navy);
  display:flex; align-items:center;
  padding:calc(var(--nav-h) + 3rem) 0 5rem;
  position:relative; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% -5%, rgba(201,168,76,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 50% 70% at 85% 60%, rgba(80,100,230,0.07) 0%, transparent 60%),
    linear-gradient(180deg, #0d1225 0%, #111828 100%);
  pointer-events:none;
}
.hero-grid-lines {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%, black 20%, transparent 75%);
  pointer-events:none;
}
.hero-orb {
  position:absolute; border-radius:50%; pointer-events:none;
  animation:orbFloat linear infinite;
}
.hero-orb-1 {
  width:600px; height:600px; top:-200px; left:-150px;
  background:radial-gradient(circle, rgba(201,168,76,0.06) 0%, transparent 70%);
  animation-duration:22s;
}
.hero-orb-2 {
  width:400px; height:400px; bottom:-100px; right:-100px;
  background:radial-gradient(circle, rgba(100,120,255,0.06) 0%, transparent 70%);
  animation-duration:28s; animation-delay:-10s;
}
@keyframes orbFloat {
  0%,100%{transform:translate(0,0)}
  33%{transform:translate(25px,-18px)}
  66%{transform:translate(-18px,25px)}
}
.hero-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.hero-inner {
  position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:0 2rem;
  display:grid; grid-template-columns:1fr 480px; gap:5rem; align-items:center;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:0.6rem;
  font-size:0.8125rem; font-weight:500; color:rgba(255,255,255,0.6);
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
  padding:0.5rem 1.25rem; border-radius:100px; margin-bottom:2rem;
  backdrop-filter:blur(10px);
  opacity:0; transform:translateY(20px);
  animation:fadeUp 0.8s ease forwards 0.3s;
}
.badge-pulse {
  width:7px; height:7px; border-radius:50%;
  background:var(--gold); flex-shrink:0;
  animation:badgePulse 2s ease infinite;
}
@keyframes badgePulse {
  0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.6)}
  50%{box-shadow:0 0 0 6px rgba(201,168,76,0)}
}
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.75rem,6vw,5rem);
  font-weight:800; line-height:1.07; letter-spacing:-0.04em;
  color:var(--white); margin-bottom:1.5rem; max-width:700px;
}
.hero-title-line {
  display:block; opacity:0; transform:translateY(40px);
  animation:fadeUp 0.9s cubic-bezier(.2,0,0,1) forwards;
}
.hero-title-line:nth-child(1){animation-delay:.5s}
.hero-title-line:nth-child(2){animation-delay:.7s}
.hero-title em { font-style:normal; color:var(--gold); }
@keyframes fadeUp { to{opacity:1;transform:translateY(0)} }

.hero-sub {
  font-size:clamp(.975rem,1.5vw,1.125rem); color:rgba(255,255,255,0.55);
  max-width:540px; line-height:1.75; margin-bottom:2.5rem;
  opacity:0; animation:fadeUp 0.9s ease forwards 0.9s;
}
.hero-actions {
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  margin-bottom:3.5rem;
  opacity:0; animation:fadeUp 0.9s ease forwards 1.1s;
}
.hero-stats {
  display:flex; align-items:center; gap:2rem;
  opacity:0; animation:fadeUp 0.9s ease forwards 1.3s;
}
.h-stat { display:flex; flex-direction:column; }
.h-stat-num {
  font-family:'Playfair Display',serif;
  font-size:1.625rem; font-weight:700; color:var(--white); line-height:1;
}
.h-stat-label { font-size:0.75rem; color:rgba(255,255,255,0.4); margin-top:0.3rem; letter-spacing:.04em; }
.h-stat-divider { width:1px; height:36px; background:rgba(255,255,255,0.1); flex-shrink:0; }

.hero-right { position:relative; }
.hero-img-wrap {
  border-radius:var(--radius-lg); overflow:hidden;
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 32px 80px rgba(0,0,0,0.5), 0 0 60px rgba(201,168,76,0.08);
  opacity:0; transform:translateX(40px) scale(0.97);
  animation:slideInRight 1s cubic-bezier(.2,0,0,1) forwards 1.2s;
}
@keyframes slideInRight { to{opacity:1;transform:translateX(0) scale(1)} }
.hero-img-wrap img {
  width:100%; height:420px; object-fit:cover;
  filter:brightness(.85) contrast(1.1);
  display:block;
}
.hero-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(13,18,37,.85) 100%);
}
.hero-float-cards {
  position:absolute; bottom:-1.5rem; left:-2rem;
  display:flex; flex-direction:column; gap:0.875rem; z-index:3;
}
.hero-float-card {
  display:flex; align-items:center; gap:0.875rem;
  padding:0.875rem 1.125rem;
  background:rgba(250,249,246,0.96);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  box-shadow:var(--shadow-md);
  animation:floatY 4s ease-in-out infinite;
  opacity:0; transform:translateX(-20px);
  animation:fcIn 0.8s ease forwards;
  min-width:220px;
}
.hero-float-card:nth-child(1){animation-delay:1.6s}
.hero-float-card:nth-child(2){animation-delay:1.9s; animation-name:fcIn; animation-duration:0.8s; animation-fill-mode:forwards;}
@keyframes fcIn{to{opacity:1;transform:translateX(0)}}
.fc-icon { font-size:1.375rem; flex-shrink:0; }
.fc-text strong { display:block; font-size:0.8125rem; font-weight:700; color:var(--text); }
.fc-text span { font-size:0.75rem; color:var(--text-muted); }
.hero-scroll {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.5rem;
  font-size:0.6875rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,0.3);
  opacity:0; animation:fadeUp 0.8s ease forwards 2s;
}
.scroll-bar { width:1px; height:48px; background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%); animation:scrollPulse 2s ease infinite; }
@keyframes scrollPulse{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.3;transform:scaleY(.6)}}

/* ===== TRUST STRIP ===== */
.trust-strip {
  background:var(--bg-card);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:1.75rem 0;
}
.trust-strip-label {
  text-align:center; font-size:0.75rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--text-dim); margin-bottom:1.25rem;
}
.trust-logos {
  display:flex; align-items:center; justify-content:center;
  gap:3rem; flex-wrap:wrap;
}
.trust-logo { height:28px; opacity:.25; filter:grayscale(1); transition:var(--transition); display:flex; align-items:center; }
.trust-logo:hover { opacity:.65; filter:grayscale(.2); }
.trust-logo img { height:100%; width:auto; object-fit:contain; }

/* ===== METRICS SECTION ===== */
.metrics-section {
  background: var(--bg-navy);
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}
.metrics-bg-glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 70vw; height: 200%;
  background: radial-gradient(ellipse at center, rgba(201,168,76,.07) 0%, transparent 65%);
  pointer-events: none;
}
.metrics-top-line, .metrics-bottom-line {
  position: absolute; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,.3), transparent);
  pointer-events: none;
}
.metrics-top-line { top: 0; }
.metrics-bottom-line { bottom: 0; }
.metrics-header {
  text-align: center;
  margin-bottom: 3rem;
}
.metrics-eyebrow {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid rgba(201,168,76,.3);
  border-radius: 2rem;
  padding: .3rem 1.1rem;
  margin-bottom: 1rem;
}
.metrics-tagline {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.3rem, 2.5vw, 1.75rem);
  color: rgba(255,255,255,.75);
  margin: 0;
  font-weight: 400;
}
.metrics-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
}
.metric-card {
  position: relative;
  padding: 2.5rem 2rem 2rem;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.07);
  transition: background .3s ease;
  overflow: hidden;
}
.metric-card:last-child { border-right: none; }
.metric-card:hover { background: rgba(201,168,76,.04); }
.metric-accent-bar {
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 60%; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  transition: transform .4s ease;
  transform-origin: center;
}
.metric-card:hover .metric-accent-bar { transform: translateX(-50%) scaleX(1); }
.metric-icon-bg {
  width: 48px; height: 48px;
  margin: 0 auto 1.25rem;
  display: flex; align-items: center; justify-content: center;
  background: rgba(201,168,76,.06);
  border: 1px solid rgba(201,168,76,.15);
  border-radius: 12px;
}
.metric-icon-bg svg { width: 26px; height: 26px; display: block; }
.metric-number {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .1rem;
  line-height: 1;
  margin-bottom: .6rem;
}
.metric-count {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.25rem, 3.5vw, 3rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1;
}
.metric-prefix, .metric-suffix {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
}
.metric-prefix { align-self: flex-start; padding-top: .2em; }
.metric-label {
  font-size: .9rem;
  font-weight: 600;
  color: rgba(255,255,255,.85);
  letter-spacing: .01em;
  margin-bottom: .3rem;
}
.metric-sub {
  font-size: .75rem;
  color: rgba(255,255,255,.35);
  letter-spacing: .02em;
}
@media (max-width:900px) {
  .metrics-grid { grid-template-columns: repeat(3, 1fr); }
  .metric-card:nth-child(3) { border-right: none; }
  .metric-card:nth-child(4) { border-right: 1px solid rgba(255,255,255,.07); }
}
@media (max-width:560px) {
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .metric-card:nth-child(2n) { border-right: none; }
  .metric-card:nth-child(3) { border-right: 1px solid rgba(255,255,255,.07); }
}

/* ===== SERVICES GRID ===== */
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.service-card {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  padding:2.25rem;
  transition:var(--transition);
  position:relative; overflow:hidden;
  cursor:default;
}
.service-card::after {
  content:''; position:absolute;
  bottom: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.4s ease;
}
.service-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--border-gold); }
.service-card:hover::after { transform:scaleX(1); }
.service-icon-box {
  width:52px; height:52px;
  background:var(--gold-dim); border:1px solid var(--border-gold);
  border-radius:14px; display:flex; align-items:center; justify-content:center;
  color:var(--gold-dark); padding:11px;
  margin-bottom:1.5rem; transition:var(--transition);
}
.service-card:hover .service-icon-box { background:rgba(201,168,76,.18); transform:scale(1.1) rotate(4deg); }
.service-icon-box svg { width:100%; height:100%; }
.service-card h3 {
  font-family:'Playfair Display',serif;
  font-size:1.1875rem; font-weight:600; color:var(--text); margin-bottom:.625rem;
}
.service-card > p { font-size:.875rem; color:var(--text-muted); line-height:1.7; margin-bottom:1.25rem; }
.service-list { margin-bottom:1.5rem; }
.service-list li {
  font-size:.8125rem; color:var(--text-muted);
  padding:.3rem 0; border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:.5rem;
}
.service-list li::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.service-link {
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.8125rem; font-weight:700; color:var(--gold);
  transition:gap .3s;
}
.service-link:hover { gap:.7rem; }
.service-link svg { width:14px; height:14px; }

/* ===== INDUSTRIES ===== */
.industries-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1rem;
}
.industry-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.625rem;
  transition:var(--transition); cursor:default;
}
.industry-card:hover {
  border-color:var(--border-gold);
  transform:translateY(-4px);
  box-shadow:var(--shadow-md), 0 0 30px rgba(201,168,76,.06);
}
.industry-emoji { font-size:1.875rem; margin-bottom:.75rem; display:block; transition:transform .3s; }
.industry-card:hover .industry-emoji { transform:scale(1.2) rotate(-5deg); }
.industry-card h4 { font-size:.9375rem; font-weight:700; color:var(--text); margin-bottom:.4rem; }
.industry-card p { font-size:.8125rem; color:var(--text-muted); line-height:1.65; }

/* ===== PROCESS ===== */
.process-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.process-step-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:2.5rem;
  position:relative; overflow:hidden; transition:var(--transition);
}
.process-step-card:hover { border-color:var(--border-gold); box-shadow:var(--shadow-md); transform:translateY(-4px); }
.ps-number {
  font-family:'Playfair Display',serif;
  font-size:4rem; font-weight:700; color:var(--border-md);
  line-height:1; margin-bottom:1.25rem; letter-spacing:-.04em;
  transition:color .4s;
}
.process-step-card:hover .ps-number { color:var(--gold-dim); }
.process-step-card h3 { font-family:'Playfair Display',serif; font-size:1.25rem; font-weight:600; color:var(--text); margin-bottom:.75rem; }
.process-step-card p { font-size:.9rem; color:var(--text-muted); line-height:1.7; margin-bottom:1.25rem; }
.ps-tags { display:flex; gap:.5rem; flex-wrap:wrap; }
.ps-tags span {
  font-size:.7rem; font-weight:700; letter-spacing:.05em;
  color:var(--gold-dark); background:var(--gold-dim); border:1px solid var(--border-gold);
  padding:.2rem .7rem; border-radius:100px;
}

/* ===== PRICING ===== */
.pricing-toggle-wrap {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; margin-bottom:3rem;
  font-size:.9375rem; font-weight:500; color:var(--text-muted);
}
.pricing-toggle-wrap .active { color:var(--text); font-weight:700; }
.toggle-switch {
  width:48px; height:26px;
  background:var(--gold-dim); border:1.5px solid var(--border-gold);
  border-radius:100px; cursor:pointer; position:relative; transition:background .3s;
}
.toggle-knob {
  width:18px; height:18px; background:var(--gold); border-radius:50%;
  position:absolute; top:2px; left:2px; transition:transform .3s;
}
.toggle-switch.on .toggle-knob { transform:translateX(22px); }
.save-badge {
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  color:var(--bg-navy); font-size:.65rem; font-weight:800;
  padding:.15rem .55rem; border-radius:100px; letter-spacing:.05em;
}
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; align-items:start; }
.pricing-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:2.25rem;
  position:relative; overflow:hidden; transition:var(--transition);
}
.pricing-card:hover { border-color:var(--border-gold); box-shadow:var(--shadow-lg); transform:translateY(-4px); }
.pricing-featured {
  background:var(--bg-navy); border-color:var(--border-gold);
  transform:scale(1.03);
  box-shadow:var(--shadow-lg), 0 0 60px rgba(201,168,76,.12);
}
.pricing-featured:hover { transform:scale(1.03) translateY(-4px); }
.pricing-featured .pricing-tier,
.pricing-featured .price-num,
.pricing-featured .pricing-desc { color:rgba(255,255,255,.7); }
.pricing-featured .price-num { color:var(--white); }
.pricing-featured .pricing-features li { color:rgba(255,255,255,.75); }
.pricing-popular {
  display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:var(--bg-navy);
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  padding:.3rem .875rem; border-radius:100px; margin-bottom:1.25rem;
}
.pricing-tier { font-size:.875rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:.5rem; }
.pricing-featured .pricing-tier { color:var(--gold); }
.pricing-amount { display:flex; align-items:flex-start; gap:.25rem; margin-bottom:.75rem; }
.price-dollar { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:600; color:var(--text-muted); margin-top:.5rem; }
.pricing-featured .price-dollar { color:rgba(255,255,255,.5); }
.price-num { font-family:'Playfair Display',serif; font-size:3.25rem; font-weight:700; color:var(--text); line-height:1; }
.price-per { font-size:.875rem; color:var(--text-muted); align-self:flex-end; margin-bottom:.55rem; }
.pricing-featured .price-per { color:rgba(255,255,255,.4); }
.pricing-desc { font-size:.875rem; color:var(--text-muted); line-height:1.6; margin-bottom:1.75rem; padding-bottom:1.75rem; border-bottom:1px solid var(--border); }
.pricing-featured .pricing-desc { border-color:rgba(255,255,255,.08); }
.pricing-features { margin-bottom:2rem; display:flex; flex-direction:column; gap:.75rem; }
.pricing-features li { display:flex; align-items:center; gap:.6rem; font-size:.875rem; color:var(--text); }
.pricing-features li svg { width:16px; height:16px; flex-shrink:0; }
.pricing-features .feature-off { color:var(--text-dim); }
.pricing-note { text-align:center; font-size:.875rem; color:var(--text-muted); margin-top:2.5rem; }

/* ===== TEAM ===== */
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
.team-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition);
}
.team-card:hover { border-color:var(--border-gold); transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.team-img { position:relative; height:300px; overflow:hidden; background:#f5f3ee; }
.team-img img {
  width:100%; height:100%; object-fit:contain;
  transition:transform .5s ease; filter:grayscale(15%);
}
.team-card:hover .team-img img { transform:scale(1.05); filter:grayscale(0); }
.team-img-overlay {
  position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(250,249,246,.95) 100%);
}
.team-info { padding:1.5rem; }
.team-info strong { display:block; font-size:.9375rem; font-weight:700; color:var(--text); margin-bottom:.2rem; }
.team-info .team-role { font-size:.8rem; color:var(--gold); font-weight:600; display:block; margin-bottom:.625rem; }
.team-info p { font-size:.8125rem; color:var(--text-muted); line-height:1.65; margin-bottom:.875rem; }
.team-tags { display:flex; gap:.375rem; flex-wrap:wrap; }
.team-tags span {
  font-size:.68rem; font-weight:700; letter-spacing:.04em;
  color:var(--text-muted); background:var(--bg-off);
  border:1px solid var(--border); padding:.2rem .6rem; border-radius:100px;
}

/* ===== TESTIMONIALS ===== */
.testi-overflow { overflow:hidden; position:relative; }
.testi-slider { display:flex; gap:1.5rem; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.testi-card {
  min-width:calc(33.333% - 1rem); flex-shrink:0;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:2rem;
  transition:var(--transition);
}
.testi-card:hover { border-color:var(--border-gold); box-shadow:var(--shadow-md); }
.testi-stars { color:var(--gold); font-size:1rem; letter-spacing:.1em; margin-bottom:.875rem; }
.testi-card p { font-size:.9375rem; color:var(--text-muted); line-height:1.75; margin-bottom:1.5rem; font-style:italic; }
.testi-author { display:flex; align-items:center; gap:.875rem; }
.testi-avatar {
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg,var(--gold),var(--gold-light));
  display:flex; align-items:center; justify-content:center;
  font-size:.8125rem; font-weight:700; color:var(--bg-navy); flex-shrink:0;
}
.testi-author strong { display:block; font-size:.875rem; font-weight:700; color:var(--text); }
.testi-author span { font-size:.75rem; color:var(--text-muted); }
.testi-nav {
  display:flex; align-items:center; justify-content:center;
  gap:1.5rem; margin-top:2.5rem;
}
.testi-btn {
  width:44px; height:44px; border-radius:50%;
  background:var(--bg-card); border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-muted); transition:var(--transition);
}
.testi-btn svg { width:20px; height:20px; }
.testi-btn:hover { border-color:var(--border-gold); color:var(--gold); }
.testi-dots { display:flex; gap:.5rem; }
.testi-dot { width:8px; height:8px; border-radius:50%; background:var(--border-md); cursor:pointer; transition:var(--transition); }
.testi-dot.active { background:var(--gold); width:24px; border-radius:4px; }

/* ===== WHY US ===== */
.why-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:5rem; align-items:center; }
.why-left p { font-size:1rem; color:var(--text-muted); line-height:1.8; margin:.875rem 0 1.5rem; }
.creds { display:flex; flex-direction:column; gap:.75rem; }
.cred-row {
  display:flex; align-items:center; gap:1rem;
  padding:.875rem 1.125rem;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-sm); transition:var(--transition);
}
.cred-row:hover { border-color:var(--border-gold); box-shadow:var(--shadow-xs); }
.cred-row .ci { font-size:1.375rem; flex-shrink:0; }
.cred-row strong { display:block; font-size:.875rem; font-weight:700; color:var(--text); }
.cred-row span { font-size:.8rem; color:var(--text-muted); }

.why-features { display:flex; flex-direction:column; gap:1.375rem; }
.why-feat { display:flex; gap:1rem; align-items:flex-start; padding-bottom:1.375rem; border-bottom:1px solid var(--border); }
.why-feat:last-child { border-bottom:none; padding-bottom:0; }
.wf-check {
  width:28px; height:28px; border-radius:50%;
  background:var(--gold-dim); border:1px solid var(--border-gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px;
}
.wf-check svg { width:14px; height:14px; }
.why-feat strong { display:block; font-size:.9375rem; font-weight:700; color:var(--text); margin-bottom:.25rem; }
.why-feat p { font-size:.875rem; color:var(--text-muted); line-height:1.65; }

/* ===== FAQ ===== */
.faq-grid { display:grid; grid-template-columns:1fr 1.6fr; gap:5rem; align-items:start; }
.faq-left p { font-size:1rem; color:var(--text-muted); line-height:1.8; margin:.875rem 0 1.5rem; }
.faq-list { display:flex; flex-direction:column; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.25rem 0; font-size:.9375rem; font-weight:600;
  color:var(--text); text-align:left; transition:color .2s;
}
.faq-q:hover { color:var(--gold); }
.faq-icon { flex-shrink:0; width:22px; height:22px; transition:transform .3s; color:var(--text-muted); }
.faq-icon svg { width:22px; height:22px; }
.faq-item.open .faq-icon { transform:rotate(180deg); color:var(--gold); }
.faq-item.open .faq-q { color:var(--gold); }
.faq-a { display:none; padding:0 0 1.125rem; }
.faq-item.open .faq-a { display:block; }
.faq-a p { font-size:.9375rem; color:var(--text-muted); line-height:1.75; }

/* ===== CONTACT FORM ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:5rem; align-items:start; }
.contact-left p { font-size:1rem; color:var(--text-muted); line-height:1.75; margin:.875rem 0 2rem; }
.contact-info { display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.ci-row { display:flex; align-items:center; gap:.875rem; }
.ci-icon-box {
  width:40px; height:40px;
  background:var(--gold-dim); border:1px solid var(--border-gold);
  border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.ci-icon-box svg { width:18px; height:18px; color:var(--gold-dark); }
.ci-row strong { display:block; font-size:.875rem; font-weight:700; color:var(--text); }
.ci-row span { font-size:.875rem; color:var(--text-muted); }
.contact-offices strong { display:block; font-size:.875rem; font-weight:700; color:var(--text); margin-bottom:.4rem; }
.contact-offices p { font-size:.8125rem; color:var(--text-muted); line-height:1.6; }

.contact-form {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); padding:2.5rem;
  box-shadow:var(--shadow-sm);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.form-group { margin-bottom:1.125rem; }
.form-group label {
  display:block; font-size:.8125rem; font-weight:700;
  color:var(--text); margin-bottom:.45rem; letter-spacing:.02em;
}
.form-group input,
.form-group select,
.form-group textarea {
  width:100%;
  background:var(--bg-off); border:1.5px solid var(--border);
  border-radius:var(--radius-sm); padding:.8rem 1rem;
  font-size:.9375rem; color:var(--text);
  transition:border-color .2s, box-shadow .2s; outline:none; -webkit-appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-dim); background:var(--bg-card);
}
.form-group select {
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%236b7284' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; background-size:18px;
  padding-right:2.5rem; cursor:pointer;
}
.form-group textarea { resize:vertical; min-height:90px; }
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-dim); }
.form-privacy { text-align:center; font-size:.75rem; color:var(--text-dim); margin-top:.875rem; }
.form-success {
  display:none; align-items:center; gap:1rem;
  background:rgba(201,168,76,.08); border:1px solid var(--border-gold);
  border-radius:var(--radius-sm); padding:1rem 1.25rem; margin-top:1rem;
}
.form-success.show { display:flex; }
.form-success svg { width:24px; height:24px; flex-shrink:0; }
.form-success strong { display:block; font-size:.875rem; color:var(--text); }
.form-success span { font-size:.8125rem; color:var(--text-muted); }

/* ===== CTA STRIP ===== */
.cta-strip {
  background:var(--bg-navy); padding:6rem 0;
  text-align:center; position:relative; overflow:hidden;
}
.cta-orb {
  position:absolute; border-radius:50%; pointer-events:none;
}
.cta-orb-1 { width:400px; height:400px; top:-200px; left:-80px; background:radial-gradient(circle,rgba(201,168,76,.08) 0%,transparent 70%); }
.cta-orb-2 { width:300px; height:300px; bottom:-150px; right:-50px; background:radial-gradient(circle,rgba(100,80,200,.06) 0%,transparent 70%); }
.cta-inner { position:relative; z-index:2; }
.cta-tag {
  display:inline-block; font-size:.7rem; font-weight:800;
  letter-spacing:.15em; text-transform:uppercase;
  color:var(--gold); background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.25);
  padding:.35rem 1rem; border-radius:100px; margin-bottom:1.5rem;
}
.cta-strip h2 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2rem,4vw,3rem); font-weight:700;
  line-height:1.15; color:var(--white); letter-spacing:-.03em; margin-bottom:1rem;
}
.cta-strip p { font-size:1.0625rem; color:rgba(255,255,255,.5); max-width:480px; margin:0 auto 2.5rem; line-height:1.7; }
.cta-actions { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; }
.cta-note { display:block; margin-top:1.25rem; font-size:.8rem; color:rgba(255,255,255,.25); letter-spacing:.04em; }

/* ===== BLOG ===== */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.blog-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition);
}
.blog-card:hover { border-color:var(--border-gold); transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.blog-img { height:200px; overflow:hidden; position:relative; }
.blog-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.blog-card:hover .blog-img img { transform:scale(1.05); }
.blog-cat {
  position:absolute; top:1rem; left:1rem;
  font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--bg-navy); background:var(--gold);
  padding:.25rem .75rem; border-radius:100px;
}
.blog-body { padding:1.5rem; }
.blog-meta { display:flex; align-items:center; gap:.75rem; font-size:.75rem; color:var(--text-dim); margin-bottom:.75rem; }
.blog-dot { width:3px; height:3px; border-radius:50%; background:var(--text-dim); }
.blog-body h3 {
  font-family:'Playfair Display',serif;
  font-size:1.0625rem; font-weight:700; color:var(--text);
  line-height:1.4; margin-bottom:.5rem;
  transition:color .2s;
}
.blog-card:hover .blog-body h3 { color:var(--gold); }
.blog-body p { font-size:.8125rem; color:var(--text-muted); line-height:1.65; margin-bottom:1rem; }
.blog-link {
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.8125rem; font-weight:700; color:var(--gold);
  transition:gap .3s;
}
.blog-link:hover { gap:.6rem; }
.blog-link svg { width:13px; height:13px; }

/* ===== ABOUT / MISSION ===== */
.mission-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.mission-img-wrap { position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.mission-img-wrap img { width:100%; height:auto; object-fit:contain; }
.mission-badge-float {
  position:absolute; bottom:2rem; left:-2rem;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:1.25rem 1.5rem;
  box-shadow:var(--shadow-md); min-width:200px;
}
.mission-badge-float strong { display:block; font-family:'Playfair Display',serif; font-size:1.75rem; font-weight:700; color:var(--gold); }
.mission-badge-float span { font-size:.8rem; color:var(--text-muted); }
.mission-right p { font-size:1rem; color:var(--text-muted); line-height:1.8; margin-bottom:1.25rem; }
.values-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:2rem; }
.value-card {
  background:var(--bg-off); border:1px solid var(--border);
  border-radius:var(--radius-sm); padding:1.25rem;
  transition:var(--transition);
}
.value-card:hover { border-color:var(--border-gold); background:var(--bg-card); }
.value-icon { font-size:1.5rem; margin-bottom:.5rem; }
.value-card strong { display:block; font-size:.875rem; font-weight:700; color:var(--text); margin-bottom:.25rem; }
.value-card p { font-size:.8rem; color:var(--text-muted); line-height:1.6; }

/* ===== FOOTER ===== */
.footer { background:var(--bg-navy); }
.footer-top { padding:5rem 0 3rem; }
.footer-grid { display:grid; grid-template-columns:1.8fr 1fr 1fr 1fr 1.2fr; gap:3rem; }
.footer-logo { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:700; color:var(--white); margin-bottom:.875rem; }
.footer-logo span { color:var(--gold); }
.footer-brand p { font-size:.875rem; color:rgba(255,255,255,.4); line-height:1.7; margin-bottom:1.5rem; }
.footer-socials { display:flex; gap:.625rem; }
.social-btn {
  width:36px; height:36px;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--radius-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:.75rem; font-weight:700; color:rgba(255,255,255,.4);
  transition:var(--transition);
}
.social-btn:hover { border-color:var(--border-gold); color:var(--gold); }
.footer-col h5 {
  font-size:.8rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:var(--white); margin-bottom:1.125rem;
}
.footer-col ul { display:flex; flex-direction:column; gap:.5rem; }
.footer-col a { font-size:.875rem; color:rgba(255,255,255,.4); transition:color .2s; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom {
  padding:1.5rem 0; border-top:1px solid rgba(255,255,255,.06);
  display:flex; flex-direction:column; gap:.375rem;
}
.footer-bottom .container { display:flex; flex-direction:column; gap:.375rem; }
.footer-bottom p { font-size:.8rem; color:rgba(255,255,255,.2); }
.footer-bottom a { color:rgba(255,255,255,.35); transition:color .2s; }
.footer-bottom a:hover { color:var(--gold); }

/* ===== SCROLL REVEAL ANIMATIONS ===== */
.reveal,.reveal-card {
  opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.2,0,0,1), transform .7s cubic-bezier(.2,0,0,1);
}
.reveal-card[data-delay="1"]{transition-delay:.1s}
.reveal-card[data-delay="2"]{transition-delay:.2s}
.reveal-card[data-delay="3"]{transition-delay:.3s}
.reveal-card[data-delay="4"]{transition-delay:.4s}
.reveal-card[data-delay="5"]{transition-delay:.5s}
.reveal-card[data-delay="6"]{transition-delay:.12s}
.reveal-card[data-delay="7"]{transition-delay:.22s}
.reveal-card[data-delay="8"]{transition-delay:.08s}
.reveal-card[data-delay="9"]{transition-delay:.18s}
.reveal-card[data-delay="10"]{transition-delay:.28s}
.reveal-card[data-delay="11"]{transition-delay:.36s}
.visible{opacity:1!important;transform:translateY(0)!important}

/* ===== RESPONSIVE ===== */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr 1fr}
  .footer-col:last-child{grid-column:span 3}
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .hero-right{display:none}
}
@media(max-width:960px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .industries-grid{grid-template-columns:repeat(3,1fr)}
  .pricing-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}
  .pricing-featured{transform:none}
  .why-grid{grid-template-columns:1fr;gap:3rem}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .faq-grid{grid-template-columns:1fr;gap:2.5rem}
  .mission-grid{grid-template-columns:1fr;gap:3rem}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .process-grid{grid-template-columns:1fr}
  .testi-card{min-width:calc(50% - .75rem)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .section{padding:4.5rem 0}
  .nav-links,.nav-cta{display:none}
  .nav-burger{display:flex}
  .services-grid{grid-template-columns:1fr}
  .industries-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-col:last-child{grid-column:span 1}
  .footer-brand{grid-column:span 2}
  .form-row{grid-template-columns:1fr}
  .testi-card{min-width:100%}
  .stats-grid{flex-wrap:wrap;gap:0}
  .stat-item{width:50%}
  .stat-divider{display:none}
  .trust-logos{gap:1.5rem}
  .values-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-stats{flex-wrap:wrap;gap:1rem}
  .h-stat-divider{display:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:span 1}
  .section-title{font-size:1.875rem}
  .industries-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .cta-actions{flex-direction:column;align-items:center}
}

/* ============================================================
   LUXURY DEPTH & GLASS SYSTEM — UPGRADE LAYER
   ============================================================ */

/* --- Extended design tokens ------------------------------ */
:root {
  --shadow-float:     0 32px 80px rgba(0,0,0,0.18), 0 8px 24px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.75);
  --shadow-glow-gold: 0 0 80px rgba(201,168,76,0.24), 0 20px 60px rgba(201,168,76,0.12);
  --glass-bg-1:       rgba(255,255,255,0.72);
  --glass-bg-2:       rgba(255,255,255,0.45);
  --glass-bg-3:       rgba(255,255,255,0.18);
  --glass-border:     rgba(255,255,255,0.92);
  --glass-border-2:   rgba(255,255,255,0.55);
}

/* --- New keyframes --------------------------------------- */
@keyframes shimmerSlide {
  0%   { left: -80%; opacity: 1; }
  100% { left: 150%; opacity: 0; }
}
@keyframes goldPulseGlow {
  0%,100% { box-shadow: var(--shadow-lg), 0 0 40px rgba(201,168,76,0.14); }
  50%      { box-shadow: var(--shadow-lg), 0 0 80px rgba(201,168,76,0.32); }
}
@keyframes btnShimmer {
  0%   { left: -80%; opacity: 1; }
  100% { left: 150%; opacity: 0; }
}
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* --- Aggressive nav glass -------------------------------- */
.nav.scrolled {
  background: rgba(250,249,246,0.65) !important;
  backdrop-filter: blur(48px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(48px) saturate(200%) !important;
  border-bottom: 1px solid rgba(201,168,76,0.18) !important;
  box-shadow: 0 4px 48px rgba(0,0,0,0.06), inset 0 -1px 0 rgba(255,255,255,0.65) !important;
}

/* --- Hero depth ------------------------------------------ */
.hero-img-wrap {
  box-shadow: 0 48px 120px rgba(0,0,0,0.55), 0 0 80px rgba(201,168,76,0.10), 0 0 0 1px rgba(201,168,76,0.12) !important;
}
.hero-orb-1 { background: radial-gradient(circle, rgba(201,168,76,0.10) 0%, transparent 70%) !important; }
.hero-orb-2 { background: radial-gradient(circle, rgba(100,120,255,0.09) 0%, transparent 70%) !important; }

/* --- Hero float cards — deep glass ---------------------- */
.hero-float-card {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(255,255,255,0.90) !important;
  backdrop-filter: blur(32px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(32px) saturate(200%) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

/* --- Section depth orbs ---------------------------------- */
.section-alt { position: relative; overflow: hidden; }
.section-alt::before {
  content: '';
  position: absolute; top: -25%; right: -8%; z-index: 0;
  width: 560px; height: 560px; border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,0.045) 0%, transparent 65%);
  pointer-events: none;
}
.section-alt::after {
  content: '';
  position: absolute; bottom: -20%; left: -8%; z-index: 0;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(100,120,255,0.03) 0%, transparent 65%);
  pointer-events: none;
}
.section-alt > .container { position: relative; z-index: 1; }

/* --- Service cards — glass + shimmer -------------------- */
.service-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(24px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(160%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  transform-style: preserve-3d;
}
.service-card::before {
  content: '';
  position: absolute; top: 0; left: -80%; width: 55%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.42), transparent);
  transform: skewX(-18deg);
  opacity: 0; pointer-events: none; z-index: 1;
}
.service-card:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.15), 0 0 60px rgba(201,168,76,0.12), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.45) !important;
}
.service-card:hover::before {
  opacity: 1;
  animation: shimmerSlide 0.72s ease forwards;
}

/* --- Industry cards ------------------------------------- */
.industry-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  box-shadow: var(--shadow-xs), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  transform-style: preserve-3d;
}
.industry-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 24px 64px rgba(0,0,0,0.13), 0 0 40px rgba(201,168,76,0.10), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.40) !important;
}

/* --- Pricing cards -------------------------------------- */
.pricing-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  transform-style: preserve-3d;
}
.pricing-card:not(.pricing-featured):hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,0.14), 0 0 50px rgba(201,168,76,0.10), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.40) !important;
}
.pricing-featured {
  background: rgba(10,15,32,0.90) !important;
  border: 1px solid rgba(201,168,76,0.38) !important;
  backdrop-filter: blur(40px) !important;
  -webkit-backdrop-filter: blur(40px) !important;
  box-shadow: var(--shadow-lg), var(--shadow-glow-gold), inset 0 1px 0 rgba(201,168,76,0.28) !important;
  animation: goldPulseGlow 4s ease infinite;
}
.pricing-featured:hover {
  transform: scale(1.03) translateY(-10px) !important;
  box-shadow: 0 48px 120px rgba(0,0,0,0.32), 0 0 100px rgba(201,168,76,0.30), inset 0 1px 0 rgba(201,168,76,0.35) !important;
}

/* --- Team cards ----------------------------------------- */
.team-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  transform-style: preserve-3d;
}
.team-card:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.15), 0 0 50px rgba(201,168,76,0.10), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.40) !important;
}
.team-img-overlay {
  background: linear-gradient(180deg, transparent 40%, rgba(255,255,255,0.70) 80%, rgba(250,249,246,0.96) 100%) !important;
}

/* --- Testimonial cards ---------------------------------- */
.testi-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  transform-style: preserve-3d;
}
.testi-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-md), 0 0 40px rgba(201,168,76,0.08), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.35) !important;
}
.testi-btn {
  background: rgba(255,255,255,0.62) !important;
  border: 1.5px solid rgba(255,255,255,0.88) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: var(--shadow-xs), inset 0 1px 0 rgba(255,255,255,0.9) !important;
}
.testi-btn:hover {
  background: rgba(255,255,255,0.88) !important;
  border-color: rgba(201,168,76,0.40) !important;
  box-shadow: var(--shadow-sm), 0 0 20px rgba(201,168,76,0.10) !important;
}

/* --- Blog cards ----------------------------------------- */
.blog-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.85) !important;
}
.blog-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 28px 72px rgba(0,0,0,0.14), 0 0 40px rgba(201,168,76,0.08), inset 0 1px 0 rgba(255,255,255,0.92) !important;
  border-color: rgba(201,168,76,0.40) !important;
}

/* --- Contact form --------------------------------------- */
.contact-form {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(36px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(180%) !important;
  box-shadow: var(--shadow-float) !important;
}

/* --- Mission badge -------------------------------------- */
.mission-badge-float {
  background: rgba(255,255,255,0.72) !important;
  border: 1px solid rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(28px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(180%) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

/* --- Credential rows ------------------------------------ */
.cred-row {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: var(--shadow-xs), inset 0 1px 0 rgba(255,255,255,0.92) !important;
}
.cred-row:hover {
  box-shadow: var(--shadow-sm), 0 0 24px rgba(201,168,76,0.09), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.35) !important;
}

/* --- Value cards ---------------------------------------- */
.value-card {
  background: var(--glass-bg-2) !important;
  border: 1px solid var(--glass-border-2) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.85) !important;
}
.value-card:hover {
  background: var(--glass-bg-1) !important;
  border-color: rgba(201,168,76,0.35) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
}

/* --- Process step cards --------------------------------- */
.process-step-card {
  background: var(--glass-bg-1) !important;
  border: 1px solid var(--glass-border) !important;
  backdrop-filter: blur(18px) saturate(150%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
  box-shadow: var(--shadow-sm), inset 0 1px 0 rgba(255,255,255,0.92) !important;
}
.process-step-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-md), 0 0 40px rgba(201,168,76,0.08), inset 0 1px 0 rgba(255,255,255,0.95) !important;
  border-color: rgba(201,168,76,0.35) !important;
}

/* --- Global glass card upgrade -------------------------- */
.glass-card {
  background: rgba(255,255,255,0.68) !important;
  border: 1px solid rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(36px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(36px) saturate(200%) !important;
  box-shadow: var(--shadow-float) !important;
  position: relative; overflow: hidden;
}

/* --- Button primary shimmer sweep ----------------------- */
.btn-primary::after {
  content: '';
  position: absolute; top: 0; left: -80%; width: 55%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.38), transparent);
  transform: skewX(-20deg);
  pointer-events: none; opacity: 0;
}
.btn-primary:hover::after { animation: btnShimmer 0.65s ease forwards; }

/* --- Page hero gold bottom line ------------------------- */
.page-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.30), transparent);
  pointer-events: none;
}

/* --- Metric icon glow ----------------------------------- */
.metric-icon-bg {
  box-shadow: 0 0 24px rgba(201,168,76,0.10), inset 0 1px 0 rgba(201,168,76,0.20) !important;
  transition: box-shadow 0.3s, transform 0.3s !important;
}
.metric-card:hover .metric-icon-bg {
  box-shadow: 0 0 40px rgba(201,168,76,0.22), inset 0 1px 0 rgba(201,168,76,0.30) !important;
  transform: scale(1.1) !important;
}

/* --- Perspective depth on grid containers --------------- */
.services-grid, .industries-grid, .pricing-grid,
.team-grid, .blog-grid, .values-grid { perspective: 1200px; }

/* --- Section navy beam ---------------------------------- */
.section-navy { position: relative; overflow: hidden; }
.section-navy::before {
  content: '';
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 70%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.30), transparent);
  pointer-events: none;
}
