/* ================================================================
   KULEA BUSINESS SOLUTIONS — brand stylesheet
   CDN libraries used (linked in HTML, NOT copied here):
     • Google Fonts: Cormorant Garamond + DM Sans + DM Mono
     • GSAP 3.13 + ScrollTrigger + SplitText  (cdnjs)
     • Lenis 1.3  (jsdelivr)
     • AOS 3      (unpkg)
   ================================================================ */

/* ── TOKENS ──────────────────────────────────────────────────────── */
:root {
  /* Navy palette  */
  --ink  : #04080F;
  --n0   : #060D1B;
  --n1   : #091422;
  --n2   : #0D1D35;
  --n3   : #132848;
  --n4   : #1A335C;
  --n5   : #213F76;
  --n6   : #2C529E;

  /* Gold palette */
  --g4   : #C9A000;
  --g5   : #D4AF37;   /* brand gold */
  --g6   : #DFCA5A;
  --g7   : #EBD98A;
  --g8   : #F6ECC8;

  /* Accent */
  --teal : #00B4BE;

  /* Glass surfaces */
  --sf1  : rgba(255,255,255,0.030);
  --sf2  : rgba(255,255,255,0.055);
  --sf3  : rgba(255,255,255,0.090);
  --sfg  : rgba(212,175,55,0.070);

  /* Borders */
  --b1   : rgba(255,255,255,0.046);
  --b2   : rgba(255,255,255,0.085);
  --b3   : rgba(255,255,255,0.140);
  --bg   : rgba(212,175,55,0.220);
  --bgh  : rgba(212,175,55,0.520);

  /* Text */
  --t1   : rgba(255,255,255,0.96);
  --t2   : rgba(255,255,255,0.68);
  --t3   : rgba(255,255,255,0.42);
  --t4   : rgba(255,255,255,0.22);

  /* Typography */
  --serif : 'Cormorant Garamond', Georgia, serif;
  --sans  : 'DM Sans', system-ui, sans-serif;
  --mono  : 'DM Mono', monospace;

  /* Easing */
  --e1 : cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --e2 : cubic-bezier(0.16, 1.00, 0.30, 1.00);
  --e3 : cubic-bezier(0.34, 1.56, 0.64, 1.00);

  --nav : 76px;
  --mx  : 1380px;
}

/* ── RESET ───────────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html  { font-size:16px; }
body  {
  font-family : var(--sans);
  background  : var(--ink);
  color       : var(--t1);
  overflow-x  : hidden;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  line-height : 1.65;
}
/* Lenis recommended */
html.lenis, html.lenis body { height:auto; }
.lenis.lenis-smooth          { scroll-behavior:auto !important; }

img    { display:block; max-width:100%; }
a      { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
[id]   { scroll-margin-top: 86px; }
::selection { background:rgba(212,175,55,0.28); color:#fff; }

/* Scrollbar */
::-webkit-scrollbar             { width:5px; }
::-webkit-scrollbar-track       { background:var(--n0); }
::-webkit-scrollbar-thumb       { background:var(--n4); border-radius:99px; }
::-webkit-scrollbar-thumb:hover { background:var(--g5); }

/* ── ANIMATED BACKGROUND ─────────────────────────────────────────── */
.bg {
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
}
.bg::before {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 85% 65% at 5% 0%,   rgba(24,48,96,0.65)  0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 100% 5%,  rgba(30,60,122,0.38) 0%, transparent 50%),
    radial-gradient(ellipse 70% 55% at 95% 100%, rgba(9,20,34,0.82)   0%, transparent 55%),
    radial-gradient(ellipse 45% 40% at 0% 100%,  rgba(12,28,52,0.55)  0%, transparent 45%),
    linear-gradient(165deg, #060D1B 0%, #091422 35%, #0D1D35 65%, #060D1B 100%);
  animation: bgPulse 24s ease-in-out infinite alternate;
}
.bg::after {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 500px 300px at 18% 75%, rgba(212,175,55,0.04) 0%, transparent 70%),
    radial-gradient(ellipse 400px 260px at 82% 20%, rgba(0,180,190,0.04)  0%, transparent 70%);
  animation: bgShift 20s ease-in-out infinite alternate;
}
@keyframes bgPulse {
  from { filter:brightness(1); }
  to   { filter:brightness(1.07) hue-rotate(7deg); }
}
@keyframes bgShift { from{opacity:.7} to{opacity:1.3} }

/* floating orbs */
.orb {
  position:fixed; border-radius:50%; filter:blur(100px);
  pointer-events:none; z-index:0;
}
.orb-a { width:760px;height:760px; background:radial-gradient(circle,rgba(24,48,96,.50),transparent 70%);  top:-290px;left:-200px;   animation:orbDrift 32s ease-in-out infinite alternate; }
.orb-b { width:500px;height:500px; background:radial-gradient(circle,rgba(30,60,122,.28),transparent 70%); top:38%;right:-170px;     animation:orbDrift 25s ease-in-out infinite alternate-reverse; }
.orb-c { width:390px;height:390px; background:radial-gradient(circle,rgba(212,175,55,.06),transparent 70%);bottom:16%;left:16%;      animation:orbDrift 22s ease-in-out infinite alternate; }
.orb-d { width:560px;height:560px; background:radial-gradient(circle,rgba(9,20,34,.90),transparent 70%);   bottom:-190px;right:4%;   animation:orbDrift 28s ease-in-out infinite alternate-reverse; }
@keyframes orbDrift {
  from { transform:translate(0,0) scale(1); }
  to   { transform:translate(28px,-44px) scale(1.07); }
}

/* grain texture */
.grain {
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.019;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

/* ── SITE WRAPPER ────────────────────────────────────────────────── */
.site { position:relative; z-index:2; }

/* ── NAVIGATION ──────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; inset-inline:0; z-index:1000;
  height:var(--nav);
  display:flex; align-items:center;
  padding-inline:clamp(18px,4vw,56px);
  background:rgba(4,8,15,.82);
  backdrop-filter:blur(28px) saturate(160%);
  -webkit-backdrop-filter:blur(28px) saturate(160%);
  border-bottom:1px solid var(--b1);
  transition:height .35s var(--e1), background .35s var(--e1), border-color .35s var(--e1);
}
.nav.scrolled {
  height:62px;
  background:rgba(4,8,15,.97);
  border-bottom-color:var(--b2);
  box-shadow:0 4px 48px rgba(0,0,0,.52);
}
.nav-inner {
  width:100%; max-width:var(--mx); margin:0 auto;
  display:flex; align-items:center; gap:clamp(14px,3vw,44px);
}
.nav-logo {
  display:flex; align-items:center; flex-shrink:0;
  height:calc(var(--nav) - 22px);
  transition:opacity .3s var(--e1);
}
.nav-logo img {
  height:100%; width:auto; object-fit:contain;
  background:#fff; padding:6px 18px; border-radius:9px;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.40));
}
.nav-logo:hover { opacity:.87; }

.nav-links {
  display:flex; align-items:center; gap:2px;
  flex:1; justify-content:center;
  background:var(--sf1); border:1px solid var(--b1);
  border-radius:99px; padding:5px 8px;
}
.nav-link {
  font-family:var(--sans); font-size:13.5px; font-weight:500;
  color:var(--t3); padding:9px 20px; border-radius:99px;
  transition:all .18s var(--e1); white-space:nowrap;
}
.nav-link:hover  { color:var(--t1); background:var(--sf3); }
.nav-link.active { color:#fff;      background:var(--sf2); }

.btn-nav {
  font-family:var(--sans); font-size:13px; font-weight:600;
  letter-spacing:.03em; color:#000;
  padding:10px 24px; border-radius:99px; flex-shrink:0;
  background:linear-gradient(135deg, var(--g4), var(--g6));
  box-shadow:0 4px 20px rgba(201,162,0,.36), 0 1px 0 rgba(255,255,255,.16) inset;
  transition:all .28s var(--e1);
}
.btn-nav:hover {
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(201,162,0,.50);
}

/* hamburger */
.hamburger {
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:40px; height:40px; border-radius:9px;
  background:var(--sf2); border:1px solid var(--b2); flex-shrink:0;
  transition:background .2s var(--e1);
}
.hamburger span {
  display:block; height:1.5px; width:20px; margin:0 auto;
  background:var(--t2); border-radius:2px;
  transition:all .3s var(--e1);
}
.hamburger:hover         { background:var(--sf3); }
.hamburger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* mobile drawer */
.drawer {
  position:fixed; top:var(--nav); inset-inline:0; z-index:999;
  background:rgba(6,13,27,.98); backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--b2);
  padding:14px 22px 22px;
  display:flex; flex-direction:column; gap:4px;
  transform:translateY(-110%);
  transition:transform .32s var(--e2);
  pointer-events:none;
}
.drawer.open { transform:translateY(0); pointer-events:all; }
.d-link {
  font-size:15px; font-weight:500; color:var(--t2);
  padding:13px 16px; border-radius:10px;
  border-bottom:1px solid var(--b1);
  transition:all .18s var(--e1);
}
.d-link:hover { color:var(--t1); background:var(--sf2); }
.d-btn {
  margin-top:12px; text-align:center;
  font-size:14px; font-weight:600; color:#000; letter-spacing:.03em;
  padding:14px; border-radius:10px;
  background:linear-gradient(135deg, var(--g5), var(--g7));
  box-shadow:0 4px 20px rgba(212,175,55,.38);
}

/* ── LAYOUT ──────────────────────────────────────────────────────── */
.wrap     { max-width:var(--mx); margin:0 auto; padding-inline:clamp(18px,4vw,56px); }
.section  { padding-block:clamp(72px,10vw,130px); }
.section-sm { padding-block:clamp(44px,6vw,84px); }

/* ── TYPOGRAPHY ──────────────────────────────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; font-weight:400;
  letter-spacing:.18em; text-transform:uppercase; color:var(--g5);
  margin-bottom:16px;
}
.eyebrow::before {
  content:''; display:block; width:28px; height:1px; background:var(--g5);
}
.eyebrow-center { justify-content:center; }

.h-hero {
  font-family:var(--serif);
  font-size:clamp(3.4rem,6.5vw,7rem);
  font-weight:500; line-height:1.05; letter-spacing:-.02em; color:#fff;
}
.h-section {
  font-family:var(--serif);
  font-size:clamp(2.5rem,4.8vw,4.6rem);
  font-weight:500; line-height:1.1; letter-spacing:-.015em; color:#fff;
}
.h-card {
  font-family:var(--serif);
  font-size:clamp(1.55rem,2.4vw,2.15rem);
  font-weight:500; line-height:1.2; color:#fff;
}

.gold {
  background:linear-gradient(135deg, var(--g5) 0%, var(--g7) 52%, var(--g5) 100%);
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:goldShimmer 7s linear infinite;
}
@keyframes goldShimmer { to { background-position:200% center; } }

.lead {
  font-size:clamp(1rem,1.55vw,1.22rem);
  font-weight:300; color:var(--t2); line-height:1.88; max-width:580px;
}

/* ── BUTTONS ─────────────────────────────────────────────────────── */
.btn-primary {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-size:14px; font-weight:600;
  letter-spacing:.04em; color:#000;
  padding:14px 38px; border-radius:99px;
  background:linear-gradient(135deg, var(--g4), var(--g6));
  box-shadow:0 4px 24px rgba(201,162,0,.40), 0 1px 0 rgba(255,255,255,.2) inset;
  transition:all .3s var(--e1); white-space:nowrap;
}
.btn-primary:hover {
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 10px 40px rgba(201,162,0,.56);
}
.btn-outline {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--sans); font-size:14px; font-weight:500;
  letter-spacing:.02em; color:var(--t1);
  padding:13px 38px; border-radius:99px;
  border:1px solid var(--bg);
  background:transparent;
  transition:all .3s var(--e1); white-space:nowrap;
}
.btn-outline:hover {
  border-color:var(--bgh); background:rgba(212,175,55,.07);
  transform:translateY(-2px);
}
.btn-full {
  width:100%;
  font-family:var(--sans); font-size:15px; font-weight:600;
  letter-spacing:.04em; color:#000;
  padding:17px; border-radius:12px;
  background:linear-gradient(135deg, var(--g4), var(--g6));
  box-shadow:0 4px 24px rgba(201,162,0,.36);
  position:relative; overflow:hidden;
  transition:all .3s var(--e1);
}
.btn-full::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:translateX(-100%);
  transition:transform .6s var(--e1);
}
.btn-full:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(201,162,0,.52); }
.btn-full:hover::after { transform:translateX(100%); }
.btn-full:disabled { opacity:.55; cursor:not-allowed; transform:none; }

/* ── PANEL (glass card) ──────────────────────────────────────────── */
.panel {
  background:linear-gradient(135deg, rgba(13,29,53,.88), rgba(9,20,34,.92));
  border:1px solid var(--b2);
  border-radius:20px;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  position:relative; overflow:hidden;
  transition:all .32s var(--e1);
}
.panel::before {
  content:''; position:absolute; top:0; inset-inline:0; height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),rgba(212,175,55,.14),rgba(255,255,255,.12),transparent);
}
.panel:hover {
  border-color:var(--b3);
  box-shadow:0 16px 56px rgba(0,0,0,.48), 0 0 0 1px rgba(212,175,55,.07);
  transform:translateY(-4px);
}
.panel-gold { border-color:var(--bg); background:linear-gradient(135deg,rgba(18,28,58,.90),rgba(11,20,40,.94)); }
.panel-gold::before { background:linear-gradient(90deg,transparent,rgba(212,175,55,.30),transparent); }

/* ── FORM ────────────────────────────────────────────────────────── */
.f-group { margin-bottom:15px; }
.f-label {
  display:block;
  font-family:var(--mono); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--t3); margin-bottom:7px;
}
.f-input, .f-textarea, .f-select {
  width:100%;
  font-family:var(--sans); font-size:15px; font-weight:400; color:var(--t1);
  background:rgba(4,8,15,.72); border:1px solid var(--b2);
  border-radius:10px; padding:13px 17px;
  outline:none; transition:all .2s var(--e1);
  -webkit-appearance:none;
}
.f-input::placeholder, .f-textarea::placeholder { color:var(--t4); }
.f-input:hover,  .f-textarea:hover  { border-color:var(--b3); }
.f-input:focus,  .f-textarea:focus  {
  border-color:var(--g5);
  background:rgba(4,8,15,.88);
  box-shadow:0 0 0 3px rgba(212,175,55,.12), 0 4px 14px rgba(0,0,0,.28);
}
.f-textarea { resize:vertical; min-height:120px; line-height:1.7; }
.f-select { cursor:pointer; color:var(--t2); }
.f-select option { background:var(--n2); color:var(--t1); }
#form-status {
  display:none; padding:13px 17px; border-radius:10px;
  font-size:14px; font-weight:500; margin-top:14px; text-align:center;
}
#form-status.success { display:block; color:#20a050; background:rgba(32,160,80,.1); border:1px solid rgba(32,160,80,.22); }
#form-status.error   { display:block; color:#c0392b; background:rgba(192,57,43,.09); border:1px solid rgba(192,57,43,.20); }

/* ── HERO ────────────────────────────────────────────────────────── */
.hero {
  padding-top:calc(var(--nav) + clamp(32px,5vw,56px));
  padding-bottom:clamp(48px,7vw,80px);
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:clamp(36px,5vw,72px);
  align-items:start;
  max-width:var(--mx); margin:0 auto;
  padding-inline:clamp(18px,4vw,56px);
}
.hero-left  { padding-block:0; }
.hero-right { padding-block:0; }

.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--g6);
  background:rgba(212,175,55,.07); border:1px solid rgba(212,175,55,.2);
  border-radius:99px; padding:9px 18px; margin-bottom:26px;
}
.badge-dot {
  width:7px; height:7px; border-radius:50%; background:var(--g5);
  animation:pulse 2.2s ease-in-out infinite;
}
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.45;transform:scale(.8)} }

.hero-tagline {
  font-family:var(--serif); font-size:clamp(1.15rem,2vw,1.55rem);
  font-weight:300; font-style:italic; color:var(--t3);
  margin-top:12px; margin-bottom:26px;
}
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }

.hero-stats {
  display:flex; gap:clamp(18px,4vw,46px);
  margin-top:52px; padding-top:30px;
  border-top:1px solid var(--b1);
}
.sv { font-family:var(--serif); font-size:clamp(1.8rem,3.2vw,2.9rem); font-weight:500; line-height:1; color:#fff; }
.sl { font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--t3); margin-top:5px; }

.contact-title { font-family:var(--serif); font-size:1.95rem; font-weight:500; color:#fff; margin-bottom:5px; }
.contact-sub   { font-size:13px; color:var(--t3); margin-bottom:26px; line-height:1.6; }

/* ── TRUST STRIP ─────────────────────────────────────────────────── */
.trust {
  border-block:1px solid var(--b1);
  padding-block:28px;
}
.trust-inner {
  max-width:var(--mx); margin:0 auto; padding-inline:clamp(18px,4vw,56px);
  display:flex; align-items:center; justify-content:center;
  gap:clamp(18px,4vw,60px); flex-wrap:wrap;
}
.t-label { font-family:var(--mono); font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--t4); white-space:nowrap; }
.t-sep   { width:1px; height:22px; background:var(--b1); }
.t-item  { font-family:var(--sans); font-size:13px; font-weight:500; color:var(--t3); letter-spacing:.04em; white-space:nowrap; transition:color .18s var(--e1); }
.t-item:hover { color:var(--g6); }

/* ── ABOUT ───────────────────────────────────────────────────────── */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(36px,6vw,76px); align-items:center;
}
.about-img {
  position:relative; border-radius:20px; overflow:hidden;
  aspect-ratio:4/5; max-height:580px;
}
.about-img img { width:100%; height:100%; object-fit:cover; transition:transform .9s var(--e1); }
.about-img:hover img { transform:scale(1.04); }
.about-img-ov {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(6,13,27,.82) 0%, transparent 50%);
}
.about-float {
  position:absolute; bottom:22px; left:22px; right:22px;
  background:rgba(4,8,15,.90); backdrop-filter:blur(14px);
  border:1px solid var(--bg); border-radius:13px;
  padding:18px 20px; display:flex; align-items:center; gap:14px;
}
.about-float-icon { font-size:26px; flex-shrink:0; }
.about-float-txt  { font-size:13.5px; color:var(--t2); line-height:1.5; }
.about-float-txt strong { color:#fff; display:block; font-size:15px; margin-bottom:1px; }

.list-check { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:10px; }
.list-check li {
  display:flex; align-items:flex-start; gap:11px;
  font-size:15px; color:var(--t2); line-height:1.5;
}
.list-check li::before { content:'✦'; color:var(--g5); font-size:10px; margin-top:4px; flex-shrink:0; }

.quote-block {
  margin-top:28px; padding:20px 24px;
  border-left:3px solid var(--g5);
  background:rgba(212,175,55,.06);
  border-radius:0 11px 11px 0;
  font-family:var(--serif); font-size:1.18rem; font-style:italic;
  color:var(--t2); line-height:1.75;
}

/* ── PILLARS (mission/vision/commitment) ─────────────────────────── */
.pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.5vw,26px); }
.pillar  { padding:clamp(28px,4vw,46px) clamp(20px,3vw,36px); text-align:center; }
.pillar-icon { font-size:46px; margin-bottom:20px; display:block; filter:drop-shadow(0 4px 12px rgba(0,0,0,.5)); }
.pillar-title { font-family:var(--serif); font-size:1.8rem; font-weight:500; margin-bottom:13px; }
.pillar-text  { font-size:14.5px; color:var(--t2); line-height:1.82; }

/* ── VALUES ──────────────────────────────────────────────────────── */
.values { display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(12px,2vw,22px); }
.value  { padding:clamp(24px,3.5vw,38px) clamp(18px,2.5vw,28px); text-align:center; }
.value-icon {
  width:54px; height:54px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-size:23px; margin:0 auto 17px;
  background:rgba(212,175,55,.07); border:1px solid var(--bg);
}
.value-title { font-family:var(--serif); font-size:1.32rem; font-weight:500; margin-bottom:9px; color:#fff; }
.value-text  { font-size:13.5px; color:var(--t3); line-height:1.78; }

/* ── SERVICES ────────────────────────────────────────────────────── */
.services { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.5vw,24px); }
.svc { display:flex; flex-direction:column; overflow:hidden; border-radius:20px; }
.svc-img { height:180px; overflow:hidden; position:relative; flex-shrink:0; }
.svc-img img  { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--e1); }
.svc:hover .svc-img img { transform:scale(1.07); }
.svc-img-ov   { position:absolute; inset:0; background:linear-gradient(to bottom,transparent 35%,rgba(9,20,34,.96) 100%); }
.svc-badge {
  position:absolute; bottom:-22px; left:26px;
  width:50px; height:50px; border-radius:13px;
  display:flex; align-items:center; justify-content:center; font-size:21px;
  background:linear-gradient(135deg, var(--g4), var(--g5));
  border:3px solid var(--n0);
  box-shadow:0 4px 16px rgba(201,162,0,.40);
}
.svc-body { padding:clamp(28px,3vw,36px) clamp(20px,2.5vw,28px) clamp(22px,3vw,30px); flex:1; display:flex; flex-direction:column; }
.svc-num  { font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--t4); margin-bottom:7px; display:block; }
.svc-title { font-family:var(--serif); font-size:1.58rem; font-weight:500; color:#fff; margin-bottom:9px; margin-top:13px; }
.svc-desc  { font-size:13.5px; color:var(--t2); line-height:1.77; flex:1; }
.svc-feats { margin-top:18px; padding-top:16px; border-top:1px solid var(--b1); list-style:none; display:flex; flex-direction:column; gap:7px; }
.svc-feats li { font-size:13px; color:var(--t3); line-height:1.5; display:flex; align-items:flex-start; gap:8px; }
.svc-feats li::before { content:'→'; color:var(--g5); flex-shrink:0; }

/* ── TAX CREDENTIALS ─────────────────────────────────────────────── */
.tax-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,76px); align-items:center; }
.tax-principles { display:flex; flex-direction:column; gap:12px; margin-top:26px; }
.tax-p {
  display:flex; align-items:center; gap:15px;
  padding:15px 19px; border-radius:12px;
  border:1px solid var(--b2); background:var(--sf1);
  transition:all .2s var(--e1);
}
.tax-p:hover { border-color:var(--bg); background:var(--sfg); }
.tax-p-icon  { font-size:21px; flex-shrink:0; }
.tax-p-text  { font-size:15px; font-weight:500; color:var(--t1); }

.sait {
  margin-top:26px; display:flex; align-items:center; gap:14px;
  padding:17px 20px; border-radius:12px;
  background:rgba(0,180,190,.07); border:1px solid rgba(0,180,190,.28);
}
.sait-dot {
  width:36px; height:36px; border-radius:50%; background:var(--teal);
  display:flex; align-items:center; justify-content:center;
  font-size:15px; color:#fff; flex-shrink:0;
  box-shadow:0 4px 12px rgba(0,180,190,.40);
}
.sait-text { font-size:14px; color:var(--t2); font-weight:500; }

.tax-img {
  border-radius:20px; overflow:hidden; aspect-ratio:4/3;
  border:1px solid var(--bg); position:relative;
}
.tax-img img { width:100%; height:100%; object-fit:cover; }
.tax-img::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(6,13,27,.55) 0%,transparent 60%);
}

/* ── FOUNDER ─────────────────────────────────────────────────────── */
.founder-card {
  max-width:760px; width:100%;
  padding:clamp(36px,5vw,60px); text-align:center;
}
.founder-av {
  width:178px; height:178px; border-radius:50%; overflow:hidden;
  margin:0 auto 26px;
  border:3px solid var(--bg);
  box-shadow:0 0 0 6px rgba(212,175,55,.08), 0 12px 40px rgba(0,0,0,.40);
}
.founder-av img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.founder-name { font-family:var(--serif); font-size:clamp(2rem,3.5vw,3rem); font-weight:500; color:#fff; margin-bottom:5px; }
.founder-role { font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--g5); margin-bottom:22px; }
.founder-bio  { font-size:16px; color:var(--t2); line-height:1.88; max-width:570px; margin:0 auto; }

/* ── CTA BANNER ──────────────────────────────────────────────────── */
.cta-banner {
  position:relative; border-radius:24px; overflow:hidden;
  padding:clamp(50px,7vw,88px) clamp(28px,5vw,72px); text-align:center;
  background:linear-gradient(135deg,rgba(26,51,92,.95) 0%,rgba(19,40,72,.97) 50%,rgba(15,30,58,.95) 100%);
  border:1px solid var(--bg);
}
.cta-banner::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 65% 75% at 10% 50%,rgba(212,175,55,.07),transparent),
             radial-gradient(ellipse 55% 65% at 90% 50%,rgba(0,180,190,.055),transparent);
  animation:ctaPulse 14s ease-in-out infinite alternate;
}
.cta-banner::after {
  content:''; position:absolute; top:0; inset-inline:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--g5),transparent);
}
@keyframes ctaPulse { from{opacity:.75} to{opacity:1.3} }
.cta-inner   { position:relative; z-index:1; }
.cta-actions { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; margin-top:30px; }

/* ── FOOTER ──────────────────────────────────────────────────────── */
.footer      { border-top:1px solid var(--b1); margin-top:clamp(56px,8vw,96px); }
.footer-body { max-width:var(--mx); margin:0 auto; padding:clamp(48px,7vw,80px) clamp(18px,4vw,56px) clamp(26px,4vw,44px); }
.footer-grid {
  display:grid; grid-template-columns:2.2fr 1fr 1fr 1.2fr;
  gap:clamp(26px,4vw,52px);
  padding-bottom:clamp(30px,5vw,52px);
  border-bottom:1px solid var(--b1);
}
.footer-logo img { height:40px; background:#fff; padding:5px 14px; border-radius:7px; object-fit:contain; margin-bottom:16px; }
.footer-tag  { font-size:14px; color:var(--t3); line-height:1.77; max-width:270px; }
.f-heading   { font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--g5); margin-bottom:17px; }
.f-links     { display:flex; flex-direction:column; gap:8px; }
.f-link      { font-size:14px; color:var(--t3); transition:all .18s var(--e1); padding:2px 0; }
.f-link:hover { color:var(--t1); padding-left:6px; }
.f-contact-row { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:var(--t3); margin-bottom:10px; line-height:1.5; }
.f-contact-row a { color:var(--g6); transition:color .18s var(--e1); }
.f-contact-row a:hover { color:var(--g7); }
.f-contact-row svg { flex-shrink:0; margin-top:2px; color:var(--g5); }

.footer-bottom { padding-top:clamp(18px,3vw,28px); display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.footer-copy   { font-size:12.5px; color:var(--t4); }
.footer-legal  { font-size:12px;   color:var(--t4); }

/* ── AOS OVERRIDES ───────────────────────────────────────────────── */
[data-aos] { pointer-events:none; }
[data-aos].aos-animate { pointer-events:auto; }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media (max-width:1200px) {
  .services { grid-template-columns:repeat(2,1fr); }
  .values   { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:900px) {
  .hero      { grid-template-columns:1fr; padding-top:calc(var(--nav) + 20px); padding-bottom:44px; }
  .hero-left { padding-block:0; }
  .hero-right{ padding-block:0; }
  .about-grid{ grid-template-columns:1fr; }
  .pillars   { grid-template-columns:1fr; }
  .tax-grid  { grid-template-columns:1fr; }
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .btn-nav   { display:none; }
}
@media (max-width:640px) {
  .services { grid-template-columns:1fr; }
  .values   { grid-template-columns:1fr 1fr; }
  .hero-stats { flex-wrap:wrap; gap:20px; }
  .footer-grid{ grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; text-align:center; }
}
@media (max-width:400px) {
  .values      { grid-template-columns:1fr; }
  .hero-actions{ flex-direction:column; }
  .cta-actions { flex-direction:column; align-items:center; }
}

/* ── GSAP initial states — JS sets opacity:0 itself, no CSS fallback ── */
/* .gsap-hide intentionally left empty so content is visible if JS fails */

/* ── ACCESSIBILITY ───────────────────────────────────────────────── */
:focus-visible { outline:2px solid var(--g5); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* ── HERO CSS entrance animations — zero JS dependency ───────────── */
/* These fire immediately via CSS, regardless of GSAP/Lenis loading  */
.hero-badge    { animation: heroUp 0.65s cubic-bezier(0.16,1,0.3,1) 0.05s both; }
#hero-title    { animation: heroUp 0.70s cubic-bezier(0.16,1,0.3,1) 0.14s both; }
.hero-tagline  { animation: heroUp 0.65s cubic-bezier(0.16,1,0.3,1) 0.22s both; }
.hero-left .lead { animation: heroUp 0.65s cubic-bezier(0.16,1,0.3,1) 0.30s both; }
.hero-actions  { animation: heroUp 0.60s cubic-bezier(0.16,1,0.3,1) 0.38s both; }
.hero-stats    { animation: heroUp 0.60s cubic-bezier(0.16,1,0.3,1) 0.46s both; }
#contact-panel { animation: heroRight 0.80s cubic-bezier(0.16,1,0.3,1) 0.18s both; }

@keyframes heroUp {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0);    }
}
@keyframes heroRight {
  from { opacity:0; transform:translateX(30px); }
  to   { opacity:1; transform:translateX(0);    }
}
