/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@font-face {
  font-family: azarmehr;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/AzarMehr/AzarMehr-DS1-FD-Medium.ttf")format("ttf"),url("../fonts/AzarMehr/AzarMehr-DS1-FD-Medium.woff2")format("woff2");
}
@font-face {
  font-family: azarmehrBold;
  font-style: normal;
  src: url("../fonts/AzarMehr/AzarMehr-DS3-FD-ExtraBold.ttf")format("ttf"),url("../fonts/AzarMehr/AzarMehr-DS3-FD-ExtraBold.woff2")format("woff2");
}
@font-face {
  font-family: inter;
  font-style: normal;
  src: url("../fonts/Inter/Inter-Bold.ttf")format("ttf"),url("../fonts/Inter/Inter-Bold.woff2")format("woff2");
}
:root, :host {
  --font-primary: "azarmehr";
  --site-header-offset: 3.75rem;
  --color-vira-brand-light: #00F0E9;
  --color-vira-gold-light: #bf8d42;
  --color-vira-ink: #F4FAFA;
}
:root {
  --reveal-duration: 700ms;
  --reveal-delay: 0ms;
}
@layer utilities {
  .text-fluid-hero {
    font-size: clamp(1.45rem,calc(1.05rem + 2vw),3.2rem);
    line-height: 1.6;
  }
  .text-fluid-title {
    font-size: clamp(1.35rem,calc(1.05rem + 1.15vw),2.25rem);
    line-height: 1.45;
  }
  .text-fluid-subtitle {
    font-size: clamp(1.2rem,calc(.85rem + .9vw),1.8rem);
    line-height: 1.9;
  }
  .text-fluid-body {
    font-size: clamp(.82rem,calc(.75rem + .3vw),1rem);
    line-height: clamp(1.6rem,calc(1.45rem + .35vw),2rem);
  }
  .text-fluid-card-title {
    font-size: clamp(.88rem,calc(.82rem + .25vw),1.08rem);
    line-height: 1.65;
  }
  .text-fluid-card-body {
    font-size: clamp(.72rem,calc(.68rem + .18vw),.875rem);
    line-height: clamp(1.35rem,calc(1.28rem + .15vw),1.5rem);
  }
  .text-fluid-small {
    font-size: clamp(.68rem,calc(.65rem + .13vw),.78rem);
    line-height: 1.7;
  }
  .text-fluid-button {
    font-size: clamp(.75rem,calc(.71rem + .15vw),.875rem);
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--site-header-offset);
}
body {
  font-family: var(--font-primary);
  color: var(--color-vira-ink);
}
a {
  color: inherit;
  text-decoration: none;
}
[id] {
  scroll-margin-top: 5.5rem;
}
.vira-float-soft {
  animation: vira-float-soft 6s ease-in-out infinite;
}
.vira-float-soft-delayed {
  animation: vira-float-soft 7.5s ease-in-out infinite;
  animation-delay: -2s;
}
.vira-float-small {
  animation: vira-float-small 5s ease-in-out infinite;
}
.vira-glow-pulse {
  animation: vira-glow-pulse 4.8s ease-in-out infinite;
}
.vira-slow-spin {
  animation: vira-slow-spin 28s linear infinite;
}
.vira-reverse-spin {
  animation: vira-reverse-spin 34s linear infinite;
}
.vira-soft-shine {
  position: relative;
  overflow: hidden;
}
.vira-soft-shine::before {
  content: "";
  position: absolute;
  inset: -40%;
  z-index: 1;
  background: linear-gradient(115deg,transparent 35%,rgba(255,255,255,.10)48%,rgba(34,211,238,.12)50%,transparent 62%);
  transform: translateX(65%)rotate(8deg);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.vira-soft-shine:hover::before {
  opacity: 1;
  animation: vira-shine-sweep 1.25s ease forwards;
}
.vira-hover-lift {
  transition: transform .35s ease,border-color .35s ease,background-color .35s ease,box-shadow .35s ease;
}
.vira-hover-lift:hover {
  transform: translateY(-6px);
}
.vira-card-glow {
  position: relative;
}
.vira-card-glow::after {
  content: "";
  position: absolute;
  inset: auto 18% -1px 18%;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(34,211,238,.58),rgba(139,92,246,.38),transparent);
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.vira-card-glow:hover::after {
  opacity: 1;
}
.vira-rotating-border {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.vira-rotating-border::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: -2;
  border-radius: inherit;
  background: conic-gradient(from var(--vira-angle,0deg),transparent 0deg,rgba(34,211,238,.10)70deg,rgba(34,211,238,.75)110deg,rgba(139,92,246,.72)155deg,rgba(217,70,239,.55)205deg,rgba(59,130,246,.70)260deg,transparent 330deg);
  animation: vira-border-spin 8s linear infinite;
}
.vira-rotating-border::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(7,12,24,.88);
}
.vira-rotating-border-soft {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.vira-rotating-border-soft::before {
  content: "";
  position: absolute;
  inset: -1px;
  z-index: -2;
  border-radius: inherit;
  background: conic-gradient(from var(--vira-angle,0deg),transparent,rgba(34,211,238,.32),transparent,rgba(139,92,246,.26),transparent);
  animation: vira-border-spin 12s linear infinite;
  opacity: .75;
}
.vira-rotating-border-soft::after {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: -1;
  border-radius: inherit;
  background: rgba(7,12,24,.82);
}
.vira-light-line {
  position: relative;
  overflow: hidden;
}
.vira-light-line::before {
  content: "";
  position: absolute;
  left: -35%;
  top: 0;
  width: 35%;
  height: 1px;
  background: linear-gradient(90deg,transparent,rgba(34,211,238,.9),transparent);
  animation: vira-line-run 4.8s ease-in-out infinite;
}
.vira-orbit-ring {
  animation: vira-slow-spin 26s linear infinite;
}
.vira-orbit-ring-reverse {
  animation: vira-reverse-spin 32s linear infinite;
}
.vira-tech-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.vira-tech-track {
  display: flex;
  width: max-content;
  animation: vira-marquee-rtl 28s linear infinite;
}
.vira-tech-marquee:hover .vira-tech-track {
  animation-play-state: paused;
}
.vira-home-lines {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.vira-home-lines .line {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  opacity: .9;
  filter: blur(.2px);
}
.vira-home-lines .line::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.vira-home-lines .line::after {
  content: "";
  position: absolute;
  inset: -8px 0;
  border-radius: inherit;
  filter: blur(14px);
  opacity: .75;
}
.vira-home-lines .line-cyan::before {
  background: linear-gradient(90deg,transparent 0%,rgba(34,211,238,.00)8%,rgba(34,211,238,.35)22%,rgba(103,232,249,.95)50%,rgba(34,211,238,.40)78%,rgba(34,211,238,.00)92%,transparent 100%);
}
.vira-home-lines .line-cyan::after {
  background: linear-gradient(90deg,transparent 0%,rgba(34,211,238,.00)12%,rgba(34,211,238,.18)30%,rgba(103,232,249,.52)50%,rgba(34,211,238,.20)70%,rgba(34,211,238,.00)88%,transparent 100%);
}
.vira-home-lines .line-violet::before {
  background: linear-gradient(90deg,transparent 0%,rgba(139,92,246,.00)10%,rgba(139,92,246,.34)28%,rgba(217,70,239,.88)50%,rgba(139,92,246,.34)72%,rgba(139,92,246,.00)90%,transparent 100%);
}
.vira-home-lines .line-violet::after {
  background: linear-gradient(90deg,transparent 0%,rgba(139,92,246,.00)14%,rgba(139,92,246,.16)32%,rgba(217,70,239,.45)50%,rgba(139,92,246,.16)68%,rgba(139,92,246,.00)86%,transparent 100%);
}
.vira-home-lines .line-blue::before {
  background: linear-gradient(90deg,transparent 0%,rgba(59,130,246,.00)10%,rgba(59,130,246,.32)28%,rgba(96,165,250,.86)50%,rgba(59,130,246,.32)72%,rgba(59,130,246,.00)90%,transparent 100%);
}
.vira-home-lines .line-blue::after {
  background: linear-gradient(90deg,transparent 0%,rgba(59,130,246,.00)14%,rgba(59,130,246,.15)32%,rgba(96,165,250,.42)50%,rgba(59,130,246,.15)68%,rgba(59,130,246,.00)86%,transparent 100%);
}
.vira-line-1 {
  width: 70rem;
  top: 16rem;
  right: -8rem;
  transform: rotate(-11deg);
  animation: vira-line-drift-1 12s ease-in-out infinite;
}
.vira-line-2 {
  width: 56rem;
  top: 36rem;
  left: -6rem;
  transform: rotate(8deg);
  animation: vira-line-drift-2 15s ease-in-out infinite;
}
.vira-line-3 {
  width: 74rem;
  top: 64rem;
  right: -14rem;
  transform: rotate(-7deg);
  animation: vira-line-drift-3 17s ease-in-out infinite;
}
.vira-line-4 {
  width: 46rem;
  top: 96rem;
  left: 8%;
  transform: rotate(12deg);
  animation: vira-line-drift-4 13s ease-in-out infinite;
}
.vira-line-5 {
  width: 62rem;
  top: 126rem;
  right: -10rem;
  transform: rotate(-9deg);
  animation: vira-line-drift-5 16s ease-in-out infinite;
}
@keyframes vira-line-drift-1 {
  0%,100% {
    transform: translateX(0)rotate(-11deg);
    opacity: .58;
  }
  50% {
    transform: translateX(2.8rem)rotate(-11deg);
    opacity: 1;
  }
}
@keyframes vira-line-drift-2 {
  0%,100% {
    transform: translateX(0)rotate(8deg);
    opacity: .45;
  }
  50% {
    transform: translateX(-2.2rem)rotate(8deg);
    opacity: .95;
  }
}
@keyframes vira-line-drift-3 {
  0%,100% {
    transform: translateX(0)rotate(-7deg);
    opacity: .5;
  }
  50% {
    transform: translateX(2rem)rotate(-7deg);
    opacity: .9;
  }
}
@keyframes vira-line-drift-4 {
  0%,100% {
    transform: translateX(0)rotate(12deg);
    opacity: .42;
  }
  50% {
    transform: translateX(-1.8rem)rotate(12deg);
    opacity: .85;
  }
}
@keyframes vira-line-drift-5 {
  0%,100% {
    transform: translateX(0)rotate(-9deg);
    opacity: .48;
  }
  50% {
    transform: translateX(2.4rem)rotate(-9deg);
    opacity: .92;
  }
}
@media (max-width:1024px) {
  .vira-line-1 {
    width: 48rem;
    top: 14rem;
    right: -8rem;
  }
  .vira-line-2 {
    width: 40rem;
    top: 30rem;
    left: -7rem;
  }
  .vira-line-3 {
    width: 52rem;
    top: 54rem;
    right: -10rem;
  }
  .vira-line-4 {
    width: 34rem;
    top: 78rem;
    left: 0;
  }
  .vira-line-5 {
    width: 42rem;
    top: 104rem;
    right: -8rem;
  }
}
@media (max-width:640px) {
  .vira-home-lines .line {
    height: 1.5px;
  }
  .vira-line-1 {
    width: 24rem;
    top: 11rem;
    right: -7rem;
  }
  .vira-line-2 {
    width: 22rem;
    top: 22rem;
    left: -7rem;
  }
  .vira-line-3 {
    width: 28rem;
    top: 38rem;
    right: -9rem;
  }
  .vira-line-4 {
    width: 18rem;
    top: 56rem;
    left: -2rem;
  }
  .vira-line-5 {
    width: 22rem;
    top: 74rem;
    right: -6rem;
  }
}
@keyframes vira-float-soft {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@keyframes vira-float-small {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes vira-glow-pulse {
  0%,100% {
    opacity: .55;
    filter: blur(22px);
  }
  50% {
    opacity: 1;
    filter: blur(30px);
  }
}
@keyframes vira-slow-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes vira-reverse-spin {
  to {
    transform: rotate(-360deg);
  }
}
@keyframes vira-border-spin {
  to {
    --vira-angle: 360deg;
  }
}
@keyframes vira-shine-sweep {
  0% {
    transform: translateX(65%)rotate(8deg);
  }
  100% {
    transform: translateX(-65%)rotate(8deg);
  }
}
@keyframes vira-line-run {
  0% {
    left: -35%;
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}
@keyframes vira-bg-line-move {
  0%,100% {
    opacity: .30;
    transform: translateX(0)rotate(-12deg);
  }
  50% {
    opacity: .75;
    transform: translateX(-3rem)rotate(-12deg);
  }
}
@keyframes vira-marquee-rtl {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(50%);
  }
}
@media (prefers-reduced-motion:reduce) {
  .vira-float-soft,.vira-float-soft-delayed,.vira-float-small,.vira-glow-pulse,.vira-slow-spin,.vira-reverse-spin,.vira-orbit-ring,.vira-orbit-ring-reverse,.vira-tech-track,.vira-home-lines::before,.vira-home-lines::after {
    animation: none !important;
  }
  .vira-soft-shine::before {
    display: none;
  }
}
@media (max-width:640px) {
  .vira-home-lines::before,.vira-home-lines::after {
    opacity: .32;
  }
  .vira-float-soft,.vira-float-soft-delayed,.vira-float-small {
    animation-duration: 8s;
  }
  .vira-rotating-border::before,.vira-rotating-border-soft::before {
    opacity: .45;
  }
}
.portal-line {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 2px;
  width: 0;
  opacity: 0;
  transform-origin: left center;
  background: linear-gradient(90deg,rgba(34,211,238,0),rgba(34,211,238,.95),rgba(34,211,238,0));
  box-shadow: 0 0 24px rgba(34,211,238,.65);
}
.portal-line-desk {
  transform: rotate(180deg);
}
.portal-line-learn {
  transform: rotate(-90deg);
}
.portal-line-tech {
  transform: rotate(0deg);
}
.portal-node-desk {
  left: max(1.25rem,calc(50% - 34rem));
  top: 50%;
  transform: translateY(-50%);
}
.portal-node-learn {
  left: 50%;
  top: max(1.25rem,calc(50% - 22rem));
  transform: translateX(-50%);
}
.portal-node-tech {
  right: max(1.25rem,calc(50% - 34rem));
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width:1024px) {
  .portal-node {
    width: 15.5rem;
  }
  .portal-node-desk {
    left: 1rem;
  }
  .portal-node-tech {
    right: 1rem;
  }
  .portal-node-learn {
    top: 3rem;
  }
}
@media (max-width:768px) {
  .portal-line {
    display: none;
  }
  .portal-node {
    width: calc(100% - 2rem);
  }
  .portal-node-desk {
    left: 1rem;
    right: 1rem;
    top: auto;
    bottom: 12rem;
    transform: none;
  }
  .portal-node-learn {
    left: 1rem;
    right: 1rem;
    top: 2rem;
    transform: none;
  }
  .portal-node-tech {
    left: 1rem;
    right: 1rem;
    top: auto;
    bottom: 2rem;
    transform: none;
  }
}
.scroll-reveal {
  opacity: 0;
  filter: blur(7px);
  transition: opacity var(--reveal-duration,700ms)cubic-bezier(.22,1,.36,1),transform var(--reveal-duration,700ms)cubic-bezier(.22,1,.36,1),filter var(--reveal-duration,700ms)cubic-bezier(.22,1,.36,1);
  transition-delay: var(--reveal-delay,0ms);
  will-change: opacity,transform,filter;
}
.scroll-reveal--up {
  transform: translateY(28px);
}
.scroll-reveal--down {
  transform: translateY(-28px);
}
.scroll-reveal--right {
  transform: translateX(-32px);
}
.scroll-reveal--left {
  transform: translateX(32px);
}
.scroll-reveal--scale {
  transform: scale(.94);
}
.scroll-reveal--fade {
  transform: none;
}
.scroll-reveal.is-visible {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0,0,0)scale(1);
}
@media (prefers-reduced-motion:reduce) {
  .scroll-reveal {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
}
.scroll-reveal {
  min-width: 0;
}
.scroll-reveal>article {
  width: 100%;
  height: 100%;
}
@media (max-width:1279px) {
  :root {
    --site-header-height: 5.75rem;
    --site-header-offset: 3.5rem;
  }
}
@media (max-width:639px) {
  :root {
    --site-header-height: 5rem;
    --site-header-offset: 2.65rem;
  }
}
.vira-home {
  background: transparent;
}
.vira-home #hero {
  background: transparent;
}
@media (max-width:639px) {
  .vira-home #hero {
    min-height: calc(100svh - var(--site-header-offset));
  }
  .vira-home #hero img {
    object-fit: contain;
    object-position: top center;
  }
}
@media (min-width:640px) {
  .vira-home #hero img {
    object-fit: cover;
    object-position: left center;
  }
}
.vira-mini-card {
  position: relative;
  display: flex;
  min-height: 4.35rem;
  align-items: center;
  gap: .75rem;
  padding: .8rem 1rem;
  overflow: hidden;
  border: 1px solid rgba(0,240,233,.14);
  border-radius: 1.1rem;
  background: linear-gradient(135deg,rgba(4,24,29,.72),rgba(1,10,14,.52));
  box-shadow: 0 18px 50px rgba(0,0,0,.22);
  backdrop-filter: blur(20px);
  transition: transform .35s ease,border-color .35s ease,box-shadow .35s ease,background-color .35s ease;
}
.vira-mini-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle at top right,rgba(0,240,233,.09),transparent 45%),radial-gradient(circle at bottom left,rgba(244,215,126,.07),transparent 46%);
  transition: opacity .35s ease;
}
.vira-mini-card:hover {
  transform: translateY(-4px);
  border-color: rgba(244,215,126,.32);
  box-shadow: 0 22px 58px rgba(0,240,233,.08);
}
.vira-mini-card:hover::before {
  opacity: 1;
}
.vira-mini-card>i {
  position: relative;
  z-index: 1;
  display: grid;
  width: 2.3rem;
  height: 2.3rem;
  flex: none;
  place-items: center;
  border: 1px solid rgba(0,240,233,.18);
  border-radius: .75rem;
  background: rgba(0,240,233,.055);
  color: var(--color-vira-brand-light);
  transition: color .35s ease,border-color .35s ease,background-color .35s ease;
}
.vira-mini-card:hover>i {
  color: var(--color-vira-gold-light);
  border-color: rgba(244,215,126,.28);
  background: rgba(244,215,126,.055);
}
.vira-mini-card>div {
  position: relative;
  z-index: 1;
}
@media (max-width:639px) {
  .vira-mini-card {
    min-height: 3.85rem;
    padding: .7rem .85rem;
  }
}
.vira-section-bridge {
  position: relative;
  display: flex;
  height: 3rem;
  align-items: center;
  justify-content: center;
  margin-top: 5px;
}
.vira-section-bridge::before {
  content: "";
  position: absolute;
  inset-block: 0;
  width: 1px;
  background: linear-gradient(to bottom,transparent,rgba(0,240,233,.32),rgba(244,215,126,.36),transparent);
  box-shadow: 0 0 14px rgba(0,240,233,.10);
}
.vira-section-bridge::after {
  content: "";
  position: relative;
  width: 5px;
  height: 5px;
  rotate: 45deg;
  border: 1px solid rgba(255,226,139,.34);
  background: #071317;
  box-shadow: 0 0 9px rgba(0,240,233,.14),0 0 12px rgba(244,215,126,.08);
}
@media (min-width:640px) {
  .vira-section-bridge {
    height: 3.5rem;
  }
}
@media (min-width:768px) {
  .vira-section-bridge {
    height: 4rem;
  }
}
@media (min-width:1024px) {
  .vira-section-bridge {
    height: 5rem;
  }
  .vira-section-bridge::after {
    width: 6px;
    height: 6px;
  }
}
