/* TATAR — block upgrades (tt- prefix) */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .orb, .cursor-trailer, .cursor-glow { display: none !important; }
  .marquee, .ticker-track { animation: none !important; }
  .gsap-reveal { visibility: visible !important; opacity: 1 !important; transform: none !important; }
}

/* Grain overlay */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.tt-skip {
  position: absolute;
  left: -9999px;
  top: auto;
  z-index: 100000;
  padding: 12px 20px;
  border-radius: 12px;
  background: var(--neon-v);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.tt-skip:focus {
  left: 16px;
  top: 16px;
}

/* Preloader */
.tt-preloader-brand {
  font-family: var(--font-display);
  font-size: clamp(28px, 5vw, 42px);
  font-weight: 900;
  letter-spacing: -0.04em;
  background: linear-gradient(110deg, #fff, var(--violet), var(--neon-p));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  margin-bottom: 20px;
}

/* Banner compact + dismiss persist */
.avail-banner {
  min-height: 40px;
  padding: 8px 48px 8px 16px;
}
@media (max-width: 600px) {
  .avail-banner { font-size: 12px; padding-right: 40px; }
}

/* Hide base.html header on home page MOBILE ONLY — sohub-header is used instead */
@media (max-width: 1024px) {
  body.tm-home-shell .header-ultra,
  body.tm-home-shell .tt-mobile-drawer {
    display: none !important;
    pointer-events: none !important;
  }
}

/* Nav shrink + mobile */
.header-ultra.is-scrolled .nav-ultra {
  padding-top: 6px;
  padding-bottom: 6px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.nav-links-ultra a.is-active {
  color: #fff;
}
.nav-links-ultra a.is-active::after {
  content: "";
  display: block;
  height: 2px;
  margin-top: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--neon-v), var(--neon-p));
}

.tt-nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(131, 46, 255, 0.35);
  border-radius: 12px;
  background: rgba(131, 46, 255, 0.12);
  color: #fff;
  flex-shrink: 0;
}
.tt-nav-toggle svg { width: 22px; height: 22px; }

.tt-mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  justify-content: flex-end;
  pointer-events: none;
  visibility: hidden;
}
.tt-mobile-drawer.is-open {
  pointer-events: auto;
  visibility: visible;
}
.tt-mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 1, 12, 0.72);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.tt-mobile-drawer.is-open .tt-mobile-drawer__backdrop { opacity: 1; }
.tt-mobile-drawer__panel {
  position: relative;
  width: min(320px, 88vw);
  height: 100%;
  padding: 100px 28px 40px;
  background: linear-gradient(180deg, #130822, #0a0315);
  border-left: 1px solid rgba(131, 46, 255, 0.25);
  transform: translateX(100%);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tt-mobile-drawer.is-open .tt-mobile-drawer__panel { transform: translateX(0); }
.tt-mobile-drawer__panel a {
  padding: 16px 0;
  border-bottom: 1px solid rgba(131, 46, 255, 0.12);
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--soft);
  text-decoration: none;
}
.tt-mobile-drawer__panel a:hover { color: #fff; }
.tt-mobile-drawer__cta { margin-top: 24px; width: 100%; }

@media (max-width: 900px) {
  .tt-nav-toggle { display: inline-flex; }
  .nav-links-ultra { display: none !important; }
  .header-ultra .btn-ultra { display: none; }
}

/* Hero */
.h1 .gradient-text { text-wrap: balance; }
.proof { position: relative; }
.tt-proof-icon {
  width: 36px;
  height: 36px;
  margin-bottom: 12px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  font-size: 16px;
  background: rgba(131, 46, 255, 0.2);
  border: 1px solid rgba(131, 46, 255, 0.3);
}
.hero-flashlight {
  opacity: 0.55 !important;
}
.hero:hover .hero-flashlight { opacity: 1 !important; }

/* Marquee calmer mobile */
@media (max-width: 720px) {
  .marquee-container {
    transform: none !important;
    padding: 28px 0;
  }
}

/* Stats */
.stat-item {
  font-variant-numeric: tabular-nums;
}
.tt-stat-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 8px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-size: 18px;
  background: rgba(131, 46, 255, 0.15);
  border: 1px solid rgba(131, 46, 255, 0.25);
}

/* Bento images */
.bento-visual img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.bento-grid:has(.bento-card:hover) .bento-card:not(:hover) {
  opacity: 0.72;
  filter: none;
}
.bento-icon {
  font-size: 11px;
  letter-spacing: 0.12em;
}

/* Skills groups */
.tt-skill-divider {
  height: 1px;
  margin: 8px 0 20px;
  background: linear-gradient(90deg, transparent, rgba(131, 46, 255, 0.35), transparent);
}

/* Work — mobile snap */
@media (max-width: 720px) {
  .projects-horizontal-wrapper {
    padding: 0 0 24px;
  }
  .projects-track {
    flex-direction: row !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 0 20px 20px;
    gap: 16px;
    -webkit-overflow-scrolling: touch;
  }
  .project {
    width: min(88vw, 340px) !important;
    scroll-snap-align: center;
    flex-shrink: 0;
  }
  .projects-scroll-hint { display: none; }
}

.tt-work-badge {
  display: inline-block;
  padding: 4px 14px;
  border: 1px solid rgba(131, 46, 255, 0.4);
  border-radius: 999px;
  font-size: clamp(14px, 1.5vw, 20px);
  background: rgba(131, 46, 255, 0.12);
  color: var(--violet);
  vertical-align: middle;
  margin-left: 10px;
  letter-spacing: -0.01em;
  font-weight: 800;
}

.project-tilt {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100%;
  transition: transform 0.15s ease-out;
  transform-style: preserve-3d;
}
.project { display: flex; flex-direction: column; }

/* Process workflow visuals */
.sticky-card-right {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.sticky-card-right::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(13, 5, 26, 0.35), rgba(13, 5, 26, 0.75));
  pointer-events: none;
}
.sticky-card-num { opacity: 0.35; }

@media (max-width: 1080px) {
  .sticky-card-right { min-height: 200px; }
}



/* FAQ smooth height */
.faq-a {
  max-height: none;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.faq-a > p {
  overflow: hidden;
  min-height: 0;
}
.faq-item.open .faq-a {
  grid-template-rows: 1fr;
}

/* Footer links */
.tt-footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 32px;
  margin-bottom: 16px;
}
.tt-footer-nav a {
  color: var(--soft);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.2s;
}
.tt-footer-nav a:hover { color: #fff; }

@media (max-width: 720px) {
  .huge-footer { height: 55vh; min-height: 420px; }
  .page-wrapper { margin-bottom: 55vh; }
  .massive-text { font-size: 28vw; }
}

/* Float CTA */
.float-cta {
  padding-bottom: max(14px, env(safe-area-inset-bottom));
}

/* CODARA shared page shell */
body:not(.tm-home-shell) {
  --codara-bg: #f6f1fc;
  --codara-ink: #1a0836;
  --codara-muted: #7d6b9c;
  --codara-violet: #55338a;
  --codara-line: rgba(131, 46, 255, 0.14);
  background: var(--codara-bg) !important;
  color: var(--codara-ink) !important;
}

body:not(.tm-home-shell)::after,
body:not(.tm-home-shell) .orb,
body:not(.tm-home-shell) .cursor-glow,
body:not(.tm-home-shell) .cursor-trailer,
body:not(.tm-home-shell) #ambient-particles,
body:not(.tm-home-shell) .avail-banner,
body.tm-home-shell .site-footer-base {
  display: none !important;
}

body:not(.tm-home-shell) .page-wrapper,
body:not(.tm-home-shell) main,
body:not(.tm-home-shell) .section {
  background: var(--codara-bg) !important;
  color: var(--codara-ink) !important;
}

body:not(.tm-home-shell) .page-wrapper {
  margin-bottom: 0 !important;
}

body:not(.tm-home-shell) .container,
body:not(.tm-home-shell) .codara-wide-container {
  width: min(calc(100% - 2rem), 1240px) !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

body:not(.tm-home-shell) .section {
  padding: clamp(4.5rem, 8vw, 7rem) 0 !important;
}

.codara-page-spacer {
  height: clamp(5.5rem, 9vw, 8rem);
}

body:not(.tm-home-shell) .header-ultra {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 1000 !important;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(246, 241, 252, 0.96), rgba(246, 241, 252, 0.74) 72%, rgba(246, 241, 252, 0)) !important;
}

body:not(.tm-home-shell) .nav-ultra {
  width: min(calc(100% - 2rem), 1240px) !important;
  margin: 1rem auto 0 !important;
  padding: 0.65rem 0.8rem !important;
  border: 1px solid rgba(131, 46, 255, 0.18) !important;
  border-radius: 999px !important;
  background: rgba(246, 241, 252, 0.78) !important;
  box-shadow: 0 18px 60px rgba(85, 51, 138, 0.12) !important;
  backdrop-filter: blur(18px) !important;
  pointer-events: auto;
}

body:not(.tm-home-shell) .nav-brand-ultra {
  color: var(--codara-ink) !important;
  font-family: 'publicaPlay', 'Space Grotesk', sans-serif !important;
  font-size: clamp(1.15rem, 2vw, 1.45rem) !important;
  letter-spacing: -0.04em !important;
}

body:not(.tm-home-shell) .nav-links-ultra {
  gap: clamp(0.8rem, 2vw, 1.7rem) !important;
}

body:not(.tm-home-shell) .nav-links-ultra a,
body:not(.tm-home-shell) .tt-mobile-drawer__panel a {
  color: var(--codara-violet) !important;
  letter-spacing: 0.08em !important;
}

body:not(.tm-home-shell) .nav-links-ultra a:hover,
body:not(.tm-home-shell) .nav-links-ultra a.is-active {
  color: var(--codara-ink) !important;
}

body:not(.tm-home-shell) .btn-ultra,
body:not(.tm-home-shell) .btn {
  border-radius: 999px !important;
}

body:not(.tm-home-shell) .btn-ultra:not(.btn-ghost-ultra),
body:not(.tm-home-shell) .btn:not(.btn--ghost) {
  background: linear-gradient(135deg, #2b1452, #8b5cf6) !important;
  color: #fff !important;
  box-shadow: 0 16px 38px rgba(85, 51, 138, 0.22) !important;
}

body:not(.tm-home-shell) .btn-ghost-ultra,
body:not(.tm-home-shell) .btn--ghost {
  background: rgba(255, 255, 255, 0.62) !important;
  color: var(--codara-violet) !important;
  border: 1px solid rgba(131, 46, 255, 0.22) !important;
}

body:not(.tm-home-shell) .tt-nav-toggle {
  color: var(--codara-violet) !important;
  background: rgba(255, 255, 255, 0.68) !important;
}

body:not(.tm-home-shell) .tt-mobile-drawer__panel {
  background: rgba(246, 241, 252, 0.96) !important;
  border-left: 1px solid var(--codara-line) !important;
}

body:not(.tm-home-shell) .label {
  color: var(--codara-violet) !important;
  background: rgba(131, 46, 255, 0.08) !important;
  border: 1px solid rgba(131, 46, 255, 0.18) !important;
}

body:not(.tm-home-shell) .h1,
body:not(.tm-home-shell) .h2,
body:not(.tm-home-shell) h1,
body:not(.tm-home-shell) h2,
body:not(.tm-home-shell) h3 {
  color: var(--codara-ink) !important;
}

body:not(.tm-home-shell) .lead,
body:not(.tm-home-shell) .text,
body:not(.tm-home-shell) p {
  color: var(--codara-muted) !important;
}

body:not(.tm-home-shell) .section-head,
body:not(.tm-home-shell) .codara-page-hero {
  max-width: 780px;
  margin-inline: auto;
  text-align: center;
}

body:not(.tm-home-shell) .section-head--center {
  align-items: center;
}

body:not(.tm-home-shell) .project-card,
body:not(.tm-home-shell) .masonry-card,
body:not(.tm-home-shell) .faq-item,
body:not(.tm-home-shell) .laser-card,
body:not(.tm-home-shell) .audit-container,
body:not(.tm-home-shell) .audit-bento-left,
body:not(.tm-home-shell) .codara-blog-card {
  background: rgba(255, 255, 255, 0.58) !important;
  border: 1px solid rgba(131, 46, 255, 0.16) !important;
  box-shadow: 0 22px 70px rgba(85, 51, 138, 0.11) !important;
  color: var(--codara-ink) !important;
  backdrop-filter: blur(18px);
}

body:not(.tm-home-shell) .ed-card,
body:not(.tm-home-shell) .laser-image-box {
  border: 1px solid rgba(131, 46, 255, 0.16) !important;
  box-shadow: 0 22px 70px rgba(85, 51, 138, 0.13) !important;
}

body:not(.tm-home-shell) .ed-title,
body:not(.tm-home-shell) .ed-desc,
body:not(.tm-home-shell) .ed-tags .tag,
body:not(.tm-home-shell) .ed-tech-stack span,
body:not(.tm-home-shell) .ed-view-btn {
  color: #fff !important;
}

body:not(.tm-home-shell) .faq-q,
body:not(.tm-home-shell) .faq-a,
body:not(.tm-home-shell) .laser-card-title,
body:not(.tm-home-shell) .laser-card-desc,
body:not(.tm-home-shell) .t-quote,
body:not(.tm-home-shell) .t-name,
body:not(.tm-home-shell) .t-role {
  color: var(--codara-ink) !important;
}

body:not(.tm-home-shell) .laser-wire,
body:not(.tm-home-shell) .laser-beam {
  background: linear-gradient(180deg, transparent, rgba(131, 46, 255, 0.45), transparent) !important;
}

body:not(.tm-home-shell) .rich-divider,
body:not(.tm-home-shell) .float-cta {
  display: none !important;
}

body:not(.tm-home-shell) .mesh-cta {
  background: linear-gradient(135deg, rgba(255,255,255,0.66), rgba(227,211,250,0.74)) !important;
  border: 1px solid rgba(131, 46, 255, 0.16) !important;
  box-shadow: 0 24px 80px rgba(85, 51, 138, 0.12) !important;
}

.site-footer-base {
  position: relative;
  z-index: 2;
  padding: clamp(3rem, 6vw, 5rem) clamp(1rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem);
  background: var(--codara-bg, #f6f1fc);
  color: var(--codara-muted, #7d6b9c);
  overflow: hidden;
}

.site-footer-base .tt-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem clamp(1rem, 2vw, 1.7rem);
  margin: 0 0 clamp(1.75rem, 3vw, 2.4rem);
}

.site-footer-base .tt-footer-nav a {
  color: var(--codara-violet, #55338a);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
}

.site-footer-meta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 1rem 2rem;
  width: 100%;
  color: var(--codara-muted, #7d6b9c);
  font-size: clamp(0.72rem, 1vw, 0.82rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.site-footer-meta > :first-child { justify-self: start; }
.site-footer-meta > :nth-child(2) { justify-self: center; text-align: center; }
.site-footer-meta > :last-child { justify-self: end; }

.site-footer-brand {
  margin: clamp(1.5rem, 3vw, 2.2rem) 0 0;
  width: 100%;
  font-family: 'publicaPlay', 'Space Grotesk', sans-serif;
  font-size: clamp(4rem, 17vw, 13rem);
  font-weight: 900;
  line-height: 0.78;
  letter-spacing: -0.06em;
  text-align: center;
  text-transform: uppercase;
  background: linear-gradient(180deg, rgba(85, 51, 138, 0.62) 0%, rgba(131, 46, 255, 0.22) 58%, rgba(131, 46, 255, 0) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.codara-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

.codara-blog-card {
  min-height: 22rem;
  padding: clamp(1.5rem, 3vw, 2rem);
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.codara-blog-meta {
  color: var(--codara-violet);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.codara-blog-card h2 {
  margin: 1.5rem 0 1rem;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.08;
}

.codara-blog-card a {
  width: fit-content;
  margin-top: 1.5rem;
  color: var(--codara-violet);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}

@media (max-width: 900px) {
  body:not(.tm-home-shell) .container,
  body:not(.tm-home-shell) .codara-wide-container {
    width: min(calc(100% - 1.25rem), 1240px) !important;
  }

  .site-footer-meta,
  .codara-blog-grid {
    grid-template-columns: 1fr;
  }

  .site-footer-meta > :first-child,
  .site-footer-meta > :nth-child(2),
  .site-footer-meta > :last-child {
    justify-self: center;
    text-align: center;
  }
}

/* CODARA secondary pages: final flow/layout overrides */
html:has(body:not(.tm-home-shell)) {
  width: 100% !important;
  min-width: 320px !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background: #f6f1fc !important;
}

body:not(.tm-home-shell) {
  min-height: 100vh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background:
    radial-gradient(900px 520px at 10% -10%, rgba(131, 46, 255, 0.13), transparent 64%),
    radial-gradient(780px 520px at 92% 0%, rgba(192, 132, 252, 0.16), transparent 62%),
    #f6f1fc !important;
}

body:not(.tm-home-shell) .page-wrapper {
  position: relative !important;
  z-index: 1 !important;
  min-height: auto !important;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body:not(.tm-home-shell) main#main {
  min-height: auto !important;
  padding-top: clamp(7rem, 10vw, 9rem) !important;
  background: transparent !important;
}

body:not(.tm-home-shell) main#main > div[style*="padding-top"] {
  display: none !important;
}

body:not(.tm-home-shell) .section {
  width: 100% !important;
  min-height: auto !important;
  margin: 0 !important;
  padding: clamp(4rem, 7vw, 6rem) 0 !important;
  background: transparent !important;
}

body:not(.tm-home-shell) .section:first-child {
  padding-top: 0 !important;
}

body:not(.tm-home-shell) .section-head {
  display: grid !important;
  grid-template-columns: 1fr !important;
  justify-items: center !important;
  gap: 1rem !important;
  margin-bottom: clamp(2rem, 5vw, 4rem) !important;
}

body:not(.tm-home-shell) .h1 {
  font-size: clamp(3rem, 8vw, 7.5rem) !important;
  line-height: 0.88 !important;
  letter-spacing: -0.06em !important;
  max-width: 980px !important;
  margin-inline: auto !important;
}

body:not(.tm-home-shell) .lead,
body:not(.tm-home-shell) .text {
  max-width: 720px !important;
  margin-inline: auto !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.7 !important;
}

body:not(.tm-home-shell) .editorial-gallery,
body:not(.tm-home-shell) .masonry-reviews-flex,
body:not(.tm-home-shell) .audit-bento,
body:not(.tm-home-shell) .premium-faq-container,
body:not(.tm-home-shell) .laser-timeline-container {
  width: 100% !important;
  max-width: 1240px !important;
  margin-inline: auto !important;
}

body:not(.tm-home-shell) .editorial-gallery {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

body:not(.tm-home-shell) .ed-card {
  min-height: clamp(21rem, 34vw, 32rem) !important;
  border-radius: 1.5rem !important;
  overflow: hidden !important;
}

body:not(.tm-home-shell) .ed-featured {
  grid-column: span 12 !important;
}

body:not(.tm-home-shell) .ed-wide {
  grid-column: span 7 !important;
}

body:not(.tm-home-shell) .ed-narrow {
  grid-column: span 5 !important;
}

body:not(.tm-home-shell) .masonry-reviews-flex {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

body:not(.tm-home-shell) .masonry-col {
  display: grid !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

body:not(.tm-home-shell) .masonry-card,
body:not(.tm-home-shell) .faq-item,
body:not(.tm-home-shell) .audit-container {
  border-radius: 1.25rem !important;
  padding: clamp(1.25rem, 2.5vw, 2rem) !important;
}

body:not(.tm-home-shell) .premium-faq-container {
  display: grid !important;
  grid-template-columns: minmax(18rem, 0.75fr) minmax(0, 1.25fr) !important;
  gap: clamp(1.5rem, 4vw, 4rem) !important;
  align-items: start !important;
}

body:not(.tm-home-shell) .faq-left-panel {
  position: sticky !important;
  top: 8rem !important;
}

body:not(.tm-home-shell) .faq-right-panel {
  display: grid !important;
  gap: 1rem !important;
}

body:not(.tm-home-shell) .laser-timeline-container {
  display: grid !important;
  gap: clamp(1rem, 3vw, 2rem) !important;
}

body:not(.tm-home-shell) .laser-wire,
body:not(.tm-home-shell) .laser-node {
  display: none !important;
}

body:not(.tm-home-shell) .laser-step,
body:not(.tm-home-shell) .laser-step--reverse {
  display: grid !important;
  grid-template-columns: minmax(0, 0.9fr) minmax(18rem, 1.1fr) !important;
  gap: clamp(1rem, 3vw, 2rem) !important;
  align-items: stretch !important;
  margin: 0 !important;
}

body:not(.tm-home-shell) .laser-content-left,
body:not(.tm-home-shell) .laser-content-right {
  width: 100% !important;
  margin: 0 !important;
}

body:not(.tm-home-shell) .laser-card,
body:not(.tm-home-shell) .laser-image-box {
  min-height: 18rem !important;
  border-radius: 1.5rem !important;
}

body:not(.tm-home-shell) .audit-bento {
  display: grid !important;
  grid-template-columns: minmax(20rem, 0.95fr) minmax(0, 1.05fr) !important;
  gap: clamp(1.25rem, 3vw, 2rem) !important;
  align-items: stretch !important;
}

body:not(.tm-home-shell) .audit-bento-left {
  overflow: hidden !important;
  border-radius: 1.5rem !important;
}

body:not(.tm-home-shell) .audit-bento-left img {
  width: 100% !important;
  height: 100% !important;
  min-height: 28rem !important;
  object-fit: cover !important;
  display: block !important;
}

body:not(.tm-home-shell) input,
body:not(.tm-home-shell) textarea {
  background: rgba(255, 255, 255, 0.72) !important;
  color: #1a0836 !important;
  border: 1px solid rgba(131, 46, 255, 0.2) !important;
  border-radius: 999px !important;
}

body:not(.tm-home-shell) #contact {
  padding-top: clamp(2rem, 5vw, 4rem) !important;
}

body:not(.tm-home-shell) .site-footer-base {
  margin-top: 0 !important;
}

@media (max-width: 980px) {
  body:not(.tm-home-shell) .editorial-gallery,
  body:not(.tm-home-shell) .masonry-reviews-flex,
  body:not(.tm-home-shell) .premium-faq-container,
  body:not(.tm-home-shell) .laser-step,
  body:not(.tm-home-shell) .laser-step--reverse,
  body:not(.tm-home-shell) .audit-bento {
    grid-template-columns: 1fr !important;
  }

  body:not(.tm-home-shell) .ed-featured,
  body:not(.tm-home-shell) .ed-wide,
  body:not(.tm-home-shell) .ed-narrow {
    grid-column: auto !important;
  }

  body:not(.tm-home-shell) .faq-left-panel {
    position: relative !important;
    top: auto !important;
    text-align: center !important;
  }
}
.float-cta.is-hidden-near-contact {
  transform: translateX(-50%) translateY(120px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Focus */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--neon-p);
  outline-offset: 3px;
}

/* Console metrics animate */
.console.is-live .metric-line i {
  animation: tt-metric-fill 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes tt-metric-fill {
  from { width: 0; }
  to { width: var(--w); }
}

/* Hero Cat Positioning */
#hero-cat {
  right: 2% !important;
}
@media (min-width: 1024px) {
  #hero-cat {
    right: 15% !important;
  }
}
@media (min-width: 1280px) {
  #hero-cat {
    right: 22% !important;
  }
}

/* ===== CODARA responsive system pass ===== */
:root {
  --codara-container: min(100% - clamp(1.25rem, 4vw, 4rem), 1320px);
  --codara-container-wide: min(100% - clamp(1.25rem, 4vw, 5rem), 1480px);
  --codara-section-y: clamp(3.5rem, 7vw, 7rem);
  --codara-card-radius: clamp(18px, 2vw, 30px);
  --codara-touch: 48px;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body { overflow-x: hidden; }
}

body {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

.container,
.codara-wide-container,
body:not(.tm-home-shell) .container,
body:not(.tm-home-shell) .codara-wide-container,
body:not(.tm-home-shell) .inner-container,
body:not(.tm-home-shell) .wk-flagship__inner,
body:not(.tm-home-shell) .rv-flagship__inner,
body:not(.tm-home-shell) .pr-flagship__inner,
body:not(.tm-home-shell) .bl-section,
body:not(.tm-home-shell) .faq-section {
  width: var(--codara-container) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body:not(.tm-home-shell) .section,
body:not(.tm-home-shell) .wk-flagship,
body:not(.tm-home-shell) .rv-flagship,
body:not(.tm-home-shell) .pr-flagship,
body:not(.tm-home-shell) .faq-section,
body:not(.tm-home-shell) .bl-section {
  padding-inline: 0 !important;
}

.header-ultra,
.sohub-header {
  width: 100% !important;
  max-width: 100vw !important;
}

.nav-ultra {
  width: var(--codara-container-wide) !important;
  max-width: 1480px !important;
  margin-inline: auto !important;
  min-height: 68px !important;
}

.nav-links-ultra {
  min-width: 0 !important;
}

.btn-ultra,
.btn,
.home-cta-btn,
.premium-submit,
.codara-tool-btn,
.tt-nav-toggle {
  min-height: var(--codara-touch) !important;
  touch-action: manipulation;
}

.tt-mobile-drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}

.tt-mobile-drawer.is-open,
.tt-mobile-drawer[aria-hidden="false"] {
  opacity: 1;
  pointer-events: auto;
}

.tt-mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(13, 5, 24, .58);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tt-mobile-drawer__panel {
  position: absolute !important;
  top: clamp(.75rem, 3vw, 1.25rem) !important;
  right: clamp(.75rem, 3vw, 1.25rem) !important;
  bottom: clamp(.75rem, 3vw, 1.25rem) !important;
  width: min(24rem, calc(100vw - 1.5rem)) !important;
  max-width: none !important;
  padding: clamp(1.25rem, 4vw, 2rem) !important;
  border-radius: 28px !important;
  display: grid !important;
  align-content: start !important;
  gap: .55rem !important;
  overflow-y: auto !important;
  transform: translateX(110%);
  transition: transform .34s cubic-bezier(.16,1,.3,1);
  background:
    radial-gradient(420px 260px at 100% 0%, rgba(192,132,252,.22), transparent 62%),
    rgba(246, 241, 252, .94) !important;
  border: 1px solid rgba(131,46,255,.16) !important;
  box-shadow: 0 30px 90px rgba(26,8,54,.24) !important;
}

.tt-mobile-drawer.is-open .tt-mobile-drawer__panel,
.tt-mobile-drawer[aria-hidden="false"] .tt-mobile-drawer__panel {
  transform: translateX(0);
}

.tt-mobile-drawer__panel a {
  min-height: 52px;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: .85rem 1rem !important;
  border-radius: 16px !important;
  font-size: .9rem !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
  border: 1px solid rgba(131,46,255,.08);
  background: rgba(255,255,255,.45);
}

.tt-mobile-drawer__cta {
  justify-content: center !important;
  margin-top: .5rem !important;
}

body:not(.tm-home-shell) main#main {
  padding-top: clamp(6.5rem, 10vw, 9rem) !important;
}

body:not(.tm-home-shell) :is(.wk-hero, .rv-hero, .pr-hero, .faq-hero, .bl-hero) {
  width: var(--codara-container) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
  padding:
    clamp(5rem, 10vw, 9rem)
    0
    clamp(2.5rem, 5vw, 4.5rem) !important;
  overflow: visible !important;
}

body:not(.tm-home-shell) :is(.wk-hero-title, .rv-hero-title, .pr-hero-title, .faq-hero-title, .bl-hero-title, .inner-title, .h1) {
  max-width: min(100%, 1180px) !important;
  margin-inline: auto !important;
  font-size: clamp(2.55rem, 8.2vw, 7.4rem) !important;
  line-height: .92 !important;
  letter-spacing: clamp(-.055em, -0.7vw, -.025em) !important;
  text-align: center !important;
  text-wrap: balance;
  overflow-wrap: normal;
}

body:not(.tm-home-shell) .wk-hero-title {
  white-space: normal !important;
}

body:not(.tm-home-shell) :is(.wk-hero-sub, .rv-hero-sub, .pr-hero-sub, .faq-hero-sub, .bl-hero-sub, .inner-lead, .lead) {
  max-width: 48rem !important;
  margin-inline: auto !important;
  font-size: clamp(.98rem, 1.35vw, 1.18rem) !important;
  line-height: 1.65 !important;
  text-wrap: pretty;
}

body:not(.tm-home-shell) :is(.wk-portfolio-grid, .rv-stats-grid, .bl-grid) {
  gap: clamp(1rem, 2.4vw, 2rem) !important;
}

body:not(.tm-home-shell) :is(.wk-project-card, .rv-stat-tile, .rv-feature-card, .rv-marquee-card, .pr-card, .faq-item, .bl-card-visual, .premium-card, .audit-glass-panel) {
  border-radius: var(--codara-card-radius) !important;
}

body:not(.tm-home-shell) .wk-project-card__media,
body:not(.tm-home-shell) .bl-card-visual {
  aspect-ratio: 16 / 10 !important;
}

body:not(.tm-home-shell) :is(.wk-project-card__media img, .ed-card img, .laser-image-box img, .audit-bento-left img) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.site-footer-base {
  width: 100% !important;
  max-width: 100vw !important;
  padding-inline: clamp(1rem, 4vw, 3rem) !important;
}

.site-footer-brand {
  font-size: clamp(3.4rem, 15vw, 13rem) !important;
  overflow-wrap: normal;
}

@media (hover: hover) and (pointer: fine) {
  body:not(.tm-home-shell) :is(.wk-project-card, .rv-stat-tile, .pr-card, .faq-item, .bl-card) {
    will-change: transform;
  }
}

@media (hover: none), (pointer: coarse) {
  body:not(.tm-home-shell) :is(.wk-project-card:hover, .rv-stat-tile:hover, .pr-card:hover, .faq-item:hover, .bl-card:hover),
  .project-card:hover,
  .service-item:hover {
    transform: none !important;
  }

  body:not(.tm-home-shell) :is(.wk-project-card, .rv-stat-tile, .pr-card, .faq-item, .bl-card),
  .project-card,
  .service-item {
    transition-duration: .22s !important;
  }
}

@media (min-width: 1536px) {
  :root {
    --codara-container: min(100% - 7rem, 1400px);
    --codara-container-wide: min(100% - 6rem, 1560px);
  }

  body:not(.tm-home-shell) :is(.wk-hero, .rv-hero, .pr-hero, .faq-hero, .bl-hero) {
    padding-top: clamp(7rem, 9vw, 11rem) !important;
  }
}

@media (min-width: 1920px) {
  :root {
    --codara-container: 1460px;
    --codara-container-wide: 1640px;
  }
}

@media (max-width: 1180px) {
  .nav-links-ultra {
    display: none !important;
  }

  .tt-nav-toggle {
    display: inline-flex !important;
  }

  .btn-desktop-only {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  body:not(.tm-home-shell) .rv-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not(.tm-home-shell) .wk-portfolio-grid,
  body:not(.tm-home-shell) .bl-grid {
    grid-template-columns: 1fr !important;
  }

  body:not(.tm-home-shell) .pr-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body:not(.tm-home-shell) .pr-card-number {
    width: 4rem !important;
    height: 4rem !important;
  }
}

@media (max-width: 768px) {
  :root {
    --codara-container: min(100% - 1.5rem, 720px);
    --codara-section-y: 3.5rem;
    --codara-card-radius: 20px;
  }

  .nav-ultra {
    min-height: 60px !important;
  }

  .nav-controls {
    gap: .45rem !important;
  }

  .btn-ghost-ultra {
    display: none !important;
  }

  body:not(.tm-home-shell) main#main {
    padding-top: 5.6rem !important;
  }

  body:not(.tm-home-shell) :is(.wk-hero, .rv-hero, .pr-hero, .faq-hero, .bl-hero) {
    padding-top: clamp(3.5rem, 15vw, 5rem) !important;
    padding-bottom: 2rem !important;
  }

  body:not(.tm-home-shell) :is(.wk-hero-label, .rv-hero-label, .pr-hero-label, .faq-hero-label, .bl-hero-label, .inner-label, .label) {
    margin-bottom: 1.25rem !important;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    justify-content: center;
  }

  body:not(.tm-home-shell) :is(.wk-hero-title, .rv-hero-title, .pr-hero-title, .faq-hero-title, .bl-hero-title, .inner-title, .h1) {
    font-size: clamp(2.25rem, 13.5vw, 4.4rem) !important;
    line-height: .98 !important;
    letter-spacing: -.035em !important;
  }

  body:not(.tm-home-shell) :is(.wk-project-card__body, .rv-stat-tile, .rv-feature-card, .pr-card, .faq-btn, .faq-content-inner, .audit-glass-panel) {
    padding: clamp(1rem, 5vw, 1.45rem) !important;
  }

  body:not(.tm-home-shell) .rv-stats-grid {
    grid-template-columns: 1fr !important;
  }

  body:not(.tm-home-shell) .faq-btn {
    gap: 1rem !important;
    align-items: center !important;
  }

  body:not(.tm-home-shell) .faq-icon-wrap {
    width: 42px !important;
    height: 42px !important;
    margin-left: .75rem !important;
  }

  .site-footer-meta {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    text-align: center !important;
    gap: .75rem !important;
  }

  .site-footer-meta > * {
    justify-self: center !important;
  }

  .site-footer-base .tt-footer-nav {
    gap: .35rem .65rem !important;
  }
}

@media (max-width: 480px) {
  :root {
    --codara-container: min(100% - 1rem, 430px);
  }

  .nav-ultra {
    width: min(100% - .75rem, 430px) !important;
    min-height: 56px !important;
  }

  .nav-brand-ultra {
    font-size: clamp(1rem, 6vw, 1.25rem) !important;
  }

  .tt-nav-toggle {
    width: 48px !important;
    min-width: 48px !important;
    padding-inline: 0 !important;
  }

  body:not(.tm-home-shell) :is(.wk-hero-title, .rv-hero-title, .pr-hero-title, .faq-hero-title, .bl-hero-title, .inner-title, .h1) {
    font-size: clamp(2.05rem, 12.5vw, 3.4rem) !important;
  }

  body:not(.tm-home-shell) :is(.wk-hero-sub, .rv-hero-sub, .pr-hero-sub, .faq-hero-sub, .bl-hero-sub, .inner-lead, .lead) {
    font-size: .98rem !important;
    line-height: 1.58 !important;
  }

  body:not(.tm-home-shell) .wk-project-card__media,
  body:not(.tm-home-shell) .bl-card-visual {
    aspect-ratio: 4 / 3 !important;
    margin: .75rem !important;
  }

  body:not(.tm-home-shell) .bl-meta {
    flex-wrap: wrap !important;
    gap: .55rem !important;
  }

  .premium-input {
    min-height: 56px !important;
    padding: 1rem 1.1rem !important;
  }

  .premium-submit {
    position: static !important;
    width: 100% !important;
    margin-top: .75rem !important;
    padding: 0 1rem !important;
  }

  .audit-form-wrapper {
    display: grid !important;
  }

  .site-footer-brand {
    font-size: clamp(3rem, 19vw, 5.6rem) !important;
    letter-spacing: -.045em !important;
  }
}

@media (max-width: 360px) {
  :root {
    --codara-container: min(100% - .8rem, 340px);
  }

  body:not(.tm-home-shell) :is(.wk-hero-title, .rv-hero-title, .pr-hero-title, .faq-hero-title, .bl-hero-title, .inner-title, .h1) {
    font-size: clamp(1.9rem, 11.5vw, 3rem) !important;
  }

  .site-footer-base .tt-footer-nav a {
    font-size: .72rem !important;
    padding-inline: .35rem !important;
  }
}

@media (prefers-reduced-motion: reduce), (max-width: 768px) {
  .orb,
  .cursor-glow,
  .cursor-trailer,
  .mesh-contact-wrapper,
  body:not(.tm-home-shell) :is(.wk-hero::before, .rv-hero::before, .faq-hero::before, .bl-hero::before),
  .float-anim,
  .float-anim-l {
    animation: none !important;
    transition: none !important;
  }
}
