/* ══════════════════════════════════════════════════════════════
   OREOL GROUP — Shared Stylesheet
   Source: Homepage HTML reference (single source of truth)
   ══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── VARIABLES ── */
:root {
  --black:        #111111;
  --charcoal:     #FFFFFF;
  --surface:      #FFFFFF;
  --white:        #F5F6FA;
  --text-primary: #111111;
  --text-sec:     rgba(17,17,17,0.62);
  --text-muted:   rgba(17,17,17,0.40);

  --laser:        #B91C1C;
  --laser-deep:   #991B1B;
  --laser-violet: #7F1D1D;
  --gold:         #EAB308;

  --grad-laser:   linear-gradient(135deg, #C41E3A 0%, #B91C1C 55%, #7F1D1D 100%);
  --grad-card:    linear-gradient(145deg, rgba(0,0,0,0.025), rgba(0,0,0,0.008));
  --grad-brand:   var(--grad-laser);
  --grad-cool:    var(--grad-laser);
  --grad-warm:    linear-gradient(135deg, #C41E3A 0%, #7F1D1D 100%);
  --grad-mid:     var(--grad-laser);
  --border:       rgba(0,0,0,0.09);
  --border-strong:rgba(0,0,0,0.16);
  --border-glow:  rgba(185,28,28,0.30);

  --c-medtech:   #FF5733;
  --c-futurix:   #06D6A0;
  --c-academy:   #FF9500;
  --c-triomed:   #4361EE;
  --c-promotions:#9B2FFF;
  --c-medcare:   #F72585;
  --c-luminary:  #FFBE0B;

  --bg:           #FEF2F2;
  --bg-alt:       #FFFFFF;
  --bg-card:      #FFFFFF;
  --bg-dark:      #111111;
  --ink:          #111111;
  --ink-sec:      rgba(17,17,17,0.62);
  --ink-muted:    rgba(17,17,17,0.40);

  --shadow-sm:    0 2px 12px rgba(0,0,0,0.07);
  --shadow-md:    0 16px 48px rgba(0,0,0,0.10);
  --shadow-lg:    0 32px 80px rgba(0,0,0,0.14);
  --shadow-colored: 0 0 50px rgba(185,28,28,0.12);

  --ease:         cubic-bezier(0.16,1,0.3,1);
  --radius-sm:    8px;
  --radius-md:    16px;
  --radius-lg:    24px;
  --radius-xl:    36px;
  --radius-pill:  9999px;
}

.grad, .grad-text {
  background: var(--grad-laser);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body {
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text-primary);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; display:block; }
ul { list-style:none; }

/* ── NAV ── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:0 48px; height:72px;
  display:flex; align-items:center; justify-content:space-between;
  background:#111111;
  border-bottom:1px solid rgba(185,28,28,0.18);
  transition:background 0.35s ease, border-color 0.35s ease, backdrop-filter 0.35s ease;
}
.nav.scrolled {
  background:rgba(17,17,17,0.95);
  backdrop-filter:blur(24px) saturate(180%);
  border-bottom-color:rgba(185,28,28,0.25);
}
.nav-logo {
  display:flex; align-items:center; gap:10px;
  font-family:'Sora',sans-serif;
  font-weight:800; font-size:18px;
  letter-spacing:-0.02em; color:#F5F6FA;
}
.nav-logo .logo-dot {
  width:28px; height:28px; border-radius:8px;
  background:var(--grad-laser);
  display:flex; align-items:center; justify-content:center;
  font-size:14px; flex-shrink:0;
  box-shadow:0 0 16px rgba(185,28,28,0.45);
}
.nav-links { display:flex; align-items:center; gap:6px; }
.nav-links a {
  font-size:14px; font-weight:500; color:rgba(245,246,250,0.65);
  padding:8px 14px; border-radius:var(--radius-pill);
  transition:color 0.2s, background 0.2s;
}
.nav-links a:hover, .nav-links a.active {
  color:#F5F6FA; background:rgba(255,255,255,0.08);
}
.nav-cta {
  font-size:14px; font-weight:600;
  padding:10px 22px; border-radius:var(--radius-pill);
  background:var(--grad-laser);
  color:#fff;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
}
.nav-cta:hover { transform:scale(1.04); box-shadow:0 6px 24px rgba(185,28,28,0.40); }
.hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:8px; border:none; background:none;
}
.hamburger span {
  display:block; width:24px; height:2px;
  background:#F5F6FA; border-radius:2px;
  transition:transform 0.3s ease, opacity 0.3s ease;
}
.mobile-nav {
  display:none; position:fixed; inset:0; z-index:999;
  background:rgba(17,17,17,0.97); backdrop-filter:blur(20px);
  flex-direction:column; align-items:flex-start; justify-content:center; gap:4px;
  overflow-y:auto; padding:80px 36px 40px;
}
.mobile-nav.open { display:flex; }
.mobile-nav a {
  font-family:'Sora',sans-serif; font-size:22px; font-weight:600;
  color:rgba(245,246,250,0.7); padding:10px 0;
  transition:color 0.2s;
}
.mobile-nav a:hover { color:var(--laser); }
.mobile-nav-close {
  position:absolute; top:24px; right:24px;
  font-size:28px; color:#F5F6FA; cursor:pointer;
  background:none; border:none;
}

/* ── HERO (homepage cinematic) ── */
.home-hero {
  min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:120px 24px 80px;
  position:relative; overflow:hidden;
  background:radial-gradient(ellipse 80% 60% at 50% 50%, rgba(185,28,28,0.06) 0%, transparent 65%), var(--bg);
}
.hero-bg { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-blob {
  position:absolute; border-radius:50%;
  filter:blur(80px);
  animation:blob-drift 10s ease-in-out infinite alternate;
}
.blob-1 { width:600px; height:600px; background:rgba(185,28,28,0.07); top:-120px; left:-200px; }
.blob-2 { width:500px; height:500px; background:rgba(127,29,29,0.07); bottom:-120px; right:-150px; animation-delay:-4s; }
.blob-3 { width:400px; height:400px; background:rgba(153,27,27,0.05); top:40%; left:40%; animation-delay:-2s; }
.hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(185,28,28,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(185,28,28,0.05) 1px, transparent 1px);
  background-size:60px 60px;
  animation:grid-drift 30s linear infinite;
  mask-image:radial-gradient(ellipse at center, #000 30%, transparent 80%);
}
.home-hero > *:not(.hero-bg):not(.hero-stage):not(.hero-video):not(.cinematic-bg):not(.hero-overlay) { position:relative; z-index:3; }

.hero-video {
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.2s ease; pointer-events:none;
  filter:saturate(1.1) contrast(1.05);
}
.home-hero.has-video .hero-video { opacity:0.75; }
.home-hero.has-video .cinematic-bg { opacity:0; }

/* ── CINEMATIC CSS BACKDROP ── */
.cinematic-bg { position:absolute; inset:0; z-index:0; overflow:hidden; transition:opacity 0.8s ease; }
.cine-layer { position:absolute; inset:-10%; will-change:transform, opacity; }
.cine-1 {
  background:
    radial-gradient(ellipse 50% 40% at 25% 35%, rgba(185,28,28,0.12), transparent 60%),
    radial-gradient(ellipse 40% 30% at 75% 60%, rgba(127,29,29,0.09), transparent 60%);
  filter:blur(40px); animation:ken-burns-1 22s ease-in-out infinite alternate;
}
.cine-2 {
  background:
    radial-gradient(ellipse 60% 50% at 60% 30%, rgba(153,27,27,0.10), transparent 55%),
    radial-gradient(ellipse 45% 35% at 20% 70%, rgba(196,30,58,0.07), transparent 60%);
  filter:blur(50px); animation:ken-burns-2 28s ease-in-out infinite alternate;
}
.cine-3 {
  background:radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,230,230,0.30), transparent 70%);
  filter:blur(30px); animation:brightness-flicker 8s ease-in-out infinite;
}
.cine-conic {
  position:absolute; top:50%; left:50%; width:160%; height:160%; transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg, transparent 0deg, rgba(185,28,28,0.07) 30deg, transparent 90deg, rgba(127,29,29,0.05) 180deg, transparent 240deg, rgba(153,27,27,0.06) 300deg, transparent 360deg);
  filter:blur(60px); animation:conic-rotate 35s linear infinite; opacity:0.8;
}
.cine-waves { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; mix-blend-mode:multiply; }
.cine-waves .wave { filter:blur(0.5px) drop-shadow(0 0 4px rgba(185,28,28,0.3)); transform-origin:center; }
.wave.w1 { animation:wave-morph 7s ease-in-out infinite alternate; }
.wave.w2 { animation:wave-morph 9s ease-in-out infinite alternate-reverse; }
.wave.w3 { animation:wave-morph 11s ease-in-out infinite alternate; }
.cine-sweep {
  position:absolute; top:0; bottom:0; width:40%; left:-40%;
  background:linear-gradient(90deg, transparent 0%, rgba(185,28,28,0.09) 50%, transparent 100%);
  filter:blur(30px); mix-blend-mode:multiply; animation:sweep-across 12s ease-in-out infinite;
}
.cine-flare {
  position:absolute; top:30%; right:15%; width:200px; height:200px;
  background:radial-gradient(circle, rgba(255,255,255,0.6) 0%, rgba(185,28,28,0.12) 30%, transparent 70%);
  filter:blur(12px); mix-blend-mode:screen; animation:flare-drift 14s ease-in-out infinite alternate;
}
.cine-rays {
  position:absolute; inset:-20% -50%;
  background:repeating-linear-gradient(105deg, transparent 0 60px, rgba(185,28,28,0.025) 60px 64px, transparent 64px 120px);
  mix-blend-mode:multiply; animation:rays-sweep 16s linear infinite; opacity:0.7;
}
.cine-dust { position:absolute; inset:0; pointer-events:none; }
.cine-dust span {
  position:absolute; width:3px; height:3px; border-radius:50%;
  background:rgba(185,28,28,0.6); box-shadow:0 0 6px rgba(185,28,28,0.4);
  opacity:0; animation:dust 18s linear infinite;
}
.cine-dust span:nth-child(1)  { left:10%; top:90%; animation-delay:-1s; }
.cine-dust span:nth-child(2)  { left:22%; top:100%; animation-delay:-3s; background:rgba(196,30,58,0.8); box-shadow:0 0 8px rgba(196,30,58,0.7); }
.cine-dust span:nth-child(3)  { left:34%; top:95%; animation-delay:-5s; }
.cine-dust span:nth-child(4)  { left:48%; top:100%; animation-delay:-7s; background:rgba(127,29,29,0.8); box-shadow:0 0 8px rgba(127,29,29,0.7); }
.cine-dust span:nth-child(5)  { left:60%; top:92%; animation-delay:-9s; }
.cine-dust span:nth-child(6)  { left:72%; top:98%; animation-delay:-11s; }
.cine-dust span:nth-child(7)  { left:85%; top:95%; animation-delay:-13s; background:rgba(185,28,28,0.8); box-shadow:0 0 8px rgba(185,28,28,0.7); }
.cine-dust span:nth-child(8)  { left:15%; top:100%; animation-delay:-2s; width:2px; height:2px; }
.cine-dust span:nth-child(9)  { left:55%; top:97%; animation-delay:-6s; width:4px; height:4px; }
.cine-dust span:nth-child(10) { left:78%; top:100%; animation-delay:-10s; width:2px; height:2px; }
.cine-dust span:nth-child(11) { left:40%; top:100%; animation-delay:-14s; background:rgba(127,29,29,0.7); }
.cine-dust span:nth-child(12) { left:92%; top:100%; animation-delay:-16s; }
.cine-dust span:nth-child(13) { left:5%;  top:95%; animation-delay:-0.5s; }
.cine-dust span:nth-child(14) { left:65%; top:100%; animation-delay:-8s; }
.cine-dust span:nth-child(15) { left:28%; top:93%; animation-delay:-12s; width:4px; height:4px; }
.cine-grain {
  position:absolute; inset:0; pointer-events:none; opacity:0.04;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='200' height='200' filter='url(%23n)' opacity='0.6'/></svg>");
  background-size:200px 200px; animation:grain-shift 0.8s steps(4) infinite; mix-blend-mode:multiply;
}
.hero-overlay {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(ellipse at center, transparent 30%, rgba(254,242,242,0.25) 80%),
    linear-gradient(180deg, rgba(254,242,242,0.15) 0%, transparent 25%, transparent 75%, rgba(254,242,242,0.20) 100%);
}
.home-hero::after { display:none; }

/* ── HERO STAGE ── */
.hero-stage {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:900px; height:900px; max-width:100vw; max-height:100vh; z-index:1; pointer-events:none;
}
.orbit {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  border-radius:50%; border:1px solid rgba(185,28,28,0.14);
}
.orbit::before {
  content:''; position:absolute; width:10px; height:10px; border-radius:50%;
  background:var(--laser); box-shadow:0 0 20px var(--laser), 0 0 40px rgba(185,28,28,0.5);
  top:-5px; left:50%; transform:translateX(-50%);
}
.orbit-1 { width:340px; height:340px; animation:orbit-spin 14s linear infinite; }
.orbit-2 { width:520px; height:520px; animation:orbit-spin 22s linear infinite reverse; border-color:rgba(153,27,27,0.10); }
.orbit-2::before { background:var(--laser-deep); box-shadow:0 0 20px var(--laser-deep), 0 0 40px rgba(153,27,27,0.5); }
.orbit-3 { width:720px; height:720px; animation:orbit-spin 34s linear infinite; border-color:rgba(127,29,29,0.07); }
.orbit-3::before { background:var(--laser-violet); box-shadow:0 0 20px var(--laser-violet), 0 0 40px rgba(127,29,29,0.5); }
.parallax-far, .parallax-near { position:absolute; inset:0; transition:transform 0.4s cubic-bezier(0.16,1,0.3,1); will-change:transform; }
.hero-core-wrap {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:340px; height:340px; display:flex; align-items:center; justify-content:center;
  animation:core-float 6s ease-in-out infinite;
}
.hero-core-img {
  position:relative; z-index:3; max-width:100%; max-height:100%; object-fit:contain;
  filter:drop-shadow(0 0 40px rgba(185,28,28,0.40)) drop-shadow(0 0 80px rgba(153,27,27,0.25));
  animation:core-pulse 4s ease-in-out infinite;
}
.hero-core-img.is-missing { visibility:hidden; }
.hero-core-img.is-missing + .core-glow {
  width:200px; height:200px;
  background:radial-gradient(circle at 35% 35%, rgba(255,255,255,0.6), transparent 45%), radial-gradient(circle, #FF6666 0%, #B91C1C 40%, #7F1D1D 80%);
  box-shadow:0 0 60px rgba(185,28,28,0.5), 0 0 120px rgba(153,27,27,0.3), inset 0 0 40px rgba(255,255,255,0.2); opacity:1;
}
.core-glow {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(185,28,28,0.25), transparent 65%);
  filter:blur(20px); z-index:1; opacity:0.85; animation:glow-breathe 4s ease-in-out infinite;
}
.core-ring {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:260px; height:260px; border-radius:50%;
  border:1px solid rgba(185,28,28,0.40); z-index:2; animation:core-ring 3s ease-out infinite;
}
.scan-line {
  position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(185,28,28,0.05) 45%, rgba(185,28,28,0.16) 50%, rgba(185,28,28,0.05) 55%, transparent 100%);
  animation:scan 6s ease-in-out infinite; mix-blend-mode:multiply;
}
.particle {
  position:absolute; width:3px; height:3px; background:var(--laser); border-radius:50%;
  box-shadow:0 0 8px var(--laser); opacity:0; animation:particle-float 8s linear infinite;
}
.particle:nth-child(1) { top:20%;  left:15%; }
.particle:nth-child(2) { top:70%;  left:25%; animation-delay:-1s;  background:var(--laser-violet); box-shadow:0 0 8px var(--laser-violet); }
.particle:nth-child(3) { top:30%;  left:80%; animation-delay:-2s;  background:var(--laser-deep); box-shadow:0 0 8px var(--laser-deep); }
.particle:nth-child(4) { top:60%;  left:75%; animation-delay:-3s; }
.particle:nth-child(5) { top:15%;  left:60%; animation-delay:-4s; background:var(--laser-violet); box-shadow:0 0 8px var(--laser-violet); }
.particle:nth-child(6) { top:80%;  left:50%; animation-delay:-5s; background:var(--laser-deep); box-shadow:0 0 8px var(--laser-deep); }
.particle:nth-child(7) { top:50%;  left:10%; animation-delay:-6s; }
.particle:nth-child(8) { top:45%;  left:90%; animation-delay:-7s; }
.laser-beam {
  position:absolute; top:50%; left:50%; width:2px; height:200px;
  background:linear-gradient(180deg, rgba(185,28,28,0.70) 0%, transparent 100%);
  transform-origin:top center; animation:beam-pulse 3s ease-in-out infinite; opacity:0;
}
.laser-beam:nth-child(1) { transform:translate(-50%,0) rotate(0deg); }
.laser-beam:nth-child(2) { transform:translate(-50%,0) rotate(72deg);  animation-delay:0.6s; }
.laser-beam:nth-child(3) { transform:translate(-50%,0) rotate(144deg); animation-delay:1.2s; }
.laser-beam:nth-child(4) { transform:translate(-50%,0) rotate(216deg); animation-delay:1.8s; }
.laser-beam:nth-child(5) { transform:translate(-50%,0) rotate(288deg); animation-delay:2.4s; }
.helix { position:absolute; width:200px; height:400px; pointer-events:none; opacity:0.35; }
.helix-left  { top:20%; left:5%; }
.helix-right { bottom:10%; right:5%; }
.helix::before, .helix::after {
  content:''; position:absolute; width:8px; height:8px; border-radius:50%;
  background:var(--laser); box-shadow:0 0 12px var(--laser);
}
.helix::before { top:0; left:0; animation:helix-dance 4s ease-in-out infinite; }
.helix::after  { top:0; right:0; background:var(--laser-violet); box-shadow:0 0 12px var(--laser-violet); animation:helix-dance 4s ease-in-out infinite reverse; }
.home-hero .eyebrow-badge, .home-hero .hero-title, .home-hero .hero-sub, .home-hero .hero-btns, .home-hero .stats-bar { position:relative; z-index:3; }

/* ── PAGE HERO (inner pages) ── */
.page-hero {
  min-height:100vh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  padding:160px clamp(24px,6vw,80px) 80px;
  position:relative; overflow:hidden;
  background:var(--bg-dark);
  border-bottom:1px solid rgba(185,28,28,0.18);
}
.page-hero.short { min-height:50vh; }
.page-hero .hero-blob { opacity:0.4; }
.page-hero-inner { max-width:1240px; margin:0 auto; position:relative; z-index:1; }
.page-hero .eyebrow-badge { color:#F5F6FA; border-color:rgba(245,246,250,0.20); background:rgba(245,246,250,0.08); }
.page-hero .eyebrow-badge .badge-dot, .page-hero .badge-dot { background:#F5F6FA; box-shadow:0 0 0 4px rgba(245,246,250,0.20); }
.page-title {
  font-family:'Sora',sans-serif;
  font-size:clamp(40px,6vw,80px); font-weight:800;
  line-height:1.0; letter-spacing:-0.04em; margin-bottom:20px;
  color:#F5F6FA;
}
.page-hero .page-title .grad-text { color:#F5F6FA; }
.page-subtitle { font-size:clamp(16px,1.3vw,20px); color:rgba(245,246,250,0.65); max-width:600px; line-height:1.7; margin:0 auto; }
.page-subtitle-sub { font-family:'Sora',sans-serif; font-size:clamp(18px,2vw,24px); font-weight:600; color:rgba(245,246,250,0.85); margin-bottom:20px; }
.page-hero > .hero-stage, .page-hero > .hero-bg, .page-hero > .cinematic-bg, .page-hero > .hero-overlay { z-index:0; }
.page-hero > .page-hero-inner { position:relative; z-index:3; }

/* ── EYEBROW BADGE ── */
.eyebrow-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:0.14em;
  color:var(--laser);
  background:rgba(185,28,28,0.08);
  border:1px solid rgba(185,28,28,0.25);
  border-radius:var(--radius-pill);
  padding:8px 16px; margin-bottom:28px;
}
.badge-dot, .eyebrow-badge .dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--laser);
  box-shadow:0 0 0 4px rgba(185,28,28,0.20);
  animation:pulse-dot 2s infinite;
}

/* ── TYPOGRAPHY ── */
.hero-title {
  font-family:'Sora',sans-serif;
  font-size:clamp(44px,7vw,100px);
  font-weight:800; line-height:0.95;
  letter-spacing:-0.04em; margin-bottom:24px;
  color:var(--text-primary);
}
.hero-sub {
  font-size:clamp(16px,1.4vw,20px);
  color:var(--text-sec); max-width:600px;
  margin:0 auto 48px; line-height:1.7;
}

/* ── BUTTONS ── */
.btn-primary {
  font-size:15px; font-weight:600;
  padding:14px 28px; border-radius:var(--radius-pill);
  background:var(--grad-laser); color:#fff;
  border:none; cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  display:inline-block;
}
.btn-primary:hover { transform:scale(1.04); box-shadow:0 8px 30px rgba(185,28,28,0.40); }
.btn-outline {
  font-size:15px; font-weight:600;
  padding:14px 28px; border-radius:var(--radius-pill);
  background:transparent; color:var(--laser);
  border:1.5px solid rgba(185,28,28,0.40); cursor:pointer;
  transition:border-color 0.2s, background 0.2s, color 0.2s;
  display:inline-block;
}
.btn-outline:hover { border-color:var(--laser); background:rgba(185,28,28,0.06); }
.hero-btns { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:72px; }

/* ── STATS BAR ── */
.stats-bar {
  display:grid; grid-template-columns:repeat(4,1fr);
  border:1px solid rgba(0,0,0,0.09);
  border-radius:var(--radius-lg); overflow:hidden;
  background:rgba(255,255,255,0.80);
  backdrop-filter:blur(20px);
  max-width:860px; margin:0 auto; box-shadow:var(--shadow-sm);
}
.stat-item { padding:24px 20px; text-align:center; border-right:1px solid rgba(0,0,0,0.09); }
.stat-item:last-child { border-right:none; }
.stat-num {
  font-family:'Sora',sans-serif;
  font-size:clamp(22px,3vw,36px); font-weight:800;
  color:var(--laser); display:block; line-height:1; margin-bottom:6px;
}
.stat-label { font-size:12px; color:var(--text-sec); line-height:1.3; }

/* ── SECTION ── */
.section { padding:clamp(72px,10vw,140px) clamp(24px,6vw,80px); }
.section-inner { max-width:1240px; margin:0 auto; }
.section-eyebrow {
  font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:0.14em;
  color:var(--laser); margin-bottom:16px; display:block;
}
.section-title {
  font-family:'Sora',sans-serif;
  font-size:clamp(30px,4vw,56px); font-weight:800;
  line-height:1.05; letter-spacing:-0.03em; margin-bottom:16px;
}
.section-sub {
  font-size:clamp(15px,1.1vw,18px);
  color:var(--text-sec); max-width:580px; line-height:1.7; margin-bottom:56px;
}

/* ── COMPANY TREE ── */
.tree-section { background:#FFFFFF; border-top:1px solid rgba(0,0,0,0.07); border-bottom:1px solid rgba(0,0,0,0.07); }
.tree-inner {
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center;
  padding:clamp(72px,10vw,140px) clamp(24px,6vw,80px);
}
.tree-img-wrap { display:flex; align-items:center; justify-content:center; }
.tree-img { max-width:420px; width:100%; animation:float 5s ease-in-out infinite; filter:drop-shadow(0 24px 48px rgba(0,0,0,0.15)) drop-shadow(0 0 40px rgba(185,28,28,0.08)); }
.tree-img-placeholder {
  max-width:420px; width:100%; aspect-ratio:1;
  background:rgba(0,0,0,0.02); border:2px dashed rgba(0,0,0,0.16);
  border-radius:var(--radius-xl);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:12px; color:var(--text-sec); font-size:14px; text-align:center; padding:40px;
}
.tree-companies { display:flex; flex-direction:column; gap:12px; }
.tree-company-pill {
  display:flex; align-items:center; gap:14px; padding:14px 20px;
  background:#FFFFFF; border-radius:var(--radius-pill);
  border:1px solid rgba(0,0,0,0.09); box-shadow:var(--shadow-sm);
  transition:transform 0.3s var(--ease), box-shadow 0.3s var(--ease), border-color 0.3s; cursor:pointer;
}
@media (hover:hover) {
  .tree-company-pill:hover { transform:translateX(8px); border-color:var(--border-glow); box-shadow:0 8px 32px rgba(185,28,28,0.10); }
}
.pill-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; box-shadow:0 0 8px currentColor; }
.pill-name { font-family:'Sora',sans-serif; font-size:15px; font-weight:700; flex:1; color:var(--text-primary); }
.pill-type { font-size:12px; color:var(--text-sec); }

/* ── NAV CARDS ── */
.nav-cards-section { background:var(--bg); border-top:1px solid rgba(0,0,0,0.07); }
.nav-cards-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.nav-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-lg);
  padding:32px 28px; cursor:pointer;
  transition:transform 0.35s var(--ease), box-shadow 0.35s var(--ease), border-color 0.3s;
  text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:16px;
  position:relative; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,0.05);
}
.nav-card:hover { transform:translateY(-8px); border-color:rgba(185,28,28,0.28); box-shadow:0 32px 60px rgba(0,0,0,0.10), 0 0 0 1px rgba(185,28,28,0.15), 0 0 30px rgba(185,28,28,0.06); }
.card-icon {
  width:52px; height:52px; border-radius:var(--radius-md);
  background:rgba(185,28,28,0.08); border:1px solid rgba(185,28,28,0.15);
  display:flex; align-items:center; justify-content:center;
  font-size:24px; flex-shrink:0; color:var(--laser); transition:background 0.3s, border-color 0.3s;
}
.nav-card:hover .card-icon { background:rgba(185,28,28,0.14); border-color:rgba(185,28,28,0.35); }
.card-tag { font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:0.12em; color:var(--laser); margin-bottom:4px; }
.card-title { font-family:'Sora',sans-serif; font-size:20px; font-weight:700; line-height:1.2; letter-spacing:-0.02em; color:var(--text-primary); }
.card-desc { font-size:14px; color:var(--text-sec); line-height:1.6; flex:1; }
.card-link { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--laser); transition:gap 0.2s ease; }
.nav-card:hover .card-link { gap:10px; }
.card-link .arrow { font-size:18px; }
.nav-card.featured { grid-column:span 2; background:linear-gradient(145deg, rgba(185,28,28,0.06), rgba(127,29,29,0.03)); border-color:rgba(185,28,28,0.15); }
.nav-card.featured .card-icon { background:rgba(185,28,28,0.12); border-color:rgba(185,28,28,0.30); }

/* ── GLASS CARD ── */
.glass-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:transform 0.35s var(--ease), border-color 0.3s, box-shadow 0.35s var(--ease);
}
.glass-card:hover { transform:translateY(-6px); border-color:rgba(185,28,28,0.28); box-shadow:0 24px 64px rgba(0,0,0,0.10), 0 0 30px rgba(185,28,28,0.06); }

/* ── COMPANIES ── */
.companies-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.company-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-lg);
  padding:36px 32px; box-shadow:var(--shadow-sm);
  transition:transform 0.35s var(--ease), border-color 0.3s, box-shadow 0.35s var(--ease);
  display:flex; flex-direction:column; gap:20px;
}
.company-card:hover { transform:translateY(-8px); border-color:rgba(185,28,28,0.28); box-shadow:0 32px 60px rgba(0,0,0,0.10), 0 0 30px rgba(185,28,28,0.06); }
.company-card.wide { grid-column:span 2; }
.company-type { font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500; text-transform:uppercase; letter-spacing:0.12em; color:var(--laser); }
.company-name { font-family:'Sora',sans-serif; font-size:22px; font-weight:700; letter-spacing:-0.02em; }
.company-desc { font-size:14px; color:var(--text-sec); line-height:1.7; flex:1; }
.cert-badges { display:flex; flex-wrap:wrap; gap:8px; }
.cert-badge {
  font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:500;
  padding:4px 10px; border-radius:var(--radius-pill);
  background:rgba(0,0,0,0.04); border:1px solid rgba(0,0,0,0.10); color:var(--text-sec);
}
.company-cta { display:inline-flex; align-items:center; gap:6px; font-size:14px; font-weight:600; color:var(--laser); transition:gap 0.2s; }
.company-card:hover .company-cta { gap:10px; }

/* ── ACHIEVEMENTS ── */
.achievements-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:72px; }
.achievement-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-lg);
  padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm);
  transition:transform 0.35s var(--ease), border-color 0.3s;
}
.achievement-card:hover { transform:translateY(-6px); border-color:rgba(185,28,28,0.28); }
.achievement-card.featured-stat {
  grid-column:span 3;
  background:linear-gradient(145deg, rgba(185,28,28,0.07), rgba(127,29,29,0.04));
  border-color:rgba(185,28,28,0.18); padding:48px;
}
.ach-num {
  font-family:'Sora',sans-serif; font-size:clamp(40px,6vw,80px); font-weight:800;
  color:var(--laser); line-height:1; margin-bottom:10px; display:block;
}
.achievement-card.featured-stat .ach-num {
  font-size:clamp(56px,8vw,112px);
  background:var(--grad-laser); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.ach-label { font-family:'Sora',sans-serif; font-size:18px; font-weight:600; margin-bottom:8px; }
.ach-desc { font-size:14px; color:var(--text-sec); }

/* ── TIMELINE ── */
.timeline { position:relative; padding-left:40px; }
.timeline::before {
  content:''; position:absolute; left:12px; top:0; bottom:0;
  width:2px; background:linear-gradient(180deg, var(--laser), var(--laser-violet)); border-radius:2px;
}
.timeline-item { position:relative; margin-bottom:48px; }
.timeline-item::before {
  content:''; position:absolute; left:-34px; top:6px;
  width:14px; height:14px; border-radius:50%; background:var(--laser);
  box-shadow:0 0 0 4px rgba(185,28,28,0.15), 0 0 16px rgba(185,28,28,0.30);
}
.timeline-year { font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:500; color:var(--laser); letter-spacing:0.08em; margin-bottom:8px; }
.timeline-event { font-family:'Sora',sans-serif; font-size:20px; font-weight:700; margin-bottom:8px; }
.timeline-detail { font-size:15px; color:var(--text-sec); line-height:1.7; }

/* ── CLIENTS ── */
.clients-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.client-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-md);
  padding:20px 16px; display:flex; align-items:center; justify-content:center; height:88px;
  transition:border-color 0.3s, background 0.3s, transform 0.3s var(--ease);
  filter:grayscale(0.4) opacity(0.8); box-shadow:var(--shadow-sm);
}
.client-card:hover { filter:grayscale(0) opacity(1); border-color:rgba(185,28,28,0.28); background:rgba(185,28,28,0.03); transform:translateY(-4px); }
.client-card span { font-family:'Sora',sans-serif; font-size:13px; font-weight:700; color:var(--text-primary); text-align:center; line-height:1.3; }

/* ── TEAM ── */
.team-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.team-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-sm);
  transition:transform 0.35s var(--ease), border-color 0.3s, box-shadow 0.35s var(--ease);
}
.team-card:hover { transform:translateY(-8px); border-color:rgba(185,28,28,0.28); box-shadow:0 32px 60px rgba(0,0,0,0.10); }
.team-photo {
  width:100%; height:280px; object-fit:cover;
  background:rgba(185,28,28,0.05); display:flex; align-items:center; justify-content:center; font-size:80px;
}
.team-info { padding:28px 28px 32px; }
.team-name { font-family:'Sora',sans-serif; font-size:22px; font-weight:700; margin-bottom:6px; }
.team-role { font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--laser); text-transform:uppercase; letter-spacing:0.1em; margin-bottom:16px; }
.team-quote { font-size:14px; color:var(--text-sec); line-height:1.7; font-style:italic; }

/* ── CEO ── */
.ceo-section { background:var(--bg); border-top:1px solid rgba(0,0,0,0.07); border-bottom:1px solid rgba(0,0,0,0.07); }
.ceo-inner {
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.6fr; gap:80px; align-items:center;
  padding:clamp(72px,10vw,140px) clamp(24px,6vw,80px);
}
.ceo-photo {
  width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:var(--radius-xl);
  background:rgba(185,28,28,0.06); display:flex; align-items:center; justify-content:center; font-size:100px;
}
.ceo-badge {
  position:absolute; bottom:-16px; left:50%; transform:translateX(-50%);
  background:#FFFFFF; border:1px solid var(--border-glow);
  border-radius:var(--radius-pill); padding:10px 24px;
  white-space:nowrap; text-align:center; box-shadow:var(--shadow-sm);
}
.ceo-badge strong { display:block; font-family:'Sora',sans-serif; font-size:16px; font-weight:700; color:var(--text-primary); }
.ceo-badge span { font-size:12px; color:var(--laser); font-family:'JetBrains Mono',monospace; }
.quote-mark { font-size:120px; line-height:0.8; color:var(--laser); opacity:0.20; font-family:Georgia,serif; margin-bottom:16px; }
.ceo-quote { font-family:'Sora',sans-serif; font-size:clamp(18px,2vw,24px); font-weight:400; line-height:1.7; color:var(--text-primary); margin-bottom:32px; font-style:italic; }
.ceo-sig { font-family:'Sora',sans-serif; font-size:18px; font-weight:700; margin-bottom:4px; }
.ceo-sig-role { font-size:13px; color:var(--laser); font-family:'JetBrains Mono',monospace; letter-spacing:0.08em; }

/* ── MISSION/VISION ── */
.mission-vision { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.mv-card {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09);
  border-radius:var(--radius-lg); padding:40px 36px; box-shadow:var(--shadow-sm);
}
.mv-icon { font-size:32px; margin-bottom:20px; }
.mv-label { font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:0.14em; color:var(--laser); margin-bottom:12px; }
.mv-title { font-family:'Sora',sans-serif; font-size:24px; font-weight:700; margin-bottom:16px; }
.mv-text { font-size:15px; color:var(--text-sec); line-height:1.8; }

/* ── CONTACT ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.4fr; gap:60px; align-items:start; }
.contact-info { display:flex; flex-direction:column; gap:28px; }
.contact-item { display:flex; gap:16px; align-items:flex-start; }
.contact-item-icon {
  width:48px; height:48px; border-radius:var(--radius-md);
  background:rgba(185,28,28,0.08); border:1px solid rgba(185,28,28,0.18);
  display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0;
}
.contact-item-label { font-size:12px; color:var(--text-muted); margin-bottom:4px; font-family:'JetBrains Mono',monospace; text-transform:uppercase; letter-spacing:0.1em; }
.contact-item-value { font-size:16px; font-weight:500; }
.contact-form {
  background:#FFFFFF; border:1px solid rgba(0,0,0,0.09);
  border-radius:var(--radius-xl); padding:48px 40px; box-shadow:var(--shadow-md);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.form-group label { font-size:13px; font-weight:500; color:var(--text-sec); }
.form-group input, .form-group select, .form-group textarea {
  background:rgba(0,0,0,0.03); border:1px solid rgba(0,0,0,0.12);
  border-radius:var(--radius-md); padding:14px 16px;
  font-size:15px; color:var(--text-primary); font-family:'Inter',sans-serif;
  transition:border-color 0.2s, box-shadow 0.2s; outline:none; width:100%;
}
.form-group input::placeholder, .form-group textarea::placeholder { color:var(--text-muted); }
.form-group input:focus, .form-group textarea:focus {
  border-color:rgba(185,28,28,0.40); box-shadow:0 0 0 3px rgba(185,28,28,0.08);
}
.form-group select option { background:#FFFFFF; color:var(--text-primary); }
.form-group textarea { resize:vertical; min-height:120px; }

/* ── FORM MESSAGE ── */
.form-message {
  padding:14px 18px; border-radius:var(--radius-md);
  font-size:14px; font-weight:500; margin-bottom:20px; line-height:1.5;
}
.form-message-success {
  background:rgba(22,163,74,0.08);
  border:1px solid rgba(22,163,74,0.30);
  color:#15803d;
}
.form-message-error {
  background:rgba(185,28,28,0.08);
  border:1px solid rgba(185,28,28,0.30);
  color:var(--laser);
}

/* ── FOOTER ── */
footer {
  background:#111111; border-top:1px solid rgba(185,28,28,0.20);
  padding:72px clamp(24px,6vw,80px) 40px;
}
.footer-inner { max-width:1240px; margin:0 auto; }
.footer-top { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; margin-bottom:64px; }
.footer-logo { display:flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:800; font-size:18px; color:#F5F6FA; margin-bottom:16px; }
.footer-logo .logo-dot { width:28px; height:28px; border-radius:8px; background:var(--grad-laser); display:flex; align-items:center; justify-content:center; font-size:14px; box-shadow:0 0 16px rgba(185,28,28,0.45); }
.footer-brand p { font-size:14px; color:rgba(245,246,250,0.60); line-height:1.7; max-width:280px; }
.footer-socials { display:flex; gap:12px; margin-top:24px; }
.footer-social {
  width:38px; height:38px; border-radius:var(--radius-md);
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.10);
  display:flex; align-items:center; justify-content:center;
  font-size:16px; transition:background 0.2s, border-color 0.2s; cursor:pointer; color:#F5F6FA;
}
.footer-social:hover { background:rgba(185,28,28,0.15); border-color:rgba(185,28,28,0.35); }
.footer-col h4 { font-family:'Sora',sans-serif; font-size:14px; font-weight:700; margin-bottom:20px; color:#F5F6FA; }
.footer-col ul { display:flex; flex-direction:column; gap:10px; }
.footer-col ul li a { font-size:14px; color:rgba(245,246,250,0.60); transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--laser); }
.footer-bottom {
  border-top:1px solid rgba(255,255,255,0.08); padding-top:32px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
}
.footer-certs { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.cert-chip {
  font-family:'JetBrains Mono',monospace; font-size:10px;
  padding:4px 10px; border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.10); color:rgba(245,246,250,0.42);
}
.footer-legal { font-size:13px; color:rgba(245,246,250,0.42); }
.footer-legal a { color:rgba(245,246,250,0.42); transition:color 0.2s; }
.footer-legal a:hover { color:var(--laser); }

/* ── COLOR STRIP ── */
.color-strip { height:3px; background:var(--grad-laser); width:100%; }

/* ── CTA BANNER (dark section) ── */
.cta-banner {
  background:var(--bg-dark); text-align:center; padding:clamp(72px,10vw,140px) clamp(24px,6vw,80px);
}
.cta-banner h2 { font-family:'Sora',sans-serif; font-size:clamp(30px,4vw,56px); font-weight:800; line-height:1.05; letter-spacing:-0.03em; color:#F5F6FA; margin-bottom:16px; }
.cta-banner p { font-size:clamp(15px,1.1vw,18px); color:rgba(245,246,250,0.65); max-width:580px; margin:0 auto 40px; line-height:1.7; }

/* ── ANIMATIONS ── */
@keyframes pulse-dot { 0%,100% { box-shadow:0 0 0 0 rgba(185,28,28,0.6); } 50% { box-shadow:0 0 0 8px rgba(185,28,28,0); } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-14px); } }
@keyframes blob-drift { from { transform:translate(0,0) scale(1); } to { transform:translate(40px,30px) scale(1.08); } }
@keyframes fadeUp { from { opacity:0; transform:translateY(32px); } to { opacity:1; transform:translateY(0); } }
.animate-in { animation:fadeUp 0.7s var(--ease) both; }
.delay-1 { animation-delay:0.1s; } .delay-2 { animation-delay:0.2s; } .delay-3 { animation-delay:0.3s; } .delay-4 { animation-delay:0.4s; }
@keyframes grid-drift { from { background-position:0 0; } to { background-position:60px 60px; } }
@keyframes orbit-spin { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes core-pulse { 0%,100% { transform:scale(1); filter:drop-shadow(0 0 40px rgba(185,28,28,0.40)) drop-shadow(0 0 80px rgba(153,27,27,0.25)); } 50% { transform:scale(1.03); filter:drop-shadow(0 0 60px rgba(185,28,28,0.60)) drop-shadow(0 0 120px rgba(153,27,27,0.40)); } }
@keyframes core-float { 0%,100% { transform:translate(-50%,-50%) translateY(0); } 50% { transform:translate(-50%,-50%) translateY(-12px); } }
@keyframes glow-breathe { 0%,100% { opacity:0.75; transform:translate(-50%,-50%) scale(1); } 50% { opacity:1; transform:translate(-50%,-50%) scale(1.08); } }
@keyframes core-ring { 0% { width:240px; height:240px; opacity:0.80; } 100% { width:520px; height:520px; opacity:0; } }
@keyframes scan { 0%,100% { transform:translateY(-100%); opacity:0; } 45%,55% { opacity:0.7; } 50% { transform:translateY(100%); } }
@keyframes particle-float { 0% { opacity:0; transform:translateY(0) scale(1); } 20% { opacity:1; } 80% { opacity:1; } 100% { opacity:0; transform:translateY(-80px) scale(0.5); } }
@keyframes beam-pulse { 0%,100% { opacity:0; height:100px; } 50% { opacity:0.8; height:280px; } }
@keyframes helix-dance { 0%,100% { top:0; transform:translateX(0); } 25% { top:25%; transform:translateX(192px); } 50% { top:50%; transform:translateX(0); } 75% { top:75%; transform:translateX(192px); } }
@keyframes ken-burns-1 { 0% { transform:scale(1) translate(0,0); } 100% { transform:scale(1.15) translate(-40px,30px); } }
@keyframes ken-burns-2 { 0% { transform:scale(1.1) translate(20px,-20px); } 100% { transform:scale(1) translate(-20px,30px); } }
@keyframes brightness-flicker { 0%,100% { opacity:0.9; } 50% { opacity:1.0; } }
@keyframes conic-rotate { from { transform:translate(-50%,-50%) rotate(0deg); } to { transform:translate(-50%,-50%) rotate(360deg); } }
@keyframes wave-morph { 0% { transform:translateY(0) scaleY(1); } 50% { transform:translateY(-20px) scaleY(1.2); } 100% { transform:translateY(20px) scaleY(0.85); } }
@keyframes sweep-across { 0%,30% { left:-40%; } 70%,100% { left:110%; } }
@keyframes flare-drift { 0% { top:30%; right:15%; opacity:0.5; transform:scale(1); } 50% { top:45%; right:35%; opacity:0.8; transform:scale(1.3); } 100% { top:25%; right:55%; opacity:0.5; transform:scale(0.9); } }
@keyframes rays-sweep { from { transform:translateX(-10%); } to { transform:translateX(10%); } }
@keyframes dust { 0% { transform:translateY(0) translateX(0); opacity:0; } 10% { opacity:0.8; } 90% { opacity:0.6; } 100% { transform:translateY(-110vh) translateX(30px); opacity:0; } }
@keyframes grain-shift { 0% { transform:translate(0,0); } 25% { transform:translate(-5%,3%); } 50% { transform:translate(4%,-2%); } 75% { transform:translate(-3%,5%); } 100% { transform:translate(2%,-4%); } }

/* ── SCROLL REVEAL ── */
[data-reveal] { opacity:0; transform:translateY(28px); transition:opacity 0.7s var(--ease), transform 0.7s var(--ease); }
[data-reveal].revealed { opacity:1; transform:translateY(0); }
[data-reveal-delay="1"] { transition-delay:0.1s; } [data-reveal-delay="2"] { transition-delay:0.2s; }
[data-reveal-delay="3"] { transition-delay:0.3s; } [data-reveal-delay="4"] { transition-delay:0.4s; }
[data-reveal-delay="5"] { transition-delay:0.5s; } [data-reveal-delay="6"] { transition-delay:0.6s; }

/* ── RESPONSIVE ── */

/* Large tablet / iPad Pro landscape (≤1100px) */
@media (max-width:1100px) {
  .nav-links, .nav-cta { display:none; }
  .hamburger { display:flex; }

  .nav-cards-grid { grid-template-columns:repeat(2,1fr); }
  .nav-card.featured { grid-column:span 2; }

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

  .ceo-inner { grid-template-columns:1fr; gap:48px; }
  .contact-grid { grid-template-columns:1fr; }
  .tree-inner { grid-template-columns:1fr; }
  .tree-img-wrap { order:-1; }
  .tree-img { max-width:320px; }

  .companies-grid { grid-template-columns:repeat(2,1fr); }
  .achievements-grid { grid-template-columns:repeat(2,1fr); }
  .achievement-card.featured-stat { grid-column:span 2; }
  .clients-grid { grid-template-columns:repeat(4,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .mission-vision { grid-template-columns:1fr; }

  /* Scale hero stage proportionally */
  .hero-stage { width:min(720px,90vw); height:min(720px,90vw); }
  .orbit-1 { width:272px; height:272px; }
  .orbit-2 { width:416px; height:416px; }
  .orbit-3 { width:576px; height:576px; }
  .hero-core-wrap { width:272px; height:272px; }
}

/* iPad portrait / large phone landscape (≤820px) */
@media (max-width:820px) {
  .nav { padding:0 28px; }

  .hero-stage { width:min(540px,88vw); height:min(540px,88vw); }
  .orbit-1 { width:204px; height:204px; }
  .orbit-2 { width:312px; height:312px; }
  .orbit-3 { width:432px; height:432px; }
  .hero-core-wrap { width:204px; height:204px; }

  .form-row { grid-template-columns:1fr; }
  .contact-form { padding:32px 24px; }

  .footer-top { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
}

/* Mobile / iPad mini landscape (≤768px) */
@media (max-width:768px) {
  .nav { padding:0 20px; height:64px; }

  .nav-cards-grid { grid-template-columns:1fr; }
  .nav-card.featured { grid-column:span 1; }
  .nav-card { padding:24px 20px; }

  .stats-bar { grid-template-columns:repeat(2,1fr); max-width:100%; }
  .stat-item { padding:18px 14px; }
  .stat-item:nth-child(even) { border-right:none; }
  .stat-item:nth-child(n+3) { border-top:1px solid rgba(0,0,0,0.09); }

  .footer-top { grid-template-columns:1fr; gap:32px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; }
  footer { padding:48px 20px 32px; }

  .companies-grid { grid-template-columns:1fr; }
  .company-card { padding:28px 24px; }
  .company-card.wide { grid-column:span 1; }

  .achievements-grid { grid-template-columns:1fr; }
  .achievement-card { padding:28px 20px; }
  .achievement-card.featured-stat { grid-column:span 1; padding:32px 24px; }

  .clients-grid { grid-template-columns:repeat(2,1fr); }

  .team-grid { grid-template-columns:1fr; }
  .team-photo { height:220px; }
  .team-info { padding:20px 20px 24px; }

  .mv-card { padding:28px 24px; }

  .ceo-inner { gap:36px; }
  .ceo-photo { max-width:260px; margin:0 auto; aspect-ratio:3/4; }

  /* Hero stage and all animations removed on mobile */
  .hero-stage { display:none; }
  .cinematic-bg { display:none; }

  /* Touch-friendly minimum tap targets */
  .btn-primary, .btn-outline { min-height:48px; }
  .nav-cta { min-height:44px; }
  .footer-social { width:44px; height:44px; }

  /* Prevent iOS from zooming into inputs */
  .form-group input, .form-group select, .form-group textarea { font-size:16px; }
  .form-group textarea { min-height:120px; }
  .contact-form { padding:28px 20px; }

  /* Hero sections */
  .home-hero { padding:100px 20px 60px; }
  .hero-btns { gap:10px; margin-bottom:48px; }
  .page-hero { padding:100px 20px 48px; min-height:auto; }
  .page-hero-inner { max-width:100%; }
  .section { padding:clamp(56px,8vw,96px) 20px; }

  /* Issue 1: Tree company pills — prevent text truncation on mobile */
  .tree-company-pill { gap:10px; padding:12px 16px; flex-wrap:wrap; }
  .pill-name { font-size:14px; }
  .pill-type { font-size:11px; }
  .tree-companies { gap:10px; }
}

/* Small phones (≤480px) */
@media (max-width:480px) {
  .stats-bar { grid-template-columns:1fr 1fr; }
  .stat-item { padding:16px 10px; }

  .mobile-nav a { font-size:18px; }

  .contact-form { padding:20px 16px; }

  .hero-btns { gap:8px; }
  .hero-btns .btn-primary, .hero-btns .btn-outline { flex:1 1 140px; justify-content:center; }

  .page-title { font-size:clamp(32px,9vw,48px); }
  .cta-banner h2 { font-size:clamp(26px,7vw,40px); }

  .footer-top { gap:24px; }

  /* Issue 1: Tree pills even tighter on small phones */
  .tree-company-pill { padding:10px 14px; gap:8px; }
  .pill-name { font-size:13px; }
}

/* iPhone SE / very small (≤375px) */
@media (max-width:375px) {
  .nav { padding:0 16px; }

  .hero-title { font-size:clamp(36px,10vw,52px); }
  .hero-btns { flex-direction:column; align-items:stretch; }
  .hero-btns .btn-primary, .hero-btns .btn-outline { width:100%; text-align:center; justify-content:center; }

  .stat-num { font-size:clamp(20px,6vw,28px); }
  .stat-label { font-size:11px; }

}

/* Phone landscape — avoid full-height hero blocking content */
@media (max-height:500px) and (orientation:landscape) {
  .home-hero, .page-hero { min-height:auto; padding-top:84px; padding-bottom:40px; }
  .hero-stage { display:none; }
  .hero-btns { margin-bottom:24px; }
}

/* iOS safe-area insets (notched iPhones, Dynamic Island) */
@supports (padding:env(safe-area-inset-left)) {
  .nav {
    padding-left:max(48px, env(safe-area-inset-left));
    padding-right:max(48px, env(safe-area-inset-right));
  }
  @media (max-width:1100px) {
    .nav {
      padding-left:max(20px, env(safe-area-inset-left));
      padding-right:max(20px, env(safe-area-inset-right));
    }
  }
  .mobile-nav { padding-bottom:env(safe-area-inset-bottom); }
  footer { padding-bottom:max(40px, env(safe-area-inset-bottom)); }
}

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal] { opacity:1 !important; transform:none !important; }
}
