/* Vision Kartha — global styles */

:root {
  --vk-bg:        #0A0A0F;        /* deepest */
  --vk-bg-2:      #11111A;        /* card / section */
  --vk-bg-3:      #1A1B26;        /* lifted */
  --vk-line:      #23242F;        /* border */
  --vk-line-2:    #2E3040;        /* hover border */
  --vk-text:      #FFFFFF;
  --vk-text-mute: #8A8A99;
  --vk-text-dim:  #5A5B6A;

  --vk-gold:      #F5C518;        /* primary accent */
  --vk-gold-soft: #F5C51810;
  --vk-saffron:   #FF7A1A;        /* secondary pop */
  --vk-cream:     #F6EFE0;        /* warm light bg variant */
  --vk-ink:       #131418;        /* near-black for type on cream */
}

html, body {
  background: var(--vk-bg);
  color: var(--vk-text);
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-feature-settings: 'ss01', 'cv11';
  scroll-behavior: smooth;
}

body {
  background-image:
    radial-gradient(1200px 600px at 80% -10%, rgba(245,197,24,0.06), transparent 60%),
    radial-gradient(900px 500px at 0% 30%, rgba(255,122,26,0.04), transparent 60%);
  background-attachment: fixed;
}

.font-mono   { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.font-telugu { font-family: 'Noto Sans Telugu', 'Manrope', sans-serif; font-feature-settings: normal; }
.font-serif  { font-family: 'Fraunces', Georgia, serif; }

.container-wide { max-width: 1280px; margin: 0 auto; padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 1024px) { .container-wide { padding-left: 2.5rem; padding-right: 2.5rem; } }

/* utility — subtle inner highlight on cards */
.card-hi {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0) 30%),
    var(--vk-bg-2);
  border: 1px solid var(--vk-line);
}
.card-hi:hover { border-color: var(--vk-line-2); }

/* grain overlay — adds subtle paper texture, optional */
.grain::before {
  content:'';
  position:absolute; inset:0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.96 0 0 0 0 0.77 0 0 0 0 0.1 0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/></svg>");
  opacity: 0.045; mix-blend-mode: overlay; pointer-events:none;
}

/* tag pill */
.eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
}

/* link underline grow */
.link-grow { position: relative; }
.link-grow::after {
  content:''; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.link-grow:hover::after { transform: scaleX(1); }

/* gold underline (decorative) */
.gold-rule {
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--vk-gold), transparent);
}

/* Smooth fade in on scroll */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.reveal.is-in { opacity: 1; transform: none; }

/* Stats counter */
.tabular { font-variant-numeric: tabular-nums; }

/* Telugu legibility bump — Noto Sans Telugu reads small */
.font-telugu { letter-spacing: -0.005em; }

/* anchor offset for fixed nav */
section[id] { scroll-margin-top: 72px; }

/* selection */
::selection { background: rgba(245,197,24,0.25); color: #fff; }

/* mobile menu lock */
body.menu-open { overflow: hidden; }

/* button base */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; font-size: 11px;
  padding: 18px 28px; border-radius: 10px;
  transition: all .25s ease;
  white-space: nowrap;
}
.btn-primary { background: var(--vk-gold); color: var(--vk-ink); }
.btn-primary:hover { background: #fff; }
.btn-ghost { border: 1px solid var(--vk-line-2); color: #fff; }
.btn-ghost:hover { border-color: var(--vk-gold); color: var(--vk-gold); }

/* big numeric tag */
.num-tag {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  color: var(--vk-gold);
  font-size: 12px;
  letter-spacing: 0.15em;
  font-weight: 600;
}

/* dotted ascii rule */
.dot-rule {
  background-image: linear-gradient(90deg, var(--vk-line) 1px, transparent 1px);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: 0 50%;
  height: 1px;
}

/* hero word marker */
.word-mark {
  position: relative;
  display: inline-block;
}
.word-mark::after {
  content:''; position:absolute; left:-4px; right:-4px; bottom: 0.08em; height: 0.18em;
  background: var(--vk-gold); opacity: 0.85; z-index: -1; border-radius: 2px;
}

/* program card hover sweep */
.sweep { position: relative; overflow: hidden; }
.sweep::before {
  content:''; position: absolute; inset: 0;
  background: radial-gradient(400px 200px at var(--mx,50%) var(--my,50%), rgba(245,197,24,0.08), transparent 60%);
  opacity: 0; transition: opacity .4s;
  pointer-events: none;
}
.sweep:hover::before { opacity: 1; }
