/* ==========================================================================
   a99 VC — shared design system
   White canvas, subtle blue + orange (logo colours) only.
   ========================================================================== */

:root{
  /* brand */
  --blue:        #008ad8;
  --blue-700:    #0069a8;
  --blue-500:    #2aa3e8;
  --blue-200:    #a9d9f5;
  --blue-100:    #d9edfb;
  --blue-050:    #eef7fd;

  --orange:      #ffa84e;
  --orange-700:  #e0801c;
  --orange-500:  #ff9a2e;
  --orange-200:  #ffdcb6;
  --orange-100:  #ffeeda;
  --orange-050:  #fff7ee;

  /* neutrals */
  --ink:         #0d1b2a;
  --ink-soft:    #33465c;
  --muted:       #6b7f93;
  --faint:       #9aabbc;
  --line:        #e6edf4;
  --line-soft:   #f0f5f9;
  --paper:       #ffffff;
  --paper-tint:  #fbfdff;

  --font-label: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --grad: linear-gradient(90deg, var(--blue) 0%, var(--orange) 100%);

  --shadow-sm: 0 1px 2px rgba(13,27,42,.04), 0 2px 8px rgba(13,27,42,.04);
  --shadow-md: 0 4px 12px rgba(13,27,42,.05), 0 12px 32px rgba(13,27,42,.06);
  --shadow-lg: 0 8px 24px rgba(0,138,216,.07), 0 24px 60px rgba(13,27,42,.08);

  --nav-h: 60px;
  --ease: cubic-bezier(.22,1,.36,1);
  --maxw: 1280px;
}

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

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* The whole site sits on white with barely-there blue / orange light. */
body::before{
  content:'';
  position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(760px 560px at 8% -6%,  rgba(0,138,216,0.022), transparent 62%),
    radial-gradient(680px 520px at 100% 4%, rgba(255,168,78,0.022), transparent 60%),
    radial-gradient(900px 700px at 50% 108%, rgba(0,138,216,0.015), transparent 65%),
    #ffffff;
}
/* faint engineering grid — reads as texture, not pattern */
body::after{
  content:'';
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background-image:
    linear-gradient(to right, rgba(0,138,216,.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,138,216,.045) 1px, transparent 1px);
  background-size:88px 88px;
  mask-image:radial-gradient(ellipse 90% 60% at 50% 0%, #000 0%, transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 60% at 50% 0%, #000 0%, transparent 78%);
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; }

::selection{ background:var(--orange-200); color:var(--ink); }

/* ---------- typography ---------- */
h1,h2,h3,h4{ font-family:'Outfit',sans-serif; font-weight:700; letter-spacing:-.025em; margin:0; line-height:1.06; color:var(--ink); }
.display{ font-family:'Outfit',sans-serif; font-weight:800; letter-spacing:-.035em; line-height:1.02; }
.mono{ font-family:var(--font-label); font-weight:500; }

.eyebrow{
  font-family:var(--font-label);
  font-size:11px; font-weight:500; letter-spacing:.09em; text-transform:uppercase;
  color:var(--blue-700);
}
.eyebrow--orange{ color:var(--orange-700); }
.rule{ width:64px; height:3px; border-radius:3px; background:var(--orange); }

.lead{ font-size:1.0625rem; color:var(--ink-soft); line-height:1.75; }
.muted{ color:var(--muted); }
.text-blue{ color:var(--blue); }
.text-orange{ color:var(--orange-700); }

.wrap{ width:100%; max-width:var(--maxw); margin:0 auto; padding:0 28px; }
.wrap-wide{ width:100%; max-width:1520px; margin:0 auto; padding:0 28px; }
section{ position:relative; }

.section-pad{ padding:112px 0; }
.section-pad-sm{ padding:72px 0; }

.hairline{ height:1px; background:linear-gradient(90deg,transparent,var(--line),transparent); border:0; margin:0; }

.skip-link{
  position:absolute; left:0; top:-200px; z-index:9999;
  background:var(--blue); color:#fff; padding:12px 22px; font-weight:600; border-radius:0 0 10px 0;
}
.skip-link:focus{ top:0; }

:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:6px; }

/* ==========================================================================
   NAVBAR — floating pill (DataLens style)
   ========================================================================== */
.nav-shell{
  position:fixed; top:0; left:0; width:100%; z-index:900;
  padding:12px 24px; transition:padding .35s var(--ease);
}
.nav-shell.is-scrolled{ padding:7px 24px; }

.nav-pill{
  max-width:1060px; margin:0 auto;
  display:flex; align-items:center; gap:18px;
  padding:6px 6px 6px 18px;
  background:rgba(255,255,255,.24);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  backdrop-filter:blur(16px) saturate(1.5);
  border:1px solid rgba(255,255,255,.55);
  border-radius:999px;
  box-shadow:0 1px 1px rgba(255,255,255,.55) inset, 0 10px 34px -18px rgba(13,27,42,.32);
  transition:box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease), -webkit-backdrop-filter .35s var(--ease), backdrop-filter .35s var(--ease);
}
.nav-shell.is-scrolled .nav-pill{
  background:rgba(255,255,255,.44);
  -webkit-backdrop-filter:blur(32px) saturate(1.9);
  backdrop-filter:blur(32px) saturate(1.9);
  border-color:rgba(255,255,255,.68);
  box-shadow:0 1px 1px rgba(255,255,255,.6) inset, 0 14px 44px -20px rgba(13,27,42,.4);
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav-pill{ background:rgba(255,255,255,.88); }
  .nav-shell.is-scrolled .nav-pill{ background:rgba(255,255,255,.95); }
}

.nav-brand{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nav-brand img{ height:26px; width:auto; object-fit:contain; }

.nav-links{ display:flex; align-items:center; gap:2px; margin:0 auto; }
.nav-link{
  position:relative; display:inline-block;
  padding:7px 10px; border-radius:999px;
  font-family:'Outfit',sans-serif; font-size:12px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
  transition:color .25s var(--ease), background .25s var(--ease);
}
.nav-link:hover{ color:var(--blue); background:var(--blue-050); }
.nav-link.is-active{ color:var(--blue); }
.nav-link.is-active::after{
  content:''; position:absolute; left:50%; transform:translateX(-50%);
  bottom:1px; width:18px; height:2.5px; border-radius:3px; background:var(--blue);
  box-shadow:0 0 12px rgba(0,138,216,.55);
}

.nav-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; }

.nav-burger{
  display:none; width:36px; height:36px; border-radius:999px;
  border:1px solid var(--line); background:#fff; cursor:pointer;
  align-items:center; justify-content:center;
}
.nav-burger span{ display:block; width:17px; height:1.8px; background:var(--ink); border-radius:2px; position:relative; transition:.3s var(--ease); }
.nav-burger span::before,.nav-burger span::after{ content:''; position:absolute; left:0; width:17px; height:1.8px; background:var(--ink); border-radius:2px; transition:.3s var(--ease); }
.nav-burger span::before{ top:-6px; } .nav-burger span::after{ top:6px; }
.nav-burger.is-open span{ background:transparent; }
.nav-burger.is-open span::before{ top:0; transform:rotate(45deg); }
.nav-burger.is-open span::after{ top:0; transform:rotate(-45deg); }

.nav-mobile{
  display:none; max-width:1360px; margin:10px auto 0;
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(28px) saturate(1.8); backdrop-filter:blur(28px) saturate(1.8);
  border:1px solid rgba(0,138,216,.12); border-radius:26px;
  padding:18px; box-shadow:var(--shadow-md);
}
.nav-mobile.is-open{ display:block; }
.nav-mobile a{
  display:block; padding:13px 16px; border-radius:14px;
  font-family:'Outfit',sans-serif; font-weight:600; font-size:14px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);
}
.nav-mobile a:hover{ background:var(--blue-050); color:var(--blue); }
.nav-mobile .nav-mobile-cta{ margin-top:10px; display:flex; flex-direction:column; gap:10px; }

@media (max-width:1024px){
  .nav-links{ display:none; }
  .nav-actions .btn-slide{ display:none; }
  .nav-burger{ display:inline-flex; }
  .nav-pill{ justify-content:space-between; padding:10px 12px 10px 20px; }
}

/* ==========================================================================
   LETTER SWAP — staggered "slot machine" character hover
   ========================================================================== */
.ls{ display:inline-flex; overflow:hidden; vertical-align:bottom; }
.ls__c{
  display:inline-block; position:relative; overflow:hidden;
  height:1em; line-height:1em;
}
.ls__c > span{
  display:block; will-change:transform;
  transition:transform .38s var(--ease);
  transition-delay:var(--d,0ms);
}
.ls__c > span > i{ display:block; font-style:inherit; height:1em; line-height:1em; }
.ls:hover .ls__c > span,
a:hover .ls .ls__c > span,
button:hover .ls .ls__c > span,
.ls-host:hover .ls .ls__c > span,
.ls-host:focus-visible .ls .ls__c > span{ transform:translateY(-1em); }
.ls__sp{ display:inline-block; width:.32em; }

/* ==========================================================================
   BUTTONS
   ========================================================================== */

/* --- Sliding Text Button (nav: Investor Login / Pitch to Us) --- */
.btn-slide{
  --bs-bg:#ffffff; --bs-fg:var(--ink); --bs-bd:rgba(0,138,216,.22);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:36px; padding:0 15px; border-radius:999px;
  background:var(--bs-bg); color:var(--bs-fg);
  border:1px solid var(--bs-bd);
  font-family:'Outfit',sans-serif; font-size:10.5px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; white-space:nowrap;
  cursor:pointer; overflow:hidden; isolation:isolate;
  transition:color .4s var(--ease), border-color .4s var(--ease), box-shadow .4s var(--ease), transform .4s var(--ease);
}
.btn-slide__track{ position:relative; display:block; overflow:hidden; height:1.05em; }
.btn-slide__track span{ display:block; transition:transform .45s var(--ease); }
.btn-slide__track span i{ display:block; font-style:normal; height:1.05em; line-height:1.05em; }
.btn-slide:hover .btn-slide__track span,
.btn-slide:focus-visible .btn-slide__track span{ transform:translateY(-1.05em); }
.btn-slide::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:var(--blue); transform:translateY(101%);
  transition:transform .45s var(--ease);
}
.btn-slide:hover::before,.btn-slide:focus-visible::before{ transform:translateY(0); }
.btn-slide:hover,.btn-slide:focus-visible{ color:#fff; border-color:transparent; box-shadow:0 10px 26px rgba(0,138,216,.28); }

.btn-slide--solid{ --bs-bg:var(--ink); --bs-fg:#ffffff; --bs-bd:transparent; }
.btn-slide--solid::before{ background:var(--orange); }
.btn-slide--solid:hover,.btn-slide--solid:focus-visible{ color:var(--ink); box-shadow:0 10px 26px rgba(255,168,78,.40); }

/* --- Wave Reveal Button (every other button on the site) --- */
.btn-wave{
  --wv:var(--blue-100); --wv-fg:var(--blue-700); --wv-bd:rgba(0,138,216,.22);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:0 28px; border-radius:999px;
  background:transparent; color:var(--wv-fg);
  border:1px solid var(--wv-bd);
  font-family:'Outfit',sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; white-space:nowrap;
  cursor:pointer; overflow:hidden; isolation:isolate;
  transition:color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease);
}
.btn-wave > *{ position:relative; z-index:2; }
.btn-wave__wave{
  position:absolute; left:-15%; bottom:-2px; width:130%; height:0;
  z-index:0; pointer-events:none;
  transition:height .55s var(--ease);
}
.btn-wave__wave::before{
  content:''; position:absolute; left:0; right:0; bottom:0; top:14px; background:var(--wv);
}
.btn-wave__wave::after{
  content:''; position:absolute; left:0; right:0; top:0; height:22px;
  background:var(--wv);
  border-radius:50% 50% 0 0 / 100% 100% 0 0;
  animation:waveRoll 2.6s linear infinite; opacity:0;
  transition:opacity .3s var(--ease);
}
.btn-wave:hover .btn-wave__wave,
.btn-wave:focus-visible .btn-wave__wave{ height:calc(100% + 14px); }
.btn-wave:hover .btn-wave__wave::after,
.btn-wave:focus-visible .btn-wave__wave::after{ opacity:1; }
.btn-wave:hover,.btn-wave:focus-visible{ border-color:var(--wv); transform:translateY(-2px); }
@keyframes waveRoll{
  0%   { border-radius:46% 54% 0 0 / 100% 100% 0 0; transform:translateX(-3%) scaleY(1); }
  50%  { border-radius:56% 44% 0 0 / 100% 100% 0 0; transform:translateX(3%)  scaleY(1.25); }
  100% { border-radius:46% 54% 0 0 / 100% 100% 0 0; transform:translateX(-3%) scaleY(1); }
}
.btn-wave--orange{ --wv:var(--orange-100); --wv-fg:var(--orange-700); --wv-bd:rgba(255,168,78,.38); }
.btn-wave--ghost{ --wv:var(--blue-050); }
.btn-wave .ico{ font-size:14px; transition:transform .45s var(--ease); }
.btn-wave:hover .ico{ transform:translateX(4px); }

/* --- Motion Fill Button (Fund I / Fund II selector) --- */
.btn-fill{
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 34px; border-radius:999px;
  background:#fff; color:var(--ink-soft);
  border:1px solid var(--line);
  font-family:'Outfit',sans-serif; font-size:12.5px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; white-space:nowrap;
  cursor:pointer; overflow:hidden; isolation:isolate;
  transition:color .5s var(--ease), border-color .5s var(--ease), box-shadow .5s var(--ease);
}
.btn-fill__fill{
  position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:var(--grad);
  clip-path:circle(0% at 50% 120%);
  transition:clip-path .62s var(--ease);
}
.btn-fill:hover .btn-fill__fill,
.btn-fill:focus-visible .btn-fill__fill{ clip-path:circle(140% at 50% 120%); }
.btn-fill:hover,.btn-fill:focus-visible{ color:#fff; border-color:transparent; box-shadow:0 12px 30px rgba(0,138,216,.24); }
.btn-fill.is-active{ color:#fff; border-color:transparent; box-shadow:0 12px 30px rgba(0,138,216,.24); }
.btn-fill.is-active .btn-fill__fill{ clip-path:circle(140% at 50% 120%); }
.btn-fill__count{
  font-family:var(--font-label); font-weight:500; font-size:10.5px; letter-spacing:.06em;
  padding:2px 8px; border-radius:999px; background:var(--blue-050); color:var(--blue-700);
  transition:background .5s var(--ease), color .5s var(--ease);
}
.btn-fill:hover .btn-fill__count,
.btn-fill.is-active .btn-fill__count{ background:rgba(255,255,255,.22); color:#fff; }

/* ==========================================================================
   REVEAL ON SCROLL
   ========================================================================== */
.rv{ opacity:0; transform:translateY(26px); transition:opacity .58s var(--ease), transform .58s var(--ease); }
.rv.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .rv{ opacity:1 !important; transform:none !important; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   FOOTER — liquid glass
   ========================================================================== */
.foot{
  position:relative; margin-top:96px; padding:0 24px 26px; overflow:hidden;
}
.foot__glass{
  position:relative; max-width:1520px; margin:0 auto;
  border-radius:34px; padding:64px 52px 34px;
  background:linear-gradient(160deg, rgba(255,255,255,.86) 0%, rgba(238,247,253,.72) 46%, rgba(255,247,238,.72) 100%);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 -1px 0 rgba(0,138,216,.05) inset,
    0 22px 70px rgba(13,27,42,.10);
  overflow:hidden;
}
/* the two coloured lights that give the glass its liquid feel */
.foot__glass::before{
  content:''; position:absolute; width:520px; height:520px; left:-140px; top:-200px;
  background:radial-gradient(circle, rgba(0,138,216,.22), transparent 66%);
  filter:blur(22px); pointer-events:none; will-change:transform;
  animation:floatA 16s ease-in-out infinite alternate;
}
.foot__glass::after{
  content:''; position:absolute; width:560px; height:560px; right:-160px; bottom:-240px;
  background:radial-gradient(circle, rgba(255,168,78,.24), transparent 66%);
  filter:blur(24px); pointer-events:none; will-change:transform;
  animation:floatB 19s ease-in-out infinite alternate;
}
@keyframes floatA{ from{ transform:translate3d(0,0,0);} to{ transform:translate3d(70px,50px,0);} }
@keyframes floatB{ from{ transform:translate3d(0,0,0);} to{ transform:translate3d(-60px,-46px,0);} }

.foot__inner{ position:relative; z-index:2; }
.foot__top{ display:grid; grid-template-columns:1.15fr .85fr; gap:48px; align-items:start; }
.foot__cta h2{ font-size:clamp(1.9rem,3.4vw,2.9rem); font-weight:800; letter-spacing:-.03em; line-height:1.08; }
.foot__mail{
  display:inline-flex; align-items:center; gap:12px; margin-top:22px;
  font-family:'Outfit',sans-serif; font-size:1.3rem; font-weight:700; color:var(--blue-700);
  border-bottom:1.5px solid rgba(0,138,216,.3); padding-bottom:5px;
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.foot__mail:hover{ color:var(--orange-700); border-color:rgba(255,168,78,.6); }

.foot__reg{ display:grid; gap:26px; }
.foot__block-label{
  font-family:var(--font-label); font-size:10px; font-weight:500;
  letter-spacing:.09em; text-transform:uppercase; color:var(--faint); margin-bottom:7px;
}
.foot__block-body{ font-size:14px; color:var(--ink-soft); line-height:1.65; }
.foot__block-body strong{ font-weight:600; color:var(--ink); }
.foot__sebi{
  display:grid; grid-template-columns:1fr 1fr; gap:20px;
  padding:18px 20px; border-radius:18px;
  background:rgba(255,255,255,.6); border:1px solid rgba(0,138,216,.10);
}
.foot__regno{ font-family:var(--font-label); font-weight:500; font-size:12px; color:var(--blue-700); letter-spacing:.02em; }

.foot__bar{
  margin-top:44px; padding-top:22px; border-top:1px solid rgba(0,138,216,.12);
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-family:var(--font-label); font-weight:500; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--muted);
}
.foot__links{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.foot__links a{ transition:color .25s var(--ease); }
.foot__links a:hover{ color:var(--blue); }

@media (max-width:900px){
  .foot__glass{ padding:44px 26px 26px; border-radius:26px; }
  .foot__top{ grid-template-columns:1fr; gap:34px; }
  .foot__sebi{ grid-template-columns:1fr; }
}

/* ==========================================================================
   SHARED BITS
   ========================================================================== */
.section-head{ display:flex; flex-direction:column; gap:14px; margin-bottom:52px; }
.section-head h2{ font-size:clamp(2rem,4vw,3.2rem); font-weight:800; letter-spacing:-.035em; }
.section-head .lead{ max-width:62ch; }

.tag{
  display:inline-flex; align-items:center; padding:5px 12px; border-radius:999px;
  font-family:var(--font-label); font-weight:500; font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  background:var(--blue-050); color:var(--blue-700); border:1px solid rgba(0,138,216,.14);
}
.tag--orange{ background:var(--orange-050); color:var(--orange-700); border-color:rgba(255,168,78,.28); }

.scroll-cue{
  display:inline-flex; flex-direction:column; align-items:center; gap:10px;
  font-family:var(--font-label); font-weight:500; font-size:10px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--blue-700); background:none; border:0; cursor:pointer;
}
.scroll-cue__ring{
  width:38px; height:38px; border-radius:999px; border:1px solid rgba(0,138,216,.35);
  display:grid; place-items:center; color:var(--blue);
  animation:cueBob 2.4s ease-in-out infinite;
}
@keyframes cueBob{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(7px);} }

/* sphere gallery host */
.sphere-host{ position:relative; width:100%; height:620px; }
.sphere-host canvas{ display:block; width:100%; height:100%; }
@media (max-width:760px){ .sphere-host{ height:440px; } }

.sphere-label{
  position:absolute; z-index:5; pointer-events:none;
  transform:translate(14px,-130%);
  padding:7px 13px; border-radius:999px;
  background:rgba(255,255,255,.92); border:1px solid rgba(0,138,216,.16);
  box-shadow:var(--shadow-sm);
  font-family:var(--font-label); font-weight:500; font-size:10px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--blue-700); white-space:nowrap;
  opacity:0; transition:opacity .2s var(--ease);
}


/* ==========================================================================
   AMBIENT LIGHT + CURSOR DOT  (shared by every page)
   ========================================================================== */

/* soft blue / orange counter-light - the portfolio "board" wash, site-wide */
.a99-amb{
  position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(86% 60% at 12% -4%, rgba(0,138,216,0.03) 0%, transparent 58%),
    radial-gradient(64% 56% at 94% 6%, rgba(255,168,78,0.033) 0%, transparent 58%),
    radial-gradient(58% 46% at 84% 96%, rgba(255,168,78,0.021) 0%, transparent 60%);
  animation:a99AmbBreathe 18s ease-in-out infinite;
}
@keyframes a99AmbBreathe{ 0%,100%{ opacity:.86; } 50%{ opacity:1; } }

/* drifting engineering rays, lifted from the portfolio hero */
.a99-rays{
  position:fixed; inset:-20% -10%; z-index:-1; pointer-events:none;
  background:repeating-linear-gradient(115deg, rgba(0,138,216,.05) 0 2px, transparent 2px 46px);
  mask-image:radial-gradient(64% 70% at 74% 34%, #000, transparent 78%);
  -webkit-mask-image:radial-gradient(64% 70% at 74% 34%, #000, transparent 78%);
  animation:none;
}
@keyframes a99RaysDrift{ to{ background-position:184px 0; } }

/* ---------- brand cursor dot ---------- */
.a99-cursor{
  position:fixed; left:0; top:0; width:0; height:0;
  pointer-events:none; z-index:9998;
  transform:translate3d(-200px,-200px,0);
  will-change:transform; contain:layout style;
}
.a99-cursor i{
  position:absolute; left:-5px; top:-5px; width:10px; height:10px;
  border-radius:50%; background:var(--blue);
  opacity:0; transform:scale(1);
  transition:transform .22s cubic-bezier(.22,1,.36,1),
             opacity .22s linear,
             background .22s var(--ease),
             box-shadow .22s var(--ease);
  will-change:transform;
}
.a99-cursor.is-on i{ opacity:1; }
.a99-cursor.is-hot i{
  transform:scale(2.7);
  background:rgba(0,138,216,.14);
  box-shadow:none;
}
.a99-cursor.is-down i{ transform:scale(.62); }
.a99-cursor.is-hot.is-down i{ transform:scale(2.1); }
@media (hover:none),(pointer:coarse){ .a99-cursor{ display:none; } }
@media (prefers-reduced-motion:reduce){
  .a99-amb,.a99-rays{ animation:none; }
  .a99-cursor{ display:none; }
}


/* ================================================================
   FLOW - inertial scrolling + trailing cursor blur
   ================================================================ */
html.a99-flow{ scroll-behavior:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }

/* ---------- trailing blur behind the brand dot ---------- */
.a99-cursor-trail{ display:none !important;
  position:fixed; left:0; top:0; width:0; height:0;
  pointer-events:none; z-index:9997;
  transform:translate3d(-200px,-200px,0);
  will-change:transform; contain:layout style;
}
.a99-cursor-trail i{
  position:absolute; left:-20px; top:-20px; width:40px; height:40px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(0,138,216,.46) 0%, rgba(0,138,216,.17) 46%, rgba(0,138,216,0) 72%);
  filter:blur(8px);
  opacity:0;
  transition:background .35s var(--ease);
  will-change:transform,opacity;
}
.a99-cursor-trail.is-hot i{
  background:radial-gradient(circle at 50% 50%, rgba(255,168,78,.38) 0%, rgba(0,138,216,.20) 50%, rgba(0,138,216,0) 74%);
}
@media (hover:none),(pointer:coarse){ .a99-cursor-trail{ display:none; } }
@media (prefers-reduced-motion:reduce){ .a99-cursor-trail{ display:none; } }

/* ==================== CURRENCY FLIP (US$ 100M <-> INR 1,000 Cr) ==================== */
.curflip{ display:inline-grid; justify-items:center; align-items:center; cursor:pointer; perspective:600px; -webkit-tap-highlight-color:transparent; vertical-align:baseline; }
.curflip__v{ grid-area:1 / 1; white-space:nowrap; opacity:0; transform:translateY(.30em) rotateX(-42deg); transform-origin:50% 0%;
  transition:opacity .40s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1); }
.curflip__v.is-on{ opacity:1; transform:none; }
.curflip__v.is-out{ opacity:0; transform:translateY(-.30em) rotateX(42deg); }
.curflip:focus-visible{ outline:2px solid var(--blue,#008AD8); outline-offset:5px; border-radius:8px; }
@media (prefers-reduced-motion:reduce){ .curflip__v{ transition:opacity .2s linear; transform:none !important; } }


/* ····················· PERFORMANCE + MOBILE LAYER (Sep 2026) ····················· */
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{ overflow-x:hidden; }
@supports (overflow:clip){ html,body{ overflow-x:clip; } }
a,button,[role="button"],label,summary,.btn-slide{ -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
img{ -webkit-user-drag:none; }

/* sections that are off-screen stop running their looping animations */
.a99-off,.a99-off *,.a99-off *::before,.a99-off *::after{ animation-play-state:paused !important; }
/* nothing animates while the tab is in the background */
html.a99-hidden *,html.a99-hidden *::before,html.a99-hidden *::after{ animation-play-state:paused !important; }

/* ---------- mobile menu: animated sheet, big tap targets ---------- */
@media (max-width:1024px){
  .nav-mobile{
    display:block; visibility:hidden; opacity:0; pointer-events:none;
    transform:translateY(-10px) scale(.985); transform-origin:top center;
    transition:opacity .22s ease, transform .32s cubic-bezier(.22,1,.36,1), visibility 0s linear .32s;
    max-height:calc(100vh - 96px); max-height:calc(100svh - 96px);
    overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch;
    background:rgba(255,255,255,.97);
    -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    padding:8px;
  }
  .nav-mobile.is-open{ visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s; }
  .nav-mobile > a{ display:flex; align-items:center; min-height:50px; padding:14px 18px; font-size:15px; }
  .nav-mobile > a.is-active{ color:var(--blue); background:var(--blue-050); }
  .nav-mobile .nav-mobile-cta .btn-slide{ display:flex; align-items:center; justify-content:center; min-height:48px; }
  .nav-mobile .nav-mobile-cta .btn-slide--solid,.nav-mobile .nav-mobile-cta .btn-slide--solid *{ color:#fff; }
  .nav-burger{ width:42px; height:42px; }
  html.a99-menu-open,html.a99-menu-open body{ overflow:hidden; }
}

/* ---------- phones ---------- */
@media (max-width:760px){
  .nav-shell{ padding:10px 12px; }
  .nav-shell.is-scrolled{ padding:6px 12px; }
  .nav-pill,.nav-shell.is-scrolled .nav-pill{ -webkit-backdrop-filter:blur(12px) saturate(1.4); backdrop-filter:blur(12px) saturate(1.4); }
  input,select,textarea{ font-size:16px; }
  h1,h2,h3{ overflow-wrap:break-word; }
  /* ambient full-screen layers are pure decoration - keep them still on phones */
  .a99-amb,.a99-rays{ animation:none !important; }
  .rv{ transition-duration:.45s; }
}
@media (max-width:380px){
  .nav-shell{ padding:8px 10px; }
}
@media (hover:none){
  .a99-cursor,.a99-cursor-trail{ display:none !important; }
}

/* nav shell must not swallow taps below the pill when the mobile menu is closed */
.nav-shell{ pointer-events:none; }
.nav-shell .nav-pill{ pointer-events:auto; }
