/* ==========================================================================
   GGU (Godavari Global University) — Design Tokens
   ==========================================================================
   Usage: @import url('colors_and_type.css');
   All tokens are CSS custom properties on :root.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root {

  /* ── PRIMARY BRAND GRADIENT ─────────────────────────────────────────────
     Used in logo, hero backgrounds, partner panels.
     Apply via: background: linear-gradient(135deg, var(--brand-navy), var(--brand-magenta), var(--brand-red));
     ──────────────────────────────────────────────────────────────────────── */
  --brand-navy:       #1E1E78;
  --brand-magenta:    #7A1F7C;
  --brand-red:        #E0231C;

  /* Shorthand gradient */
  --brand-gradient:   linear-gradient(135deg, #1E1E78, #7A1F7C, #E0231C);
  --brand-gradient-h: linear-gradient(90deg, #1E1E78, #7A1F7C, #E0231C);
  --brand-gradient-v: linear-gradient(180deg, #1E1E78, #7A1F7C, #E0231C);

  /* ── ACCENT COLORS ──────────────────────────────────────────────────── */
  --accent-orange:    #F37021;
  --accent-gold:      #FFB81C;

  /* ── BACKGROUND VARIANTS ────────────────────────────────────────────── */
  --bg-ice-blue:      #E5EFF8;
  --bg-cream:         #FBE4C4;

  /* ── PARTNER COLORS (locked — never recolour) ───────────────────────── */
  --partner-ibm:      #0F62FE;
  --partner-kpmg:     #00338D;

  /* ── NEUTRALS ───────────────────────────────────────────────────────── */
  --white:            #FFFFFF;
  --near-black:       #1A1A1A;
  --dark-bg:          #0D0D2B;
  --gray-600:         #4A4A4A;
  --gray-400:         #8A8A8A;
  --gray-200:         #D4D4D4;
  --gray-100:         #F0F0F0;

  /* ── SEMANTIC COLORS ────────────────────────────────────────────────── */
  --color-fg-primary:     var(--near-black);
  --color-fg-secondary:   var(--gray-600);
  --color-fg-muted:       var(--gray-400);
  --color-fg-inverse:     var(--white);
  --color-fg-brand:       var(--brand-navy);
  --color-fg-accent:      var(--brand-red);

  --color-bg-primary:     var(--white);
  --color-bg-secondary:   var(--gray-100);
  --color-bg-brand:       var(--brand-navy);
  --color-bg-warm:        var(--bg-cream);
  --color-bg-cool:        var(--bg-ice-blue);

  --color-border-default: var(--gray-200);
  --color-border-brand:   var(--brand-navy);

  /* ── TYPOGRAPHY ─────────────────────────────────────────────────────── */
  --font-primary:     'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Font weights */
  --weight-light:     300;
  --weight-regular:   400;
  --weight-medium:    500;
  --weight-semibold:  600;
  --weight-bold:      700;

  /* Type scale (for digital — 16px base) */
  --text-xs:          0.75rem;    /* 12px */
  --text-sm:          0.875rem;   /* 14px */
  --text-base:        1rem;       /* 16px */
  --text-lg:          1.125rem;   /* 18px */
  --text-xl:          1.25rem;    /* 20px */
  --text-2xl:         1.5rem;     /* 24px */
  --text-3xl:         1.875rem;   /* 30px */
  --text-4xl:         2.25rem;    /* 36px */
  --text-5xl:         3rem;       /* 48px */
  --text-6xl:         3.75rem;    /* 60px */
  --text-7xl:         4.5rem;     /* 72px */

  /* Line heights */
  --leading-tight:    1.15;
  --leading-snug:     1.25;
  --leading-normal:   1.5;
  --leading-relaxed:  1.65;

  /* Letter spacing */
  --tracking-tight:   -0.02em;
  --tracking-normal:  0;
  --tracking-wide:    0.04em;
  --tracking-caps:    0.08em;

  /* ── SEMANTIC TYPE ──────────────────────────────────────────────────── */
  --h1-size:          var(--text-5xl);
  --h1-weight:        var(--weight-bold);
  --h1-leading:       var(--leading-tight);
  --h1-tracking:      var(--tracking-tight);

  --h2-size:          var(--text-4xl);
  --h2-weight:        var(--weight-bold);
  --h2-leading:       var(--leading-tight);
  --h2-tracking:      var(--tracking-tight);

  --h3-size:          var(--text-3xl);
  --h3-weight:        var(--weight-semibold);
  --h3-leading:       var(--leading-snug);
  --h3-tracking:      var(--tracking-normal);

  --h4-size:          var(--text-2xl);
  --h4-weight:        var(--weight-semibold);
  --h4-leading:       var(--leading-snug);
  --h4-tracking:      var(--tracking-normal);

  --body-size:        var(--text-base);
  --body-weight:      var(--weight-regular);
  --body-leading:     var(--leading-normal);

  --label-size:       var(--text-xs);
  --label-weight:     var(--weight-medium);
  --label-tracking:   var(--tracking-caps);

  /* ── SPACING ────────────────────────────────────────────────────────── */
  --space-1:          4px;
  --space-2:          8px;
  --space-3:          12px;
  --space-4:          16px;
  --space-5:          20px;
  --space-6:          24px;
  --space-8:          32px;
  --space-10:         40px;
  --space-12:         48px;
  --space-16:         64px;
  --space-20:         80px;

  /* ── RADII ──────────────────────────────────────────────────────────── */
  --radius-sm:        4px;
  --radius-md:        8px;
  --radius-lg:        12px;
  --radius-xl:        16px;
  --radius-full:      9999px;

  /* ── SHADOWS ────────────────────────────────────────────────────────── */
  --shadow-sm:        0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md:        0 2px 8px rgba(0, 0, 0, 0.12);
  --shadow-lg:        0 4px 16px rgba(0, 0, 0, 0.15);
  --shadow-partner:   0 2px 8px rgba(0, 0, 0, 0.15);

  /* ── TRANSITIONS ────────────────────────────────────────────────────── */
  --transition-fast:  150ms ease-in-out;
  --transition-base:  300ms ease-in-out;
  --transition-slow:  500ms ease-in-out;

  /* ── UNDERLINE EMPHASIS ─────────────────────────────────────────────── */
  --underline-weight: 3px;
  --underline-color:  var(--brand-red);
  --underline-offset: 4px;
}

/* ── UTILITY CLASSES ────────────────────────────────────────────────────── */

.ggu-gradient-text {
  background: var(--brand-gradient-h);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ggu-underline-emphasis {
  text-decoration: underline;
  text-decoration-color: var(--underline-color);
  text-decoration-thickness: var(--underline-weight);
  text-underline-offset: var(--underline-offset);
}

.ggu-square-bullet {
  list-style: none;
  padding-left: 0;
}

.ggu-square-bullet li {
  padding-left: 1.5em;
  position: relative;
  margin-bottom: var(--space-3);
}

.ggu-square-bullet li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 8px;
  height: 8px;
  background: var(--brand-navy);
}

.ggu-square-bullet.red li::before {
  background: var(--brand-red);
}

.ggu-label {
  font-family: var(--font-primary);
  font-size: var(--label-size);
  font-weight: var(--label-weight);
  letter-spacing: var(--label-tracking);
  text-transform: uppercase;
}
