/* Optional 3D layer. The existing illustration and content remain visible. */
.hero__visual { isolation: isolate; }
.hero__visual > img { position: relative; z-index: 1; }
.ctd-hero-3d { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; border-radius: 24px; }
.ctd-hero-3d canvas { display: block; width: 100%; height: 100%; pointer-events: none; }
.ctd-hero-3d ~ .hero-status { z-index: 3; }
.ctd-webgl-fallback { display: none; position: absolute; inset: 0; align-items: center; justify-content: center; opacity: .36; }
.ctd-is-fallback .ctd-webgl-fallback { display: flex; }
.ctd-fallback-orb { width: min(70%, 340px); aspect-ratio: 1; position: relative; border: 1px solid rgba(20,217,255,.55); border-radius: 50%; background: radial-gradient(circle, rgba(9,107,255,.18), transparent 68%); }
.ctd-fallback-orb::before, .ctd-fallback-orb::after, .ctd-fallback-orb span { content: ''; position: absolute; inset: 13%; border: 1px solid rgba(20,217,255,.6); border-radius: 50%; transform: rotate(65deg) scaleX(.42); }
.ctd-fallback-orb::after { transform: rotate(-65deg) scaleX(.42); }
.ctd-fallback-orb span:nth-child(1) { transform: rotate(0) scaleY(.42); }
.ctd-fallback-orb span:nth-child(2) { inset: 25%; transform: none; opacity: .6; }
.ctd-fallback-orb span:nth-child(3) { inset: 40%; transform: none; background: rgba(20,217,255,.24); }
.ctd-tilt-card { perspective: 950px; }
.ctd-tilt-surface { height: 100%; transform-style: preserve-3d; transition: transform .25s ease; }
.ctd-tilt-surface::after { content: ''; position: absolute; inset: -28px; border-radius: inherit; opacity: 0; pointer-events: none; background: radial-gradient(circle at var(--ctd-pointer-x, 50%) var(--ctd-pointer-y, 50%), rgba(20,217,255,.1), transparent 45%); transition: opacity .2s ease; }
.ctd-tilt-card:hover .ctd-tilt-surface::after { opacity: 1; }
@media (hover: none), (pointer: coarse), (max-width: 767px) {
  .ctd-tilt-surface { transform: none !important; }
  .ctd-tilt-surface::after { display: none; }
  .ctd-hero-3d { opacity: .65; }
}
@media (prefers-reduced-motion: reduce) {
  .ctd-hero-3d canvas { display: none !important; }
  .ctd-webgl-fallback { display: flex; }
  .ctd-tilt-surface { transform: none !important; transition: none !important; }
}
html.ctd-lenis-active { scroll-behavior: auto; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
.founder-visual--ceo img { display: block; aspect-ratio: 16 / 11; object-fit: cover; object-position: center; }
.founder-copy .text-link + .text-link { margin-left: 16px; }
.service-hero__visual--image { width: 100%; max-width: 520px; min-height: 0; aspect-ratio: 1; padding: 0; overflow: hidden; }
.service-hero__visual--image img { width: 100%; height: 100%; display: block; object-fit: cover; }
@media (max-width: 900px) { .service-hero__visual--image { margin-inline: auto; } }
@media (max-width: 600px) { .founder-copy .text-link + .text-link { display: inline-flex; margin: 14px 0 0; } }
