:root {
  --gs-purple:  #4B44CC;
  --gs-purple2: #6C63FF;
  --gs-blue:    #2F6FE0;
  --gs-deep:    #FFFFFF;
  --gs-navy:    #F4F4F8;
  --gs-surface: #EEEEF5;
  --gs-card:    #F8F8FC;
  --gs-border:  rgba(75,68,204,0.15);
  --gs-white:   #1A1A2E;
  --gs-muted:   #5A6380;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }

html, body {
  background: var(--gs-deep) !important;
  color: var(--gs-white) !important;
  font-family: 'DM Sans', sans-serif !important;
  touch-action: manipulation;
  overflow-x: hidden;
  width: 100%;
}

#masthead, #colophon, .site-header, .site-footer,
.ast-above-header, .ast-below-header,
.ast-primary-header-bar { display:none !important; }

#page, #content, .site, .ast-container,
.entry-content, .post-content, .page-content {
  max-width:100% !important; width:100% !important;
  padding:0 !important; margin:0 !important;
  background:transparent !important;
}

img, svg, video, iframe {
  max-width: 100%;
}

input, select, textarea, button {
  font: inherit;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--gs-blue);
  outline-offset: 2px;
}


/* NOISE */
body::before { content:''; position:fixed; inset:0; pointer-events:none; z-index:9990; opacity:.08; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"); }

/* KEYFRAMES */
@keyframes gs-slide-up { from{opacity:0;transform:translateY(42px)} to{opacity:1;transform:translateY(0)} }
@keyframes gs-float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-28px)} }
@keyframes gs-float-r  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(22px)} }
@keyframes gs-marquee  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes gs-count-in { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }

/* ── SCROLL PROGRESS ── */
.gs-progress { position:fixed; top:0; left:0; height:2px; width:0%; background:linear-gradient(90deg,var(--gs-purple),var(--gs-blue)); z-index:99997; transition:width .08s linear; box-shadow:0 0 8px rgba(108,99,255,.5); }

/* ── HERO CANVAS ── */
#gs-canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; opacity:.5; }

/* ── GLOBE ── */
.gs-globe-wrap { position:absolute; right:5rem; top:50%; transform:translateY(-50%); width:min(400px,36vw); aspect-ratio:1; pointer-events:none; z-index:1; }
.gs-globe-svg { width:100%; height:100%; overflow:visible; }

/* ── FLOATING DATA CHIPS ── */
.gs-chip { position:absolute; background:rgba(255,255,255,.88); border:1px solid var(--gs-border); border-radius:40px; padding:.45rem 1rem; font-size:.72rem; letter-spacing:.5px; color:var(--gs-purple); font-family:'DM Sans',sans-serif; backdrop-filter:blur(8px); pointer-events:none; z-index:2; white-space:nowrap; box-shadow:0 4px 20px rgba(75,68,204,.1); display:flex; align-items:center; gap:.4rem; opacity:0; animation:gs-chip-appear .6s forwards; }
.gs-chip-dot { width:6px; height:6px; border-radius:50%; background:var(--gs-purple); flex-shrink:0; animation:gs-chip-blink 1.8s ease-in-out infinite; }
@keyframes gs-chip-blink  { 0%,100%{opacity:1} 50%{opacity:.25} }
@keyframes gs-chip-appear { to{opacity:1} }
@keyframes gs-chip-float  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes gs-chip-floatr { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }
.gs-chip-1 { top:26%; right:calc(5rem + min(400px,36vw) + 1.5rem); animation-delay:.9s,0s; animation-name:gs-chip-appear,gs-chip-float;  animation-duration:.6s,7s;  animation-fill-mode:forwards,none; animation-iteration-count:1,infinite; animation-timing-function:ease,ease-in-out; }
.gs-chip-2 { top:52%; right:calc(5rem + min(400px,36vw) - 2rem);   animation-delay:1.2s,0s; animation-name:gs-chip-appear,gs-chip-floatr; animation-duration:.6s,9s;  animation-fill-mode:forwards,none; animation-iteration-count:1,infinite; animation-timing-function:ease,ease-in-out; }
.gs-chip-3 { bottom:18%; right:calc(5rem + min(400px,36vw) + 3rem); animation-delay:1.5s,0s; animation-name:gs-chip-appear,gs-chip-float;  animation-duration:.6s,11s; animation-fill-mode:forwards,none; animation-iteration-count:1,infinite; animation-timing-function:ease,ease-in-out; }

/* ── GLITCH on hero italic ── */
@keyframes gs-glitch-1 { 0%,93%,100%{clip-path:none;transform:none;color:var(--gs-purple)} 94%{clip-path:inset(15% 0 55% 0);transform:translate(-4px,1px);color:var(--gs-blue)} 95%{clip-path:inset(55% 0 15% 0);transform:translate(4px,-1px)} 96%{clip-path:inset(35% 0 35% 0);transform:translate(-2px,0);color:var(--gs-purple2)} 97%{clip-path:none;transform:none;color:var(--gs-purple)} }
.gs-page-title em { display:inline-block; animation:gs-glitch-1 7s steps(1) infinite; }

/* ── MOBILE ── */
@media(max-width:900px){ .gs-globe-wrap,.gs-chip{display:none} #gs-canvas{opacity:.25} }

/* SCROLL REVEAL */
.gs-reveal { opacity:0; transform:translateY(38px); transition:opacity .8s ease, transform .8s ease; }
.gs-reveal.in { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.12s; } .d2 { transition-delay:.24s; }
.d3 { transition-delay:.36s; } .d4 { transition-delay:.48s; }

/* ── NAV ── */
.gs-nav {
  position:fixed; top:0; left:0; right:0; z-index:9000;
  display:flex; align-items:center; justify-content:space-between;
  padding:.9rem 3rem;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(75,68,204,.08);
  box-shadow:0 2px 20px rgba(75,68,204,.04);
  transition:background .3s, box-shadow .3s;
}
.gs-nav.scrolled {
  background:rgba(255,255,255,.98);
  box-shadow:0 2px 24px rgba(75,68,204,.1);
}
.gs-nav-links {
  display:flex; align-items:center;
  gap:.3rem; list-style:none; margin-left:auto;
}
.gs-nav-link {
  display:inline-block; padding:.65rem 1.3rem;
  color:var(--gs-muted); font-size:.84rem; letter-spacing:.5px;
  text-decoration:none; font-family:'DM Sans',sans-serif;
  position:relative; transition:color .25s, background .25s;
  cursor:pointer; white-space:nowrap; border-radius:4px;
}
.gs-nav-link::after {
  content:''; position:absolute; bottom:5px; left:1.3rem; right:1.3rem;
  height:1.5px; background:var(--gs-purple);
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
}
.gs-nav-link:hover, .gs-nav-link.active { color:var(--gs-purple); background:rgba(75,68,204,.05); }
.gs-nav-link:hover::after, .gs-nav-link.active::after { transform:scaleX(1); }
.gs-nav-cta {
  display:inline-flex; align-items:center; padding:.65rem 1.6rem;
  background:var(--gs-purple); color:#fff !important;
  font-size:.84rem; letter-spacing:1px; text-transform:uppercase;
  font-family:'DM Sans',sans-serif; text-decoration:none;
  border-radius:4px; position:relative; overflow:hidden;
  transition:transform .25s, box-shadow .25s; cursor:pointer; white-space:nowrap;
}
.gs-nav-cta::before {
  content:''; position:absolute; inset:0;
  background:var(--gs-purple2); transform:translateX(-101%); transition:transform .35s ease;
  pointer-events:none;
}
.gs-nav-cta span { position:relative; z-index:1; }
.gs-nav-cta:hover::before { transform:translateX(0); }
.gs-nav-cta:hover { transform:translateY(-1px); box-shadow:0 6px 20px rgba(75,68,204,.25); }
.gs-nav-cta.active { box-shadow:0 0 0 2px var(--gs-blue), 0 6px 20px rgba(75,68,204,.25); }
.gs-hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:.5rem; background:none; border:none;
  margin-left:auto; z-index:10001; position:relative; touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
.gs-hamburger span { width:24px; height:2px; background:var(--gs-purple); border-radius:2px; transition:all .3s; display:block; }

/* ── PAGE HERO ── */
.gs-page-hero {
  padding: 10rem 5rem 6rem;
  background: linear-gradient(135deg, #FFFFFF 0%, #F0F0FA 100%);
  position: relative; overflow: hidden;
}
.gs-page-hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(75,68,204,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(75,68,204,.05) 1px,transparent 1px);
  background-size:80px 80px;
  mask-image:radial-gradient(ellipse at 30% 50%,black 20%,transparent 70%);
}
.gs-page-orb {
  position:absolute; border-radius:50%; filter:blur(80px); pointer-events:none;
  width:500px; height:500px;
  background:radial-gradient(circle,rgba(75,68,204,.09),transparent 70%);
  top:-100px; right:-100px;
  animation:gs-float 9s ease-in-out infinite;
}
.gs-page-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; }
.gs-breadcrumb {
  font-size:.72rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--gs-muted); margin-bottom:1.8rem; display:flex; align-items:center; gap:.8rem;
  animation:gs-slide-up .7s cubic-bezier(.22,1,.36,1) forwards; opacity:0; animation-delay:.2s;
}
.gs-breadcrumb a { color:var(--gs-purple); text-decoration:none; }
.gs-breadcrumb span { color:var(--gs-border); }
.gs-page-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(3rem,6vw,5.5rem); font-weight:700; line-height:1.08;
  color:var(--gs-white); max-width:700px;
  animation:gs-slide-up .9s cubic-bezier(.22,1,.36,1) forwards; opacity:0; animation-delay:.35s;
}
.gs-page-title em { font-style:italic; color:var(--gs-purple); }
.gs-page-subtitle {
  margin-top:1.8rem; font-size:1.1rem; line-height:1.8;
  color:var(--gs-muted); max-width:560px;
  animation:gs-slide-up .9s cubic-bezier(.22,1,.36,1) forwards; opacity:0; animation-delay:.5s;
}

/* ── SHARED ── */
.gs-section { padding:7rem 5rem; position:relative; }
.gs-section-alt { background:var(--gs-navy); }
.gs-inner { max-width:1200px; margin:0 auto; }
.gs-label { font-size:.7rem; letter-spacing:5px; text-transform:uppercase; color:var(--gs-purple); margin-bottom:1.2rem; }
.gs-line  { width:52px; height:2px; background:var(--gs-purple); margin-bottom:1.4rem; }
.gs-title { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3rem); font-weight:700; line-height:1.2; color:var(--gs-white); }
.gs-body-text { font-size:1.02rem; line-height:1.9; color:var(--gs-muted); margin-top:1.5rem; }
.gs-body-text strong { color:var(--gs-white); }
.gs-divider::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(to right,transparent,var(--gs-purple),transparent); }

/* ── INTRO SPLIT ── */
.gs-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.gs-intro-img-wrap { position:relative; }
.gs-intro-img { width:100%; display:block; border:1px solid var(--gs-border); filter:saturate(.8); transition:filter .5s; }
.gs-intro-img:hover { filter:saturate(1); }
.gs-intro-img-badge {
  position:absolute; bottom:-1.5rem; right:-1.5rem;
  background:var(--gs-purple); color:#fff;
  padding:1.2rem 1.8rem; text-align:center;
}
.gs-intro-img-badge strong { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; letter-spacing:2px; display:block; line-height:1; }
.gs-intro-img-badge span   { font-size:.7rem; letter-spacing:3px; text-transform:uppercase; opacity:.8; }

/* ── STATS ROW ── */
.gs-stats-row {
  display:grid; grid-template-columns:repeat(4,1fr);
  background:var(--gs-surface);
  border-top:1px solid var(--gs-border);
  border-bottom:1px solid var(--gs-border);
}
.gs-stat { padding:2.8rem 2rem; text-align:center; border-right:1px solid var(--gs-border); }
.gs-stat:last-child { border-right:none; }
.gs-stat-num   { font-family:'Bebas Neue',sans-serif; font-size:3.5rem; color:var(--gs-purple); display:block; line-height:1; }
.gs-stat-label { font-size:.7rem; letter-spacing:3px; text-transform:uppercase; color:var(--gs-muted); margin-top:.4rem; }

/* ── PILLARS (Mission/Vision/etc) ── */
.gs-pillars-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; margin-top:3.5rem; }
.gs-pillar-card {
  background:var(--gs-card); padding:3rem;
  position:relative; overflow:hidden;
  border-left:3px solid transparent;
  transition:border-color .4s, box-shadow .4s;
}
.gs-pillar-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(75,68,204,.04),transparent);
  opacity:0; transition:opacity .4s;
}
.gs-pillar-card:hover { border-left-color:var(--gs-purple); box-shadow:0 16px 40px rgba(75,68,204,.08); }
.gs-pillar-card:hover::before { opacity:1; }
.gs-pillar-icon { font-size:2rem; margin-bottom:1.4rem; display:block; }
.gs-pillar-title { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--gs-white); margin-bottom:1rem; }
.gs-pillar-text  { font-size:.95rem; line-height:1.82; color:var(--gs-muted); }

/* ── TIMELINE ── */
.gs-timeline { margin-top:3.5rem; position:relative; }
.gs-timeline::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:2px; background:linear-gradient(to bottom, var(--gs-purple), rgba(75,68,204,.1));
}
.gs-timeline-item {
  padding:0 0 3rem 3rem; position:relative;
}
.gs-timeline-item::before {
  content:''; position:absolute; left:-5px; top:4px;
  width:12px; height:12px; border-radius:50%;
  background:var(--gs-purple);
  box-shadow:0 0 0 4px rgba(75,68,204,.15);
}
.gs-timeline-year { font-family:'Bebas Neue',sans-serif; font-size:1rem; letter-spacing:3px; color:var(--gs-purple); margin-bottom:.5rem; }
.gs-timeline-title { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--gs-white); margin-bottom:.6rem; }
.gs-timeline-text  { font-size:.9rem; line-height:1.75; color:var(--gs-muted); }

/* ── TEAM / VALUES ── */
.gs-values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:3.5rem; }
.gs-value-card {
  background:var(--gs-card); padding:2.2rem;
  border:1px solid var(--gs-border);
  position:relative; overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.gs-value-card::after {
  content:''; position:absolute; bottom:0; left:0;
  width:0; height:2px; background:var(--gs-purple);
  transition:width .4s ease;
}
.gs-value-card:hover { transform:translateY(-5px); box-shadow:0 18px 36px rgba(75,68,204,.09); border-color:rgba(75,68,204,.25); }
.gs-value-card:hover::after { width:100%; }
.gs-value-title { font-family:'Playfair Display',serif; font-size:1.05rem; color:var(--gs-white); margin-bottom:.7rem; }
.gs-value-text  { font-size:.88rem; line-height:1.75; color:var(--gs-muted); }
.gs-team-grid img:hover { filter:saturate(1) !important; }

/* ── CTA STRIP ── */
.gs-cta-strip {
  padding:6rem 5rem;
  background:linear-gradient(135deg,var(--gs-purple),var(--gs-blue));
  position:relative; overflow:hidden; text-align:center;
}
.gs-cta-strip::before {
  content:''; position:absolute; top:-100px; right:-100px;
  width:400px; height:400px;
  background:radial-gradient(circle,rgba(255,255,255,.08),transparent 70%);
  border-radius:50%; pointer-events:none;
}
.gs-cta-strip::after {
  content:''; position:absolute; bottom:-80px; left:-80px;
  width:300px; height:300px;
  background:radial-gradient(circle,rgba(255,255,255,.06),transparent 70%);
  border-radius:50%; pointer-events:none;
}
.gs-cta-strip-inner { max-width:700px; margin:0 auto; position:relative; z-index:1; }
.gs-cta-strip-title { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:700; line-height:1.2; color:#fff; }
.gs-cta-strip-sub   { font-size:1rem; color:rgba(255,255,255,.75); margin-top:1.2rem; line-height:1.8; }
.gs-cta-strip-btns  { margin-top:2.5rem; display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; }
.gs-btn-white {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.9rem 2.2rem; background:#fff; color:var(--gs-purple);
  font-size:.84rem; letter-spacing:1.5px; text-transform:uppercase;
  font-family:'DM Sans',sans-serif; text-decoration:none;
  border:none; position:relative; overflow:hidden;
  transition:transform .3s, box-shadow .3s;
}
.gs-btn-white:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.15); color:var(--gs-purple); }
.gs-btn-outline {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.9rem 2.2rem; background:transparent; color:#fff;
  font-size:.84rem; letter-spacing:1.5px; text-transform:uppercase;
  font-family:'DM Sans',sans-serif; text-decoration:none;
  border:1.5px solid rgba(255,255,255,.5);
  transition:border-color .3s, background .3s;
}
.gs-btn-outline:hover { border-color:#fff; background:rgba(255,255,255,.1); color:#fff; }

/* ── FOOTER ── */
.gs-footer { padding:2rem 5rem; background:#EEEEF5; border-top:1px solid var(--gs-border); display:flex; justify-content:space-between; align-items:center; }
.gs-footer-logo { font-family:'Bebas Neue',sans-serif; font-size:1.4rem; letter-spacing:3px; color:var(--gs-purple); }
.gs-footer-copy  { font-size:.8rem; color:var(--gs-muted); }

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .gs-nav { padding:.85rem 2rem; }
  .gs-page-hero { padding:8.5rem 2.4rem 4.5rem; }
  .gs-section, .gs-about, .gs-cta-strip { padding-left:2.4rem; padding-right:2.4rem; }
  .gs-footer { padding-left:2.4rem; padding-right:2.4rem; }
  .gs-intro-grid   { grid-template-columns:1fr; gap:3rem; }
  .gs-pillars-grid { grid-template-columns:1fr; }
  .gs-stats-row    { grid-template-columns:repeat(2,1fr); }
  .gs-location-grid{ grid-template-columns:1fr; gap:3rem; }
}
@media(max-width:768px){
  .gs-nav { padding:.75rem 1.5rem; }
  .gs-nav-links { display:none; }
  .gs-hamburger { display:flex !important; }
  .gs-nav-links.open {
    display:flex; flex-direction:column;
    position:fixed; top:4rem; left:50%; transform:translateX(-50%);
    width:90%; max-width:360px;
    background:#fff; border:1px solid var(--gs-border);
    border-radius:12px; padding:1rem;
    box-shadow:0 20px 60px rgba(75,68,204,.15);
    gap:.3rem; z-index:9999; align-items:stretch;
  }
  .gs-nav-link { padding:1rem 1.2rem; width:100%; font-size:.95rem; border-radius:8px; }
  .gs-nav-link::after { display:none; }
  .gs-nav-cta { padding:1rem 1.2rem; width:100%; justify-content:center; border-radius:8px; margin-top:.3rem; }
  .gs-page-hero { padding:7rem 1.5rem 3.5rem; }
  .gs-page-title{ font-size:clamp(2.2rem,9vw,3.2rem); }
  .gs-section   { padding:4rem 1.5rem; }
  .gs-about     { padding:4rem 1.5rem; }
  .gs-cta-strip { padding:4rem 1.5rem; }
  .gs-intro-grid { grid-template-columns:1fr; gap:2.5rem; }
  .gs-intro-img-badge { bottom:-.8rem; right:-.8rem; padding:.9rem 1.2rem; }
  .gs-intro-img-badge strong { font-size:1.8rem; }
  .gs-stats-row { grid-template-columns:1fr 1fr; }
  .gs-stat { padding:1.8rem 1rem; }
  .gs-stat-num { font-size:2.8rem; }
  .gs-pillars-grid { grid-template-columns:1fr; }
  .gs-pillar-card  { padding:2rem; }
  .gs-values-grid { grid-template-columns:1fr; }
  .gs-timeline-wrap { grid-template-columns:1fr !important; gap:0 !important; }
  .gs-team-grid { grid-template-columns:1fr !important; }
  .gs-cta-strip-btns { flex-direction:column; align-items:center; }
  .gs-btn-white,.gs-btn-outline { width:100%; justify-content:center; }
  .gs-footer { flex-direction:column; gap:1rem; text-align:center; padding:1.5rem; }
}
@media(max-width:420px){
  .gs-stats-row { grid-template-columns:1fr; }
  .gs-stat { border-right:none; border-bottom:1px solid var(--gs-border); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .gs-cursor,
  .gs-cursor-ring,
  .gs-page-orb,
  .gs-chip,
  #gs-canvas {
    display: none !important;
  }
}
