﻿/* ============================================================
   OMNIVENTRA VENTURES â€” Global Design System v2
   ============================================================ */
:root {
   /* â”€â”€ Dark surfaces â”€â”€ */
   --dark-bg: #05080F;
   --dark-bg-raised: #0B0F1D;
   --dark-bg-card: #101425;
   --dark-text: #EDF0FF;
   --dark-text-muted: #8A96BE;
   --dark-text-faint: #4A5578;
   --dark-border: rgba(99, 120, 255, 0.13);
   --dark-border-hi: rgba(99, 120, 255, 0.30);

   /* â”€â”€ Light surfaces â”€â”€ */
   --light-bg: #F4F6FF;
   --light-bg-raised: #FFFFFF;
   --light-bg-card: #FFFFFF;
   --light-text: #080D1E;
   --light-text-muted: #334068;
   --light-text-faint: #647094;
   --light-border: rgba(8, 13, 40, 0.08);
   --light-border-hi: rgba(79, 70, 229, 0.28);

   /* â”€â”€ Brand palette â€” Indigo-Violet â”€â”€ */
   --clr-primary: #4F46E5;
   --clr-primary-bright: #6366F1;
   --clr-primary-light: #818CF8;
   --clr-accent: #7C3AED;
   --clr-accent-bright: #8B5CF6;
   --clr-gradient: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);
   --clr-gradient-bright: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);

   /* â”€â”€ Legacy aliases (backward-compat) â”€â”€ */
   --clr-blue: #4F46E5;
   --clr-blue-bright: #6366F1;
   --clr-blue-light: #818CF8;
   --clr-teal: #6366F1;
   --clr-teal-dim: rgba(99, 102, 241, 0.10);
   --clr-teal-glow: rgba(99, 102, 241, 0.28);
   --clr-border-teal: rgba(79, 70, 229, 0.18);

   /* â”€â”€ Semantic (default = light) â”€â”€ */
   --clr-bg: #F4F6FF;
   --clr-bg-raised: #FFFFFF;
   --clr-bg-card: #FFFFFF;
   --clr-text: #080D1E;
   --clr-text-muted: #334068;
   --clr-text-faint: #647094;
   --clr-border: rgba(8, 13, 40, 0.08);

   /* â”€â”€ Shadows â”€â”€ */
   --shadow-card: 0 2px 20px rgba(8, 13, 40, 0.07), 0 1px 4px rgba(8, 13, 40, 0.04);
   --shadow-primary: 0 6px 28px rgba(79, 70, 229, 0.30);
   --shadow-primary-l: 0 4px 20px rgba(79, 70, 229, 0.18);
   --glow-card-shine: rgba(79, 70, 229, 0.04);

   /* â”€â”€ Nav â”€â”€ */
   --nav-bg: rgba(5, 8, 15, 0.95);
   --nav-border: rgba(99, 102, 241, 0.13);
   --nav-h: 68px;

   /* â”€â”€ Typography â”€â”€ */
   --font-heading: 'Sora', system-ui, sans-serif;
   --font-body: 'Plus Jakarta Sans', system-ui, sans-serif;

   /* â”€â”€ Spacing â”€â”€ */
   --sp-1: 4px;
   --sp-2: 8px;
   --sp-3: 12px;
   --sp-4: 16px;
   --sp-5: 20px;
   --sp-6: 24px;
   --sp-8: 32px;
   --sp-10: 40px;
   --sp-12: 48px;
   --sp-16: 64px;
   --sp-20: 80px;
   --sp-24: 96px;
   --sp-32: 128px;

   /* â”€â”€ Layout â”€â”€ */
   --max-w: 1200px;

   /* â”€â”€ Radii â”€â”€ */
   --radius-sm: 6px;
   --radius-md: 12px;
   --radius-lg: 18px;
   --radius-xl: 24px;
   --radius-2xl: 32px;
   --radius-full: 9999px;

   /* â”€â”€ Motion â”€â”€ */
   --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
   --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
   --dur-fast: 140ms;
   --dur-base: 280ms;
   --dur-slow: 560ms;
}

/* â”€â”€ Reset â”€â”€ */
*,
*::before,
*::after {
   box-sizing: border-box;
   margin: 0;
   padding: 0
}

html {
   scroll-behavior: smooth;
   -webkit-text-size-adjust: 100%
}

body {
   background: #F4F6FF;
   color: #080D1E;
   font-family: var(--font-body);
   font-size: 16px;
   line-height: 1.65;
   overflow-x: hidden;
   -webkit-font-smoothing: antialiased
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: var(--font-heading);
   font-weight: 700;
   line-height: 1.1;
   letter-spacing: -.025em;
   color: #080D1E
}

h1 {
   font-size: clamp(2.25rem, 5.5vw, 4.5rem);
   font-weight: 800
}

h2 {
   font-size: clamp(1.6rem, 3.5vw, 2.6rem);
   font-weight: 800
}

h3 {
   font-size: clamp(1rem, 2vw, 1.3rem)
}

p {
   max-width: 65ch;
   color: #334068
}

a {
   color: inherit;
   text-decoration: none
}

img,
svg {
   display: block;
   max-width: 100%
}

ul,
ol {
   list-style: none
}

button {
   font-family: var(--font-body);
   cursor: pointer;
   border: none;
   background: none
}

:focus-visible {
   outline: 2px solid var(--clr-primary);
   outline-offset: 3px;
   border-radius: var(--radius-sm)
}

::selection {
   background: rgba(79, 70, 229, 0.15);
   color: #080D1E
}

/* â”€â”€ Layout â”€â”€ */
.container {
   width: 100%;
   max-width: var(--max-w);
   margin-inline: auto;
   padding-inline: var(--sp-6)
}

.section {
   padding-block: var(--sp-20);
   content-visibility: auto;
   contain-intrinsic-size: 0 600px
}

.section--sm {
   padding-block: var(--sp-12)
}

/* â”€â”€ Section themes â”€â”€ */
.sec-dark {
   background: var(--dark-bg);
   color: var(--dark-text);
   --clr-text: var(--dark-text);
   --clr-text-muted: var(--dark-text-muted);
   --clr-bg: var(--dark-bg);
   --clr-bg-card: var(--dark-bg-card);
   --clr-border: var(--dark-border);
   --glow-card-shine: rgba(99, 102, 241, 0.06)
}

.sec-dark h1,
.sec-dark h2,
.sec-dark h3,
.sec-dark h4,
.sec-dark h5,
.sec-dark h6 {
   color: var(--dark-text)
}

.sec-dark p {
   color: var(--dark-text-muted)
}

.sec-light {
   background: #F4F6FF;
   color: #080D1E;
   --clr-text: #080D1E;
   --clr-text-muted: #334068;
   --clr-bg: #F4F6FF;
   --clr-bg-card: #FFFFFF;
   --clr-border: rgba(8, 13, 40, 0.08);
   --glow-card-shine: rgba(79, 70, 229, 0.04)
}

.sec-light h1,
.sec-light h2,
.sec-light h3 {
   color: #080D1E
}

.sec-light p {
   color: #334068
}

.sec-white {
   background: #fff;
   --clr-bg: #fff;
   --clr-bg-card: #F4F6FF;
   --clr-border: rgba(8, 13, 40, 0.08);
   --glow-card-shine: rgba(79, 70, 229, 0.04)
}

.sec-white h1,
.sec-white h2,
.sec-white h3 {
   color: #080D1E
}

.sec-white p {
   color: #334068
}

.sec-accent {
   background: linear-gradient(140deg, #05080F 0%, #0C0E1E 55%, #07091A 100%);
   color: var(--dark-text);
   --clr-text: var(--dark-text);
   --clr-text-muted: var(--dark-text-muted);
   --clr-bg: #070A18;
   --clr-bg-card: #101425;
   --clr-border: rgba(99, 102, 241, 0.15);
   --glow-card-shine: rgba(99, 102, 241, 0.08)
}

.sec-accent h1,
.sec-accent h2,
.sec-accent h3 {
   color: var(--dark-text)
}

.sec-accent p {
   color: var(--dark-text-muted)
}

/* â”€â”€ Utilities â”€â”€ */
.grid-auto {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
   gap: var(--sp-6)
}

.text-center {
   text-align: center
}

.text-teal {
   color: var(--clr-blue)
}

.sr-only {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0
}

.divider {
   width: 100%;
   height: 1px;
   background: linear-gradient(90deg, transparent, rgba(79, 70, 229, 0.20), transparent)
}

.sec-dark .divider,
.sec-accent .divider {
   background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.25), transparent)
}

/* â”€â”€ Section tag â”€â”€ */
.section-tag {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: #4F46E5;
   background: rgba(79, 70, 229, 0.08);
   border: 1px solid rgba(79, 70, 229, 0.20);
   padding: 5px 14px;
   border-radius: var(--radius-full);
   margin-bottom: var(--sp-4)
}

.section-tag::before {
   content: '';
   width: 6px;
   height: 6px;
   background: #6366F1;
   border-radius: 50%;
   flex-shrink: 0;
   animation: tag-pulse 2s ease-in-out infinite
}

.sec-dark .section-tag,
.sec-accent .section-tag {
   color: #818CF8;
   background: rgba(99, 102, 241, 0.10);
   border-color: rgba(99, 102, 241, 0.28)
}

.sec-dark .section-tag::before,
.sec-accent .section-tag::before {
   background: #818CF8
}

.section-heading {
   margin-bottom: var(--sp-4)
}

.section-heading span {
   color: #4F46E5
}

.sec-dark .section-heading span,
.sec-accent .section-heading span {
   color: #818CF8
}

.section-subhead {
   font-size: 17px;
   color: var(--clr-text-muted);
   max-width: 55ch;
   margin-bottom: var(--sp-12);
   line-height: 1.75
}

.center-sub {
   margin-left: auto;
   margin-right: auto;
   text-align: center
}

/* â”€â”€ Buttons â”€â”€ */
.btn {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 12px 28px;
   border-radius: var(--radius-full);
   font-size: 15px;
   font-weight: 600;
   letter-spacing: .01em;
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), background var(--dur-fast);
   will-change: transform;
   cursor: pointer;
   white-space: nowrap;
   border: none
}

.btn-primary {
   background: var(--clr-gradient);
   color: #fff;
   box-shadow: 0 4px 20px rgba(79, 70, 229, 0.35)
}

.btn-primary:hover {
   box-shadow: 0 8px 36px rgba(99, 102, 241, 0.55);
   transform: translateY(-2px) scale(1.02);
   color: #fff
}

.btn-outline {
   background: transparent;
   color: #4F46E5;
   border: 1.5px solid rgba(79, 70, 229, 0.35)
}

.btn-outline:hover {
   background: rgba(79, 70, 229, 0.06);
   transform: translateY(-2px) scale(1.02);
   box-shadow: var(--shadow-primary-l)
}

.sec-dark .btn-outline,
.sec-accent .btn-outline {
   color: #EDF0FF;
   border-color: rgba(99, 102, 241, 0.35)
}

.sec-dark .btn-outline:hover,
.sec-accent .btn-outline:hover {
   background: rgba(99, 102, 241, 0.12);
   box-shadow: 0 4px 24px rgba(99, 102, 241, 0.25)
}

.btn-ghost {
   background: rgba(79, 70, 229, 0.08);
   color: #4F46E5;
   border: 1.5px solid rgba(79, 70, 229, 0.18)
}

.btn-ghost:hover {
   background: rgba(79, 70, 229, 0.14);
   transform: translateY(-1px)
}

.btn-ghost-dark {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 13px 24px;
   border-radius: var(--radius-full);
   font-size: 15px;
   font-weight: 600;
   background: rgba(255, 255, 255, 0.06);
   color: #EDF0FF;
   border: 1.5px solid rgba(255, 255, 255, 0.13);
   transition: background var(--dur-fast), border-color var(--dur-fast), transform var(--dur-base) var(--ease-out);
   cursor: pointer;
   white-space: nowrap
}

.btn-ghost-dark:hover {
   background: rgba(255, 255, 255, 0.10);
   border-color: rgba(99, 102, 241, 0.40);
   transform: translateY(-2px);
   color: #EDF0FF
}

.btn-outline-blue {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 13px 28px;
   border-radius: var(--radius-full);
   font-size: 15px;
   font-weight: 600;
   background: transparent;
   color: #4F46E5;
   border: 1.5px solid rgba(79, 70, 229, 0.35);
   transition: background var(--dur-fast), transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base)
}

.btn-outline-blue:hover {
   background: rgba(79, 70, 229, 0.06);
   transform: translateY(-2px);
   box-shadow: 0 4px 20px rgba(79, 70, 229, 0.15)
}

/* â”€â”€ Glow Card â”€â”€ */
.glow-card {
   position: relative;
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.08);
   border-radius: var(--radius-xl);
   padding: var(--sp-6);
   overflow: hidden;
   transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base), box-shadow var(--dur-base);
   will-change: transform;
   box-shadow: 0 2px 16px rgba(8, 13, 40, 0.06), 0 1px 4px rgba(8, 13, 40, 0.04)
}

.glow-card:hover {
   transform: translateY(-5px) scale(1.01);
   border-color: rgba(79, 70, 229, 0.22);
   box-shadow: 0 10px 36px rgba(79, 70, 229, 0.13), 0 2px 8px rgba(8, 13, 40, 0.07)
}

.sec-dark .glow-card {
   background: var(--dark-bg-card);
   border-color: var(--dark-border);
   box-shadow: 0 2px 20px rgba(0, 0, 0, 0.40)
}

.sec-dark .glow-card:hover {
   border-color: rgba(99, 102, 241, 0.30);
   box-shadow: 0 16px 48px rgba(0, 0, 0, 0.30), 0 4px 24px rgba(99, 102, 241, 0.18)
}

.sec-accent .glow-card {
   background: var(--dark-bg-card);
   border-color: rgba(99, 102, 241, 0.15)
}

.sec-accent .glow-card:hover {
   border-color: rgba(99, 102, 241, 0.30);
   box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35), 0 4px 24px rgba(99, 102, 241, 0.20)
}

.card-icon {
   width: 52px;
   height: 52px;
   background: rgba(79, 70, 229, 0.08);
   border: 1px solid rgba(79, 70, 229, 0.18);
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: var(--sp-5);
   color: #4F46E5;
   flex-shrink: 0;
   transition: transform var(--dur-base) var(--ease-spring)
}

.card-icon svg {
   width: 24px;
   height: 24px;
   flex-shrink: 0
}

.glow-card:hover .card-icon {
   transform: scale(1.12) rotate(-4deg)
}

.sec-dark .card-icon,
.sec-accent .card-icon {
   background: rgba(99, 102, 241, 0.12);
   border-color: rgba(99, 102, 241, 0.25);
   color: #818CF8
}

.card-title {
   font-family: var(--font-heading);
   font-size: 17px;
   font-weight: 700;
   color: var(--clr-text);
   margin-bottom: var(--sp-2);
   letter-spacing: -.01em
}

.card-body {
   font-size: 14px;
   color: var(--clr-text-muted);
   line-height: 1.7
}

/* â”€â”€ Reveal animation â”€â”€ */
.reveal {
   opacity: 0;
   transform: translateY(28px);
   transition: opacity var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out);
   will-change: transform, opacity
}

.reveal.is-visible {
   opacity: 1;
   transform: translateY(0)
}

.reveal-d1 {
   transition-delay: 80ms
}

.reveal-d2 {
   transition-delay: 160ms
}

.reveal-d3 {
   transition-delay: 240ms
}

.reveal-d4 {
   transition-delay: 320ms
}

/* â”€â”€ Keyframes â”€â”€ */
@keyframes tag-pulse {

   0%,
   100% {
      opacity: 1;
      transform: scale(1)
   }

   50% {
      opacity: .5;
      transform: scale(.7)
   }
}

@keyframes orb-drift {
   from {
      transform: translate3d(0, 0, 0) scale(1)
   }

   to {
      transform: translate3d(40px, -30px, 0) scale(1.06)
   }
}

@keyframes live-pulse {

   0%,
   100% {
      opacity: 1;
      transform: scale(1)
   }

   50% {
      opacity: .4;
      transform: scale(.8)
   }
}

@keyframes marquee-scroll {
   from {
      transform: translateX(0)
   }

   to {
      transform: translateX(-50%)
   }
}

@keyframes float-up-down {

   0%,
   100% {
      transform: translateY(0)
   }

   50% {
      transform: translateY(-12px)
   }
}

@keyframes scroll-bounce {

   0%,
   100% {
      transform: translateY(0);
      opacity: 1
   }

   50% {
      transform: translateY(11px);
      opacity: .25
   }
}

@keyframes shimmer {
   0% {
      background-position: -200% 0
   }

   100% {
      background-position: 200% 0
   }
}

@keyframes grid-drift {
   from {
      background-position: 0 0
   }

   to {
      background-position: 20px 20px
   }
}

@keyframes slide-in-left {
   from {
      opacity: 0;
      transform: translateX(-32px)
   }

   to {
      opacity: 1;
      transform: translateX(0)
   }
}

@keyframes page-fade-in {
   from {
      opacity: 0;
      transform: translateY(10px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

/* â”€â”€ Noise overlay â”€â”€ */
.noise-overlay {
   pointer-events: none;
   position: fixed;
   inset: 0;
   z-index: 9999;
   opacity: .012;
   background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
   background-size: 128px
}

/* â”€â”€ Scroll to top â”€â”€ */
.scroll-top {
   position: fixed;
   bottom: var(--sp-8);
   right: var(--sp-6);
   width: 42px;
   height: 42px;
   border-radius: 50%;
   background: var(--clr-blue);
   color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 4px 16px rgba(37, 99, 235, .4);
   opacity: 0;
   transform: translateY(10px);
   transition: opacity var(--dur-base), transform var(--dur-base);
   pointer-events: none;
   z-index: 500;
   cursor: pointer;
   border: none
}

.scroll-top--visible {
   opacity: 1;
   transform: translateY(0);
   pointer-events: auto
}

.scroll-top:hover {
   background: #4338CA;
   transform: translateY(-2px)
}

/* â”€â”€ Scrollbar â”€â”€ */
::-webkit-scrollbar {
   width: 5px
}

::-webkit-scrollbar-track {
   background: #F4F6FF
}

::-webkit-scrollbar-thumb {
   background: rgba(37, 99, 235, .25);
   border-radius: 3px
}

::-webkit-scrollbar-thumb:hover {
   background: rgba(37, 99, 235, .45)
}

/* â”€â”€ Stat block â”€â”€ */
.stat-number {
   font-family: var(--font-heading);
   font-size: clamp(2rem, 4vw, 3rem);
   font-weight: 800;
   color: #4F46E5;
   line-height: 1;
   margin-bottom: var(--sp-2);
   letter-spacing: -.03em
}

.sec-dark .stat-number,
.sec-accent .stat-number {
   color: var(--clr-teal)
}

.stat-label {
   font-size: .875rem;
   font-weight: 500;
   color: var(--clr-text-muted)
}

/* â”€â”€ Page hero (inner pages) â”€â”€ */
.page-hero {
   position: relative;
   background: var(--dark-bg);
   overflow: hidden;
   padding-top: calc(var(--nav-h) + var(--sp-20));
   padding-bottom: var(--sp-20)
}

.page-hero__bg-orb {
   position: absolute;
   top: -20%;
   left: 50%;
   transform: translateX(-50%);
   width: 700px;
   height: 700px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(79, 70, 229, 0.15), transparent 65%);
   pointer-events: none
}

.page-hero__content {
   position: relative;
   z-index: 1;
   max-width: 760px
}

.page-hero__title {
   font-size: clamp(2.4rem, 5vw, 4rem);
   font-weight: 800;
   letter-spacing: -.04em;
   line-height: 1.05;
   color: #EDF0FF;
   margin-bottom: var(--sp-6)
}

.page-hero__title .text-teal {
   color: var(--clr-teal)
}

.page-hero__sub {
   font-size: 1.1rem;
   color: rgba(174, 190, 220, .85);
   max-width: 52ch;
   line-height: 1.8;
   margin: 0
}

.page-hero__ctas {
   display: flex;
   gap: var(--sp-4);
   flex-wrap: wrap;
   margin-top: var(--sp-8)
}

@media(max-width:768px) {
   .section {
      padding-block: var(--sp-16)
   }

   .container {
      padding-inline: var(--sp-4)
   }

   .grid-auto {
      grid-template-columns: 1fr
   }
}

@media(max-width:480px) {
   h1 {
      font-size: clamp(2rem, 10vw, 2.8rem)
   }

   h2 {
      font-size: clamp(1.5rem, 7vw, 2rem)
   }

   .btn {
      padding: .7rem 1.5rem;
      font-size: .875rem
   }
}

@media(prefers-reduced-motion:reduce) {

   *,
   *::before,
   *::after {
      animation-duration: .01ms !important;
      transition-duration: .01ms !important
   }

   .reveal {
      opacity: 1;
      transform: none
   }

   /* Show workflow nodes immediately without animation */
   .wf-node,
   .wf-line,
   .wf-chip {
      opacity: 1 !important;
      transform: none !important;
      animation: none !important;
   }

   .wf-node__bar-fill {
      animation: none !important;
      width: var(--bar-target, 80%) !important;
   }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NAVBAR
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.nav {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1000;
   height: var(--nav-h);
   background: rgba(5, 8, 15, 0.92);
   backdrop-filter: blur(24px);
   -webkit-backdrop-filter: blur(24px);
   border-bottom: 1px solid rgba(99, 102, 241, 0.10);
   transition: background .3s, border-color .3s, box-shadow .3s
}

.nav--scrolled {
   background: rgba(5, 8, 15, 0.98);
   border-bottom-color: rgba(99, 102, 241, 0.22);
   box-shadow: 0 2px 24px rgba(0, 0, 0, 0.60), 0 1px 8px rgba(99, 102, 241, 0.10)
}

.nav__inner {
   height: 100%;
   display: flex;
   align-items: center;
   gap: 1rem
}

.nav__logo {
   display: flex;
   align-items: center;
   gap: .5rem;
   flex-shrink: 0;
   text-decoration: none
}

.nav__logo:hover img {
   filter: drop-shadow(0 0 8px rgba(75, 142, 255, 0.7))
}

.nav__logo-text {
   font-family: var(--font-heading);
   font-size: 1rem;
   font-weight: 700;
   color: #EDF0FF;
   letter-spacing: -.02em;
   white-space: nowrap
}

.nav__logo-dot {
   color: #6366F1
}

.nav__links {
   display: flex;
   align-items: center;
   gap: .125rem;
   margin-left: auto
}

.nav__link {
   font-size: .875rem;
   font-weight: 600;
   color: rgba(238, 242, 255, 0.65);
   padding: .5rem .75rem;
   border-radius: 6px;
   text-decoration: none;
   white-space: nowrap;
   display: flex;
   align-items: center;
   gap: .3rem;
   transition: color .15s, background .15s
}

.nav__link:hover {
   color: #EDF0FF;
   background: rgba(99, 102, 241, 0.10)
}

.nav__link--active {
   color: #6366F1 !important;
   font-weight: 700
}

.nav__link--btn {
   border: none;
   background: transparent;
   cursor: pointer;
   font-family: var(--font-body)
}

.nav__link--btn:hover {
   color: #EDF0FF;
   background: rgba(99, 102, 241, 0.10)
}

.nav__cta {
   flex-shrink: 0;
   padding: .5rem 1.25rem;
   font-size: .875rem
}

.nav__dd {
   position: relative
}

.dd-chevron {
   transition: transform .2s;
   flex-shrink: 0;
   opacity: .6
}

.mega__wrapper {
   position: absolute;
   top: calc(100% + 14px);
   left: 50%;
   transform: translateX(-50%);
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.10);
   border-radius: 16px;
   box-shadow: 0 20px 60px rgba(8, 13, 40, 0.14), 0 4px 16px rgba(8, 13, 40, 0.06);
   min-width: 640px;
   animation: megaIn .18s var(--ease-out) both;
   z-index: 200;
   overflow: hidden
}

.mega__wrapper::before {
   content: "";
   position: absolute;
   top: -6px;
   left: 50%;
   transform: translateX(-50%) rotate(45deg);
   width: 12px;
   height: 12px;
   background: #fff;
   border-left: 1px solid rgba(8, 13, 40, 0.10);
   border-top: 1px solid rgba(8, 13, 40, 0.10)
}

@keyframes megaIn {
   from {
      opacity: 0;
      transform: translateX(-50%) translateY(-8px)
   }

   to {
      opacity: 1;
      transform: translateX(-50%) translateY(0)
   }
}

.mega__panel {
   padding: 1.5rem
}

.mega__header {
   padding-bottom: 1rem;
   margin-bottom: 1.25rem;
   border-bottom: 1px solid rgba(8, 13, 40, 0.07)
}

.mega__header-tag {
   display: inline-block;
   font-size: .65rem;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: #4F46E5;
   background: rgba(79, 70, 229, 0.08);
   border: 1px solid rgba(79, 70, 229, 0.18);
   padding: 3px 10px;
   border-radius: 99px;
   margin-bottom: .375rem
}

.mega__header-title {
   font-family: var(--font-heading);
   font-size: 1rem;
   font-weight: 800;
   color: #080D1E;
   margin: 0 0 .25rem;
   letter-spacing: -.02em
}

.mega__header-sub {
   font-size: .8rem;
   color: #647094;
   margin: 0
}

.mega__grid {
   display: grid;
   gap: .5rem
}

.mega__grid--4 {
   grid-template-columns: repeat(4, 1fr)
}

.mega__grid--2 {
   grid-template-columns: repeat(2, 1fr)
}

.mega__card {
   display: flex;
   align-items: flex-start;
   gap: .75rem;
   padding: .75rem;
   border-radius: 10px;
   text-decoration: none;
   border: 1px solid transparent;
   transition: background .15s, border-color .15s, transform .15s
}

.mega__card:hover {
   background: #F0F5FF;
   border-color: rgba(79, 70, 229, 0.15);
   transform: translateY(-1px)
}

.mega__card-icon {
   width: 36px;
   height: 36px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: rgba(79, 70, 229, 0.07);
   border-radius: 8px;
   flex-shrink: 0;
   transition: transform .15s
}

.mega__card-icon svg {
   width: 18px;
   height: 18px;
   flex-shrink: 0
}

.mega__card:hover .mega__card-icon {
   transform: scale(1.12)
}

.mega__card-label {
   font-size: .8375rem;
   font-weight: 700;
   color: #080D1E;
   white-space: nowrap;
   margin-bottom: 2px
}

.mega__card-desc {
   font-size: .72rem;
   color: #647094;
   white-space: nowrap
}

.mega__footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: 1.25rem;
   padding-top: 1rem;
   border-top: 1px solid rgba(8, 13, 40, 0.07);
   gap: 1rem
}

.mega__footer-link {
   display: inline-flex;
   align-items: center;
   gap: .375rem;
   font-size: .8rem;
   font-weight: 600;
   color: #4F46E5;
   text-decoration: none;
   transition: gap .15s, color .15s
}

.mega__footer-link:hover {
   gap: .6rem;
   color: #4338CA
}

.mega__footer-cta {
   display: inline-flex;
   align-items: center;
   padding: .4rem 1.125rem;
   background: linear-gradient(135deg, #4338CA, #4F46E5);
   color: #fff;
   font-size: .8rem;
   font-weight: 700;
   border-radius: 99px;
   text-decoration: none;
   box-shadow: 0 2px 12px rgba(79, 70, 229, 0.35);
   transition: box-shadow .2s, transform .2s
}

.mega__footer-cta:hover {
   box-shadow: 0 4px 20px rgba(37, 99, 235, 0.5);
   transform: translateY(-1px)
}

.nav__burger {
   display: none;
   flex-direction: column;
   justify-content: center;
   gap: 5px;
   width: 40px;
   height: 40px;
   padding: 8px;
   border-radius: 6px;
   flex-shrink: 0;
   background: none;
   border: none;
   cursor: pointer
}

.nav__burger span {
   display: block;
   height: 2px;
   background: #EDF0FF;
   border-radius: 1px;
   transition: transform .3s, opacity .15s;
   transform-origin: center
}

.nav__burger--open span:nth-child(1) {
   transform: translateY(7px) rotate(45deg)
}

.nav__burger--open span:nth-child(2) {
   opacity: 0;
   transform: scaleX(0)
}

.nav__burger--open span:nth-child(3) {
   transform: translateY(-7px) rotate(-45deg)
}

.nav__mobile {
   display: block;
   position: fixed;
   top: var(--nav-h);
   left: 0;
   right: 0;
   bottom: 0;
   background: #05080F;
   overflow-y: auto;
   z-index: 1001
}

.nav__mobile[hidden] {
   display: none !important
}

.nav__mobile nav {
   display: flex;
   flex-direction: column;
   padding: 1.5rem 1.25rem 3rem;
   gap: .25rem
}

.nav__mob-group {
   border-radius: 8px;
   overflow: hidden
}

.nav__mob-group-btn {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 100%;
   padding: 1rem .5rem;
   background: none;
   border: none;
   border-bottom: 1px solid rgba(99, 102, 241, 0.08);
   font-family: var(--font-heading);
   font-size: 1.25rem;
   font-weight: 700;
   color: rgba(238, 242, 255, 0.7);
   cursor: pointer;
   transition: color .15s
}

.nav__mob-group-btn:hover {
   color: #EDF0FF
}

.nav__mob-sub {
   display: flex;
   flex-direction: column;
   gap: 0;
   padding: .5rem 0 .75rem .5rem
}

.nav__mob-sub[hidden] {
   display: none !important
}

.nav__mob-sub-link {
   display: flex;
   align-items: center;
   gap: .75rem;
   padding: .6rem .75rem;
   border-radius: 8px;
   font-size: .9375rem;
   font-weight: 600;
   color: rgba(238, 242, 255, 0.60);
   text-decoration: none;
   transition: color .15s, background .15s
}

.nav__mob-sub-link:hover {
   color: #EDF0FF;
   background: rgba(99, 102, 241, 0.08)
}

.nav__mob-sub-icon {
   display: flex;
   align-items: center;
   flex-shrink: 0;
   opacity: .7
}

.nav__mob-sub-icon svg {
   width: 18px;
   height: 18px
}

.nav__mobile-link {
   display: block;
   padding: 1rem .5rem;
   border-bottom: 1px solid rgba(99, 102, 241, 0.08);
   font-family: var(--font-heading);
   font-size: 1.25rem;
   font-weight: 700;
   color: rgba(238, 242, 255, 0.7);
   text-decoration: none;
   transition: color .15s, transform .15s
}

.nav__mobile-link:hover {
   color: #6366F1;
   transform: translateX(4px)
}

.nav__mobile-cta {
   margin-top: 1.5rem;
   width: 100%;
   justify-content: center
}

@media(max-width:960px) {
   .nav__links {
      display: none
   }

   .nav__cta {
      display: none
   }

   .nav__burger {
      display: flex;
      margin-left: auto
   }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   FOOTER
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.footer {
   position: relative;
   background: #0B0F1D;
   border-top: 1px solid rgba(99, 102, 241, 0.12);
   padding-top: var(--sp-16);
   padding-bottom: var(--sp-8);
   overflow: hidden;
   color: #EDF0FF
}

.footer__glow {
   position: absolute;
   bottom: -80px;
   left: 50%;
   width: 600px;
   height: 300px;
   transform: translateX(-50%);
   background: radial-gradient(ellipse, rgba(99, 102, 241, 0.08), transparent 70%);
   pointer-events: none
}

.footer__grid {
   display: grid;
   grid-template-columns: 1.6fr 1.4fr 1fr 1fr;
   gap: var(--sp-10);
   margin-bottom: var(--sp-12)
}

.footer__logo {
   display: inline-block;
   margin-bottom: var(--sp-4);
   text-decoration: none;
   line-height: 0
}

.footer__tagline {
   font-size: .9rem;
   color: #4A5578;
   max-width: 28ch;
   margin-bottom: var(--sp-6);
   line-height: 1.6
}

.footer__socials {
   display: flex;
   gap: var(--sp-3)
}

.footer__social-link {
   width: 36px;
   height: 36px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: var(--radius-sm);
   background: rgba(99, 102, 241, 0.10);
   color: #6366F1;
   border: 1px solid rgba(79, 70, 229, 0.18);
   transition: background var(--dur-fast), transform var(--dur-fast), box-shadow var(--dur-fast)
}

.footer__social-link:hover {
   background: rgba(99, 102, 241, 0.22);
   transform: translateY(-2px);
   box-shadow: var(--shadow-teal)
}

.footer__col-heading {
   font-family: var(--font-heading);
   font-size: .8rem;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #4A5578;
   margin-bottom: var(--sp-4)
}

.footer__col ul {
   display: flex;
   flex-direction: column;
   gap: var(--sp-3)
}

.footer__link {
   font-size: .9rem;
   color: #8A96BE;
   transition: color var(--dur-fast)
}

.footer__link:hover {
   color: #6366F1
}

.footer__bottom {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding-top: var(--sp-6);
   flex-wrap: wrap;
   gap: var(--sp-2)
}

.footer__copy,
.footer__made {
   font-size: .8125rem;
   color: #4A5578;
   margin: 0
}

@media(max-width:900px) {
   .footer__grid {
      grid-template-columns: 1fr 1fr;
      gap: var(--sp-8)
   }
}

@media(max-width:560px) {
   .footer__grid {
      grid-template-columns: 1fr
   }

   .footer__bottom {
      flex-direction: column;
      align-items: flex-start
   }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HOME PAGE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.hero-section {
   position: relative;
   min-height: 100vh;
   display: flex;
   align-items: center;
   padding-top: var(--nav-h);
   overflow: hidden;
   background: #05080F
}

.hero__bg-grid {
   position: absolute;
   inset: 0;
   pointer-events: none;
   background-image: radial-gradient(circle, rgba(99, 102, 241, 0.13) 1px, transparent 1px);
   background-size: 44px 44px;
   mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 10%, transparent 100%);
   animation: grid-drift 28s ease-in-out infinite alternate
}

.hero__orb-1 {
   position: absolute;
   top: -10%;
   left: -8%;
   width: 700px;
   height: 700px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(79, 70, 229, 0.18), transparent 65%);
   pointer-events: none;
   animation: orb-drift 22s ease-in-out infinite alternate;
   will-change: transform
}

.hero__orb-2 {
   position: absolute;
   bottom: -20%;
   right: -10%;
   width: 600px;
   height: 600px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(124, 58, 237, 0.12), transparent 65%);
   pointer-events: none;
   animation: orb-drift 28s ease-in-out infinite alternate-reverse;
   will-change: transform
}

.hero__content {
   position: relative;
   z-index: 1;
   width: 100%;
   padding-block: var(--sp-16)
}

.hero__split {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-16);
   align-items: center
}

.hero__text {
   display: flex;
   flex-direction: column;
   gap: 0
}

.hero__eyebrow {
   display: inline-flex;
   align-items: center;
   gap: var(--sp-2);
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .14em;
   text-transform: uppercase;
   color: #6366F1;
   background: rgba(99, 102, 241, 0.10);
   border: 1px solid rgba(99, 102, 241, 0.22);
   padding: 6px 14px;
   border-radius: var(--radius-full);
   margin-bottom: var(--sp-6);
   width: fit-content
}

.hero__eyebrow-dot {
   width: 7px;
   height: 7px;
   background: #22C55E;
   border-radius: 50%;
   animation: live-pulse 1.8s ease-in-out infinite;
   box-shadow: 0 0 8px rgba(34, 197, 94, 0.6)
}

.hero__headline {
   font-size: clamp(2.6rem, 5vw, 4.6rem);
   font-weight: 800;
   letter-spacing: -.04em;
   line-height: 1.05;
   color: #EDF0FF;
   margin-bottom: var(--sp-6);
   animation: slide-in-left .9s var(--ease-out) both .1s
}

.text-grad {
   background: linear-gradient(135deg, #4F46E5 0%, #6366F1 45%, #8B5CF6 100%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text
}

.hero__cursor {
   display: inline-block;
   width: 3px;
   height: 1em;
   background: #6366F1;
   border-radius: 1px;
   margin-left: 2px;
   vertical-align: text-bottom;
   animation: live-pulse 1s step-end infinite
}

.hero__sub {
   font-size: clamp(1rem, 1.6vw, 1.1rem);
   color: rgba(174, 190, 220, 0.9);
   max-width: 48ch;
   line-height: 1.8;
   margin-bottom: var(--sp-10)
}

.hero__actions {
   display: flex;
   gap: var(--sp-4);
   flex-wrap: wrap;
   margin-bottom: var(--sp-8)
}

.hero__badges {
   display: flex;
   flex-wrap: wrap;
   gap: var(--sp-2)
}

.hero__badge {
   font-size: .7rem;
   font-weight: 600;
   letter-spacing: .04em;
   color: rgba(174, 190, 220, 0.7);
   background: rgba(255, 255, 255, 0.04);
   border: 1px solid rgba(99, 102, 241, 0.15);
   padding: 5px 12px;
   border-radius: var(--radius-full);
   transition: border-color var(--dur-fast), color var(--dur-fast)
}

.hero__badge:hover {
   border-color: rgba(99, 102, 241, 0.35);
   color: #EDF0FF
}

/* ── Hero Workflow Visual (replaces static image) ── */
.hero__workflow {
   position: relative;
   width: 100%;
   aspect-ratio: 4/3;
}

.wf-board {
   position: relative;
   width: 100%;
   height: 100%;
   background: rgba(16, 20, 37, 0.7);
   border: 1px solid rgba(99, 102, 241, 0.18);
   border-radius: var(--radius-xl);
   overflow: hidden;
   backdrop-filter: blur(12px);
   box-shadow: 0 24px 80px rgba(0, 0, 0, 0.50), inset 0 1px 0 rgba(99, 102, 241, 0.15);
   animation: float-up-down 9s ease-in-out infinite;
   will-change: transform;
}

/* Ambient glow inside board */
.wf-board::before {
   content: '';
   position: absolute;
   top: -60px;
   left: 50%;
   transform: translateX(-50%);
   width: 320px;
   height: 200px;
   background: radial-gradient(ellipse, rgba(99, 102, 241, 0.12) 0%, transparent 70%);
   pointer-events: none;
}

/* SVG lines layer */
.wf-lines {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   pointer-events: none;
}

.wf-line {
   opacity: 0;
   animation: wf-line-in 0.6s var(--ease-out) forwards;
}
.wf-line--1 { animation-delay: 0.4s; }
.wf-line--2 { animation-delay: 0.8s; }
.wf-line--3 { animation-delay: 1.0s; }
.wf-line--4 { animation-delay: 1.4s; }

/* Workflow nodes */
.wf-node {
   position: absolute;
   display: flex;
   align-items: center;
   gap: 10px;
   background: rgba(16, 20, 37, 0.85);
   border: 1px solid rgba(99, 102, 241, 0.20);
   border-radius: 14px;
   padding: 12px 14px;
   width: 148px;
   backdrop-filter: blur(8px);
   opacity: 0;
   transform: translateY(12px);
   transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out),
               box-shadow 0.3s, border-color 0.3s;
   box-shadow: 0 4px 20px rgba(0, 0, 0, 0.30);
}

.wf-node:hover {
   border-color: rgba(99, 102, 241, 0.45);
   box-shadow: 0 8px 32px rgba(99, 102, 241, 0.18);
   transform: translateY(-2px) !important;
}

.wf-node--1 { animation: wf-node-in 0.5s var(--ease-out) 0.2s forwards; }
.wf-node--2 { animation: wf-node-in 0.5s var(--ease-out) 0.5s forwards; }
.wf-node--3 { animation: wf-node-in 0.5s var(--ease-out) 0.8s forwards; }
.wf-node--4 { animation: wf-node-in 0.5s var(--ease-out) 1.1s forwards; }
.wf-node--5 { animation: wf-node-in 0.5s var(--ease-out) 1.5s forwards; }

.wf-node--center {
   width: 160px;
   background: rgba(79, 70, 229, 0.15);
   border-color: rgba(99, 102, 241, 0.35);
}

.wf-node__icon {
   width: 36px;
   height: 36px;
   border-radius: 10px;
   background: rgba(99, 102, 241, 0.15);
   border: 1px solid rgba(99, 102, 241, 0.25);
   color: #818CF8;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
}

.wf-node__icon--accent {
   background: rgba(79, 70, 229, 0.25);
   border-color: rgba(99, 102, 241, 0.45);
   color: #A5B4FC;
}

.wf-node__icon--green {
   background: rgba(16, 185, 129, 0.12);
   border-color: rgba(16, 185, 129, 0.30);
   color: #34D399;
}

.wf-node__body { flex: 1; min-width: 0; }

.wf-node__num {
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .08em;
   color: rgba(165, 180, 252, 0.55);
   margin-bottom: 2px;
}

.wf-node__title {
   font-size: 13px;
   font-weight: 700;
   color: #EDF0FF;
   margin-bottom: 6px;
   font-family: var(--font-heading);
}

.wf-node__bar {
   height: 3px;
   background: rgba(99, 102, 241, 0.12);
   border-radius: 99px;
   overflow: hidden;
}

.wf-node__bar-fill {
   height: 100%;
   background: linear-gradient(90deg, #4F46E5, #8B5CF6);
   border-radius: 99px;
   width: 0;
   animation: wf-bar-grow 1.2s var(--ease-out) calc(var(--bar-delay, 0s) + 0.8s) forwards;
}

.wf-node__bar-fill--green {
   background: linear-gradient(90deg, #059669, #10B981);
}

/* Pulse ring on active nodes */
.wf-node__pulse {
   position: absolute;
   top: 10px;
   right: 10px;
   width: 8px;
   height: 8px;
   border-radius: 50%;
   background: #6366F1;
   box-shadow: 0 0 6px rgba(99, 102, 241, 0.8);
   animation: live-pulse 2s ease-in-out infinite;
}

.wf-node__pulse--accent {
   background: #8B5CF6;
   box-shadow: 0 0 8px rgba(139, 92, 246, 0.9);
   animation: live-pulse 1.5s ease-in-out infinite;
}

/* Live counter */
.wf-counter {
   font-family: var(--font-heading);
   font-size: 28px;
   font-weight: 800;
   color: #EDF0FF;
   letter-spacing: -.04em;
   line-height: 1;
   margin-bottom: 4px;
}

.wf-node--5 {
   width: 100px;
   flex-direction: column;
   gap: 0;
   text-align: center;
   padding: 14px 10px;
   background: rgba(16, 185, 129, 0.08);
   border-color: rgba(16, 185, 129, 0.25);
}

/* Floating chips above/around the board */
.wf-chip {
   position: absolute;
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 12px;
   font-weight: 600;
   color: #EDF0FF;
   background: rgba(16, 20, 37, 0.90);
   border: 1px solid rgba(99, 102, 241, 0.25);
   border-radius: 99px;
   padding: 7px 14px;
   backdrop-filter: blur(10px);
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.30);
   z-index: 2;
   opacity: 0;
   animation: wf-chip-in 0.5s var(--ease-out) forwards;
   white-space: nowrap;
}

.wf-chip__dot {
   width: 7px;
   height: 7px;
   background: #22C55E;
   border-radius: 50%;
   box-shadow: 0 0 6px rgba(34, 197, 94, 0.8);
   animation: live-pulse 1.8s ease-in-out infinite;
   flex-shrink: 0;
}

.wf-chip--a {
   top: -16px;
   left: 20px;
   animation-delay: 1.8s;
   animation-name: wf-chip-in;
   animation-fill-mode: forwards;
   animation-duration: .5s;
}

.wf-chip--b {
   top: -16px;
   right: 20px;
   animation-delay: 2s;
}

.wf-chip--c {
   bottom: -16px;
   left: 50%;
   transform: translateX(-50%);
   animation-delay: 2.2s;
   background: rgba(16, 185, 129, 0.12);
   border-color: rgba(16, 185, 129, 0.30);
   color: #6EE7B7;
}

/* Keyframes */
@keyframes wf-node-in {
   to { opacity: 1; transform: translateY(0); }
}

@keyframes wf-line-in {
   to { opacity: 1; }
}

@keyframes wf-bar-grow {
   from { width: 0; }
}

@keyframes wf-chip-in {
   from { opacity: 0; transform: translateY(-6px); }
   to { opacity: 1; transform: translateY(0); }
}

.wf-chip--c {
   animation-name: wf-chip-in-up;
}

@keyframes wf-chip-in-up {
   from { opacity: 0; transform: translateX(-50%) translateY(6px); }
   to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* Keep old hero image styles for DB-driven fallback */
.hero__img-frame {
   position: relative;
   border-radius: var(--radius-xl);
   overflow: hidden;
   border: 1px solid rgba(99, 102, 241, 0.2);
   box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
   aspect-ratio: 4/3;
   animation: float-up-down 9s ease-in-out infinite
}

.hero__img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
   transition: transform .9s var(--ease-out)
}

.hero__img-frame:hover .hero__img {
   transform: scale(1.04)
}

.hero__img-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to bottom, transparent 40%, rgba(5, 8, 15, 0.65) 100%)
}

.hero__live-badge {
   position: absolute;
   bottom: 16px;
   left: 16px;
   display: flex;
   align-items: center;
   gap: 8px;
   font-size: 12px;
   font-weight: 600;
   color: #fff;
   background: rgba(5, 8, 15, 0.7);
   backdrop-filter: blur(14px);
   padding: 7px 14px;
   border-radius: var(--radius-full);
   border: 1px solid rgba(255, 255, 255, 0.1)
}

.hero__live-dot {
   width: 7px;
   height: 7px;
   background: #22C55E;
   border-radius: 50%;
   animation: live-pulse 1.8s ease-in-out infinite;
   box-shadow: 0 0 6px rgba(34, 197, 94, 0.7)
}

.hero__chip {
   position: absolute;
   display: flex;
   align-items: center;
   gap: 12px;
   background: rgba(5, 8, 15, 0.82);
   backdrop-filter: blur(18px);
   border: 1px solid rgba(99, 102, 241, 0.22);
   border-radius: var(--radius-md);
   padding: 12px 16px;
   color: #fff
}

.hero__chip--tl {
   top: 16px;
   right: 16px;
   animation: float-up-down 6s ease-in-out infinite 1s
}

.hero__chip--br {
   bottom: 40px;
   right: 16px;
   animation: float-up-down 7.5s ease-in-out infinite .5s
}

.hero__chip-num {
   font-family: var(--font-heading);
   font-size: 21px;
   font-weight: 800;
   color: #6366F1
}

.hero__chip-lbl {
   font-size: 11px;
   color: rgba(237, 240, 255, 0.65);
   line-height: 1.3
}

.hero__scroll {
   position: absolute;
   bottom: var(--sp-8);
   left: 50%;
   transform: translateX(-50%);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: var(--sp-2);
   color: rgba(174, 190, 220, 0.45);
   font-size: .65rem;
   font-weight: 600;
   letter-spacing: .1em;
   text-transform: uppercase
}

.hero__scroll-mouse {
   width: 22px;
   height: 36px;
   border: 1.5px solid rgba(75, 142, 255, 0.3);
   border-radius: 11px;
   display: flex;
   align-items: flex-start;
   justify-content: center;
   padding-top: 5px
}

.hero__scroll-dot {
   width: 3px;
   height: 7px;
   background: #6366F1;
   border-radius: 2px;
   animation: scroll-bounce 1.8s ease-in-out infinite
}

/* Marquee */
.marquee-section {
   background: #fff;
   border-top: 1px solid rgba(8, 13, 40, 0.06);
   border-bottom: 1px solid rgba(8, 13, 40, 0.06);
   padding: var(--sp-6) 0;
   overflow: hidden
}

.marquee-label {
   text-align: center;
   font-size: .7rem;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
   color: #9AA6C0;
   margin-bottom: var(--sp-4)
}

.marquee-track {
   overflow: hidden
}

.marquee-inner {
   display: flex;
   width: max-content;
   animation: marquee-scroll 20s linear infinite;
   will-change: transform
}

.marquee-item {
   font-family: var(--font-heading);
   font-size: 1.05rem;
   font-weight: 700;
   color: #B0BDDB;
   padding: 0 var(--sp-8);
   border-right: 1px solid rgba(37, 99, 235, 0.1);
   transition: color var(--dur-fast)
}

.marquee-item:hover {
   color: #4F46E5
}

/* Stats */
.stats-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-4)
}

.stat-block {
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-xl);
   padding: var(--sp-8) var(--sp-6);
   text-align: center;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: var(--sp-3);
   box-shadow: 0 2px 12px rgba(8, 13, 40, 0.04);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base)
}

.stat-block:hover {
   transform: translateY(-4px);
   box-shadow: 0 8px 28px rgba(8, 13, 40, 0.08)
}

.stat-icon-wrap {
   width: 48px;
   height: 48px;
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

.stat-icon-wrap svg {
   width: 22px;
   height: 22px;
   flex-shrink: 0
}

/* Services grid */
.services-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-12)
}

.service-card {
   position: relative;
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-xl);
   padding: var(--sp-8);
   overflow: hidden;
   box-shadow: 0 2px 16px rgba(8, 13, 40, 0.05);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base)
}

.service-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 16px 48px rgba(8, 13, 40, 0.1)
}

.service-card__accent {
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 3px;
   border-radius: var(--radius-xl) var(--radius-xl) 0 0;
   opacity: 0;
   transition: opacity var(--dur-base)
}

.service-card:hover .service-card__accent {
   opacity: 1
}

.service-card__icon {
   width: 56px;
   height: 56px;
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: var(--sp-4);
   border: 1px solid;
   flex-shrink: 0;
   transition: transform var(--dur-base) var(--ease-spring)
}

.service-card__icon svg {
   width: 28px;
   height: 28px;
   flex-shrink: 0
}

.service-card:hover .service-card__icon {
   transform: scale(1.1) rotate(-4deg)
}

.service-card__title {
   font-size: 1.15rem;
   font-weight: 700;
   color: #080D1E;
   margin-bottom: var(--sp-3);
   letter-spacing: -.02em
}

.service-card__body {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.75;
   margin-bottom: var(--sp-5)
}

.service-card__link {
   display: inline-flex;
   align-items: center;
   gap: var(--sp-2);
   font-size: .875rem;
   font-weight: 600;
   transition: gap var(--dur-fast)
}

.service-card__link:hover {
   gap: var(--sp-3)
}

.section-cta-row {
   display: flex;
   justify-content: center;
   margin-top: var(--sp-10)
}

@media(max-width:1024px) {
   .services-grid {
      grid-template-columns: repeat(3, 1fr)
   }
}

@media(max-width:768px) {
   .services-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .stats-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .hero__split {
      grid-template-columns: 1fr
   }

   .hero__visual {
      display: none
   }
}

@media(max-width:480px) {
   .services-grid {
      grid-template-columns: 1fr
   }

   .stats-grid {
      grid-template-columns: 1fr
   }
}

/* â”€â”€ Home Process section â”€â”€ */
.process-layout {
   display: grid;
   grid-template-columns: 5fr 7fr;
   gap: var(--sp-12);
   align-items: start
}

.process-left {
   position: sticky;
   top: calc(var(--nav-h) + var(--sp-8))
}

.process-left__actions {
   display: flex;
   gap: var(--sp-3);
   flex-wrap: wrap;
   margin-top: var(--sp-6);
   margin-bottom: var(--sp-6)
}

.process-mini-stat {
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.08);
   border-radius: var(--radius-lg);
   padding: var(--sp-4) var(--sp-6);
   box-shadow: 0 2px 12px rgba(8, 13, 40, 0.04);
   display: inline-flex;
   flex-direction: column;
   gap: var(--sp-1)
}

.process-mini-stat__num {
   font-family: var(--font-heading);
   font-size: 2rem;
   font-weight: 800;
   color: #4F46E5;
   letter-spacing: -.04em;
   line-height: 1
}

.process-mini-stat__lbl {
   font-size: .8125rem;
   color: #647094
}

.process-steps {
   display: flex;
   flex-direction: column;
   gap: var(--sp-3)
}

.process-step {
   position: relative;
   display: flex;
   align-items: flex-start;
   gap: var(--sp-4);
   padding: var(--sp-5);
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-lg);
   box-shadow: 0 2px 12px rgba(8, 13, 40, 0.04);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base)
}

.process-step:hover {
   transform: translateX(4px);
   box-shadow: 0 6px 24px rgba(8, 13, 40, 0.08);
   border-color: rgba(37, 99, 235, 0.2)
}

/* Icon column removed â€” icon is now a standalone flex-start element */

.process-step__num {
   font-size: .6rem;
   font-weight: 800;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #4F46E5;
   line-height: 1;
   margin-bottom: 4px
}

.process-step__icon {
   width: 42px;
   height: 42px;
   flex-shrink: 0;
   background: rgba(79, 70, 229, 0.07);
   border: 1px solid rgba(79, 70, 229, 0.15);
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-top: 2px;
   transition: transform var(--dur-base) var(--ease-spring), background var(--dur-base)
}

.process-step__icon svg {
   width: 20px;
   height: 20px;
   flex-shrink: 0
}

.process-step:hover .process-step__icon {
   transform: scale(1.1);
   background: rgba(79, 70, 229, 0.12)
}

.process-step__body {
   flex: 1;
   min-width: 0
}

.process-step__title {
   font-size: 1rem;
   font-weight: 700;
   color: #080D1E;
   margin-bottom: var(--sp-1);
   letter-spacing: -.01em;
   line-height: 1.2
}

.process-step__desc {
   font-size: .84rem;
   color: #647094;
   line-height: 1.6
}

/* Testimonials */
.testimonials-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-12)
}

.tcard {
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-xl);
   padding: var(--sp-8);
   display: flex;
   flex-direction: column;
   gap: var(--sp-5);
   box-shadow: 0 2px 16px rgba(8, 13, 40, 0.05);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base)
}

.tcard:hover {
   transform: translateY(-6px);
   box-shadow: 0 16px 48px rgba(8, 13, 40, 0.1);
   border-color: rgba(79, 70, 229, 0.18)
}

.tcard__stars {
   display: flex;
   gap: 2px
}

.tcard__quote {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.8;
   font-style: italic;
   flex: 1
}

.tcard__metric {
   font-size: .72rem;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #4F46E5;
   background: rgba(79, 70, 229, 0.07);
   border: 1px solid rgba(79, 70, 229, 0.18);
   padding: 5px 12px;
   border-radius: var(--radius-full);
   width: fit-content
}

.tcard__author {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   padding-top: var(--sp-4);
   border-top: 1px solid rgba(8, 13, 40, 0.07);
   margin-top: auto
}

.tcard__avatar {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   object-fit: cover;
   flex-shrink: 0;
   border: 2px solid rgba(79, 70, 229, 0.15)
}

.tcard__name {
   font-size: .9rem;
   font-weight: 700;
   color: #080D1E
}

.tcard__role {
   font-size: .78rem;
   color: #647094;
   margin-top: 1px
}

/* Features */
.features-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-12)
}

.feature-card {
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-xl);
   padding: var(--sp-6);
   box-shadow: 0 2px 12px rgba(8, 13, 40, 0.04);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base), border-color var(--dur-base)
}

.feature-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 12px 36px rgba(8, 13, 40, 0.09);
   border-color: rgba(79, 70, 229, 0.18)
}

.feature-card__icon {
   width: 52px;
   height: 52px;
   background: rgba(79, 70, 229, 0.07);
   border: 1px solid rgba(79, 70, 229, 0.13);
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: var(--sp-4);
   flex-shrink: 0;
   transition: transform var(--dur-base) var(--ease-spring)
}

.feature-card__icon svg {
   width: 24px;
   height: 24px;
   flex-shrink: 0
}

.feature-card:hover .feature-card__icon {
   transform: scale(1.12) rotate(-4deg)
}

.feature-card__title {
   font-size: 1rem;
   font-weight: 700;
   color: #080D1E;
   margin-bottom: var(--sp-2)
}

.feature-card__body {
   font-size: .875rem;
   color: #334068;
   line-height: 1.72
}

/* CTA banner */
.cta-banner {
   position: relative;
   overflow: hidden;
   background: #05080F;
   padding-block: var(--sp-20)
}

.cta-banner__orb-1 {
   position: absolute;
   top: -20%;
   left: -10%;
   width: 600px;
   height: 600px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(79, 70, 229, 0.15), transparent 65%);
   pointer-events: none;
   animation: orb-drift 22s ease-in-out infinite alternate;
   will-change: transform
}

.cta-banner__orb-2 {
   position: absolute;
   bottom: -20%;
   right: -10%;
   width: 500px;
   height: 500px;
   border-radius: 50%;
   background: radial-gradient(circle, rgba(124, 58, 237, 0.12), transparent 65%);
   pointer-events: none;
   animation: orb-drift 28s ease-in-out infinite alternate-reverse;
   will-change: transform
}

.cta-banner__grid {
   position: absolute;
   inset: 0;
   pointer-events: none;
   background-image: radial-gradient(circle, rgba(75, 142, 255, 0.1) 1px, transparent 1px);
   background-size: 40px 40px;
   mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 10%, transparent 100%)
}

.cta-banner__inner {
   position: relative;
   z-index: 1;
   display: grid;
   grid-template-columns: 1fr auto;
   gap: var(--sp-12);
   align-items: center
}

.cta-banner__heading {
   font-size: clamp(2rem, 4vw, 3.2rem);
   font-weight: 800;
   letter-spacing: -.04em;
   line-height: 1.1;
   color: #EDF0FF;
   margin-bottom: var(--sp-4)
}

.cta-banner__heading-accent {
   background: linear-gradient(135deg, #6366F1, #A78BFA);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text
}

.cta-banner__sub {
   font-size: 1.05rem;
   color: rgba(174, 190, 220, 0.85);
   max-width: 52ch;
   line-height: 1.8;
   margin-bottom: var(--sp-8)
}

.cta-banner__actions {
   display: flex;
   gap: var(--sp-4);
   flex-wrap: wrap
}

.cta-card {
   background: rgba(255, 255, 255, 0.04);
   border: 1px solid rgba(99, 102, 241, 0.18);
   border-radius: var(--radius-xl);
   padding: var(--sp-8);
   min-width: 260px;
   backdrop-filter: blur(12px);
   display: flex;
   flex-direction: column;
   gap: var(--sp-4)
}

.cta-card__row {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   font-size: .9rem;
   color: rgba(238, 242, 255, 0.8);
   font-weight: 500
}

.cta-card__icon {
   width: 28px;
   height: 28px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0
}

.cta-card__icon svg {
   width: 16px;
   height: 16px;
   flex-shrink: 0
}

.cta-card__btn {
   display: flex;
   align-items: center;
   justify-content: center;
   margin-top: var(--sp-2);
   padding: .75rem 1.5rem;
   background: linear-gradient(135deg, #4338CA, #6366F1);
   color: #fff;
   font-size: .9rem;
   font-weight: 700;
   border-radius: var(--radius-full);
   letter-spacing: .01em;
   box-shadow: 0 4px 20px rgba(99, 102, 241, 0.35);
   transition: box-shadow var(--dur-base), transform var(--dur-base) var(--ease-out)
}

.cta-card__btn:hover {
   box-shadow: 0 8px 32px rgba(75, 142, 255, 0.5);
   transform: translateY(-2px)
}

@media(max-width:1100px) {
   .features-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .process-layout {
      grid-template-columns: 1fr
   }

   .process-left {
      position: static
   }
}

@media(max-width:960px) {
   .testimonials-grid {
      grid-template-columns: 1fr
   }

   .cta-banner__inner {
      grid-template-columns: 1fr
   }

   .cta-card {
      min-width: unset
   }
}

@media(max-width:768px) {
   .features-grid {
      grid-template-columns: 1fr
   }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SERVICES, ABOUT, CLIENTS, PROCESS, BLOG, CONTACT pages
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
/* Services page nav */
.services-nav {
   background: #fff;
   border-bottom: 1px solid rgba(8, 13, 40, 0.07);
   padding: var(--sp-3) 0;
   overflow-x: auto;
   position: sticky;
   top: var(--nav-h);
   z-index: 50
}

.services-nav__list {
   display: flex;
   gap: var(--sp-3);
   padding-inline: var(--sp-6)
}

.services-nav__link {
   display: inline-flex;
   align-items: center;
   gap: var(--sp-2);
   padding: .5rem 1rem;
   border-radius: var(--radius-full);
   font-size: .8125rem;
   font-weight: 600;
   color: #647094;
   border: 1px solid rgba(8, 13, 40, 0.08);
   white-space: nowrap;
   transition: all var(--dur-fast)
}

.services-nav__link:hover {
   color: var(--link-color, #4F46E5);
   background: rgba(79, 70, 229, 0.06);
   border-color: var(--link-color, #4F46E5)
}

.services-nav__icon {
   width: 26px;
   height: 26px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 6px
}

/* Service section */
.service-section__layout {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-16);
   align-items: start
}

.service-section__metric {
   display: inline-flex;
   align-items: center;
   gap: var(--sp-4);
   padding: var(--sp-4) var(--sp-6);
   border-radius: var(--radius-lg);
   border: 1px solid;
   margin-bottom: var(--sp-6)
}

.service-metric__value {
   font-family: var(--font-heading);
   font-size: 2rem;
   font-weight: 800;
   line-height: 1
}

.service-metric__label {
   font-size: .8125rem;
   color: #647094;
   max-width: 12ch;
   line-height: 1.4
}

.service-section__actions {
   display: flex;
   gap: var(--sp-3);
   flex-wrap: wrap;
   margin-bottom: var(--sp-6)
}

.service-section__img-wrap {
   display: block;
   border-radius: var(--radius-xl);
   overflow: hidden;
   position: relative;
   border: 1px solid rgba(8, 13, 40, 0.08);
   box-shadow: 0 8px 32px rgba(8, 13, 40, 0.08);
   margin-bottom: var(--sp-5)
}

.service-section__img {
   width: 100%;
   aspect-ratio: 16/9;
   object-fit: cover;
   display: block;
   transition: transform .6s var(--ease-out)
}

.service-section__img-wrap:hover .service-section__img {
   transform: scale(1.03)
}

.service-section__img-badge {
   position: absolute;
   bottom: var(--sp-4);
   right: var(--sp-4);
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   padding: .5rem 1rem;
   border-radius: var(--radius-full);
   color: #fff;
   font-size: .75rem;
   font-weight: 700;
   backdrop-filter: blur(10px)
}

.service-section__features {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: var(--sp-3)
}

.svc-feature-item {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   padding: var(--sp-3) var(--sp-4);
   background: #F4F6FF;
   border-radius: var(--radius-md);
   border: 1px solid rgba(8, 13, 40, 0.06)
}

.svc-feature-item__check {
   width: 24px;
   height: 24px;
   border-radius: 6px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   border: 1px solid
}

.svc-feature-item__text {
   font-size: .8125rem;
   font-weight: 600;
   color: #080D1E
}

@media(max-width:900px) {
   .service-section__layout {
      grid-template-columns: 1fr
   }
}

/* About */
.team-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-12)
}

.team-card {
   text-align: center
}

.team-card__photo-wrap {
   margin-bottom: var(--sp-4);
   display: flex;
   justify-content: center
}

.team-card__photo {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   object-fit: cover;
   border: 3px solid rgba(37, 99, 235, 0.2)
}

.team-card__avatar {
   width: 80px;
   height: 80px;
   border-radius: 50%;
   background: linear-gradient(135deg, #4F46E5, #7C3AED);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.2rem;
   font-weight: 700;
   color: #fff
}

.team-card__name {
   font-size: 1rem;
   font-weight: 700;
   color: #080D1E;
   margin-bottom: var(--sp-1)
}

.team-card__role {
   font-size: .8rem;
   color: #6366F1;
   font-weight: 600;
   margin-bottom: var(--sp-3)
}

.team-card__bio {
   font-size: .825rem;
   color: #334068;
   line-height: 1.65
}

.about-mission__layout {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-16);
   align-items: center
}

.about-mission__awards {
   display: flex;
   flex-direction: column;
   gap: var(--sp-3)
}

.award-badge {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   padding: var(--sp-3) var(--sp-4);
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   border-radius: var(--radius-md);
   font-size: .875rem;
   font-weight: 600;
   color: #080D1E;
   box-shadow: 0 2px 8px rgba(8, 13, 40, 0.04)
}

.award-badge__icon {
   width: 24px;
   height: 24px;
   background: rgba(37, 99, 235, 0.1);
   border-radius: 50%;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   color: #4F46E5
}

.cases-list {
   display: flex;
   flex-direction: column;
   gap: var(--sp-12)
}

.case-card {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-10);
   align-items: start
}

.case-card--flip {
   direction: rtl
}

.case-card--flip>* {
   direction: ltr
}

.case-card__industry {
   font-size: .75rem;
   font-weight: 700;
   color: #6366F1;
   letter-spacing: .08em;
   text-transform: uppercase;
   margin-bottom: var(--sp-2)
}

.case-card__client {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-5)
}

.case-card__block {
   margin-bottom: var(--sp-4)
}

.case-card__block-label {
   font-size: .7rem;
   font-weight: 800;
   text-transform: uppercase;
   letter-spacing: .1em;
   color: #647094;
   margin-bottom: var(--sp-2)
}

.case-card__block-text {
   font-size: .9rem;
   color: #334068;
   line-height: 1.7
}

.case-card__img-wrap {
   border-radius: var(--radius-xl);
   overflow: hidden;
   margin-bottom: var(--sp-4)
}

.case-card__img {
   width: 100%;
   aspect-ratio: 2/1;
   object-fit: cover
}

.case-card__metrics {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-4)
}

.case-metric__value {
   font-family: var(--font-heading);
   font-size: 1.5rem;
   font-weight: 800;
   color: #4F46E5
}

.case-metric__label {
   font-size: .72rem;
   color: #647094;
   line-height: 1.4
}

@media(max-width:1024px) {
   .team-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .about-mission__layout {
      grid-template-columns: 1fr
   }

   .case-card {
      grid-template-columns: 1fr
   }
}

@media(max-width:600px) {
   .team-grid {
      grid-template-columns: repeat(2, 1fr)
   }
}

/* Clients */
.clients-stats__grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-6)
}

.clients-stat {
   text-align: center;
   padding: var(--sp-6);
   background: #fff;
   border-radius: var(--radius-xl);
   border: 1px solid rgba(8, 13, 40, 0.07)
}

.clients-stat__icon {
   width: 52px;
   height: 52px;
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto var(--sp-3);
   background: rgba(79, 70, 229, 0.07);
   border: 1px solid rgba(79, 70, 229, 0.13);
   border-radius: var(--radius-md);
   color: #4F46E5
}

.clients-stat__icon svg {
   width: 24px;
   height: 24px;
   flex-shrink: 0
}

.clients-grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: var(--sp-5);
   margin-top: var(--sp-12)
}

.client-card {
   position: relative;
   overflow: hidden
}

.client-card__header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   margin-bottom: var(--sp-3)
}

.client-card__logo-wrap {
   width: 48px;
   height: 48px;
   border-radius: 10px;
   overflow: hidden;
   display: flex;
   align-items: center;
   justify-content: center
}

.client-card__since {
   font-size: .7rem;
   font-weight: 700;
   color: #647094
}

.client-card__name {
   font-size: 1rem;
   font-weight: 700;
   color: #080D1E;
   margin-bottom: var(--sp-2)
}

.client-card__desc {
   font-size: .825rem;
   color: #334068;
   line-height: 1.65;
   margin-bottom: var(--sp-3)
}

.client-card__meta {
   display: flex;
   align-items: center;
   justify-content: space-between
}

.client-card__industry {
   font-size: .75rem;
   font-weight: 700
}

.client-card__size {
   font-size: .72rem;
   color: #9AA6C0
}

.client-card__bar {
   height: 3px;
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   opacity: .6
}

.client-testimonials {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-12)
}

.client-testimonial {
   padding: var(--sp-6)
}

.client-testimonial__quote-mark {
   font-size: 4rem;
   line-height: .8;
   color: rgba(75, 142, 255, 0.3);
   font-family: Georgia, serif;
   margin-bottom: var(--sp-3)
}

.client-testimonial__text {
   font-size: .9375rem;
   color: var(--dark-text-muted);
   line-height: 1.8;
   font-style: italic;
   margin-bottom: var(--sp-5)
}

.client-testimonial__footer {
   display: flex;
   align-items: center;
   gap: var(--sp-3)
}

.client-testimonial__photo {
   width: 48px;
   height: 48px;
   border-radius: 50%;
   object-fit: cover;
   flex-shrink: 0
}

.client-testimonial__author strong {
   display: block;
   font-size: .875rem;
   color: var(--dark-text)
}

.client-testimonial__author span {
   font-size: .78rem;
   color: var(--dark-text-muted)
}

.client-testimonial__metric {
   margin-left: auto;
   font-size: .7rem;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: var(--clr-teal);
   background: rgba(75, 142, 255, 0.1);
   border: 1px solid rgba(75, 142, 255, 0.2);
   padding: 4px 10px;
   border-radius: var(--radius-full)
}

@media(max-width:1024px) {
   .clients-grid {
      grid-template-columns: repeat(3, 1fr)
   }

   .clients-stats__grid {
      grid-template-columns: repeat(2, 1fr)
   }
}

@media(max-width:768px) {
   .clients-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .client-testimonials {
      grid-template-columns: 1fr
   }
}

@media(max-width:480px) {
   .clients-grid {
      grid-template-columns: 1fr
   }

   .clients-stats__grid {
      grid-template-columns: repeat(2, 1fr)
   }
}

/* â”€â”€ Process page â”€â”€ */
.flowchart {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0;
   margin-top: var(--sp-12);
   flex-wrap: wrap
}

.flowchart__item {
   display: flex;
   align-items: center
}

.flowchart__node {
   position: relative;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: var(--sp-3);
   cursor: pointer;
   padding: var(--sp-4);
   border-radius: var(--radius-lg);
   border: 2px solid rgba(8, 13, 40, 0.07);
   background: #fff;
   transition: all var(--dur-base) var(--ease-out);
   min-width: 140px
}

.flowchart__node--active {
   border-color: var(--node-color, #4F46E5);
   box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1), 0 8px 24px rgba(8, 13, 40, 0.1)
}

.flowchart__circle {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   background: rgba(79, 70, 229, 0.08);
   border: 2px solid rgba(37, 99, 235, 0.2);
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative
}

.flowchart__node--active .flowchart__circle {
   background: var(--node-color, #4F46E5);
   border-color: var(--node-color, #4F46E5);
   color: #fff
}

.flowchart__circle-num {
   font-family: var(--font-heading);
   font-size: 1.2rem;
   font-weight: 800
}

.flowchart__label {
   text-align: center
}

.flowchart__label strong {
   display: block;
   font-size: .875rem;
   font-weight: 700;
   color: #080D1E
}

.flowchart__label span {
   font-size: .72rem;
   color: #647094
}

.flowchart__connector {
   width: 40px;
   height: 2px;
   background: rgba(8, 13, 40, 0.1);
   position: relative;
   flex-shrink: 0
}

.flowchart__connector-fill {
   position: absolute;
   inset: 0;
   background: var(--node-color, #4F46E5);
   transform: scaleX(0);
   transform-origin: left;
   transition: transform 0.5s var(--ease-out)
}

.flowchart__connector-fill--active {
   transform: scaleX(1)
}

.phases-list {
   display: flex;
   flex-direction: column;
   gap: var(--sp-16);
   margin-top: var(--sp-12)
}

.phase-detail {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-12);
   align-items: center
}

.phase-detail--flip {
   direction: rtl
}

.phase-detail--flip>* {
   direction: ltr
}

.phase-detail__img-wrap {
   position: relative;
   border-radius: var(--radius-xl);
   overflow: hidden
}

.phase-detail__img {
   width: 100%;
   aspect-ratio: 16/10;
   object-fit: cover
}

.phase-detail__img-badge {
   position: absolute;
   top: var(--sp-4);
   right: var(--sp-4);
   display: flex;
   gap: var(--sp-2);
   padding: .4rem .875rem;
   background: rgba(6, 11, 26, 0.75);
   backdrop-filter: blur(10px);
   border-radius: var(--radius-full);
   border: 1px solid rgba(255, 255, 255, 0.1);
   font-size: .72rem;
   font-weight: 700;
   color: #fff
}

.phase-detail__icon-wrap {
   width: 48px;
   height: 48px;
   background: rgba(79, 70, 229, 0.08);
   border: 1px solid rgba(79, 70, 229, 0.18);
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   margin-bottom: var(--sp-4);
   color: #4F46E5
}

.phase-detail__title {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-4)
}

.phase-detail__body {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.8;
   margin-bottom: var(--sp-6)
}

.phase-detail__deliverables {
   display: flex;
   flex-direction: column;
   gap: var(--sp-2)
}

.phase-detail__deliverables li {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   font-size: .875rem;
   color: #334068
}

.phase-detail__deliverables li svg {
   color: #4F46E5;
   flex-shrink: 0
}

@media(max-width:900px) {
   .phase-detail {
      grid-template-columns: 1fr
   }

   .flowchart {
      gap: var(--sp-4);
      flex-direction: column
   }
}

/* â”€â”€ Blog â”€â”€ */
.blog-controls {
   background: #fff;
   border-bottom: 1px solid rgba(8, 13, 40, 0.06);
   padding: var(--sp-4) 0;
   position: sticky;
   top: var(--nav-h);
   z-index: 50
}

.blog-controls__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: var(--sp-4);
   flex-wrap: wrap
}

.blog-cats {
   display: flex;
   gap: var(--sp-2);
   flex-wrap: wrap
}

.blog-cat {
   padding: .4rem .875rem;
   border-radius: var(--radius-full);
   font-size: .8125rem;
   font-weight: 600;
   color: #647094;
   border: 1px solid rgba(8, 13, 40, 0.1);
   transition: all var(--dur-fast);
   background: none;
   cursor: pointer
}

.blog-cat:hover,
.blog-cat--active {
   color: #4F46E5;
   background: rgba(79, 70, 229, 0.07);
   border-color: rgba(37, 99, 235, 0.3)
}

.blog-search {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   background: #F4F6FF;
   border: 1px solid rgba(8, 13, 40, 0.08);
   border-radius: var(--radius-full);
   padding: .4rem .875rem
}

.blog-search__input {
   background: none;
   border: none;
   font-family: var(--font-body);
   font-size: .875rem;
   color: #080D1E;
   outline: none;
   width: 200px
}

.blog-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-4)
}

.blog-card {
   display: block;
   text-decoration: none;
   border-radius: var(--radius-xl);
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   box-shadow: 0 2px 12px rgba(8, 13, 40, 0.04);
   transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base)
}

.blog-card:hover {
   transform: translateY(-6px);
   box-shadow: 0 16px 40px rgba(8, 13, 40, 0.1)
}

.blog-card__img-wrap {
   position: relative;
   overflow: hidden
}

.blog-card__img {
   width: 100%;
   aspect-ratio: 16/9;
   object-fit: cover;
   transition: transform .6s var(--ease-out)
}

.blog-card:hover .blog-card__img {
   transform: scale(1.05)
}

.blog-card__cat {
   position: absolute;
   top: var(--sp-3);
   left: var(--sp-3);
   font-size: .7rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
   padding: 3px 10px;
   border-radius: var(--radius-full);
   border: 1px solid
}

.blog-card__body {
   padding: var(--sp-5)
}

.blog-card__title {
   font-size: 1rem;
   font-weight: 700;
   color: #080D1E;
   line-height: 1.4;
   margin-bottom: var(--sp-2)
}

.blog-card__excerpt {
   font-size: .8375rem;
   color: #647094;
   line-height: 1.65;
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden
}

.blog-card__footer {
   display: flex;
   align-items: center;
   justify-content: space-between;
   margin-top: var(--sp-4);
   padding-top: var(--sp-4);
   border-top: 1px solid rgba(8, 13, 40, 0.06)
}

.blog-card__author {
   display: flex;
   align-items: center;
   gap: var(--sp-2)
}

.blog-card__author-photo {
   width: 28px;
   height: 28px;
   border-radius: 50%;
   object-fit: cover
}

.blog-meta__author {
   font-size: .75rem;
   font-weight: 700;
   color: #080D1E
}

.blog-meta__date {
   font-size: .7rem;
   color: #9AA6C0
}

.blog-card__readtime {
   font-size: .75rem;
   font-weight: 600;
   color: #9AA6C0
}

.featured-post {
   display: grid;
   grid-template-columns: 1.2fr 1fr;
   gap: var(--sp-10);
   text-decoration: none;
   border-radius: var(--radius-xl);
   overflow: hidden;
   background: #fff;
   border: 1px solid rgba(8, 13, 40, 0.07);
   box-shadow: 0 4px 24px rgba(8, 13, 40, 0.06);
   transition: transform var(--dur-base), box-shadow var(--dur-base)
}

.featured-post:hover {
   transform: translateY(-4px);
   box-shadow: 0 16px 48px rgba(8, 13, 40, 0.1)
}

.featured-post__img-wrap {
   position: relative;
   overflow: hidden
}

.featured-post__img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   min-height: 320px
}

.featured-post__badge {
   position: absolute;
   top: var(--sp-4);
   left: var(--sp-4);
   background: linear-gradient(135deg, #4338CA, #6366F1);
   color: #fff;
   font-size: .7rem;
   font-weight: 700;
   padding: 4px 12px;
   border-radius: var(--radius-full)
}

.featured-post__copy {
   padding: var(--sp-8)
}

.featured-post__cat {
   font-size: .75rem;
   font-weight: 700;
   display: block;
   margin-bottom: var(--sp-3)
}

.featured-post__title {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   line-height: 1.3;
   margin-bottom: var(--sp-4)
}

.featured-post__excerpt {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.75;
   margin-bottom: var(--sp-6)
}

.featured-post__meta {
   display: flex;
   align-items: center;
   gap: var(--sp-3)
}

.blog-card__read-more {
   margin-left: auto;
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   font-size: .8125rem;
   font-weight: 700;
   color: #4F46E5
}

.blog-newsletter__inner {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-10);
   align-items: center
}

.blog-newsletter__form {
   display: flex;
   gap: var(--sp-3);
   flex-wrap: wrap
}

.blog-newsletter__input {
   flex: 1;
   padding: .75rem 1rem;
   background: rgba(255, 255, 255, 0.08);
   border: 1.5px solid rgba(75, 142, 255, 0.2);
   border-radius: var(--radius-full);
   color: #EDF0FF;
   font-size: .875rem;
   font-family: var(--font-body);
   outline: none;
   min-width: 220px
}

.blog-newsletter__input::placeholder {
   color: rgba(238, 242, 255, 0.4)
}

.blog-newsletter__input:focus {
   border-color: rgba(75, 142, 255, 0.5)
}

@media(max-width:900px) {
   .blog-grid {
      grid-template-columns: repeat(2, 1fr)
   }

   .featured-post {
      grid-template-columns: 1fr
   }

   .blog-newsletter__inner {
      grid-template-columns: 1fr
   }
}

@media(max-width:600px) {
   .blog-grid {
      grid-template-columns: 1fr
   }
}

/* â”€â”€ Blog post â”€â”€ */
.post-hero {
   position: relative;
   padding-top: var(--nav-h)
}

.post-hero__img-wrap {
   position: relative;
   height: 480px;
   overflow: hidden
}

.post-hero__img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.post-hero__overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to bottom, transparent 20%, rgba(6, 11, 26, 0.85) 100%)
}

.post-hero__content {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   padding: var(--sp-10) 0
}

.post-hero__meta {
   display: flex;
   align-items: center;
   gap: var(--sp-4);
   margin-bottom: var(--sp-4)
}

.post-back {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   font-size: .8125rem;
   font-weight: 600;
   color: rgba(238, 242, 255, 0.6);
   transition: color var(--dur-fast)
}

.post-back:hover {
   color: #EDF0FF
}

.post-hero__cat {
   font-size: .75rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .08em
}

.post-hero__title {
   font-size: clamp(1.8rem, 4vw, 3rem);
   font-weight: 800;
   color: #EDF0FF;
   line-height: 1.15;
   margin-bottom: var(--sp-5)
}

.post-hero__byline {
   display: flex;
   align-items: center;
   gap: var(--sp-4);
   flex-wrap: wrap;
   margin-bottom: var(--sp-4)
}

.post-hero__author-photo {
   width: 44px;
   height: 44px;
   border-radius: 50%;
   object-fit: cover;
   border: 2px solid rgba(255, 255, 255, 0.2)
}

.post-hero__author-info strong {
   display: block;
   font-size: .875rem;
   color: #EDF0FF
}

.post-hero__author-info span {
   font-size: .78rem;
   color: rgba(238, 242, 255, 0.6)
}

.post-hero__divider {
   color: rgba(238, 242, 255, 0.3);
   font-size: .9rem
}

.post-hero__date,
.post-hero__readtime {
   font-size: .78rem;
   color: rgba(238, 242, 255, 0.6)
}

.post-hero__tags {
   display: flex;
   gap: var(--sp-2);
   flex-wrap: wrap
}

.post-tag {
   font-size: .7rem;
   font-weight: 700;
   padding: 3px 10px;
   border-radius: var(--radius-full);
   background: rgba(99, 102, 241, 0.15);
   border: 1px solid rgba(99, 102, 241, 0.25);
   color: #818CF8
}

.post-body-layout {
   display: grid;
   grid-template-columns: 220px 1fr;
   gap: var(--sp-12);
   align-items: start;
   padding-block: var(--sp-12)
}

.post-toc {
   position: sticky;
   top: calc(var(--nav-h) + var(--sp-8))
}

.post-toc__sticky {}

.post-toc__label {
   font-size: .7rem;
   font-weight: 800;
   letter-spacing: .1em;
   text-transform: uppercase;
   color: #647094;
   margin-bottom: var(--sp-3)
}

.post-toc__item {
   font-size: .8125rem;
   color: #647094;
   padding: var(--sp-1) 0;
   border-left: 2px solid rgba(8, 13, 40, 0.08);
   padding-left: var(--sp-3);
   margin-bottom: var(--sp-2);
   transition: color var(--dur-fast), border-color var(--dur-fast);
   cursor: pointer
}

.post-toc__item:hover {
   color: #4F46E5;
   border-color: #4F46E5
}

.post-toc__share-links {
   display: flex;
   flex-direction: column;
   gap: var(--sp-2);
   margin-top: var(--sp-3)
}

.post-toc__share-btn {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   font-size: .78rem;
   font-weight: 600;
   color: #647094;
   padding: var(--sp-2) var(--sp-3);
   border-radius: var(--radius-sm);
   transition: all var(--dur-fast)
}

.post-toc__share-btn:hover {
   color: #4F46E5;
   background: rgba(79, 70, 229, 0.06)
}

.post-lead {
   font-size: 1.1rem;
   color: #334068;
   line-height: 1.85;
   border-left: 3px solid #4F46E5;
   padding-left: var(--sp-5);
   margin-bottom: var(--sp-8);
   font-style: italic
}

.post-h2 {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   margin: var(--sp-8) 0 var(--sp-4)
}

.post-h3 {
   font-size: 1.15rem;
   font-weight: 700;
   color: #080D1E;
   margin: var(--sp-6) 0 var(--sp-3)
}

.post-para {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.85;
   margin-bottom: var(--sp-4)
}

.post-list {
   padding-left: var(--sp-5);
   margin-bottom: var(--sp-4)
}

.post-list li {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.8;
   margin-bottom: var(--sp-2);
   list-style: disc
}

.post-code {
   background: #1E293B;
   border-radius: var(--radius-md);
   padding: var(--sp-5);
   margin-bottom: var(--sp-5);
   overflow-x: auto
}

.post-code code {
   font-family: 'Fira Code', monospace;
   font-size: .825rem;
   color: #E2E8F0;
   line-height: 1.7
}

.post-inline-code {
   font-family: 'Fira Code', monospace;
   font-size: .85em;
   color: #6366F1;
   background: rgba(75, 142, 255, 0.1);
   padding: 2px 6px;
   border-radius: 4px
}

.post-table {
   width: 100%;
   border-collapse: collapse;
   margin-bottom: var(--sp-6);
   font-size: .875rem
}

.post-table th {
   background: #F4F6FF;
   font-weight: 700;
   color: #080D1E;
   padding: var(--sp-3) var(--sp-4);
   text-align: left;
   border: 1px solid rgba(8, 13, 40, 0.08)
}

.post-table td {
   padding: var(--sp-3) var(--sp-4);
   border: 1px solid rgba(8, 13, 40, 0.08);
   color: #334068
}

.post-table tr:hover td {
   background: #F8FAFF
}

.post-author-section {
   padding-block: var(--sp-10)
}

.post-author-card {
   display: flex;
   align-items: flex-start;
   gap: var(--sp-5);
   padding: var(--sp-7);
   background: #fff;
   border-radius: var(--radius-xl);
   border: 1px solid rgba(8, 13, 40, 0.07);
   box-shadow: 0 2px 16px rgba(8, 13, 40, 0.05)
}

.post-author-card__photo {
   width: 72px;
   height: 72px;
   border-radius: 50%;
   object-fit: cover;
   flex-shrink: 0;
   border: 3px solid rgba(37, 99, 235, 0.2)
}

.post-author-card__name {
   font-size: 1rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-1)
}

.post-author-card__role {
   font-size: .8125rem;
   color: #6366F1;
   font-weight: 600;
   margin-bottom: var(--sp-3)
}

.post-author-card__bio {
   font-size: .875rem;
   color: #334068;
   line-height: 1.7
}

.related-grid {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: var(--sp-6);
   margin-top: var(--sp-8)
}

@media(max-width:900px) {
   .post-body-layout {
      grid-template-columns: 1fr
   }

   .post-toc {
      display: none
   }

   .post-author-card {
      flex-direction: column
   }

   .related-grid {
      grid-template-columns: 1fr
   }
}

/* â”€â”€ Contact â”€â”€ */
.contact-layout {
   display: grid;
   grid-template-columns: 380px 1fr;
   gap: var(--sp-12);
   align-items: start
}

.contact-info__heading {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-6)
}

.contact-info__card {
   display: flex;
   align-items: flex-start;
   gap: var(--sp-4);
   margin-bottom: var(--sp-4)
}

.contact-info__icon {
   width: 44px;
   height: 44px;
   background: rgba(79, 70, 229, 0.08);
   border: 1px solid rgba(79, 70, 229, 0.18);
   border-radius: var(--radius-md);
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
   color: #4F46E5
}

.contact-info__label {
   font-size: .75rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: .08em;
   color: #9AA6C0;
   margin-bottom: var(--sp-1)
}

.contact-info__link,
.contact-info__value {
   font-size: .9rem;
   font-weight: 600;
   color: #080D1E
}

.contact-info__link {
   color: #4F46E5
}

.contact-info__link:hover {
   text-decoration: underline
}

.contact-promise {
   display: flex;
   align-items: center;
   gap: var(--sp-3);
   padding: var(--sp-4);
   background: rgba(79, 70, 229, 0.04);
   border: 1px solid rgba(79, 70, 229, 0.12);
   border-radius: var(--radius-md);
   margin-top: var(--sp-4);
   color: #4F46E5;
   font-size: .8125rem
}

.contact-promise p {
   color: #334068;
   max-width: none
}

.form-steps {
   display: flex;
   gap: var(--sp-2);
   margin-bottom: var(--sp-8)
}

.form-step {
   display: flex;
   align-items: center;
   gap: var(--sp-2);
   flex: 1;
   font-size: .78rem;
   font-weight: 600;
   color: #9AA6C0
}

.form-step--active {
   color: #4F46E5
}

.form-step--done {
   color: #22C55E
}

.form-step__num {
   width: 26px;
   height: 26px;
   border-radius: 50%;
   background: rgba(8, 13, 40, 0.06);
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: .75rem;
   font-weight: 800;
   flex-shrink: 0
}

.form-step--active .form-step__num {
   background: #4F46E5;
   color: #fff
}

.form-step--done .form-step__num {
   background: #22C55E;
   color: #fff
}

.contact-form {
   background: #fff;
   border-radius: var(--radius-xl);
   padding: var(--sp-8);
   border: 1px solid rgba(8, 13, 40, 0.07);
   box-shadow: 0 4px 24px rgba(8, 13, 40, 0.06)
}

.form-fieldset {
   border: none;
   padding: 0;
   margin: 0
}

.form-legend {
   font-size: 1.1rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-6)
}

.form-group {
   margin-bottom: var(--sp-5)
}

.form-label {
   display: block;
   font-size: .8125rem;
   font-weight: 600;
   color: #334068;
   margin-bottom: var(--sp-2)
}

.form-input,
.form-textarea {
   width: 100%;
   padding: .75rem 1rem;
   background: #F8FAFF;
   border: 1.5px solid rgba(8, 13, 40, 0.1);
   border-radius: var(--radius-md);
   font-size: .9375rem;
   font-family: var(--font-body);
   color: #080D1E;
   outline: none;
   transition: border-color var(--dur-fast), box-shadow var(--dur-fast)
}

.form-input:focus,
.form-textarea:focus {
   border-color: #4F46E5;
   box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.12)
}

.form-textarea {
   resize: vertical;
   min-height: 120px
}

.form-hint {
   font-size: .75rem;
   color: #9AA6C0;
   margin-top: var(--sp-1)
}

.form-row {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: var(--sp-4)
}

.chip-group {
   display: flex;
   flex-wrap: wrap;
   gap: var(--sp-2);
   margin-top: var(--sp-2)
}

.chip {
   padding: .4rem .875rem;
   border-radius: var(--radius-full);
   font-size: .8125rem;
   font-weight: 600;
   color: #647094;
   border: 1.5px solid rgba(8, 13, 40, 0.1);
   background: #fff;
   cursor: pointer;
   transition: all var(--dur-fast)
}

.chip:hover {
   border-color: #4F46E5;
   color: #4F46E5
}

.chip--active {
   background: #4F46E5;
   color: #fff;
   border-color: #4F46E5
}

.form-nav {
   display: flex;
   align-items: center;
   gap: var(--sp-4);
   margin-top: var(--sp-6);
   padding-top: var(--sp-6);
   border-top: 1px solid rgba(8, 13, 40, 0.06)
}

.contact-success {
   text-align: center;
   padding: var(--sp-12)
}

.contact-success__icon {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   background: rgba(34, 197, 94, 0.12);
   border: 2px solid rgba(34, 197, 94, 0.3);
   display: flex;
   align-items: center;
   justify-content: center;
   margin: 0 auto var(--sp-6);
   color: #22C55E
}

.contact-success__heading {
   font-size: 1.5rem;
   font-weight: 800;
   color: #080D1E;
   margin-bottom: var(--sp-3)
}

.contact-success__body {
   font-size: .9375rem;
   color: #334068;
   line-height: 1.75
}

.badge {
   display: inline-flex;
   align-items: center;
   gap: var(--sp-1);
   font-size: .7rem;
   font-weight: 700;
   padding: 3px 10px;
   border-radius: var(--radius-full);
   background: rgba(79, 70, 229, 0.08);
   color: #4F46E5;
   border: 1px solid rgba(79, 70, 229, 0.18)
}

@media(max-width:900px) {
   .contact-layout {
      grid-template-columns: 1fr
   }

   .form-row {
      grid-template-columns: 1fr
   }
}

/* â”€â”€ Utility: hidden (used by JS toggles) â”€â”€ */
.hidden {
   display: none !important
}

/* â”€â”€ Service detail responsive â”€â”€ */
@media(max-width:1024px) {
   .service-detail-steps {
      grid-template-columns: repeat(2, 1fr) !important
   }

   .service-detail-features {
      grid-template-columns: repeat(2, 1fr) !important
   }
}

@media(max-width:640px) {
   .service-detail-steps {
      grid-template-columns: 1fr !important
   }

   .service-detail-features {
      grid-template-columns: 1fr !important
   }
}


