/*

    Tooplate 2167 Orbital

    https://www.tooplate.com/view/2167-orbital

    Free HTML CSS Template

*/

/* ORBITAL // 297 - Void and Neon presentation template */

:root {
  --void: #050505;
  --violet: #8b5cf6;
  --cyan: #06b6d4;
  --white: #ffffff;
  --dim: rgba(255, 255, 255, 0.55);
  --faint: rgba(255, 255, 255, 0.32);
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ring-radius: 360px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  background: var(--void);
  color: var(--white);
  font-family: 'Space Grotesk', sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }

/* Ambient void layers */
.aura {
  position: fixed;
  inset: -25%;
  background: radial-gradient(circle at 50% 44%, rgba(58, 28, 92, 0.6), rgba(24, 12, 46, 0.22) 34%, transparent 64%);
  z-index: 0;
  pointer-events: none;
  animation: drift 20s ease-in-out infinite alternate;
}

.stars {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image:
    radial-gradient(1px 1px at 12% 22%, rgba(255, 255, 255, 0.7), transparent),
    radial-gradient(1px 1px at 78% 14%, rgba(255, 255, 255, 0.5), transparent),
    radial-gradient(1px 1px at 34% 68%, rgba(139, 92, 246, 0.6), transparent),
    radial-gradient(1px 1px at 64% 82%, rgba(6, 182, 212, 0.5), transparent),
    radial-gradient(1px 1px at 88% 54%, rgba(255, 255, 255, 0.4), transparent),
    radial-gradient(1px 1px at 22% 88%, rgba(255, 255, 255, 0.45), transparent),
    radial-gradient(1px 1px at 50% 32%, rgba(255, 255, 255, 0.3), transparent);
}

@keyframes drift {
  from { transform: translate3d(-2%, -1%, 0) scale(1); }
  to { transform: translate3d(2%, 3%, 0) scale(1.14); }
}

/* Navigation */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px clamp(20px, 5vw, 64px);
  backdrop-filter: blur(6px);
}

.logo {
  font-family: 'JetBrains Mono', monospace;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 3px;
  color: var(--white);
}
.logo span { color: var(--cyan); }

.nav-links {
  display: flex;
  gap: clamp(14px, 1.8vw, 30px);
  list-style: none;
  align-items: center;
}
.nav-links a {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: clamp(0.6px, 0.12vw, 1.6px);
  white-space: nowrap;
  color: var(--faint);
  transition: color 0.5s var(--ease), text-shadow 0.5s var(--ease);
  position: relative;
}
.nav-links a::before {
  content: '';
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--cyan);
  position: absolute;
  left: -12px; top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.5s var(--ease);
  box-shadow: 0 0 8px var(--cyan);
}
.nav-links a:hover {
  color: var(--white);
  text-shadow: 0 0 14px rgba(6, 182, 212, 0.7);
}
.nav-links a:hover::before { transform: translateY(-50%) scale(1); }

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
}
.menu-toggle span {
  width: 24px; height: 2px;
  background: var(--white);
  transition: transform 0.4s var(--ease), opacity 0.4s var(--ease);
}

/* Mobile menu overlay */
.mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 49;
  background: rgba(5, 5, 5, 0.96);
  backdrop-filter: blur(16px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 80px 24px;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s var(--ease), visibility 0.5s var(--ease);
}
.mobile-menu.open { opacity: 1; visibility: visible; }
.mobile-menu a {
  font-family: 'JetBrains Mono', monospace;
  font-size: 20px;
  letter-spacing: 3px;
  color: var(--dim);
  transition: color 0.4s var(--ease);
}
.mobile-menu a:hover { color: var(--cyan); }

/* Hero with orbital ring */
.hero {
  position: relative;
  z-index: 2;
  height: 100vh;
  min-height: 640px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1300px;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
}
.stage.dragging { cursor: grabbing; }
.stage.dragging .panel { cursor: grabbing; }

.parallax {
  position: relative;
  width: 1px; height: 1px;
  transform-style: preserve-3d;
  transition: transform 0.6s var(--ease);
}

.hero-text {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%) translateZ(40px);
  text-align: center;
  width: 90vw;
  max-width: 760px;
  pointer-events: none;
}
.eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(10px, 1.4vw, 13px);
  letter-spacing: 6px;
  color: var(--cyan);
  text-shadow: 0 0 16px rgba(6, 182, 212, 0.6);
  margin-bottom: 22px;
}
.hero-text h1 {
  font-size: clamp(2.8rem, 9vw, 6.4rem);
  font-weight: 700;
  line-height: 0.94;
  letter-spacing: -0.03em;
  color: var(--white);
  text-shadow: 0 0 38px rgba(255, 255, 255, 0.28), 0 0 80px rgba(139, 92, 246, 0.32);
}
.hero-text p {
  margin-top: 26px;
  font-size: clamp(0.92rem, 2vw, 1.08rem);
  color: var(--dim);
  letter-spacing: 0.4px;
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
}

/* The orbital ring */
.ring-tilt {
  position: absolute;
  top: 0; left: 0;
  transform-style: preserve-3d;
  transform: rotateX(var(--tiltX, -20deg)) scale3d(var(--zoom, 1), var(--zoom, 1), var(--zoom, 1));
  transition: transform 0.8s var(--ease);
}
.ring {
  position: absolute;
  top: 0; left: 0;
  transform-style: preserve-3d;
  will-change: transform;
}

.panel {
  position: absolute;
  top: 0; left: 0;
  width: 158px;
  height: 210px;
  margin-left: -79px;
  margin-top: -105px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.035);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 0 34px rgba(139, 92, 246, 0.16), 0 0 42px rgba(6, 182, 212, 0.1);
  transform: rotateY(var(--ry)) translateZ(var(--tz)) rotateZ(var(--rz)) scale(var(--s, 1));
  transition: transform 0.7s var(--ease), box-shadow 0.7s var(--ease);
  cursor: pointer;
}
/* 1px gradient border via masked pseudo element */
.panel::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(to bottom right, rgba(139, 92, 246, 0.5), rgba(6, 182, 212, 0.2));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: background 0.7s var(--ease), opacity 0.7s var(--ease);
}
.panel:hover {
  --s: 1.1;
  box-shadow: inset 0 0 44px rgba(139, 92, 246, 0.3), 0 0 60px rgba(6, 182, 212, 0.4);
}
.panel:hover::after {
  background: linear-gradient(to bottom right, rgba(139, 92, 246, 0.95), rgba(6, 182, 212, 0.7));
}
.panel .p-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--cyan);
}
.panel .p-label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
}
.panel .p-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 1px;
  color: var(--faint);
}

/* Two stacked faces per panel, crossfaded by the toggle with a staggered delay */
.panel-face {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  transition: opacity 0.8s var(--ease);
  transition-delay: calc(var(--i, 0) * 0.045s);
}
.panel-face--text {
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 1;
}
.panel-face--image {
  overflow: hidden;
  opacity: 0;
  background: linear-gradient(140deg, #1a1030, #0a1f26);
}
.panel-face--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.08);
  transition: transform 1.3s var(--ease);
  transition-delay: calc(var(--i, 0) * 0.045s);
}
.panel-scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(5, 5, 5, 0.92), rgba(5, 5, 5, 0.08) 56%),
    linear-gradient(140deg, rgba(139, 92, 246, 0.4), rgba(6, 182, 212, 0.28));
  transition: opacity 0.6s var(--ease);
}
.panel:hover .panel-scrim { opacity: 0; }
.panel-cap {
  position: absolute;
  bottom: 14px;
  left: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  color: var(--white);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.95), 0 0 22px rgba(0, 0, 0, 0.7);
}

/* Toggle ON state */
.visuals-on .panel-face--text { opacity: 0; }
.visuals-on .panel-face--image { opacity: 1; }
.visuals-on .panel-face--image img { transform: scale(1); }

/* HUD controls docked bottom right */
.hero-controls {
  position: absolute;
  right: clamp(18px, 4vw, 44px);
  bottom: clamp(80px, 12vh, 110px);
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
}
.ctrl {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ctrl-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 2px;
  color: var(--faint);
}
.switch {
  position: relative;
  width: 44px;
  height: 24px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  cursor: pointer;
  padding: 0;
  transition: background 0.6s var(--ease), border-color 0.6s var(--ease), box-shadow 0.6s var(--ease);
}
.switch .knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--dim);
  transition: transform 0.6s var(--ease), background 0.6s var(--ease), box-shadow 0.6s var(--ease);
}
.switch[aria-checked="true"] {
  background: linear-gradient(to right, var(--violet), var(--cyan));
  border-color: rgba(6, 182, 212, 0.8);
  box-shadow: 0 0 20px rgba(6, 182, 212, 0.5);
}
.switch[aria-checked="true"] .knob {
  transform: translateX(20px);
  background: var(--white);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.9);
}
.switch:focus-visible {
  outline: 2px solid var(--cyan);
  outline-offset: 4px;
}

/* 3 step ring spacing */
.spacing {
  display: flex;
  gap: 3px;
  padding: 3px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
}
.spacing-step {
  width: 26px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  border-radius: 18px;
  cursor: pointer;
  transition: background 0.5s var(--ease);
}
.spacing-step i {
  display: block;
  border-radius: 50%;
  background: var(--faint);
  transition: background 0.5s var(--ease), box-shadow 0.5s var(--ease);
}
.spacing-step:nth-child(1) i { width: 5px; height: 5px; }
.spacing-step:nth-child(2) i { width: 8px; height: 8px; }
.spacing-step:nth-child(3) i { width: 11px; height: 11px; }
.spacing-step.is-active { background: rgba(6, 182, 212, 0.14); }
.spacing-step.is-active i { background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }
.spacing-step:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }

.scroll-cue {
  position: absolute;
  bottom: 34px; left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 3px;
  color: var(--faint);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.scroll-cue .line {
  width: 1px; height: 38px;
  background: linear-gradient(var(--cyan), transparent);
  animation: pulse-line 2.4s ease-in-out infinite;
}
@keyframes pulse-line {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 1; }
}

/* Content sections */
.section {
  position: relative;
  z-index: 2;
  padding: clamp(90px, 14vh, 160px) clamp(20px, 6vw, 90px);
  max-width: 1240px;
  margin: 0 auto;
}
.section-head {
  margin-bottom: 64px;
  max-width: 620px;
}
.section-head .eyebrow { text-align: left; margin-bottom: 18px; }
.section-head h2 {
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.02em;
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.16);
}
.section-head p {
  margin-top: 20px;
  color: var(--dim);
  font-size: 1.02rem;
  line-height: 1.6;
}

.features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.feature {
  position: relative;
  padding: 40px 30px 36px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  overflow: hidden;
  transition: transform 0.7s var(--ease), background 0.7s var(--ease);
}
.feature::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--cyan);
  box-shadow: 0 0 18px var(--cyan), 0 0 6px var(--cyan);
  animation: pulse-top 3.2s ease-in-out infinite;
}
.feature:nth-child(2)::before { animation-delay: 1s; }
.feature:nth-child(3)::before { animation-delay: 2s; }
@keyframes pulse-top {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}
.feature:hover {
  transform: translateY(-6px);
  background: rgba(255, 255, 255, 0.05);
}
.feature .f-index {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--violet);
  margin-bottom: 22px;
}
.feature h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.feature p {
  color: var(--dim);
  font-size: 0.94rem;
  line-height: 1.62;
}

/* Closing call to action */
.cta {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: clamp(100px, 16vh, 180px) 24px;
}
.cta h2 {
  font-size: clamp(2.2rem, 7vw, 4.6rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  text-shadow: 0 0 40px rgba(139, 92, 246, 0.4);
}
.cta p {
  margin: 24px auto 42px;
  max-width: 460px;
  color: var(--dim);
  font-size: 1.02rem;
}
.btn {
  display: inline-block;
  position: relative;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 3px;
  padding: 18px 42px;
  border-radius: 50px;
  color: var(--white);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
  background-clip: padding-box;
  transition: transform 0.6s var(--ease), box-shadow 0.6s var(--ease);
  overflow: hidden;
}
.btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(to right, var(--violet), var(--cyan));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.btn:hover {
  transform: translateY(-3px) scale(1.04);
  box-shadow: 0 0 40px rgba(139, 92, 246, 0.5), 0 0 18px rgba(6, 182, 212, 0.4);
}

/* Footer */
.footer {
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding: 44px clamp(20px, 6vw, 64px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.footer .logo { font-size: 13px; }
.footer .credit {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--faint);
}
.footer .credit a { color: var(--dim); transition: color 0.4s var(--ease); }
.footer .credit a:hover { color: var(--cyan); }

/* Scroll reveal */
.reveal {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 1s var(--ease), transform 1s var(--ease);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Responsive */
@media (max-width: 900px) {
  .features { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .nav-links { display: none; }
  .menu-toggle { display: flex; }
  :root { --ring-radius: 220px; }
  .panel { width: 124px; height: 168px; margin-left: -62px; margin-top: -84px; }
  .ring-tilt { --tiltX: -14deg; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .aura, .ring, .scroll-cue .line, .feature::before { animation: none; }
  .parallax { transition: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}

/* Daystar Design Studio customizations */
.brand-logo{display:block;width:150px;max-height:48px;object-fit:contain;object-position:left center}
.nav .logo a{display:flex;align-items:center}
.hero-text h1{max-width:740px;line-height:1.04;font-size:clamp(2.2rem,5vw,5rem)}
.hero-text p{max-width:520px}

.hero-text{position:relative}
.features{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-features .feature{min-height:190px}
.section-head p{max-width:820px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.cta p{line-height:1.8}
.footer .logo img{width:150px;max-height:46px;object-fit:contain}
@media(max-width:760px){
 .brand-logo{width:125px;max-height:42px}
 .features{grid-template-columns:1fr}
 .hero-text:after{right:0;top:10%;width:130px;height:130px;opacity:.4}
 .hero-text h1{max-width:100%;font-size:clamp(2rem,10vw,3.3rem)}
}


/* Daystar brand corrections: transparent, readable, larger logo */
.nav .brand-logo { width: 245px; height: 72px; max-height: 72px; object-fit: contain; object-position: left center; }
.footer .brand-logo { width: 220px; height: 64px; max-height: 64px; object-fit: contain; object-position: left center; }
.nav .logo { flex-shrink: 0; }
.nav .logo a { display: flex; align-items: center; }
@media (max-width: 768px) { .nav .brand-logo { width: 185px; height: 58px; max-height: 58px; } .footer .brand-logo { width: 180px; height: 54px; max-height: 54px; } }


/* Client logo motion strip */
.client-strip-section{padding:42px 0 50px;overflow:hidden;border-top:1px solid rgba(130,150,255,.12);border-bottom:1px solid rgba(130,150,255,.12);background:linear-gradient(90deg,rgba(10,12,34,.82),rgba(20,14,48,.7),rgba(10,12,34,.82))}
.client-strip-heading{text-align:center;margin:0 auto 24px;padding:0 20px}
.client-strip-heading .eyebrow{color:var(--cyan);letter-spacing:.22em;font-size:.72rem}
.client-strip-heading p{margin:8px 0 0;color:#d8d9ed;font-size:1rem}
.client-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 93%,transparent 100%)}
.client-marquee-track{display:flex;align-items:center;gap:22px;width:max-content;animation:client-logo-scroll 34s linear infinite;padding:4px 11px}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
.client-logo-card{height:86px;width:220px;flex:0 0 220px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(246,248,255,.96);display:flex;align-items:center;justify-content:center;padding:18px 22px;box-sizing:border-box;box-shadow:0 8px 28px rgba(0,0,0,.16)}
.client-logo-card img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.client-logo-dark{background:#11182e;border-color:rgba(100,130,255,.4)}
.client-logo-dark img{max-width:100%;max-height:100%}
@keyframes client-logo-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:720px){.client-strip-section{padding:32px 0}.client-strip-heading{margin-bottom:18px}.client-marquee-track{gap:14px;animation-duration:27s}.client-logo-card{width:170px;flex-basis:170px;height:68px;padding:14px 17px}}
@media(prefers-reduced-motion:reduce){.client-marquee-track{animation:none;transform:none}.client-marquee{mask-image:none}}


/* Compact, transparent client logo motion strip */
.client-strip-section{padding:22px 0 26px;overflow:hidden;border-top:1px solid rgba(130,150,255,.10);border-bottom:1px solid rgba(130,150,255,.10);background:rgba(7,9,25,.48)}
.client-strip-heading{text-align:center;margin:0 auto 12px;padding:0 16px}
.client-strip-heading .eyebrow{color:var(--cyan);letter-spacing:.18em;font-size:.62rem}
.client-strip-heading p{display:none}
.client-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}
.client-marquee-track{display:flex;align-items:center;gap:64px;width:max-content;animation:client-logo-scroll 38s linear infinite;padding:5px 32px}
.client-marquee:hover .client-marquee-track{animation-play-state:paused}
.client-logo-card,.client-logo-card.client-logo-dark{height:42px;width:150px;flex:0 0 150px;border:0;border-radius:0;background:transparent;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:none}
.client-logo-card img{display:block;max-width:100%;max-height:34px;width:auto;height:auto;object-fit:contain;opacity:.94}
.client-logo-dark img{max-height:35px}
.hero-text h1{max-width:760px;line-height:1.02;font-size:clamp(2.4rem,5.3vw,5.1rem);letter-spacing:-.035em}
.hero-text .btn{margin-top:26px;position:relative;z-index:2}
@media(max-width:720px){.client-strip-section{padding:18px 0 20px}.client-strip-heading{margin-bottom:9px}.client-marquee-track{gap:34px;animation-duration:30s;padding:4px 18px}.client-logo-card,.client-logo-card.client-logo-dark{height:34px;width:112px;flex-basis:112px}.client-logo-card img{max-height:27px}.hero-text .btn{margin-top:30px}.hero-text h1{font-size:clamp(2.05rem,9vw,3.2rem)}}


/* Contact section: centred actions and direct, accessible links */
.contact-address p{margin:24px auto 14px;max-width:560px}
.contact-details{display:flex;flex-direction:column;align-items:center;gap:5px;margin:18px auto 0;max-width:620px;color:var(--dim);font-size:.98rem;line-height:1.7}
.contact-details p{margin:0;max-width:100%}
.contact-details span{color:var(--muted,#aaa5b7)}
.contact-details a{color:#42d9f4;text-decoration:none;overflow-wrap:anywhere}
.contact-details a:hover{color:#b58cff;text-decoration:underline}
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:28px auto 0;align-items:center;width:100%}
.contact-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 22px}
.whatsapp-btn{border-color:rgba(54,221,170,.6);background:linear-gradient(120deg,rgba(20,120,100,.12),rgba(18,16,35,.75))}
.linkedin-btn{border-color:rgba(66,217,244,.55)}
@media(max-width:560px){.contact-actions{flex-direction:column;align-items:center}.contact-btn{justify-content:center;width:min(100%,320px)}.contact-details{font-size:.92rem}}


/* Our Philosophy cards: preserve the site's existing card style with slightly more breathing room. */
.philosophy-features .feature { min-height: 250px; }
.philosophy-features .feature h3 { max-width: 18ch; }
.philosophy-features .feature p { max-width: 42ch; }
@media (max-width: 700px) { .philosophy-features .feature { min-height: 0; } }


/* Philosophy: open connected timeline with sequential reveal */
.philosophy-journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:42px;position:relative;}
.philosophy-step{position:relative;min-width:0;padding:12px 28px 8px 0;background:transparent;border:0;border-radius:0;backdrop-filter:none;overflow:visible;transition:opacity .8s var(--ease),transform .8s var(--ease);}
.philosophy-step + .philosophy-step{padding-left:30px;border-left:1px solid rgba(157,111,255,.22);}
.philosophy-step::before{display:none;}
.philosophy-step-visual{display:flex;align-items:center;gap:18px;min-height:108px;margin-bottom:18px;position:relative;}
.philosophy-number{font-size:clamp(4rem,7vw,6.4rem);font-weight:650;line-height:.95;letter-spacing:-.07em;color:transparent;-webkit-text-stroke:1.5px #18d7f5;background:linear-gradient(140deg,#19dff7 12%,#397bff 48%,#bd52ff 92%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 12px rgba(42,129,255,.22));}
.philosophy-icon{width:68px;height:68px;flex:0 0 68px;border:1px solid rgba(179,112,255,.65);border-radius:50%;display:grid;place-items:center;color:#c59aff;box-shadow:0 0 22px rgba(147,73,255,.08);}
.philosophy-icon svg{width:39px;height:39px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.philosophy-icon.cyan-icon{color:#25dff5;border-color:rgba(37,223,245,.65);}
.philosophy-step-copy .f-index{font-size:.78rem;letter-spacing:.26em;color:#bd78ff;margin-bottom:12px;}
.philosophy-step:nth-child(2) .f-index{color:#26d8f2;}
.philosophy-step h3{font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.3;margin:0 0 12px;max-width:26ch;}
.philosophy-step p{color:var(--dim);font-size:1rem;line-height:1.75;max-width:39ch;margin:0;}
.philosophy-step.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .75s var(--ease);}
.philosophy-step.reveal.visible{opacity:1;transform:translateY(0);}
.philosophy-step:nth-child(1){transition-delay:0s;}
.philosophy-step:nth-child(2){transition-delay:.22s;}
.philosophy-step:nth-child(3){transition-delay:.44s;}
.philosophy-step.reveal.visible:nth-child(1){transition-delay:0s;}
.philosophy-step.reveal.visible:nth-child(2){transition-delay:.22s;}
.philosophy-step.reveal.visible:nth-child(3){transition-delay:.44s;}
@media(max-width:900px){.philosophy-journey{grid-template-columns:1fr;gap:0;margin-top:28px}.philosophy-step,.philosophy-step + .philosophy-step{padding:22px 0;border-left:0;border-bottom:1px solid rgba(157,111,255,.2)}.philosophy-step-visual{min-height:78px;margin-bottom:12px}.philosophy-number{font-size:4.8rem}.philosophy-icon{width:58px;height:58px;flex-basis:58px}.philosophy-step p{max-width:60ch}}
@media(prefers-reduced-motion:reduce){.philosophy-step.reveal,.philosophy-step.reveal.visible{opacity:1;transform:none;transition:none}}


/* Philosophy nav item and replayable sequential motion */
.nav-links a.philosophy-nav-link { color: #c8a2ff; }
.nav-links a.philosophy-nav-link:hover, .nav-links a.philosophy-nav-link:focus-visible { color: #35dff5; }
.philosophy-step.reveal { will-change: opacity, transform; }
@media (prefers-reduced-motion: reduce) { .philosophy-step.reveal, .philosophy-step.reveal.visible { transition: none !important; } }


/* Dynamic services explorer: interactive list + animated detail stage */
.services-explorer-section{position:relative}
.services-explorer{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:clamp(22px,4vw,56px);align-items:stretch;margin-top:42px}
.service-selector{display:flex;flex-direction:column;border-top:1px solid rgba(160,145,255,.25)}
.service-tab{appearance:none;display:grid;grid-template-columns:34px minmax(0,1fr) 24px;align-items:center;gap:12px;width:100%;min-height:61px;padding:13px 14px;border:0;border-bottom:1px solid rgba(160,145,255,.17);background:transparent;color:var(--dim);text-align:left;cursor:pointer;transition:background .28s ease,color .28s ease,padding .28s ease}
.service-tab span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--purple)}
.service-tab b{font-size:clamp(.84rem,1.1vw,.98rem);font-weight:500;line-height:1.35}
.service-tab i{font-style:normal;color:var(--cyan);opacity:0;transform:translate(-5px,5px);transition:opacity .25s ease,transform .25s ease}
.service-tab:hover,.service-tab:focus-visible{background:rgba(67,218,255,.055);color:var(--text);outline:none;padding-left:20px}
.service-tab.is-active{background:linear-gradient(90deg,rgba(42,212,255,.11),rgba(148,73,255,.07));color:var(--text);box-shadow:inset 2px 0 0 var(--cyan)}
.service-tab.is-active i,.service-tab:hover i{opacity:1;transform:translate(0,0)}
.service-tab.is-active span{color:var(--cyan)}
.service-detail{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(139,122,255,.28);border-radius:22px;background:linear-gradient(145deg,rgba(23,20,43,.95),rgba(7,9,21,.97));box-shadow:0 22px 65px rgba(0,0,0,.2)}
.service-detail-art{position:relative;height:245px;background-size:cover;background-position:center;isolation:isolate;transition:background-image .2s ease;overflow:hidden}
.service-detail-art:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,20,.02) 10%,rgba(7,8,20,.25) 55%,rgba(7,8,20,.95) 100%);z-index:-1}
.service-detail-art:after{content:"";position:absolute;width:240px;height:240px;right:-55px;top:-95px;border:1px solid rgba(53,218,255,.6);border-radius:50%;box-shadow:0 0 55px rgba(67,80,255,.2),inset 0 0 50px rgba(130,67,255,.14);pointer-events:none}
.service-detail-number{position:absolute;left:25px;bottom:8px;font-size:clamp(5rem,10vw,8rem);font-weight:700;line-height:1;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(70,216,255,.82);text-shadow:0 0 28px rgba(68,94,255,.18)}
.service-detail-art-label{position:absolute;right:22px;bottom:25px;max-width:45%;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;text-align:right;color:#fff}
.service-detail-copy{padding:26px 30px 25px;transition:opacity .25s ease,transform .25s ease}
.service-detail-copy.is-changing{opacity:0;transform:translateY(10px)}
.service-detail-copy .eyebrow{font-size:10px;color:var(--cyan);letter-spacing:.2em}
.service-detail-copy h3{font-size:clamp(1.5rem,2.5vw,2.15rem);line-height:1.15;margin:13px 0 12px;max-width:520px}
.service-detail-copy p{color:var(--dim);line-height:1.75;max-width:560px;margin:0 0 23px}
.service-detail-cta{font-size:10px;letter-spacing:.14em;padding:13px 17px;gap:10px}
.service-detail-progress{height:2px;background:rgba(255,255,255,.08);margin-top:26px;overflow:hidden}
.service-detail-progress span{display:block;width:10%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--purple));transition:width .45s ease}
@media(max-width:900px){.services-explorer{grid-template-columns:1fr}.service-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:0;gap:8px}.service-tab{min-height:65px;border:1px solid rgba(160,145,255,.17);border-radius:10px;grid-template-columns:27px minmax(0,1fr) 14px;padding:10px}.service-tab:hover,.service-tab:focus-visible{padding-left:13px}.service-detail{min-height:0}.service-detail-art{height:220px}}
@media(max-width:520px){.services-explorer{margin-top:28px;gap:20px}.service-selector{grid-template-columns:1fr}.service-tab{min-height:54px}.service-detail-art{height:185px}.service-detail-copy{padding:22px 20px}.service-detail-number{font-size:5rem}.service-detail-art-label{font-size:9px;right:15px;bottom:18px}}
@media(prefers-reduced-motion:reduce){.service-tab,.service-detail-copy,.service-detail-progress span{transition:none}}

/* Orbital service showcase — image-free, interactive, and animated */
.services-orbit-section{overflow:hidden;position:relative;padding-top:clamp(70px,9vw,120px);padding-bottom:clamp(70px,8vw,110px)}
.services-orbit-heading{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(210px,.8fr) auto;gap:30px;align-items:center;max-width:1500px;margin:0 auto 20px}
.services-orbit-heading h2{font-size:clamp(2rem,4.2vw,4.2rem);line-height:1.02;letter-spacing:-.045em;margin:18px 0 0;max-width:850px}
.services-orbit-heading h2 span{background:linear-gradient(95deg,#b66bff,#786bff 48%,#31dfff);-webkit-background-clip:text;background-clip:text;color:transparent}
.services-orbit-intro p{font-size:.92rem;line-height:1.75;color:var(--dim);margin:0;max-width:340px}
.orbit-heading-line{height:2px;width:82px;margin-top:20px;background:linear-gradient(90deg,#b66bff,#31dfff)}
.orbit-controls{display:flex;gap:12px;align-self:start}
.orbit-controls button,.orbit-side-arrow{width:46px;height:46px;border:1px solid rgba(173,119,255,.55);border-radius:50%;background:rgba(10,11,27,.75);color:#f8f6ff;font-size:23px;cursor:pointer;transition:transform .25s,border-color .25s,box-shadow .25s,color .25s}
.orbit-controls button:last-child{border-color:#31dfff;color:#31dfff}
.orbit-controls button:hover,.orbit-side-arrow:hover{transform:scale(1.08);box-shadow:0 0 24px rgba(49,223,255,.25)}
.service-orbit-stage{position:relative;isolation:isolate;height:clamp(390px,38vw,540px);max-width:1580px;margin:0 auto}
.service-orbit-track{position:absolute;z-index:-1;left:2%;right:2%;top:51%;height:25%;border:1.5px solid transparent;border-bottom-color:#7967ff;border-radius:0 0 50% 50%;transform:perspective(500px) rotateX(4deg);filter:drop-shadow(0 0 7px rgba(105,91,255,.6));animation:orbit-track-glow 4s ease-in-out infinite alternate}
.service-orbit-track:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#9c4dff,#25e7ff,#a64cff);box-shadow:0 0 12px #735cff}
@keyframes orbit-track-glow{from{opacity:.55;transform:perspective(500px) rotateX(4deg) scaleX(.985)}to{opacity:1;transform:perspective(500px) rotateX(4deg) scaleX(1)}}
.orbit-center{position:absolute;z-index:4;left:50%;top:48%;transform:translate(-50%,-50%);width:clamp(300px,25vw,390px);min-height:clamp(300px,25vw,390px);padding:42px 34px 32px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:2px solid transparent;background:linear-gradient(#090c1d,#090c1d) padding-box,conic-gradient(from 15deg,#a84dff,#36dfff,#332b7d,#a84dff) border-box;box-shadow:0 0 28px rgba(103,62,255,.23),inset 0 0 38px rgba(70,54,153,.1);transition:opacity .18s,filter .18s}
.orbit-center:before{content:"";position:absolute;inset:-15px;border:1px solid rgba(130,86,255,.17);border-radius:50%;pointer-events:none;animation:orbit-ring 18s linear infinite}
.orbit-center:after{content:"";position:absolute;inset:-29px;border:1px dashed rgba(69,204,255,.1);border-radius:50%;pointer-events:none}
@keyframes orbit-ring{to{transform:rotate(360deg)}}
.orbit-center.is-changing{opacity:.25;filter:blur(2px)}
.orbit-center-number{font-size:clamp(2rem,3vw,3rem);font-weight:600;letter-spacing:-.04em;color:#b47cff;text-shadow:0 0 20px rgba(174,98,255,.35);margin-bottom:14px}
.orbit-center-kicker{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.17em;color:#35dff5;margin-bottom:12px}
.orbit-center h3{font-size:clamp(1.4rem,2vw,2rem);line-height:1.12;margin:0 0 14px;max-width:290px}
.orbit-center p{font-size:clamp(.82rem,1vw,.98rem);line-height:1.6;color:#b8b6ca;max-width:300px;margin:0 0 20px}
.orbit-explore{display:inline-flex;align-items:center;gap:17px;padding:12px 20px;border:1px solid #a35bff;border-radius:999px;color:#f4efff;text-decoration:none;font-size:10px;letter-spacing:.12em;box-shadow:inset 0 0 14px rgba(132,74,255,.12);transition:background .25s,border-color .25s}
.orbit-explore span{color:#35dff5;font-size:16px}.orbit-explore:hover{background:rgba(153,80,255,.14);border-color:#35dff5}
.orbit-node{position:absolute;z-index:2;width:clamp(132px,14vw,218px);height:clamp(132px,14vw,218px);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:18px;cursor:pointer;user-select:none;border:1px solid rgba(145,104,255,.6);background:radial-gradient(circle at 50% 40%,rgba(34,29,70,.72),rgba(6,9,22,.94) 70%);box-shadow:inset 0 0 28px rgba(101,70,255,.08);transition:transform .5s ease,border-color .4s,box-shadow .4s,opacity .4s}
.orbit-node:before{content:"";position:absolute;inset:-2px;border-radius:50%;border:1px solid transparent;border-top-color:#35dfff;border-bottom-color:#ad55ff;opacity:.85;transform:rotate(-35deg);animation:node-orbit 8s linear infinite}
@keyframes node-orbit{to{transform:rotate(325deg)}}
.orbit-node:hover{transform:translateY(-8px) scale(1.035);border-color:#35dfff;box-shadow:0 0 28px rgba(74,101,255,.2),inset 0 0 25px rgba(84,77,255,.12)}
.orbit-node-number{font-size:clamp(1.35rem,2vw,2rem);color:#a77bff;line-height:1}
.orbit-node b{font-size:clamp(.68rem,.9vw,.92rem);line-height:1.3;font-weight:600;text-transform:uppercase;max-width:150px}
.orbit-node-leftfar{left:-1%;top:38%;transform:scale(.65);opacity:.35;filter:blur(1px)}
.orbit-node-left{left:7%;top:34%;transform:scale(.83)}
.orbit-node-leftmid{left:21%;top:32%;transform:scale(.97);border-color:rgba(53,223,245,.5)}
.orbit-node-rightmid{right:21%;top:32%;transform:scale(.97);border-color:rgba(53,223,245,.5)}
.orbit-node-right{right:7%;top:34%;transform:scale(.83)}
.orbit-node-rightfar{right:-1%;top:38%;transform:scale(.65);opacity:.35;filter:blur(1px)}
.orbit-side-arrow{position:absolute;z-index:5;top:48%;transform:translateY(-50%);width:40px;height:40px;border-color:rgba(167,123,255,.7)}.orbit-side-arrow:hover{transform:translateY(-50%) scale(1.08)}.orbit-left{left:-1%}.orbit-right{right:-1%}
.orbit-timeline{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;position:relative;margin:0 auto;max-width:1550px;padding-top:12px}
.orbit-timeline:before{content:"";position:absolute;top:39px;left:2%;right:2%;height:1px;background:linear-gradient(90deg,rgba(164,78,255,.7),rgba(53,223,245,.6),rgba(164,78,255,.7))}
.orbit-timeline-item{position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;min-width:0;border:0;background:transparent;color:#aaa4c2;cursor:pointer;padding:0 2px 5px;text-align:center}
.orbit-timeline-item span{font-size:15px;line-height:1.2;transition:color .3s,text-shadow .3s,transform .3s}
.orbit-timeline-item i{width:10px;height:10px;border-radius:50%;background:#8f7dc5;border:1px solid #9b87d8;z-index:1;transition:all .3s}
.orbit-timeline-item b{font-size:clamp(.55rem,.72vw,.72rem);font-weight:500;line-height:1.45;text-transform:uppercase;max-width:125px}
.orbit-timeline-item.is-active span{color:#fff;text-shadow:0 0 16px #35dfff;transform:translateY(-3px)}.orbit-timeline-item.is-active i{width:14px;height:14px;margin:-2px 0;background:#35dfff;border:3px solid rgba(53,223,245,.25);box-shadow:0 0 0 4px rgba(53,223,245,.12),0 0 20px #35dfff}.orbit-timeline-item.is-active b{color:#fff}
@media(max-width:1100px){.services-orbit-heading{grid-template-columns:1fr auto}.services-orbit-intro{grid-column:1;grid-row:2}.orbit-controls{grid-column:2;grid-row:1}.service-orbit-stage{height:410px}.orbit-node-leftfar,.orbit-node-rightfar{display:none}.orbit-node-left{left:1%;}.orbit-node-leftmid{left:17%}.orbit-node-rightmid{right:17%}.orbit-node-right{right:1%}.orbit-timeline{grid-template-columns:repeat(5,minmax(0,1fr));row-gap:20px}.orbit-timeline:before{display:none}}
@media(max-width:700px){.services-orbit-heading{grid-template-columns:1fr auto;gap:15px}.services-orbit-heading h2{font-size:clamp(2rem,8vw,3rem)}.services-orbit-intro{max-width:90%}.service-orbit-stage{height:auto;min-height:460px;margin-top:25px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 0 30px}.orbit-center{position:relative;left:auto;top:auto;transform:none;width:min(82vw,340px);height:min(82vw,340px);min-height:0;padding:28px 25px;margin:12px 0 25px}.orbit-center h3{font-size:1.45rem}.orbit-center p{font-size:.82rem;margin-bottom:13px}.orbit-center-number{font-size:2rem;margin-bottom:8px}.orbit-node{position:relative;left:auto!important;right:auto!important;top:auto!important;display:none;transform:none!important;width:auto;height:auto;min-height:46px;max-width:94%;padding:10px 16px;border-radius:999px;flex-direction:row;gap:12px;opacity:1;filter:none}.orbit-node:before{display:none}.orbit-node b{max-width:none;font-size:.72rem}.orbit-node-number{font-size:1rem}.orbit-side-arrow{top:50%;width:34px;height:34px}.orbit-left{left:0}.orbit-right{right:0}.orbit-timeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.orbit-timeline-item{display:grid;grid-template-columns:30px 10px 1fr;align-items:center;text-align:left;padding:9px;border:1px solid rgba(145,104,255,.2);border-radius:9px;gap:9px}.orbit-timeline-item b{max-width:none;font-size:.62rem}.orbit-timeline-item i{grid-column:2;grid-row:1}.orbit-timeline-item span{grid-column:1;grid-row:1}.services-orbit-section{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.service-orbit-track,.orbit-center:before,.orbit-node:before{animation:none}.orbit-center,.orbit-node,.orbit-timeline-item span,.orbit-timeline-item i{transition:none}}


/* Consistent five-item primary navigation */
.nav { gap: 24px; }
.nav-links { justify-content: flex-end; flex: 1; }
.nav-links a { display: inline-block; padding: 12px 0; }
.nav-links a:focus-visible, .mobile-menu a:focus-visible { outline: 1px solid var(--cyan); outline-offset: 5px; }
.mobile-menu a { min-width: 190px; text-align: center; padding: 8px 16px; border-bottom: 1px solid rgba(167,139,250,.18); }
@media (max-width: 1100px) and (min-width: 645px) { .nav-links { gap: 16px; } .nav-links a { font-size: 10px; letter-spacing: .5px; } }


/* Services dropdown and consistent menu interaction */
.nav { z-index:100; }
.nav-dropdown { position:relative; }
.nav-caret { display:inline-block; margin-left:4px; color:var(--cyan); transition:transform .25s ease; }
.nav-dropdown.dropdown-open .nav-caret { transform:rotate(180deg); }
.services-dropdown { display:none; position:absolute; top:calc(100% + 18px); right:-22px; width:330px; max-height:min(70vh,560px); overflow:auto; padding:8px; border:1px solid rgba(53,221,245,.25); border-radius:12px; background:rgba(10,9,20,.97); backdrop-filter:blur(18px); box-shadow:0 18px 50px rgba(0,0,0,.45); z-index:200; }
.nav-dropdown.dropdown-open .services-dropdown { display:block; animation:serviceMenuIn .18s ease-out both; }
.services-dropdown a { display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:7px; color:#d7d2e2; font:500 12px/1.35 'Space Grotesk',sans-serif; letter-spacing:0; white-space:normal; }
.services-dropdown a::before { display:none; }
.services-dropdown a span,.mobile-services-list a span { min-width:22px; color:var(--cyan); font:500 11px 'JetBrains Mono',monospace; }
.services-dropdown a:hover { background:rgba(167,123,255,.13); color:#fff; }
@keyframes serviceMenuIn { from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)} }
.mobile-services-list { display:none; }
@media(max-width:720px) {
 .mobile-menu { gap:14px; justify-content:flex-start; padding-top:100px; }
 .mobile-menu > a { font-size:17px; letter-spacing:2px; }
 .mobile-services-list { display:flex; flex-direction:column; width:min(92vw,420px); max-height:42vh; overflow:auto; border-left:1px solid rgba(53,221,245,.35); margin:0 0 8px; padding-left:12px; gap:3px; }
 .mobile-services-list a { display:flex; align-items:center; gap:8px; padding:7px 4px; font:400 12px/1.35 'Space Grotesk',sans-serif; letter-spacing:0; color:#bcb5cb; }
 .mobile-services-list a span { flex:0 0 22px; }
}

/* Compact client strip with continuous, even-speed loop */
.client-strip-section { padding:16px 0 18px !important; }
.client-strip-heading { margin-bottom:8px !important; }
.client-marquee-track { gap:34px !important; padding:4px 17px !important; animation:client-logo-scroll 25s linear infinite !important; }
.client-logo-card,.client-logo-card.client-logo-dark { width:138px !important; flex-basis:138px !important; height:38px !important; }
.client-logo-card img { max-height:32px !important; }
@keyframes client-logo-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media(max-width:720px) { .client-strip-section { padding:13px 0 15px !important; } .client-marquee-track { gap:22px !important; animation-duration:20s !important; } .client-logo-card,.client-logo-card.client-logo-dark { width:105px !important; flex-basis:105px !important; height:31px !important; } .client-logo-card img { max-height:25px !important; } }

/* Keep anchored sections clear of the sticky header. */
#clients { scroll-margin-top: 100px; }

/* Match the Our Clients heading scale and typography to the Services section. */
.client-strip-heading .eyebrow{font-size:clamp(10px,1.4vw,13px);letter-spacing:6px;margin-bottom:18px}
.client-strip-heading h2{font-size:clamp(2rem,4.2vw,4.2rem);line-height:1.02;letter-spacing:-.045em;margin:0 auto;max-width:850px;color:var(--white);font-weight:700}
@media(max-width:700px){.client-strip-heading h2{font-size:clamp(2rem,8vw,3rem)}}


/* Founder profile section inspired by the supplied reference. */
.founder-profile{display:grid;grid-template-columns:minmax(260px, .78fr) minmax(0,1.45fr);gap:clamp(40px,7vw,110px);align-items:start;margin-top:clamp(58px,8vw,112px);padding:0 0 20px}
.founder-profile-photo img{display:block;width:100%;max-width:440px;aspect-ratio:4/4.35;object-fit:cover;object-position:center 28%;border:0;outline:0;border-radius:18px;filter:saturate(.94);clip-path:inset(2px 0 0 0 round 18px)}
.founder-name{display:flex;flex-direction:column;gap:3px;margin-top:17px}
.founder-name strong{font-size:clamp(20px,2vw,27px);font-weight:600;color:var(--white)}
.founder-name span{font-size:clamp(15px,1.5vw,21px);color:var(--muted,#89858f)}
.founder-profile-copy{position:relative;max-width:900px;padding-top:0}
.founder-quote-mark{position:absolute;top:-42px;left:-60px;font-family:Georgia,serif;font-size:clamp(110px,13vw,190px);line-height:1;color:rgba(255,255,255,.09);font-weight:700;pointer-events:none}
.founder-profile-copy h2{position:relative;margin:0 0 clamp(24px,3vw,42px);font-size:clamp(28px,3vw,48px);line-height:1.12;letter-spacing:-.045em;color:var(--white);font-weight:650}
.founder-profile-copy p{margin:0;max-width:760px;font-size:clamp(16px,1.5vw,23px);line-height:1.48;color:var(--muted,#89858f)}
@media(max-width:760px){.founder-profile{grid-template-columns:1fr;gap:34px;margin-top:58px}.founder-profile-photo img{max-width:360px}.founder-profile-copy{padding-left:12px}.founder-quote-mark{left:-10px;top:-45px;font-size:115px}.founder-profile-copy h2{font-size:clamp(28px,7.5vw,40px);margin-bottom:24px}.founder-profile-copy p{font-size:16px}}


/* Improve hero tagline visibility while keeping the supporting line and main headline aligned. */
.hero-text{max-width:900px;z-index:2}
.hero-text .eyebrow{display:block;max-width:100%;font-size:clamp(11px,1.25vw,15px);letter-spacing:clamp(2px,.45vw,5px);line-height:1.5;color:#e5e1f1;margin-bottom:18px;text-shadow:0 2px 12px rgba(0,0,0,.65)}
.hero-text h1{max-width:900px;font-size:clamp(2.8rem,6vw,6rem);line-height:.98;letter-spacing:-.045em;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.55);margin:0}
.hero-text h1 .hero-industry{color:#a77bff;text-shadow:0 0 24px rgba(167,123,255,.2)}
@media(max-width:720px){.hero-text .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:13px}.hero-text h1{font-size:clamp(2.3rem,10vw,3.6rem);line-height:1.02}}


/* Mobile touch support for the orbital services carousel. */
.service-orbit-stage{touch-action:pan-y; -webkit-tap-highlight-color:transparent}
.orbit-node{ -webkit-tap-highlight-color:transparent}
@media(max-width:700px){.service-orbit-stage{touch-action:pan-y;cursor:grab}.service-orbit-stage:active{cursor:grabbing}.orbit-center{user-select:none;-webkit-user-select:none}.orbit-side-arrow{z-index:8}}
