*,

*::before,

*::after {

  box-sizing: border-box;

  margin: 0;

  padding: 0;

}

/* ── Page-specific variables (match index.html :root) ── */
:root {

  --teal: #00B4B4;

  --teal-dark: #009999;

  --teal-deep: #007A7A;

  --teal-light: #33CCCC;

  --teal-pale: #E6F9F9;

  --teal-pale2: #C0EFEF;

  --teal-grad: linear-gradient(135deg, #00B4B4 0%, #00D4D4 100%);

  --navy: #0a192f;

  --navy-mid: #1E3A5F;

  --text: #1A2B4A;

  --text-mid: #4A6080;

  --text-light: #7A90AA;

  --white: #FFFFFF;

  --off-white: #F7FEFE;

  --gray-100: #F0F4F8;

  --gray-200: #E0E8F0;

  --gray-300: #C8D8E8;

  --orange: #FF6B35;

  --green: #22C55E;

}

body {

  font-family: "Outfit", sans-serif;

  background: #fff;

  color: var(--text);

  overflow-x: hidden;

  -webkit-font-smoothing: antialiased;

}

/* ── TOPBAR ── */

.topbar {

  position: fixed;

  top: 0;

  left: 0;

  right: 0;

  z-index: 9999;

  background: var(--navy);

  height: 38px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0 5%;

  font-size: 14px;

  color: rgba(255, 255, 255, .65);

  font-weight: 500;

}







.topbar-tagline {

  background: linear-gradient(90deg, var(--teal), #00D4A0);

  -webkit-background-clip: text;

  -webkit-text-fill-color: transparent;

  background-clip: text;

  font-weight: 500;

}



.topbar-left {

  display: flex;

  align-items: center;

  gap: 22px;

}



.tb-div {

  width: 1px;

  height: 14px;

  background: rgba(255, 255, 255, .15);

}



/* ── NAV ── */

nav {

  position: sticky;

  top: 37px;

  left: 0;

  right: 0;

  z-index: 999;

  height: 66px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  padding: 0 5%;

  background: rgba(255, 255, 255, .97);

  backdrop-filter: blur(20px);

  border-bottom: 1.5px solid var(--teal-pale2);

  transition: box-shadow .3s;

}



nav.scrolled {

  box-shadow: 0 4px 30px rgba(0, 180, 180, .12);

}



.logo {

  display: flex;

  align-items: center;

  gap: 10px;

  text-decoration: none;

}



.nav-links {

  display: flex;

  align-items: center;

  gap: 1.7rem;

  list-style: none;

  padding-left: 0;

}



/*.nav-links a {

  font-size: 15px;

  font-weight: 500;

  color: var(--text-mid);

  text-decoration: none;

  transition: color .2s;

  display: flex;

  align-items: center;

  gap: 4px;

  white-space: nowrap;

}



.nav-links a:hover {

  color: var(--teal);

}



.nav-links a.active {

  color: var(--teal);

}*/



.nav-r {

  display: flex;

  align-items: center;

  gap: 10px;

}



.btn-outline {

  padding: 9px 20px;

  border: 2px solid var(--teal-pale2);

  border-radius: 10px;

  font-size: .875rem;

  font-weight: 700;

  color: var(--teal-dark);

  background: #fff;

  cursor: pointer;

  text-decoration: none;

  transition: all .2s;

}



.btn-outline:hover {

  border-color: var(--teal);

  background: var(--teal-pale);

}



.btn-teal {

  padding: 10px 24px;

  border-radius: 10px;

  background: var(--teal-grad);

  color: #fff;

  font-size: .875rem;

  font-weight: 600;

  border: none;

  cursor: pointer;

  text-decoration: none;

  transition: all .2s;

}



.btn-teal:hover {

  transform: translateY(-2px);

}



@media(max-width:640px) {

  .nav-links {

    display: none;

  }

}



/* ── AXON BUTTON (from index) ── */

@keyframes axon-spin {

  to {

    transform: rotate(360deg);

  }

}



@keyframes axon-pulse {



  0%,

  100% {

    opacity: .55;

    transform: scale(1)

  }



  50% {

    opacity: 1;

    transform: scale(1.35)

  }

}



@keyframes axon-float {



  0%,

  100% {

    transform: translateY(0) scale(1);

    opacity: 0

  }



  40% {

    opacity: .7

  }



  100% {

    transform: translateY(-18px) scale(.4);

    opacity: 0

  }

}



@keyframes axon-glow {



  0%,

  100% {

    box-shadow: 0 0 0 0 rgba(99, 102, 241, 0)

  }



  50% {

    box-shadow: 0 0 18px 4px rgba(99, 102, 241, .35)

  }

}



@keyframes axon-shimmer {

  0% {

    background-position: 200% center

  }



  100% {

    background-position: -200% center

  }

}



.axon-nav-btn {

  position: relative;

  display: inline-flex;

  align-items: center;

  gap: 8px;

  padding: 7px 16px 7px 8px;

  border-radius: 100px;

  background: linear-gradient(135deg, #0F0C29 0%, #1a1054 50%, #0d1f4c 100%);

  border: 1.5px solid rgba(99, 102, 241, .55);

  text-decoration: none;

  cursor: pointer;

  overflow: hidden;

  transition: all .28s ease;

  animation: axon-glow 3s ease-in-out infinite;

}



.axon-nav-btn::before {

  content: '';

  position: absolute;

  inset: 0;

  background: linear-gradient(105deg, transparent 30%, rgba(139, 92, 246, .18) 45%, rgba(99, 102, 241, .22) 50%, rgba(139, 92, 246, .18) 55%, transparent 70%);

  background-size: 200% 100%;

  animation: axon-shimmer 2.8s linear infinite;

  border-radius: 100px;

}



.axon-nav-btn:hover {

  border-color: rgba(139, 92, 246, .9);

  transform: translateY(-2px);

  box-shadow: 0 8px 28px rgba(99, 102, 241, .45);

}



.axon-orb {

  position: relative;

  width: 26px;

  height: 26px;

  display: grid;

  place-items: center;

  flex-shrink: 0;

}



.axon-ring {

  position: absolute;

  inset: 0;

  border-radius: 50%;

  border: 1.5px solid transparent;

}



.axon-ring-1 {

  border-top-color: #818cf8;

  border-right-color: rgba(129, 140, 248, .3);

  animation: axon-spin 1.8s linear infinite;

}



.axon-ring-2 {

  inset: 4px;

  border-bottom-color: #a78bfa;

  border-left-color: rgba(167, 139, 250, .3);

  animation: axon-spin 1.2s linear infinite reverse;

}



.axon-icon {

  width: 11px;

  height: 11px;

  color: #e0e7ff;

  position: relative;

  z-index: 1;

  animation: axon-pulse 2.4s ease-in-out infinite;

}



.axon-label {

  font-size: .8rem;

  font-weight: 700;

  color: #e0e7ff;

  letter-spacing: .2px;

  position: relative;

  z-index: 1;

  white-space: nowrap;

}



.axon-ai-tag {

  display: inline-block;

  background: linear-gradient(90deg, #818cf8, #a78bfa);

  -webkit-background-clip: text;

  -webkit-text-fill-color: transparent;

  background-clip: text;

  font-size: .7rem;

  font-weight: 900;

  letter-spacing: .5px;

  margin-left: 1px;

}



.axon-particle {

  position: absolute;

  width: 4px;

  height: 4px;

  border-radius: 50%;

  background: #818cf8;

  pointer-events: none;

}



.axon-p1 {

  bottom: 4px;

  left: 14px;

  animation: axon-float 2.2s ease-out infinite;

}



.axon-p2 {

  bottom: 2px;

  left: 22px;

  animation: axon-float 2.8s .6s ease-out infinite;

}



.axon-p3 {

  bottom: 6px;

  left: 8px;

  animation: axon-float 2s 1.1s ease-out infinite;

}



@media(max-width:768px) {

  .axon-label {

    display: none;

  }



  .axon-nav-btn {

    padding: 7px 9px;

  }

}



/* ── HERO ── */
.about-hero {

  padding: 50px 5% 80px;

  background: linear-gradient(145deg, #fff 0%, var(--teal-pale) 60%, #E8FAFA 100%);

  position: relative;

  overflow: hidden;

  min-height: 52vh;

  display: flex;

  align-items: center;

}
.about-hero::before {

  content: '';

  position: absolute;

  top: -100px;

  right: -80px;

  width: 500px;

  height: 500px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(0, 180, 180, .1), transparent 70%);

  pointer-events: none;

}
.about-hero::after {

  content: '';

  position: absolute;

  bottom: -80px;

  left: 5%;

  width: 340px;

  height: 340px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(0, 212, 212, .07), transparent 70%);

  pointer-events: none;

}
.about-hero-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 1;
  width: 100%;
}
.hero-pill {

  display: inline-flex;

  align-items: center;

  gap: 8px;

  background: #fff;

  border: 2px solid var(--teal-pale2);

  border-radius: 100px;

  padding: 6px 18px;

  font-size: .78rem;

  font-weight: 600;

  color: var(--teal-dark);

  margin-bottom: 24px;

  box-shadow: 0 2px 16px rgba(0, 180, 180, .12);

}
.live-dot {

  width: 8px;

  height: 8px;

  background: #22C55E;

  border-radius: 50%;

  flex-shrink: 0;

  animation: pdot 2s infinite;

}
@keyframes pdot {



  0%,

  100% {

    box-shadow: 0 0 0 0 rgba(34, 197, 94, .4)

  }



  70% {

    box-shadow: 0 0 0 6px rgba(34, 197, 94, 0)

  }

}



.about-hero h1 {

  font-size: 35px;
  font-weight: 700;

  line-height: 1.12;

  letter-spacing: -1px;

  color: var(--navy);

  margin-bottom: 18px;

}



.about-hero h1 .grad {

  background: linear-gradient(90deg, var(--teal), #00D4A0);

  -webkit-background-clip: text;

  -webkit-text-fill-color: transparent;

  background-clip: text;

}



.about-hero p {

  font-size: 1.05rem;

  line-height: 1.8;

  color: var(--text-mid);

  max-width: 600px;

  margin: 0 auto 32px;

  font-weight: 400;

}



.hero-btns {

  display: flex;

  gap: 14px;

  /* justify-content: center; */

  flex-wrap: wrap;

}



.btn-hero-primary {

  padding: 15px 32px;

  border-radius: 30px;

  background: var(--teal-grad);

  color: #fff;

  font-size: 1rem;

  font-weight: 600;

  border: none;

  cursor: pointer;

  text-decoration: none;

  display: inline-flex;

  align-items: center;

  gap: 9px;

  transition: all .25s;

}



.btn-hero-primary:hover {

  transform: translateY(-2px);

}



.btn-hero-sec {

  padding: 15px 28px;

  border-radius: 12px;

  background: #fff;

  color: var(--navy);

  font-size: 1rem;

  font-weight: 600;

  border: 2px solid var(--gray-200);

  cursor: pointer;

  text-decoration: none;

  display: inline-flex;

  align-items: center;

  gap: 9px;

  transition: all .25s;

}



.btn-hero-sec:hover {

  border-color: var(--teal);

  color: var(--teal-dark);

}



/* ── BREADCRUMB ── */

.breadcrumb-bar {

  background: #fff;

  border-bottom: 1.5px solid var(--gray-200);

  padding: 12px 5%;
      justify-content: center;

}



.breadcrumb-inner {

  display: flex;

  align-items: center;

  gap: 8px;

  font-size: .82rem;

  color: var(--text-light);

  font-weight: 500;

}



.breadcrumb-inner a {

  color: var(--text-light);

  text-decoration: none;

  transition: color .2s;

}



.breadcrumb-inner a:hover {

  color: var(--teal);

}



.breadcrumb-inner .current {

  color: var(--teal-dark);

  font-weight: 600;

}



.breadcrumb-sep {

  color: var(--gray-300);

}



/* ── STATS BAND ── */

.stats-band {

  background: var(--navy);

  padding: 52px 5%;

  border-top: 1.5px solid rgba(0, 180, 180, .15);

  border-bottom: 1.5px solid rgba(0, 180, 180, .15);

}



.stats-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 0;

  max-width: 1200px;

  margin: 0 auto;

}



.stat-item {

  text-align: center;

  padding: 0 20px;

  border-right: 1px solid rgba(255, 255, 255, .08);

}



.stat-item:last-child {

  border-right: none;

}



.stat-num {

  font-size: 2.6rem;

  font-weight: 900;

  color: #fff;

  line-height: 1;

  margin-bottom: 6px;

}



.stat-num .accent {

  color: var(--teal);

}



.stat-label {

  font-size: .72rem;

  font-weight: 700;

  letter-spacing: .8px;

  text-transform: uppercase;

  color: rgba(255, 255, 255, .45);

}



@media(max-width:768px) {

  .stats-grid {

    grid-template-columns: repeat(2, 1fr);

    gap: 24px;

  }



  .stat-item {

    border-right: none;

    border-bottom: 1px solid rgba(255, 255, 255, .08);

    padding: 16px;

  }



  .stat-item:last-child,

  .stat-item:nth-child(3n) {

    border-bottom: none;

  }

}





/* ── MISSION SECTION ── */

.mission-sec {

  padding: 80px 1rem;

  background: #fff;

}



.mission-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 72px;

  align-items: center;

}



.mission-left {}



.mission-left .s-tag {

  margin-bottom: 18px;

}
.mission-left h2 {
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 600;

  color: var(--navy);

  line-height: 1.2;

  letter-spacing: -.6px;

  margin-bottom: 18px;

}
.mission-left h2 em {

  font-style: normal;

  color: var(--teal);

}



.mission-left p {

  font-size: .97rem;

  color: var(--text-mid);

  line-height: 1.8;

  font-weight: 400;

  margin-bottom: 14px;

}



.mission-img-wrap {

  position: relative;

}



.mission-img-wrap::before {

  content: '';

  position: absolute;

  inset: 20px -16px -16px 16px;

  background: linear-gradient(135deg, var(--teal-pale2), var(--teal-pale));

  border-radius: 24px;

  z-index: 0;

  opacity: .7;

}



.mission-img {

  width: 100%;

  border-radius: 22px;

  display: block;

  position: relative;

  z-index: 1;

  box-shadow: 0 28px 70px rgba(0, 180, 180, .15), 0 4px 20px rgba(0, 0, 0, .06);

  object-fit: cover;

  height: 460px;

}



.mission-tags {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 24px;

}



.mtag {

  font-size: .75rem;

  font-weight: 700;

  padding: 6px 14px;

  border-radius: 100px;

  background: var(--teal-pale);

  color: var(--teal-dark);

  border: 1.5px solid var(--teal-pale2);

}



@media(max-width:991px) {

  .mission-grid {

    grid-template-columns: 1fr;

    gap: 40px;

  }



  .mission-img-wrap::before {

    display: none;

  }



  .mission-img {

    height: 300px;

  }

}



/* ── VALUES ── */

.values-sec {

  padding: 80px 1rem;

  background: var(--off-white);

}



.values-grid {

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 22px;

}



.value-card {

  background: #fff;

  border: 1.5px solid var(--gray-200);

  border-radius: 20px;

  padding: 30px;

  transition: all .3s;

  position: relative;

  overflow: hidden;

}



.value-card::before {

  content: '';

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  height: 3px;

  background: var(--teal-grad);

  opacity: 0;

  transition: opacity .3s;

}



.value-card:hover {

  transform: translateY(-6px);

  border-color: var(--teal-pale2);

  box-shadow: 0 16px 48px rgba(0, 180, 180, .12);

}



.value-card:hover::before {

  opacity: 1;

}



.value-ico {

  width: 54px;

  height: 54px;

  border-radius: 14px;

  display: grid;

  place-items: center;

  font-size: 1.4rem;

  margin-bottom: 18px;

}



.value-title {

    font-size: 1.2rem;

    font-weight: 600;

  color: var(--navy);

  margin-bottom: 9px;

}



.value-desc {

  font-size: 0.975rem;

  color: var(--text-mid);

  line-height: 1.7;

  font-weight: 400;

}



@media(max-width:900px) {

  .values-grid {

    grid-template-columns: 1fr 1fr;

  }

}



@media(max-width:576px) {

  .values-grid {

    grid-template-columns: 1fr;

  }

}



/* ── STORY / TIMELINE ── */

.story-sec {

  padding: 90px 0;

  background: #fff;

}



.story-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 72px;

  align-items: start;

}



.story-left {}



.story-quote {

  background: var(--navy);

  border-radius: 22px;

  padding: 34px;

  position: relative;

  overflow: hidden;

  margin-bottom: 24px;

}



.story-quote::before {

  content: '';

  position: absolute;

  top: -60px;

  right: -60px;

  width: 200px;

  height: 200px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(0, 180, 180, .12), transparent 65%);

}



.sq-mark {

  font-size: 5rem;

  line-height: .8;

  color: rgba(0, 180, 180, .3);

  font-family: Georgia, serif;

  margin-bottom: 10px;

}



.sq-text {

  font-size: 1rem;

  color: rgba(255, 255, 255, .85);

  line-height: 1.75;

  font-style: italic;

  font-weight: 400;

  margin-bottom: 20px;

  position: relative;

  z-index: 1;

}



.sq-author {

  display: flex;

  align-items: center;

  gap: 12px;

  position: relative;

  z-index: 1;

}



.sq-av {

  width: 44px;

  height: 44px;

  border-radius: 50%;

  background: linear-gradient(135deg, var(--teal), #00CCAA);

  display: grid;

  place-items: center;

  font-size: .78rem;

  font-weight: 800;

  color: #fff;

  flex-shrink: 0;

  border: 2px solid rgba(255, 255, 255, .2);

}



.sq-name {

  font-size: .875rem;

  font-weight: 800;

  color: #fff;

}



.sq-role {

  font-size: .72rem;

  color: rgba(255, 255, 255, .55);

  margin-top: 2px;

}



.story-paras p {

  font-size: .94rem;

  color: var(--text-mid);

  line-height: 1.8;

  font-weight: 400;

  margin-bottom: 14px;

}



.story-paras strong {

  color: var(--navy);

  font-weight: 700;

}



/* Timeline */

.timeline-wrap {

  background: var(--off-white);

  border: 1.5px solid var(--gray-200);

  border-radius: 20px;

  padding: 28px;

}



.tl-label {

  font-size: .7rem;

  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: 1.2px;

  color: var(--text-light);

  margin-bottom: 22px;

}



.tl-items {

  display: flex;

  flex-direction: column;

  gap: 0;

}



.tl-item {

  /* display: flex; */

  gap: 16px;

  align-items: flex-start;

  /* padding: 16px 0; */

  border-bottom: 1px solid var(--gray-200);

}



.tl-item:last-child {

  border-bottom: none;

  padding-bottom: 0;

}



.tl-dot-wrap {

  display: flex;

  flex-direction: column;

  align-items: center;

  flex-shrink: 0;

}



.tl-dot {

  width: 16px;

  height: 16px;

  border-radius: 50%;

  background: var(--teal);

  border: 2.5px solid #fff;

  box-shadow: 0 0 0 3px var(--teal-pale2);

  flex-shrink: 0;

  margin-top: 3px;

}



.tl-dot.teal {

  background: var(--teal);

  box-shadow: 0 0 0 3px var(--teal-pale2);

}



.tl-dot.navy {

  background: var(--navy);

  box-shadow: 0 0 0 3px var(--gray-200);

}



.tl-dot.green {

  background: #22C55E;

  box-shadow: 0 0 0 3px #DCFCE7;

}



.tl-dot.orange {

  background: #FF8C00;

  box-shadow: 0 0 0 3px #FFF5E6;

}



.tl-dot.pink {

  background: #FF5FA0;

  box-shadow: 0 0 0 3px #FFF0F7;

}



.tl-line {

  width: 1px;

  flex: 1;

  background: var(--gray-200);

  margin-top: 4px;

  min-height: 16px;

}



.tl-year {

  font-size: .7rem;

  font-weight: 800;

  color: var(--teal-dark);

  /* background: var(--teal-pale); */

  padding: 3px 9px;

  border-radius: 20px;

  margin-bottom: 4px;

  display: inline-block;

}



.tl-title {

  font-size: .875rem;

  font-weight: 700;

  color: var(--navy);

  margin-bottom: 3px;

}



.tl-desc {

  font-size: .78rem;

  color: var(--text-mid);

  line-height: 1.55;

  font-weight: 400;

}



@media(max-width:991px) {

  .story-grid {

    grid-template-columns: 1fr;

    gap: 40px;

  }

}



/* ── TEAM / PRINCIPLES ── */

.team-sec {

  padding: 90px 0;

  background: var(--off-white);

}



.team-grid {

  display: grid;

  grid-template-columns: repeat(2, 1fr);

  gap: 20px;

  margin-top: 52px;

}



.team-card {

  background: #fff;

  border: 1.5px solid var(--gray-200);

  border-radius: 20px;

  padding: 30px;

  transition: all .3s;

  display: flex;

  align-items: flex-start;

  gap: 18px;

}



.team-card:hover {

  transform: translateY(-5px);

  box-shadow: 0 16px 48px rgba(0, 180, 180, .1);

  border-color: var(--teal-pale2);

}



.tc-ico {

  width: 54px;

  height: 54px;

  border-radius: 14px;

  display: grid;

  place-items: center;

  font-size: 1.3rem;

  flex-shrink: 0;

}



.tc-title {

  font-size: 1rem;

  font-weight: 700;

  color: var(--navy);

  margin-bottom: 7px;

}



.tc-desc {

  font-size: .875rem;

  color: var(--text-mid);

  line-height: 1.7;

  font-weight: 400;

}



@media(max-width:768px) {

  .team-grid {

    grid-template-columns: 1fr;

  }

}



/* ── CTA STRIP ── */

.cta-strip {

  background: linear-gradient(135deg, var(--teal) 0%, var(--teal-dark) 50%, #007070 100%);

  padding: 45px 5%;

  text-align: center;

  position: relative;

  overflow: hidden;

}



.cta-strip::before {

  content: '';

  position: absolute;

  top: -100px;

  right: -100px;

  width: 380px;

  height: 380px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .06);

  pointer-events: none;

}



.cta-strip::after {

  content: '';

  position: absolute;

  bottom: -80px;

  left: -80px;

  width: 300px;

  height: 300px;

  border-radius: 50%;

  background: rgba(255, 255, 255, .04);

  pointer-events: none;

}



.cta-strip-inner {

  position: relative;

  z-index: 1;

  max-width: 700px;

  margin: 0 auto;

}



.cta-strip h2 {

  font-size: clamp(1.9rem, 3vw, 2.6rem);

  font-weight: 600;

  color: #fff;

  letter-spacing: -.6px;

  margin-bottom: 12px;

}



.cta-strip p {

  color: rgba(255, 255, 255, .78);

  font-size: 1.05rem;

  line-height: 1.75;

  margin-bottom: 32px;

  font-weight: 400;

}



.cta-btns {

  display: flex;

  gap: 14px;

  justify-content: center;

  flex-wrap: wrap;

}



.btn-white {

  padding: 14px 30px;

  border-radius: 12px;

  background: #fff;

  color: var(--teal-dark);

  font-size: .95rem;

  font-weight: 800;

  border: none;

  cursor: pointer;

  text-decoration: none;

  transition: all .25s;

  display: inline-flex;

  align-items: center;

  gap: 8px;

}



.btn-white:hover {

  transform: translateY(-2px);

  box-shadow: 0 8px 28px rgba(0, 0, 0, .18);

}



.btn-white-o {

  padding: 14px 28px;

  border-radius: 12px;

  background: transparent;

  color: #fff;

  font-size: .95rem;

  font-weight: 700;

  border: 2px solid rgba(255, 255, 255, .4);

  cursor: pointer;

  text-decoration: none;

  transition: all .25s;

  display: inline-flex;

  align-items: center;

  gap: 8px;

}



.btn-white-o:hover {

  background: rgba(255, 255, 255, .12);

  border-color: rgba(255, 255, 255, .8);

}





/* ── REVEAL ANIMATION ── */

.rv {

  opacity: 0;

  transform: translateY(22px);

  transition: opacity .65s ease, transform .65s ease;

}



.rv.vis {

  opacity: 1;

  transform: translateY(0);

}



/* ── MOBILE TOPBAR ── */

@media(max-width:768px) {

  .topbar {

    display: none;

  }



  nav {

    top: 0;

  }

}
/* === Strory CSS === */
.origin {
  padding: 50px 1rem;
  /* max-width: 1100px; */
  max-width: 1334px;
  margin: 0 auto;
}
.origin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: start;
  margin-top: 60px;
}
.origin-text h2 {
  font-size: 40px;
  font-weight: 600;
  color: var(--navy);
  line-height: 1.2;
  margin-bottom: 24px;
}
.origin-text h2 em {
  color: var(--teal);
  font-style: normal;
}
.story-block {
  background: var(--navy);
  border-radius: 16px;
  padding: 32px;
  position: relative;
  margin-bottom: 20px;
}
.story-block p {
  color: rgba(255, 255, 255, 0.8);
  font-size: 17px;
  line-height: 1.8;
  font-style: italic;
}
.speaker {
  color: var(--teal);
  font-size: 13px;
  font-weight: 600;
  margin-top: 12px;
  font-style: normal;
}
.origin-text p.body {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
  margin-top: 16px;
}
.timeline {
  position: relative;
  padding-left: 32px;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 25px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(to bottom, var(--teal), var(--orange));
}
.tl-item {
  position: relative;
  margin-bottom: 36px;
}
.tl-dot {
  position: absolute;
  left: -28px;
  top: 4px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid var(--white);
  box-shadow: 0 0 0 3px var(--teal);
  background: var(--white);
}
.tl-dot.orange {
  box-shadow: 0 0 0 3px var(--orange);
}
.tl-year {
  font-size: 11px;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.tl-year.orange {
  color: var(--orange);
}
.tl-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
  margin-bottom: 4px;
}
.tl-desc {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.6;
}
.section-tag {
  display: inline-block;
  background: var(--light);
  color: var(--teal);
  font-size: 11px;
  font-weight: 700;
  padding: 5px 14px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  margin-bottom: 16px;
}
@media(max-width:768px) {
  .hero h1 {
    font-size: 32px;
  }

  .origin-grid,
  .founder-grid,
  .vision-phases,
  .problem-grid,
  .traction-grid,
  .invest-grid,
  .built-grid,
  .values-grid {
    grid-template-columns: 1fr;
  }

  .market-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.vision {
  padding: 80px 1rem;
  background: var(--navy);
}

.vision-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.vision-header {
  text-align: center;
  margin-bottom: 60px;
}

.vision-header h2 {
  font-size: 35px;
  font-weight: 600;
  color: var(--white);
  line-height: 1.1;
  margin-bottom: 16px;
}

.vision-header h2 span {
  color: #00b4b4;
}

.vision-header p {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 auto;
}

.vision-phases {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}

.phase-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 20px;
  padding: 32px;
  position: relative;
  overflow: hidden;
}

.phase-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}

.phase-card.p1::before {
  background: var(--teal);
}

.phase-card.p2::before {
  background: var(--orange);
}

.phase-card.p3::before {
  background: linear-gradient(90deg, var(--teal), var(--orange));
}

.phase-num {
  font-size: 11px;
  font-weight: 700;
  color: var(--teal);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.phase-num.orange {
  color: var(--orange);
}

.phase-num.gold {
  color: #F59E0B;
}

.phase-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--white);
  margin-bottom: 12px;
}

.phase-markets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.ph-market {
    background: rgba(255, 255, 255, 0.06);
    color: rgb(255 255 255 / 98%);
    font-size: 12px;
    padding: 3px 9px;
    border-radius: 6px;
}

.phase-desc {
    font-size: 16px;
    color: rgb(255 255 255 / 91%);
    line-height: 1.7;
}

.phase-target {
  font-size: 15px;
  font-weight: 600;
  color: var(--white);
  margin-top: 18px;
}

.phase-target span {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 400;
}

.market-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 20px;
  padding: 48px;
}

.market-box h3 {
  font-size: 24px;
  font-weight: 800;
  color: var(--white);
  margin-bottom: 11px;
  text-align: center;
}

.market-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.mkt-item {
  text-align: center;
}

.mkt-num {
  font-size: 30px;
  font-weight: 800;
  color:#00b4b4;
}

.mkt-country {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 4px;
}

.mkt-detail {
  font-size: 15px;
  color: rgb(255 255 255);
  margin-top: 2px;
}
