/* FIT — ForGOD Intelligence Technologies — Design System */
@import url('https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&display=swap');

:root {
  --primary: #E65C00;
  --primary-rgb: 230,92,0;
  --secondary: #FFB380;
  --warm-cream: #FFF5E6;
  --deep-navy: #112345;
  --deep-navy-rgb: 17,35,69;
  --bold-pink: #FB2875;
  --surface: #FDFBF7;
  --stone: #78716C;
  --near-black: #1A0D00;
  --border: #E7E5E4;
  --font-display: 'Clash Display', 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-accent: 'Cormorant Garamond', serif;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 40px;
  --radius-full: 9999px;
  --shadow-card: rgba(255,255,255,0.8) 0 1px 0 inset, rgba(0,0,0,0.02) 0 4px 20px;
  --shadow-hover: 0 8px 32px rgba(230,92,0,0.15);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 80px; }

body {
  font-family: var(--font-body);
  background: var(--surface);
  color: var(--near-black);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul,ol { list-style:none; }

/* ── Scroll Progress ── */
.scroll-progress {
  position:fixed; top:0; left:0; height:3px; width:0%;
  background: linear-gradient(90deg, var(--primary), var(--secondary));
  z-index:10000; transition: width 0.1s linear;
}

/* ── Preloader ── */
.preloader {
  position:fixed; inset:0; z-index:99999;
  background: var(--deep-navy);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
.preloader.hidden { opacity:0; visibility:hidden; pointer-events:none; }
.preloader-logo {
  font-family: var(--font-display); font-size:72px; font-weight:700;
  color: var(--primary); letter-spacing: -2px;
  animation: preloaderPulse 1.5s ease-in-out infinite;
}
.preloader-tagline {
  font-family: var(--font-accent); font-style:italic;
  color: var(--secondary); font-size:18px; margin-top:12px; opacity:0.8;
}

/* ── Navbar ── */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:9999;
  padding: 16px 48px; display:flex; align-items:center; justify-content:space-between;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.navbar.scrolled {
  background: rgba(253,251,247,0.92);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(230,92,0,0.2);
  padding: 12px 48px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
}
.nav-brand { display:flex; align-items:center; gap:12px; }
.nav-logo {
  font-family: var(--font-display); font-size:32px; font-weight:700;
  color: var(--primary); letter-spacing:-1px;
}
.nav-wordmark {
  font-family: var(--font-body); font-size:11px; font-weight:500;
  color: var(--stone); letter-spacing:0.15em; text-transform:uppercase;
  line-height:1.3; max-width:140px;
}
.nav-links { display:flex; gap:32px; align-items:center; }
.nav-links a {
  font-size:14px; font-weight:500; color: var(--deep-navy);
  position:relative; padding:4px 0; transition: color 0.2s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:0; left:0; width:0; height:2px;
  background: var(--primary); transition: width 0.3s ease;
}
.nav-links a:hover { color: var(--primary); }
.nav-links a:hover::after { width:100%; }
.nav-cta {
  background: var(--primary); color:#fff; padding:12px 28px;
  border-radius: var(--radius-full); font-weight:600; font-size:14px;
  transition: all 0.3s ease; display:inline-flex; align-items:center; gap:8px;
}
.nav-cta:hover { background:#d45200; transform:translateY(-2px); box-shadow: var(--shadow-hover); }
.hamburger {
  display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:10001;
}
.hamburger span {
  width:28px; height:2.5px; background: var(--primary);
  border-radius:2px; transition: all 0.3s ease;
}
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }

.mobile-menu {
  position:fixed; inset:0; background: rgba(253,251,247,0.98);
  backdrop-filter: blur(30px); z-index:10000;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:32px; opacity:0; visibility:hidden; transition: all 0.4s ease;
}
.mobile-menu.active { opacity:1; visibility:visible; }
.mobile-menu a {
  font-family: var(--font-display); font-size:28px; font-weight:600;
  color: var(--deep-navy); transition: color 0.2s;
}
.mobile-menu a:hover { color: var(--primary); }

/* ── Hero ── */
.hero {
  min-height:100vh; display:flex; align-items:center;
  padding: 120px 48px 60px; position:relative; overflow:hidden;
}
.hero-canvas {
  position:absolute; inset:0; z-index:0; pointer-events:none;
}
.hero-africa-watermark {
  position:absolute; right:-5%; top:10%; width:50%; height:80%;
  opacity:0.03; z-index:0; animation: breathe 8s ease-in-out infinite;
}
.hero-content {
  display:flex; align-items:center; gap:64px;
  max-width:1400px; margin:0 auto; width:100%; position:relative; z-index:2;
}
.hero-text { flex:0 0 58%; }
.hero-visual { flex:0 0 38%; position:relative; }
.hero-micro {
  font-size:12px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase;
  color: var(--primary); margin-bottom:20px;
  display:inline-flex; align-items:center; gap:8px;
}
.hero-micro::before {
  content:''; width:24px; height:2px; background: var(--primary);
}
.hero-h1 {
  font-family: var(--font-display); font-size:clamp(40px,5.5vw,80px);
  line-height:1.05; font-weight:700; margin-bottom:24px;
}
.hero-h1 .orange { color: var(--primary); }
.hero-h1 .navy { color: var(--deep-navy); }
.hero-sub {
  font-size:18px; color: var(--stone); max-width:520px;
  line-height:1.7; margin-bottom:36px;
}
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; margin-bottom:32px; }
.btn-primary {
  background: var(--primary); color:#fff; padding:16px 32px;
  border-radius: var(--radius-full); font-weight:600; font-size:16px;
  display:inline-flex; align-items:center; gap:10px;
  transition: all 0.3s ease; border:2px solid var(--primary);
}
.btn-primary:hover {
  background:#d45200; transform:translateY(-3px);
  box-shadow: 0 12px 40px rgba(230,92,0,0.3);
}
.btn-ghost {
  background:transparent; color: var(--primary); padding:16px 32px;
  border-radius: var(--radius-full); font-weight:600; font-size:16px;
  border:2px solid var(--primary); display:inline-flex; align-items:center; gap:10px;
  transition: all 0.3s ease;
}
.btn-ghost:hover {
  background: rgba(230,92,0,0.08); transform:translateY(-3px);
}
.social-proof {
  display:flex; gap:24px; flex-wrap:wrap;
}
.proof-item {
  display:flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color: var(--deep-navy);
}
.proof-item .icon { font-size:18px; }

/* Hero Device Mockup */
.mockup-container {
  position:relative; perspective:1200px;
}
.mockup-laptop {
  width:100%; background: var(--deep-navy); border-radius:12px;
  padding:12px; box-shadow: 0 30px 80px rgba(17,35,69,0.3);
  transform: rotateY(-5deg) rotateX(3deg);
  transition: transform 0.3s ease;
}
.mockup-screen {
  width:100%; aspect-ratio:16/10; border-radius:6px;
  overflow:hidden; position:relative; background:#111;
}
.mockup-screen img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:0; transition: opacity 0.8s ease;
}
.mockup-screen img.active { opacity:1; }
.mockup-phone {
  position:absolute; bottom:-20px; right:-30px; width:28%;
  background: var(--near-black); border-radius:20px; padding:6px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3);
  transform: rotateY(-5deg) rotateX(2deg);
  z-index:3;
}
.mockup-phone-screen {
  width:100%; aspect-ratio:9/19; border-radius:16px;
  overflow:hidden; background:#111;
}
.mockup-phone-screen img {
  width:100%; height:100%; object-fit:cover;
}

/* Hero Marquee */
.hero-marquee {
  position:absolute; bottom:0; left:0; right:0;
  background: var(--deep-navy); padding:14px 0; overflow:hidden;
  z-index:5;
}
.marquee-track {
  display:flex; gap:48px; animation: marqueeScroll 25s linear infinite;
  white-space:nowrap;
}
.marquee-track span {
  font-size:13px; font-weight:600; letter-spacing:0.2em;
  text-transform:uppercase; color: var(--primary);
  flex-shrink:0;
}
.marquee-dot { color: var(--secondary); }

/* ── Belief Section ── */
.belief {
  background: var(--deep-navy); padding:120px 48px; text-align:center;
  position:relative; overflow:hidden;
}
.belief-art {
  position:absolute; top:0; bottom:0; width:120px; opacity:0.06;
  background: repeating-linear-gradient(45deg, var(--primary) 0px, var(--primary) 1px, transparent 1px, transparent 12px),
              repeating-linear-gradient(-45deg, var(--primary) 0px, var(--primary) 1px, transparent 1px, transparent 12px);
}
.belief-art.left { left:0; }
.belief-art.right { right:0; }
.belief p {
  font-family: var(--font-body); font-size:clamp(18px,2.5vw,28px);
  color: rgba(255,255,255,0.85); max-width:800px; margin:0 auto 32px;
  line-height:1.6;
}
.belief .big-quote {
  font-family: var(--font-accent); font-style:italic;
  font-size:clamp(24px,3.5vw,42px); color: var(--primary);
  margin-top:48px; line-height:1.3;
}
.belief .word { display:inline-block; opacity:0; transform:translateY(20px); }
.belief .word.revealed { opacity:1; transform:translateY(0); transition: all 0.4s ease; }

/* ── Gold Divider ── */
.gold-divider {
  height:1px; background: var(--primary); opacity:0.4;
  margin:0; transform:scaleX(0); transform-origin:left;
  box-shadow: 0 0 8px rgba(230,92,0,0.3);
}
.gold-divider.animated { transform:scaleX(1); transition: transform 1.2s ease; }

/* ── Section Label ── */
.section-label {
  font-size:12px; font-weight:600; letter-spacing:0.3em; text-transform:uppercase;
  color: var(--primary); margin-bottom:12px;
  display:inline-flex; align-items:center; gap:8px;
}
.section-label::before {
  content:''; width:20px; height:2px; background: var(--primary);
}
.section-title {
  font-family: var(--font-display); font-size:clamp(28px,4vw,48px);
  font-weight:700; color: var(--deep-navy); line-height:1.15; margin-bottom:20px;
}
.section-sub {
  font-size:17px; color: var(--stone); max-width:600px; line-height:1.7;
}

/* ── Services Section ── */
.services { padding:120px 48px; background: var(--surface); }
.services-header { text-align:center; margin-bottom:64px; }
.services-header .section-sub { margin:0 auto; }
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  max-width:1200px; margin:0 auto;
}
.service-card {
  background: linear-gradient(var(--surface), #F7F4EB);
  border-radius: var(--radius-md); padding:4px; position:relative;
  transition: transform 0.4s ease;
}
.service-card:hover { transform:translateY(-8px); }
.service-card-inner {
  background: var(--surface); border-radius:12px; padding:40px 32px;
  height:100%; display:flex; flex-direction:column;
}
.service-card.featured { box-shadow: 0 8px 40px rgba(251,40,117,0.12); transform:translateY(-12px); }
.service-card.featured:hover { transform:translateY(-20px); }
.service-badge {
  display:inline-flex; align-items:center; gap:6px; padding:6px 14px;
  border-radius: var(--radius-full); font-size:11px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase; margin-bottom:20px;
  width:fit-content;
}
.badge-popular { background: rgba(230,92,0,0.1); color: var(--primary); }
.badge-value { background: rgba(251,40,117,0.1); color: var(--bold-pink); }
.badge-world { background: rgba(17,35,69,0.08); color: var(--deep-navy); }
.service-icon {
  width:48px; height:48px; border-radius:12px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center; font-size:24px;
  background: linear-gradient(135deg, var(--primary), var(--secondary));
  color:#fff;
}
.service-card h3 {
  font-family: var(--font-display); font-size:24px; font-weight:700;
  color: var(--deep-navy); margin-bottom:8px;
}
.service-price {
  font-family: var(--font-display); font-size:20px; font-weight:600;
  color: var(--primary); margin-bottom:8px;
}
.service-target { font-size:13px; color: var(--stone); margin-bottom:24px; }
.service-features { flex:1; margin-bottom:28px; }
.service-features li {
  padding:8px 0; font-size:14px; color: var(--near-black);
  display:flex; align-items:center; gap:10px;
  border-bottom:1px solid var(--border);
}
.service-features li::before {
  content:'✓'; color: var(--primary); font-weight:700; font-size:14px;
}
.service-cta {
  background: var(--primary); color:#fff; padding:14px 28px;
  border-radius: var(--radius-full); font-weight:600; font-size:14px;
  text-align:center; transition: all 0.3s ease; display:block;
}
.service-cta:hover { background:#d45200; box-shadow: var(--shadow-hover); }
.services-footer { text-align:center; margin-top:48px; max-width:800px; margin-left:auto; margin-right:auto; }
.services-footer .bold-text {
  font-family: var(--font-display); font-size:22px; font-weight:700;
  color: var(--deep-navy); margin-bottom:12px;
}
.services-footer .small-text { font-size:14px; color: var(--stone); }
.card-glow {
  position:absolute; inset:-1px; border-radius: var(--radius-md);
  border:1.5px solid rgba(230,92,0,0.3);
  animation: glowPulse 2.5s ease-in-out infinite;
  pointer-events:none;
}

/* ── Tag Cloud ── */
.tagcloud { padding:100px 48px; background: var(--warm-cream); text-align:center; overflow:hidden; }
.tagcloud-header { margin-bottom:48px; }
.tagcloud-header .section-sub { margin:0 auto; }
.tag-row { display:flex; gap:16px; padding:10px 0; white-space:nowrap; }
.tag-row.reverse { animation-direction: reverse; }
.tag-row-1 { animation: tagScroll 35s linear infinite; }
.tag-row-2 { animation: tagScrollReverse 30s linear infinite; }
.tag-item {
  flex-shrink:0; padding:12px 24px; border-radius: var(--radius-full);
  border:1.5px solid var(--border); background: var(--surface);
  font-size:14px; font-weight:500; color: var(--deep-navy);
  transition: all 0.3s ease; cursor:default;
}
.tag-item:hover {
  border-color: var(--primary); color: var(--primary);
  transform:translateY(-4px); box-shadow: 0 6px 20px rgba(230,92,0,0.1);
}
.tagcloud-cta { margin-top:48px; }

/* ── Process ── */
.process { padding:120px 48px; background: var(--warm-cream); }
.process-header { text-align:center; margin-bottom:72px; }
.process-header .section-sub { margin:0 auto; }
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:32px;
  max-width:1200px; margin:0 auto; position:relative;
}
.process-line {
  position:absolute; top:40px; left:12%; right:12%; height:2px;
  background: var(--border); z-index:0;
}
.process-line-fill {
  width:0%; height:100%; background: var(--primary);
  transition: width 1.5s ease;
  box-shadow: 0 0 8px rgba(230,92,0,0.4);
}
.process-step { text-align:center; position:relative; z-index:1; }
.step-number {
  width:72px; height:72px; border-radius:50%;
  background: linear-gradient(135deg, var(--primary), #ff8534);
  color:#fff; font-family: var(--font-display); font-size:24px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 24px; box-shadow: 0 8px 30px rgba(230,92,0,0.25);
}
.process-step h3 {
  font-family: var(--font-display); font-size:18px; font-weight:700;
  color: var(--deep-navy); margin-bottom:12px;
}
.process-step p { font-size:14px; color: var(--stone); line-height:1.6; }

/* ── Stats ── */
.stats {
  padding:80px 48px; background: var(--deep-navy);
  display:flex; justify-content:center; gap:64px; flex-wrap:wrap;
}
.stat-item { text-align:center; }
.stat-number {
  font-family: var(--font-display); font-size:clamp(36px,5vw,56px);
  font-weight:700; color: var(--primary); line-height:1;
}
.stat-label {
  font-size:14px; color: rgba(255,255,255,0.7); margin-top:8px;
  max-width:160px; line-height:1.4;
}

/* ── Portfolio ── */
.portfolio { padding:120px 48px; background: var(--surface); }
.portfolio-header { text-align:center; margin-bottom:64px; }
.portfolio-header .section-sub { margin:0 auto; }
.portfolio-grid {
  columns:3; column-gap:24px; max-width:1300px; margin:0 auto;
}
.portfolio-card {
  break-inside:avoid; margin-bottom:24px; position:relative;
  border-radius: var(--radius-md); overflow:hidden; cursor:pointer;
  transition: all 0.3s ease;
}
.portfolio-card:hover {
  transform:translateY(-8px); box-shadow: var(--shadow-hover);
}
.portfolio-card img {
  width:100%; display:block; transition: transform 0.5s ease;
}
.portfolio-card:hover img { transform:scale(1.03); }
.portfolio-overlay {
  position:absolute; inset:0; background: linear-gradient(to top, rgba(26,13,0,0.85) 0%, transparent 50%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:24px;
  opacity:0; transition: opacity 0.3s ease;
}
.portfolio-card:hover .portfolio-overlay { opacity:1; }
.portfolio-tag {
  font-size:11px; font-weight:700; letter-spacing:0.15em; text-transform:uppercase;
  color: var(--primary); margin-bottom:8px;
}
.portfolio-name {
  font-family: var(--font-display); font-size:18px; font-weight:700;
  color:#fff; margin-bottom:4px;
}
.portfolio-desc { font-size:13px; color:rgba(255,255,255,0.7); }
.portfolio-view {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0.8);
  background: var(--primary); color:#fff; padding:12px 24px;
  border-radius: var(--radius-full); font-weight:600; font-size:13px;
  opacity:0; transition: all 0.3s ease;
}
.portfolio-card:hover .portfolio-view { opacity:1; transform:translate(-50%,-50%) scale(1); }
.portfolio-placeholder {
  break-inside:avoid; margin-bottom:24px; height:280px;
  border-radius: var(--radius-md); border:2px dashed var(--border);
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  background: var(--warm-cream); gap:8px;
}
.portfolio-placeholder span {
  font-family: var(--font-display); font-size:16px; font-weight:600;
  color: var(--stone);
}
.portfolio-placeholder small { font-size:13px; color: var(--stone); opacity:0.7; }
.portfolio-cta { text-align:center; margin-top:48px; }

/* ── Partners ── */
.partners { padding:120px 48px; background: var(--warm-cream); }
.partners-header { text-align:center; margin-bottom:64px; }
.partners-header .section-sub { margin:0 auto; }
.partners-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
  max-width:1100px; margin:0 auto;
}
.partner-card {
  background: var(--surface); border-radius: var(--radius-md);
  padding:40px 32px; text-align:center; border:1px solid var(--border);
  transition: all 0.3s ease;
}
.partner-card:hover {
  transform:translateY(-6px); border-color: var(--primary);
  box-shadow: var(--shadow-hover);
}
.partner-icon {
  width:64px; height:64px; border-radius:50%; margin:0 auto 20px;
  background: linear-gradient(135deg, rgba(230,92,0,0.1), rgba(255,179,128,0.15));
  display:flex; align-items:center; justify-content:center; font-size:28px;
}
.partner-card h3 {
  font-family: var(--font-display); font-size:22px; font-weight:700;
  color: var(--deep-navy); margin-bottom:12px;
}
.partner-card p { font-size:14px; color: var(--stone); line-height:1.6; margin-bottom:24px; }

/* ── Community ── */
.community { padding:120px 48px; background: var(--deep-navy); position:relative; overflow:hidden; }
.community-content {
  display:flex; align-items:center; gap:64px;
  max-width:1200px; margin:0 auto;
}
.community-text { flex:1; }
.community-text .section-label { color: var(--secondary); }
.community-text .section-label::before { background: var(--secondary); }
.community-text .section-title { color:#fff; }
.community-text p { font-size:16px; color:rgba(255,255,255,0.75); line-height:1.7; margin-bottom:24px; }
.community-features {
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:32px;
}
.community-feature {
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:rgba(255,255,255,0.8);
}
.community-feature::before {
  content:'◆'; color: var(--primary); font-size:10px;
}
.community-visual {
  flex:0 0 40%; display:flex; align-items:center; justify-content:center;
}
.africa-globe {
  width:100%; max-width:400px; aspect-ratio:1; position:relative;
}
.globe-svg { width:100%; height:100%; }
.globe-node {
  fill: var(--primary); animation: nodePulse 2s ease-in-out infinite;
}
.globe-node:nth-child(2) { animation-delay:0.3s; }
.globe-node:nth-child(3) { animation-delay:0.6s; }
.globe-node:nth-child(4) { animation-delay:0.9s; }
.globe-node:nth-child(5) { animation-delay:1.2s; }
.globe-line {
  stroke: var(--primary); stroke-width:0.5; opacity:0.3;
  stroke-dasharray:4 4;
}

/* ── About ── */
.about { padding:120px 48px; background: var(--surface); text-align:center; }
.about-inner { max-width:800px; margin:0 auto; }
.about-logo {
  font-family: var(--font-display); font-size:64px; font-weight:700;
  color: var(--primary); margin-bottom:32px; letter-spacing:-2px;
}
.about p { font-size:17px; color: var(--stone); line-height:1.8; margin-bottom:24px; }
.about .pull-quote {
  font-family: var(--font-accent); font-style:italic;
  font-size:clamp(28px,3.5vw,40px); color: var(--primary);
  margin:40px 0; line-height:1.3;
}
.about-contact {
  display:flex; gap:32px; justify-content:center; flex-wrap:wrap;
  margin-top:32px; padding-top:32px; border-top:1px solid var(--border);
}
.about-contact a {
  font-size:14px; color: var(--deep-navy); font-weight:500;
  display:flex; align-items:center; gap:8px; transition: color 0.2s;
}
.about-contact a:hover { color: var(--primary); }

/* ── Main CTA ── */
.main-cta {
  padding:120px 48px; text-align:center; position:relative; overflow:hidden;
  background: linear-gradient(135deg, var(--primary) 0%, var(--near-black) 50%, var(--deep-navy) 100%);
}
.main-cta-canvas { position:absolute; inset:0; z-index:0; }
.main-cta-content { position:relative; z-index:2; max-width:800px; margin:0 auto; }
.main-cta h2 {
  font-family: var(--font-display); font-size:clamp(32px,5vw,56px);
  font-weight:700; line-height:1.1; margin-bottom:24px;
}
.main-cta .line-white { color:#fff; }
.main-cta .line-orange { color: var(--primary); }
.main-cta .cta-sub {
  font-size:18px; color:rgba(255,255,255,0.8); max-width:600px;
  margin:0 auto 40px; line-height:1.7;
}
.btn-mega {
  background: var(--primary); color:#fff; padding:20px 48px;
  border-radius: var(--radius-full); font-size:18px; font-weight:700;
  display:inline-flex; align-items:center; gap:12px;
  transition: all 0.3s ease; animation: ctaPulse 2.5s ease-in-out infinite;
  border:2px solid var(--primary); box-shadow: 0 0 40px rgba(230,92,0,0.3);
}
.btn-mega:hover {
  background:#d45200; transform:scale(1.05);
  box-shadow: 0 0 60px rgba(230,92,0,0.5);
}
.cta-note { font-size:13px; color:rgba(255,255,255,0.5); margin-top:16px; }

/* ── Footer ── */
.footer { background: var(--deep-navy); padding:80px 48px 0; }
.footer-grid {
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px;
  max-width:1200px; margin:0 auto; padding-bottom:48px;
}
.footer-brand .footer-logo {
  font-family: var(--font-display); font-size:36px; font-weight:700;
  color: var(--primary); margin-bottom:8px;
}
.footer-brand .footer-tagline {
  font-family: var(--font-accent); font-style:italic;
  color: var(--secondary); font-size:16px; margin-bottom:16px;
}
.footer-brand p { font-size:14px; color:rgba(255,255,255,0.6); line-height:1.6; }
.footer h4 {
  font-family: var(--font-display); font-size:16px; font-weight:700;
  color:#fff; margin-bottom:20px; letter-spacing:0.05em;
}
.footer-links a {
  display:block; font-size:14px; color:rgba(255,255,255,0.6);
  padding:6px 0; transition: color 0.2s;
}
.footer-links a:hover { color: var(--primary); }
.footer-contact a, .footer-social a {
  display:flex; align-items:center; gap:10px;
  font-size:14px; color:rgba(255,255,255,0.6); padding:6px 0;
  transition: color 0.2s;
}
.footer-contact a:hover, .footer-social a:hover { color: var(--primary); }
.footer-bottom {
  border-top:1px solid var(--primary); padding:20px 0;
  text-align:center; max-width:1200px; margin:0 auto;
}
.footer-bottom p {
  font-size:13px; color:rgba(255,255,255,0.4);
}

/* ── WhatsApp FAB ── */
.whatsapp-fab {
  position:fixed; bottom:32px; right:32px; z-index:9998;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; color:#fff; font-size:28px;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 4px 24px rgba(37,211,102,0.4);
  transition: all 0.3s ease; animation: fabBounce 3s ease-in-out infinite;
}
.whatsapp-fab:hover {
  transform:scale(1.1); box-shadow: 0 8px 32px rgba(37,211,102,0.5);
}
.whatsapp-fab svg { width:28px; height:28px; fill:#fff; }

/* ── Exit Modal ── */
.exit-modal {
  position:fixed; inset:0; z-index:99998;
  background:rgba(0,0,0,0.6); backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition: all 0.3s ease;
}
.exit-modal.active { opacity:1; visibility:visible; }
.exit-modal-content {
  background: var(--surface); border-radius: var(--radius-lg);
  padding:48px; max-width:480px; width:90%; text-align:center;
  position:relative; box-shadow: 0 32px 80px rgba(0,0,0,0.2);
}
.exit-modal-close {
  position:absolute; top:16px; right:16px; font-size:24px;
  color: var(--stone); cursor:pointer; transition: color 0.2s;
  background:none; border:none;
}
.exit-modal-close:hover { color: var(--primary); }
.exit-modal-content h3 {
  font-family: var(--font-display); font-size:28px; font-weight:700;
  color: var(--deep-navy); margin-bottom:12px;
}
.exit-modal-content p {
  font-size:15px; color: var(--stone); margin-bottom:28px; line-height:1.6;
}

/* ── Custom Scrollbar ── */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:var(--surface); }
::-webkit-scrollbar-thumb {
  background: var(--primary); border-radius:9999px;
}

/* ── Keyframe Animations ── */
@keyframes preloaderPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:0.7; transform:scale(1.05); }
}
@keyframes breathe {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.02); }
}
@keyframes marqueeScroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
@keyframes tagScroll {
  0% { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
@keyframes tagScrollReverse {
  0% { transform:translateX(-50%); }
  100% { transform:translateX(0); }
}
@keyframes glowPulse {
  0%,100% { opacity:0.3; }
  50% { opacity:0.8; }
}
@keyframes ctaPulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.03); }
}
@keyframes nodePulse {
  0%,100% { r:4; opacity:1; }
  50% { r:8; opacity:0.5; }
}
@keyframes fabBounce {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-6px); }
}
@keyframes fadeInUp {
  from { opacity:0; transform:translateY(30px); }
  to { opacity:1; transform:translateY(0); }
}

/* ── Responsive ── */
@media(max-width:1024px) {
  .hero-content { flex-direction:column; text-align:center; }
  .hero-text { flex:none; }
  .hero-visual { flex:none; width:80%; max-width:500px; }
  .hero-ctas { justify-content:center; }
  .social-proof { justify-content:center; }
  .services-grid { grid-template-columns:1fr; max-width:480px; }
  .service-card.featured { transform:none; }
  .service-card.featured:hover { transform:translateY(-8px); }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .process-line { display:none; }
  .partners-grid { grid-template-columns:1fr; max-width:480px; }
  .community-content { flex-direction:column; text-align:center; }
  .community-features { justify-content:center; }
  .community-visual { flex:none; width:80%; max-width:360px; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .portfolio-grid { columns:2; }
}
@media(max-width:768px) {
  .navbar { padding:12px 20px; }
  .navbar.scrolled { padding:10px 20px; }
  .nav-links { display:none; }
  .nav-cta { display:none; }
  .hamburger { display:flex; }
  .hero { padding:100px 20px 60px; }
  .hero-h1 { font-size:clamp(32px,8vw,48px); }
  .hero-visual { width:100%; }
  .belief { padding:80px 20px; }
  .services { padding:80px 20px; }
  .tagcloud { padding:60px 20px; }
  .process { padding:80px 20px; }
  .process-grid { grid-template-columns:1fr; max-width:400px; margin:0 auto; }
  .stats { padding:60px 20px; gap:32px; }
  .portfolio { padding:80px 20px; }
  .portfolio-grid { columns:1; }
  .partners { padding:80px 20px; }
  .community { padding:80px 20px; }
  .community-features { grid-template-columns:1fr; }
  .about { padding:80px 20px; }
  .main-cta { padding:80px 20px; }
  .footer { padding:60px 20px 0; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .about-contact { flex-direction:column; align-items:center; }
  .whatsapp-fab { bottom:20px; right:20px; width:52px; height:52px; }
}
@media(max-width:480px) {
  .hero-ctas { flex-direction:column; }
  .btn-primary, .btn-ghost { width:100%; justify-content:center; }
  .stats { flex-direction:column; gap:24px; }
}
