/* ==========================================================================
   Softix — Design Tokens (sky palette)
   Palette: white surface, deep navy ink, sky-blue primary, orange + yellow accents
   Type: Manrope (display) / Inter (body) / IBM Plex Mono (small labels)
   ========================================================================== */

:root {
  --paper: #ffffff;
  --paper-2: #f2f9fd;
  --card: #ffffff;
  --ink: #0f2438;
  --ink-soft: #435a6f;
  --muted: #6b8199;
  --line: #dde9f1;
  --line-strong: #c3d7e4;

  --accent: #0ea5e9;
  --accent-dark: #0284c7;
  --accent-tint: #e0f4ff;

  --orange: #f97316;
  --orange-dark: #ea580c;
  --orange-tint: #ffedd5;

  --yellow: #facc15;
  --yellow-dark: #eab308;
  --yellow-tint: #fef9c3;

  --dark-bg: #0a2740;
  --dark-bg-2: #123655;
  --dark-ink: #ffffff;
  --dark-muted: #a7c3d9;
  --dark-line: rgba(255, 255, 255, 0.14);

  --warn: #dc2626;
  --success: #16a34a;

  --font-display: "Manrope", "Inter", -apple-system, sans-serif;
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;

  --shadow-1: 0 2px 6px rgba(15, 36, 56, 0.06);
  --shadow-2: 0 18px 44px rgba(15, 36, 56, 0.14);
  --shadow-accent: 0 12px 28px rgba(14, 165, 233, 0.28);
  --shadow-orange: 0 12px 28px rgba(249, 115, 22, 0.3);

  --wrap: 1220px;
}

/* ---------- Reset ---------- */
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--paper);
  color: var(--ink);

  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; }
input, textarea, select { font: inherit; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }

/* ---------- Typography ---------- */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.015em;
  color: var(--ink);
}
h1 { font-size: clamp(2.4rem, 4.6vw, 3.8rem); }
h2 { font-size: clamp(1.9rem, 3vw, 2.5rem); }
h3 { font-size: 1.25rem; }
h4 { font-size: 1.02rem; }

p { color: var(--ink-soft); }
.lede { font-size: 1.14rem; color: var(--ink-soft); max-width: 50ch; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--orange-dark);
  margin-bottom: 16px;
  font-weight: 600;
}
.eyebrow::before { content: ""; width: 16px; height: 2px; background: var(--orange); }
.eyebrow.on-dark { color: var(--yellow); }
.eyebrow.on-dark::before { background: var(--yellow); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 0.95rem;
  border: 1px solid transparent;
  transition: transform 0.2s cubic-bezier(.34,1.56,.64,1), box-shadow 0.25s ease, background 0.25s ease, color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
  white-space: nowrap;
  position: relative;
}
.btn:hover { transform: translateY(-2px) scale(1.02); }
.btn:active { transform: translateY(0) scale(0.98); }
.btn svg { transition: transform 0.2s ease; }
.btn:hover svg { transform: translateX(3px); }

.btn-primary {
  background: linear-gradient(120deg, var(--accent) 0%, var(--accent) 45%, var(--orange) 100%);
  background-size: 180% 180%;
  background-position: 0% 50%;
  color: #fff;
  box-shadow: var(--shadow-accent);
}
.btn-primary:hover { background-position: 100% 50%; box-shadow: var(--shadow-orange); }

.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: var(--dark-bg-2); box-shadow: var(--shadow-2); }

.btn-outline { background: transparent; border-color: var(--line-strong); color: var(--ink); }
.btn-outline:hover { border-color: var(--accent); color: var(--accent-dark); background: var(--accent-tint); }

.btn-orange { background: var(--orange); color: #fff; box-shadow: var(--shadow-orange); }
.btn-orange:hover { background: var(--orange-dark); }

.btn-ghost-dark { background: transparent; border-color: var(--dark-line); color: var(--dark-ink); }
.btn-ghost-dark:hover { border-color: var(--yellow); color: var(--yellow); background: rgba(250, 204, 21, 0.08); }
.btn-sm { padding: 10px 18px; font-size: 0.85rem; }
.btn svg { width: 16px; height: 16px; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 0.94rem;
  color: var(--accent-dark);
  white-space: nowrap;
  transition: gap 0.2s ease, color 0.15s ease;
}
.text-link:hover { gap: 10px; color: var(--orange-dark); }
.text-link.on-dark { color: var(--yellow); }
.text-link.on-dark:hover { color: #fff; }

/* ---------- Icon blob (gradient, glow, sparkle — for feature/solution cards) ---------- */
.icon-blob {
  width: 60px; height: 60px;
  border-radius: 18px;
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  position: relative;
  margin-bottom: 20px;
  background: radial-gradient(120% 120% at 28% 22%, var(--accent) 0%, var(--accent-dark) 65%, #075b82 100%);
  box-shadow: 0 12px 26px rgba(14, 165, 233, 0.35), inset 0 1px 0 rgba(255,255,255,0.25);
  transition: transform 0.3s cubic-bezier(.34,1.56,.64,1), box-shadow 0.3s ease;
}
.icon-blob svg { width: 28px; height: 28px; }
.icon-blob.orange { background: radial-gradient(120% 120% at 28% 22%, var(--orange) 0%, var(--orange-dark) 65%, #9a3412 100%); box-shadow: 0 12px 26px rgba(249, 115, 22, 0.35), inset 0 1px 0 rgba(255,255,255,0.25); }
.icon-blob.yellow { background: radial-gradient(120% 120% at 28% 22%, var(--yellow) 0%, var(--yellow-dark) 65%, #92710a 100%); box-shadow: 0 12px 26px rgba(250, 204, 21, 0.35), inset 0 1px 0 rgba(255,255,255,0.25); }
.icon-blob .spark { position: absolute; top: -7px; right: -7px; width: 16px; height: 16px; color: var(--yellow); filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2)); }
.icon-blob.orange .spark, .icon-blob.yellow .spark { color: #fff; }
.card:hover .icon-blob, .solution-cell:hover .icon-blob { transform: scale(1.1) rotate(-4deg); box-shadow: 0 16px 34px rgba(14, 165, 233, 0.45), inset 0 1px 0 rgba(255,255,255,0.3); }
.card:hover .icon-blob.orange, .solution-cell:hover .icon-blob.orange { box-shadow: 0 16px 34px rgba(249, 115, 22, 0.45), inset 0 1px 0 rgba(255,255,255,0.3); }
.card:hover .icon-blob.yellow, .solution-cell:hover .icon-blob.yellow { box-shadow: 0 16px 34px rgba(250, 204, 21, 0.45), inset 0 1px 0 rgba(255,255,255,0.3); }

/* ---------- Header ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; height: 76px; }
.brand { display: flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 800; font-size: 1.28rem; color: var(--ink); }
.brand-mark {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--ink); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 0.95rem; font-weight: 800;
}
.brand small { display: block; font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; color: var(--muted); font-weight: 500; margin-top: 2px; }

.main-nav { display: flex; align-items: center; gap: 38px; }
.main-nav ul { display: flex; gap: 28px; }
.main-nav a { font-size: 0.92rem; font-weight: 500; color: var(--ink-soft); position: relative; padding: 6px 0; }
.main-nav a:hover { color: var(--ink); }
.main-nav a.active { color: var(--ink); font-weight: 600; }
.main-nav a.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--accent); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.nav-toggle { display: none; width: 42px; height: 42px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: transparent; align-items: center; justify-content: center; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after { content: ""; display: block; width: 18px; height: 2px; background: var(--ink); position: relative; transition: transform 0.2s ease, opacity 0.2s ease; }
.nav-toggle span::before { position: absolute; top: -6px; }
.nav-toggle span::after { position: absolute; top: 6px; }

@media (max-width: 960px) {
  .main-nav { position: fixed; inset: 76px 0 0 0; background: var(--paper); flex-direction: column; align-items: stretch; padding: 30px 28px; gap: 28px; transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity 0.2s ease, transform 0.2s ease; overflow-y: auto; }
  .main-nav.open { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .main-nav ul { flex-direction: column; gap: 22px; }
  .main-nav ul a { font-size: 1.4rem; }
  .nav-toggle { display: flex; }
  .header-actions .btn-primary { display: none; }
  .main-nav .nav-cta { display: inline-flex; margin-top: 10px; }
}
.nav-cta { display: none; }
@media (max-width: 960px) { .nav-cta.btn { display: inline-flex; } }

/* ---------- Sections ---------- */
section { padding: 90px 0; }
.section-tight { padding: 60px 0; }
.section-dark { background: var(--dark-bg); color: var(--dark-ink); }
.section-dark h2, .section-dark h3, .section-dark h4 { color: var(--dark-ink); }
.section-dark p { color: var(--dark-muted); }
.section-alt { background: var(--paper-2); }

.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 52px; }
.section-head .lede { margin-top: 12px; }
@media (max-width: 760px) { .section-head { flex-direction: column; align-items: flex-start; } }

.divider { height: 1px; background: var(--line); border: none; }

/* ---------- Cards ---------- */
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  padding: 30px 26px;
  transition: border-color 0.25s ease, transform 0.25s cubic-bezier(.34,1.4,.64,1), box-shadow 0.25s ease;
}
.card:hover { border-color: var(--accent); transform: translateY(-5px); box-shadow: var(--shadow-2); }

.card-index { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.08em; color: var(--muted); margin-bottom: 16px; display: block; }

/* ---------- Hero (with background image slider) ---------- */
.hero {
  padding-top: 150px;
  padding-bottom: 100px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
}
.hero-slider { position: absolute; inset: 0; z-index: -2; }
.hero-slide {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.4s ease;
}
.hero-slide.is-active { opacity: 1; }
.hero-overlay {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(9,12,20,0.72) 0%, rgba(9,12,20,0.6) 45%, rgba(9,12,20,0.88) 100%);
}
.hero .wrap { text-align: center; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1; }
.hero .eyebrow { justify-content: center; color: #a9c0ff; }
.hero .eyebrow::before { display: none; }
.hero h1 { max-width: 18ch; margin-bottom: 22px; color: #fff; }
.hero .lede { margin: 0 auto 34px; text-align: center; color: rgba(255,255,255,0.82); }
.hero-actions { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; justify-content: center; margin-bottom: 56px; }
.hero .btn-outline { border-color: rgba(255,255,255,0.4); color: #fff; }
.hero .btn-outline:hover { border-color: #fff; background: rgba(255,255,255,0.1); }

.hero-dots { display: flex; gap: 8px; justify-content: center; margin-top: -30px; margin-bottom: 30px; position: relative; z-index: 1; }
.hero-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,0.35); border: none; padding: 0; cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; }
.hero-dot.is-active { background: #fff; transform: scale(1.25); }

.trust-strip { width: 100%; padding-top: 40px; border-top: 1px solid rgba(255,255,255,0.16); }
.trust-strip span.tag { display: block; text-align: center; margin-bottom: 22px; color: rgba(255,255,255,0.55); }
.trust-row { display: flex; justify-content: center; align-items: center; gap: 40px; flex-wrap: wrap; opacity: 0.9; }
.trust-row .stack-tag { font-family: var(--font-mono); font-size: 0.78rem; color: rgba(255,255,255,0.75); letter-spacing: 0.02em; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.16); padding: 6px 12px; border-radius: var(--radius-sm); }

.tag { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

/* ---------- Stat row ---------- */
.stat-row { display: flex; margin-top: 44px; flex-wrap: wrap; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; }
.stat-row .stat { flex: 1; min-width: 140px; padding: 28px 30px; border-right: 1px solid var(--line); transition: background 0.2s ease; }
.stat-row .stat:last-child { border-right: none; }
.stat-row .stat:hover { background: var(--paper-2); }
.stat-row .stat strong { display: block; font-family: var(--font-display); font-size: 2rem; font-weight: 800; background: linear-gradient(120deg, var(--accent-dark), var(--orange-dark)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat-row .stat span { font-family: var(--font-mono); font-size: 0.68rem; color: var(--muted); letter-spacing: 0.04em; text-transform: uppercase; }
@media (max-width: 700px) { .stat-row { flex-direction: column; } .stat-row .stat { border-right: none; border-bottom: 1px solid var(--line); } .stat-row .stat:last-child { border-bottom: none; } }

/* ---------- Grids ---------- */
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
@media (max-width: 920px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .grid-3, .grid-4, .grid-2 { grid-template-columns: 1fr; } }

.icon-badge { width: 42px; height: 42px; border-radius: var(--radius-sm); background: var(--accent-tint); color: var(--accent-dark); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; transition: transform 0.2s ease; }
.icon-badge svg { width: 20px; height: 20px; }
.icon-badge.dark { background: var(--ink); color: #fff; }
.icon-badge.orange { background: var(--orange-tint); color: var(--orange-dark); }
.icon-badge.yellow { background: var(--yellow-tint); color: var(--yellow-dark); }
.card:hover .icon-badge { transform: scale(1.08) rotate(-4deg); }

/* ---------- Solutions grid (dense) ---------- */
.solutions-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.solution-cell {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 38px 30px;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.solution-cell:hover { border-color: var(--accent); transform: translateY(-4px); box-shadow: var(--shadow-2); }
.solution-cell .sol-index { font-family: var(--font-mono); font-size: 0.72rem; color: var(--orange-dark); letter-spacing: 0.06em; margin-bottom: 18px; display: block; font-weight: 600; }
.solution-cell h4 { margin-bottom: 10px; font-size: 1.08rem; }
.solution-cell p { font-size: 0.9rem; }
@media (max-width: 920px) { .solutions-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .solutions-grid { grid-template-columns: 1fr; } }

/* ---------- Industries strip ---------- */
.industry-row { display: flex; flex-wrap: wrap; gap: 14px; }
.industry-pill { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border: 1px solid var(--line); border-radius: 999px; font-size: 0.92rem; font-weight: 600; color: var(--ink-soft); transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, background 0.2s ease; }
.industry-pill:hover { border-color: var(--orange); color: var(--orange-dark); background: var(--orange-tint); transform: translateY(-2px); }
.industry-pill svg { width: 18px; height: 18px; color: var(--accent); }

/* ---------- Service blocks (in-depth) ---------- */
.service-block { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 50px; padding: 60px 0; border-top: 1px solid var(--line); align-items: start; }
.service-block:last-child { border-bottom: 1px solid var(--line); }
.service-block .card-index { margin-bottom: 6px; }
.service-block h2 { margin-bottom: 14px; font-size: 1.9rem; }
.service-list { margin-top: 24px; display: flex; flex-direction: column; gap: 13px; }
.service-list li { display: flex; gap: 12px; font-size: 0.95rem; color: var(--ink-soft); align-items: flex-start; }
.service-list svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: var(--accent); }
.service-side { background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 26px; }
.service-side h4 { margin-bottom: 12px; }
.service-side .stack-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.stack-tag { font-family: var(--font-mono); font-size: 0.7rem; padding: 6px 10px; border-radius: var(--radius-sm); background: var(--paper); border: 1px solid var(--line); color: var(--ink-soft); }
@media (max-width: 800px) { .service-block { grid-template-columns: 1fr; } }

/* ---------- Technology showcase ---------- */
.tech-category { margin-bottom: 34px; }
.tech-category h4 { font-family: var(--font-mono); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); font-weight: 500; margin-bottom: 14px; }
.tech-tag-row { display: flex; flex-wrap: wrap; gap: 10px; }
.tech-tag { padding: 9px 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); font-size: 0.87rem; font-weight: 500; color: var(--ink-soft); background: var(--paper); }
.section-dark .tech-tag { border-color: var(--dark-line); color: var(--dark-ink); background: var(--dark-bg-2); }
.section-dark .tech-category h4 { color: var(--dark-muted); }

/* ---------- Technology showcase (tabbed, clean pills) ---------- */
.tech-tabs { display: flex; flex-wrap: wrap; gap: 32px; row-gap: 16px; margin-bottom: 40px; border-bottom: 1px solid var(--line); padding-bottom: 0; }
.tech-tab { background: none; border: none; padding: 6px 0 16px; font-size: 1rem; font-weight: 600; color: var(--ink-soft); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; transition: color 0.15s ease, border-color 0.15s ease; }
.tech-tab:hover { color: var(--accent-dark); }
.tech-tab.is-active { color: var(--orange-dark); font-weight: 700; border-bottom-color: var(--orange); }

.tech-panel { display: none; }
.tech-panel.is-active { display: block; animation: fadeIn 0.35s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }

.tech-pill-row { display: flex; flex-wrap: wrap; gap: 12px; }
.tech-pill {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 10px 20px 10px 16px;
  border: 1.5px solid var(--line-strong);
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.92rem;
  color: var(--ink-soft);
  background: var(--paper);
  transition: border-color 0.18s ease, color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.tech-logo { width: 18px; height: 18px; flex-shrink: 0; opacity: 0.85; }
.tech-pill:hover { border-color: var(--accent); color: var(--accent-dark); background: var(--accent-tint); transform: translateY(-2px); }
.tech-pill:hover .tech-logo { opacity: 1; }
.lead-panel {
  background: linear-gradient(135deg, var(--dark-bg) 0%, var(--dark-bg-2) 100%);
  color: var(--dark-ink);
  border-radius: var(--radius-lg);
  padding: 54px;
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 50px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.lead-panel::before {
  content: "";
  position: absolute;
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(250,204,21,0.22) 0%, rgba(250,204,21,0) 70%);
  top: -100px; left: 30%;
  pointer-events: none;
}
.lead-panel h2 { color: var(--dark-ink); margin-bottom: 16px; position: relative; }
.lead-panel p { margin-bottom: 8px; position: relative; }
.lead-checklist { margin-top: 24px; display: flex; flex-direction: column; gap: 12px; position: relative; }
.lead-checklist li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.94rem; color: var(--dark-muted); }
.lead-checklist svg { width: 18px; height: 18px; color: var(--yellow); flex-shrink: 0; margin-top: 2px; }
.lead-form { background: var(--paper); border-radius: var(--radius-md); padding: 30px; position: relative; }
.lead-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.lead-form .field { margin-bottom: 14px; }
@media (max-width: 880px) { .lead-panel { grid-template-columns: 1fr; padding: 34px; } }

/* ---------- Process / steps ---------- */
.steps { display: flex; flex-direction: column; }
.step-row { display: grid; grid-template-columns: 90px 1fr 1.4fr; gap: 28px; padding: 28px 0; border-top: 1px solid var(--line); align-items: baseline; }
.step-row:last-child { border-bottom: 1px solid var(--line); }
.step-row .step-num { font-family: var(--font-mono); font-size: 0.82rem; color: var(--orange-dark); font-weight: 600; }
.step-row h4 { font-size: 1.1rem; }
@media (max-width: 720px) { .step-row { grid-template-columns: 1fr; gap: 8px; } }

/* ---------- CTA banner ---------- */
.cta-banner {
  background: linear-gradient(135deg, var(--dark-bg) 0%, var(--dark-bg-2) 60%, #0d3a5c 100%);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 66px 56px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-banner::before {
  content: "";
  position: absolute;
  width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(249,115,22,0.35) 0%, rgba(249,115,22,0) 70%);
  top: -120px; right: -80px;
  pointer-events: none;
}
.cta-banner::after {
  content: "";
  position: absolute;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(14,165,233,0.35) 0%, rgba(14,165,233,0) 70%);
  bottom: -100px; left: -60px;
  pointer-events: none;
}
.cta-banner h2 { color: #fff; max-width: 22ch; margin: 0 auto 16px; position: relative; }
.cta-banner p { color: rgba(255,255,255,0.7); max-width: 52ch; margin: 0 auto 32px; font-size: 1.04rem; position: relative; }
.cta-actions { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; margin-bottom: 28px; position: relative; }
.cta-meta { display: flex; justify-content: center; gap: 24px; flex-wrap: wrap; font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.04em; color: rgba(255,255,255,0.55); position: relative; }
.cta-meta li { display: flex; align-items: center; gap: 8px; }
.cta-meta li::before { content: "+"; color: var(--yellow); }

/* ---------- Footer ---------- */
.site-footer { background: var(--dark-bg); color: var(--dark-muted); padding: 70px 0 28px; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 50px; }
.footer-brand .brand { color: var(--dark-ink); margin-bottom: 16px; }
.footer-brand .brand-mark { background: #fff; color: var(--dark-bg); }
.footer-brand p { max-width: 34ch; font-size: 0.92rem; }
.footer-col h4 { color: var(--dark-ink); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; font-family: var(--font-mono); font-weight: 500; margin-bottom: 18px; }
.footer-col ul { display: flex; flex-direction: column; gap: 12px; }
.footer-col a { font-size: 0.92rem; }
.footer-col a:hover { color: var(--dark-ink); }
.social-row { display: flex; gap: 10px; margin-top: 20px; }
.social-row a { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--dark-line); display: flex; align-items: center; justify-content: center; }
.social-row a:hover { border-color: rgba(255,255,255,0.5); }
.social-row svg { width: 14px; height: 14px; }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 24px; border-top: 1px solid var(--dark-line); font-family: var(--font-mono); font-size: 0.7rem; }
@media (max-width: 860px) { .footer-top { grid-template-columns: 1fr 1fr; } .footer-bottom { flex-direction: column; gap: 10px; } }
@media (max-width: 560px) { .footer-top { grid-template-columns: 1fr; } }

/* ---------- Page hero (inner pages) ---------- */
.page-hero { padding: 60px 0 56px; text-align: left; }
.page-hero .wrap { align-items: flex-start; text-align: left; }
.page-hero h1 { max-width: 16ch; margin: 0 0 18px; }
.page-hero .lede { margin: 0; text-align: left; }
.page-hero .hero-actions { justify-content: flex-start; margin-bottom: 0; }

/* ---------- FAQ ---------- */
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-q { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 22px 4px; background: none; border: none; text-align: left; font-family: var(--font-body); font-weight: 600; font-size: 1rem; color: var(--ink); }
.faq-q .plus { font-family: var(--font-mono); font-size: 1.1rem; color: var(--accent); transition: transform 0.25s cubic-bezier(.34,1.4,.64,1), color 0.2s ease; flex-shrink: 0; margin-left: 20px; }
.faq-item.open .faq-q .plus { transform: rotate(45deg); color: var(--orange); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.25s ease; }
.faq-a p { padding: 0 4px 22px; max-width: 62ch; font-size: 0.95rem; }
.faq-item.open .faq-a { max-height: 240px; }

/* ---------- Team / About ---------- */
.founder-block { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: center; }
@media (max-width: 860px) { .founder-block { grid-template-columns: 1fr; } }
.founder-portrait { aspect-ratio: 4/5; border-radius: var(--radius-lg); background: var(--dark-bg); position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 26px; }
.founder-portrait .mono-tag { font-family: var(--font-mono); font-size: 0.7rem; color: var(--dark-muted); letter-spacing: 0.05em; position: absolute; top: 22px; left: 26px; }
.founder-initial { font-family: var(--font-display); font-weight: 800; font-size: 9rem; color: rgba(255,255,255,0.08); position: absolute; right: -10px; top: -30px; }
.founder-name-tag { position: relative; color: var(--dark-ink); }
.founder-name-tag strong { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.35rem; margin-bottom: 4px; }
.founder-name-tag span { font-family: var(--font-mono); font-size: 0.7rem; color: var(--yellow); letter-spacing: 0.05em; text-transform: uppercase; }

blockquote.pull { font-family: var(--font-display); font-weight: 700; font-size: 1.4rem; line-height: 1.4; border-left: 3px solid var(--accent); padding-left: 24px; margin: 32px 0; color: var(--ink); }
blockquote.pull cite { display: block; margin-top: 14px; font-family: var(--font-mono); font-size: 0.7rem; font-style: normal; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }

.skill-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.skill-tag { font-family: var(--font-mono); font-size: 0.74rem; padding: 8px 14px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); color: var(--ink-soft); }

/* ---------- Blog ---------- */
.blog-card { display: flex; flex-direction: column; height: 100%; }
.blog-thumb { aspect-ratio: 16/10; border-radius: var(--radius-md); margin-bottom: 20px; position: relative; overflow: hidden; display: flex; align-items: flex-start; justify-content: space-between; padding: 16px; }
.blog-thumb .tag-pill { font-family: var(--font-mono); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.05em; background: rgba(255,255,255,0.92); color: var(--ink); padding: 6px 10px; border-radius: var(--radius-sm); }
.blog-meta { display: flex; gap: 14px; font-family: var(--font-mono); font-size: 0.7rem; color: var(--muted); margin-bottom: 12px; }
.blog-card h3 { font-size: 1.15rem; margin-bottom: 10px; }
.blog-card p { font-size: 0.93rem; margin-bottom: 16px; flex-grow: 1; }

.blog-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; padding-bottom: 64px; border-bottom: 1px solid var(--line); margin-bottom: 64px; }
@media (max-width: 800px) { .blog-feature { grid-template-columns: 1fr; } }
.blog-feature .blog-thumb { aspect-ratio: 4/3; margin-bottom: 0; }

.newsletter-box { background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 44px; display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.newsletter-form { display: flex; gap: 10px; }
.newsletter-form input { padding: 13px 18px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: var(--paper); min-width: 260px; }

/* ---------- Contact ---------- */
.contact-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 28px; align-items: start; }
@media (max-width: 900px) { .contact-grid { grid-template-columns: 1fr; } }
.contact-form-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 40px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 560px) { .form-row { grid-template-columns: 1fr; } }
.field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.field label { font-size: 0.84rem; font-weight: 600; color: var(--ink); }
.field input, .field select, .field textarea { padding: 12px 15px; border-radius: var(--radius-sm); border: 1px solid var(--line-strong); background: var(--paper); color: var(--ink); width: 100%; }
.field textarea { resize: vertical; min-height: 120px; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--accent); }
.form-foot { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 6px; flex-wrap: wrap; }
.form-foot .fine { font-size: 0.82rem; color: var(--muted); }
.form-status { font-family: var(--font-mono); font-size: 0.8rem; margin-top: 14px; }
.form-status.ok { color: var(--success); }
.form-status.err { color: var(--warn); }

.contact-side { background: var(--dark-bg); color: var(--dark-ink); border-radius: var(--radius-lg); padding: 40px; }
.contact-side h3 { color: var(--dark-ink); margin-bottom: 12px; }
.contact-side p { margin-bottom: 28px; }
.contact-line { display: flex; gap: 16px; align-items: flex-start; padding: 17px 0; border-top: 1px solid var(--dark-line); }
.contact-line:last-of-type { border-bottom: 1px solid var(--dark-line); margin-bottom: 24px; }
.contact-line .icon-badge { background: rgba(255,255,255,0.08); color: var(--yellow); margin-bottom: 0; flex-shrink: 0; width: 40px; height: 40px; }
.contact-line strong { display: block; margin-bottom: 3px; }
.contact-line span, .contact-line a { font-size: 0.92rem; color: var(--dark-muted); }
.contact-line a:hover { color: var(--dark-ink); }

/* ---------- Trust markers (replaces fake certifications) ---------- */
.trust-marks { display: flex; flex-wrap: wrap; gap: 34px; padding-top: 30px; border-top: 1px solid var(--dark-line); margin-top: 40px; }
.trust-mark { display: flex; align-items: center; gap: 10px; font-size: 0.86rem; color: var(--dark-muted); }
.trust-mark svg { width: 18px; height: 18px; color: var(--yellow); }

/* ---------- Utility ---------- */
.center { text-align: center; }
.max-56 { max-width: 56ch; }
[data-animate] { opacity: 0; transform: translateY(16px); transition: opacity 0.6s ease, transform 0.6s ease; }
[data-animate].in-view { opacity: 1; transform: translateY(0); }

/* Team page — leadership and delivery experience */
.team-hero { padding-bottom: 70px; }
.team-hero h1 { max-width: 900px; }
.team-hero .lede { max-width: 820px; }
.team-intro-section { padding-top: 30px; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.team-card { background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
.team-card:hover { transform:translateY(-4px); box-shadow:0 18px 48px rgba(20,22,26,.09); }
.team-photo { display:block; position:relative; aspect-ratio:4/4.35; overflow:hidden; background:#e8e6df; }
.team-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .45s ease; }
.team-card:hover .team-photo img { transform:scale(1.025); }
.team-card-featured .team-photo { background:#090a0b; }
.team-card-featured .team-photo img { object-fit:contain; object-position:center bottom; }
.team-index { position:absolute; top:16px; left:16px; display:grid; place-items:center; min-width:42px; height:30px; padding:0 11px; border-radius:999px; background:rgba(20,22,26,.88); color:#fff; font:500 .68rem var(--font-mono); letter-spacing:.08em; }
.team-card-body { padding:25px 24px 26px; }
.team-role { font:500 .7rem var(--font-mono); text-transform:uppercase; letter-spacing:.08em; color:var(--orange); margin-bottom:8px; }
.team-card h3 { font-size:1.5rem; margin-bottom:12px; }
.team-card p { font-size:.92rem; line-height:1.72; color:var(--muted); }
.team-skills { margin-top:18px; gap:7px; }
.team-skills .skill-tag { font-size:.67rem; padding:6px 9px; }
.linkedin-link { display:inline-flex; align-items:center; gap:7px; margin-top:20px; font:700 .82rem var(--font-display); color:var(--ink); }
.linkedin-link:hover { color:var(--orange); }
.team-projects-section { padding:96px 0; background:var(--paper-2); }
.project-capability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.project-capability { min-height:260px; border:1px solid var(--line); border-radius:var(--radius-lg); padding:30px; background:var(--paper); display:flex; flex-direction:column; }
.project-num { font:500 .68rem var(--font-mono); color:var(--orange); letter-spacing:.08em; margin-bottom:34px; }
.project-capability h3 { font-size:1.35rem; margin-bottom:12px; }
.project-capability p { color:var(--muted); line-height:1.72; font-size:.93rem; }
.project-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; padding-top:24px; }
.project-tags span { border:1px solid var(--line); border-radius:999px; padding:6px 9px; font:500 .66rem var(--font-mono); color:var(--ink-soft); }
.project-capability-dark { background:var(--dark-bg); border-color:var(--dark-bg); color:var(--dark-ink); }
.project-capability-dark .project-num { color:var(--yellow); }
.project-capability-dark p { color:var(--dark-muted); }
.project-link { margin-top:auto; padding-top:26px; color:var(--dark-ink); }
.project-link:hover { color:var(--yellow); }
@media (max-width: 900px) { .team-grid { grid-template-columns:1fr 1fr; } .team-card-featured { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; } .team-card-featured .team-photo { height:100%; aspect-ratio:auto; } }
@media (max-width: 680px) { .team-grid,.project-capability-grid { grid-template-columns:1fr; } .team-card-featured { display:block; grid-column:auto; } .team-card-featured .team-photo { aspect-ratio:4/4.35; } .team-projects-section { padding:72px 0; } }

/* ---------- Services 2026 redesign ---------- */
.services-hero { padding:112px 0 84px; overflow:hidden; background:linear-gradient(135deg,#f7f6f1 0%,#eef5ff 44%,#fff1e7 100%); border-bottom:1px solid var(--line); }
.services-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:68px; align-items:center; }
.services-hero h1 { max-width:760px; font-size:clamp(3rem,6vw,5.9rem); line-height:.96; letter-spacing:-.055em; margin-bottom:24px; }
.services-hero .lede { max-width:680px; font-size:1.08rem; }
.service-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.service-trust-row { display:flex; gap:20px; flex-wrap:wrap; margin-top:38px; padding-top:24px; border-top:1px solid rgba(20,22,26,.12); }
.service-trust-row span { font:500 .73rem var(--font-mono); color:var(--muted); }
.service-trust-row strong { color:var(--ink); font-weight:700; }
.service-orbit { min-height:480px; position:relative; border-radius:36px; background:#111827; overflow:hidden; box-shadow:0 30px 70px rgba(17,24,39,.18); }
.service-orbit:before,.service-orbit:after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); inset:74px; }
.service-orbit:after { inset:132px; }
.orbit-card { position:absolute; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.08); color:#fff; backdrop-filter:blur(8px); border-radius:18px; padding:14px 16px; font:700 .8rem var(--font-display); box-shadow:0 14px 30px rgba(0,0,0,.16); }
.orbit-main { left:50%; top:50%; transform:translate(-50%,-50%); width:62%; padding:27px; background:#fff; color:#111827; z-index:2; }
.orbit-main .orbit-kicker { display:block; font:500 .62rem var(--font-mono); color:#6b7280; letter-spacing:.08em; margin-bottom:10px; }
.orbit-main strong { display:block; font-size:1.35rem; line-height:1.2; }
.orbit-main p { margin:10px 0 0; font-size:.86rem; }
.orbit-a { top:52px; left:48px; background:#2563eb; }.orbit-b { top:72px; right:46px; background:#7c3aed; }.orbit-c { bottom:65px; left:48px; background:#0f766e; }.orbit-d { bottom:45px; right:52px; background:#ea580c; }
.service-specialist-strip { background:#111827; color:#fff; padding:46px 0; }
.service-specialist-strip .wrap { display:grid; grid-template-columns:.65fr 1.35fr; gap:46px; align-items:center; }
.specialist-copy h2 { color:#fff; font-size:1.7rem; margin-top:5px; }.service-specialist-strip .eyebrow { color:#fbbf24; }
.specialist-pills { display:flex; flex-wrap:wrap; gap:10px; }.specialist-pills span { padding:10px 14px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(255,255,255,.05); color:#d1d5db; font-size:.8rem; }
.section-intro { max-width:620px; margin-top:12px; }
.modern-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.modern-service-card { --svc:#2563eb; position:relative; overflow:hidden; min-height:410px; display:flex; flex-direction:column; padding:28px; border-radius:24px; border:1px solid var(--line); background:#fff; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.modern-service-card:before { content:""; position:absolute; width:160px; height:160px; border-radius:50%; background:var(--svc); opacity:.09; right:-60px; top:-65px; }
.modern-service-card:hover { transform:translateY(-5px); box-shadow:0 22px 60px rgba(15,23,42,.09); border-color:color-mix(in srgb,var(--svc) 38%,#ddd); }
.svc-top { display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; margin-bottom:32px; }.svc-number { font:500 .68rem var(--font-mono); color:var(--svc); letter-spacing:.08em; }
.svc-icon { min-width:48px; height:48px; display:grid; place-items:center; padding:0 10px; border-radius:14px; background:var(--svc); color:#fff; font:800 .69rem var(--font-display); letter-spacing:-.02em; }
.modern-service-card h3 { font-size:1.38rem; margin-bottom:11px; }.modern-service-card p { font-size:.91rem; line-height:1.67; }
.modern-service-card ul { list-style:none; padding:0; margin:20px 0 24px; display:grid; gap:9px; }.modern-service-card li { position:relative; padding-left:18px; color:var(--ink-soft); font-size:.82rem; line-height:1.45; }.modern-service-card li:before { content:""; position:absolute; width:6px; height:6px; border-radius:50%; background:var(--svc); left:0; top:.55em; }
.svc-tech { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; }.svc-tech span { font:500 .65rem var(--font-mono); padding:6px 8px; border-radius:8px; background:color-mix(in srgb,var(--svc) 8%,#fff); color:var(--svc); border:1px solid color-mix(in srgb,var(--svc) 18%,#fff); }
.svc-blue{--svc:#2563eb}.svc-violet{--svc:#7c3aed}.svc-orange{--svc:#ea580c}.svc-green{--svc:#16803f}.svc-red{--svc:#dc2626}.svc-cyan{--svc:#0891b2}.svc-pink{--svc:#db2777}.svc-lime{--svc:#65a30d}.svc-yellow{--svc:#ca8a04}.svc-indigo{--svc:#4f46e5}.svc-teal{--svc:#0f766e}.svc-purple{--svc:#9333ea}.svc-coral{--svc:#e11d48}
.technology-section { padding:96px 0; background:#0b1020; color:#fff; }.technology-section h2 { color:#fff; }.technology-section p { color:#9ca3af; max-width:650px; }.tech-heading { margin-bottom:38px; }
.technology-cloud { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }.tech-logo { min-height:112px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:rgba(255,255,255,.055); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; transition:transform .2s ease, background .2s ease; }.tech-logo:hover { transform:translateY(-3px); background:rgba(255,255,255,.09); }.tech-logo b { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:#fff; color:#111827; font:800 .8rem var(--font-display); }.tech-logo span { color:#d1d5db; font-size:.77rem; font-weight:600; }
.t-react b{background:#61dafb}.t-next b{background:#fff}.t-dotnet b{background:#6d28d9;color:#fff}.t-node b{background:#68a063;color:#fff}.t-php b{background:#777bb4;color:#fff}.t-flutter b{background:#54c5f8}.t-kotlin b{background:#7f52ff;color:#fff}.t-swift b{background:#f05138;color:#fff}.t-firebase b{background:#ffca28}.t-mysql b{background:#00758f;color:#fff}.t-postgres b{background:#336791;color:#fff}.t-aws b{background:#ff9900}.t-azure b{background:#0078d4;color:#fff}.t-stripe b{background:#635bff;color:#fff}.t-apple b{background:#fff}.t-maps b{background:#34a853;color:#fff}.t-wp b{background:#21759b;color:#fff}.t-shopify b{background:#95bf47;color:#fff}
.service-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.process-card { padding:28px; border:1px solid var(--line); background:var(--paper); border-radius:20px; min-height:230px; }.process-card span { display:inline-grid; place-items:center; width:36px; height:36px; border-radius:10px; background:#111827; color:#fff; font:500 .68rem var(--font-mono); margin-bottom:34px; }.process-card h3 { font-size:1.2rem; margin-bottom:10px; }.process-card p { font-size:.88rem; line-height:1.65; }
.service-cta { background:linear-gradient(135deg,#111827 0%,#1d4ed8 70%,#7c3aed 120%); }
@media (max-width:1000px){.services-hero-grid{grid-template-columns:1fr}.service-orbit{min-height:400px}.service-specialist-strip .wrap{grid-template-columns:1fr}.modern-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.technology-cloud{grid-template-columns:repeat(4,minmax(0,1fr))}.service-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.services-hero{padding:86px 0 62px}.service-orbit{min-height:330px}.orbit-main{width:72%}.orbit-a{top:28px;left:22px}.orbit-b{top:40px;right:20px}.orbit-c{bottom:38px;left:22px}.orbit-d{bottom:25px;right:20px}.modern-service-grid,.service-process-grid{grid-template-columns:1fr}.technology-cloud{grid-template-columns:repeat(2,minmax(0,1fr))}.modern-service-card{min-height:0}.service-trust-row{gap:12px}.service-trust-row span{width:100%}}

/* =========================================================
   HOME V2 — immersive agency homepage
   ========================================================= */
.home-hero-v2{position:relative;background:#0a0d14;color:#fff;overflow:hidden}.home-slider{position:relative;height:min(790px,86vh);min-height:650px}.home-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.025);transition:opacity .75s ease,transform 6s ease;pointer-events:none}.home-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}.home-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,15,.92) 0%,rgba(5,8,15,.76) 42%,rgba(5,8,15,.32) 68%,rgba(5,8,15,.58) 100%),linear-gradient(0deg,rgba(4,7,12,.64),transparent 55%)}.home-slide-inner{height:100%;display:flex;align-items:center;padding-top:58px;position:relative;z-index:2}.home-slide-copy{width:min(810px,76%);padding:34px 0}.home-kicker{display:inline-flex;align-items:center;gap:10px;font:500 .69rem var(--font-mono);letter-spacing:.13em;color:#b8c4ff;margin-bottom:25px}.home-kicker:before{content:"";width:28px;height:1px;background:#7c8cff}.home-slide-copy h1{font-size:clamp(2.8rem,5.4vw,5.55rem);line-height:.99;letter-spacing:-.052em;color:#fff;max-width:920px;margin-bottom:24px}.home-slide-copy>p{font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.75;color:#d5d9e1;max-width:700px}.home-slide-actions{display:flex;align-items:center;gap:27px;margin-top:34px;flex-wrap:wrap}.home-hero-btn{padding:15px 22px}.home-ghost-link{display:inline-flex;gap:10px;align-items:center;color:#fff;font-weight:700;font-size:.9rem;text-decoration:none}.home-ghost-link span{font-size:1.3rem;transition:transform .2s}.home-ghost-link:hover span{transform:translateX(4px)}.home-slide-proof{display:flex;gap:9px;flex-wrap:wrap;margin-top:34px}.home-slide-proof span{font-size:.72rem;padding:8px 11px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px);color:#e9ebef}.home-slider-controls{position:absolute;z-index:5;left:0;right:0;bottom:24px}.home-controls-inner{display:flex;align-items:center;justify-content:space-between}.home-hero-v2 .hero-dots{position:static;display:flex;gap:9px}.home-hero-v2 .hero-dot{width:34px;height:4px;border:0;background:rgba(255,255,255,.27);border-radius:5px;cursor:pointer;padding:0}.home-hero-v2 .hero-dot.is-active{background:#fff}.home-slider-label{display:flex;align-items:center;gap:9px;font:500 .68rem var(--font-mono);color:#fff}.home-slider-label i{display:block;width:46px;height:1px;background:rgba(255,255,255,.4)}.home-slider-label b{font-weight:500;color:#9ba4b4}.home-logo-bar{border-bottom:1px solid var(--line);background:#fff}.home-logo-bar .wrap{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:35px}.home-logo-bar p{font:500 .69rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#727986;max-width:155px;line-height:1.55}.home-tech-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap;justify-content:flex-end}.home-tech-row span{font:800 .95rem var(--font-display);color:#8d939e;letter-spacing:-.02em}.home-intro{padding:110px 0 105px;background:#f8f9fb}.home-intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:80px;align-items:end}.home-intro-grid h2,.home-section-head h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.045em;line-height:1.04;max-width:800px}.home-intro-copy p{font-size:1rem;line-height:1.8;color:#5f6570;margin-bottom:20px}.home-cap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:62px}.home-cap-card{position:relative;background:#fff;border:1px solid #e4e7ec;border-radius:23px;padding:28px;min-height:315px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.home-cap-card:hover{transform:translateY(-7px);box-shadow:0 23px 65px rgba(14,21,37,.10)}.home-cap-card:after{content:"";position:absolute;right:-50px;bottom:-60px;width:155px;height:155px;border-radius:50%;background:var(--cap);opacity:.07}.home-cap-card>span{font:500 .67rem var(--font-mono);color:#969da8}.home-cap-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--cap) 10%,white);color:var(--cap);font-size:1.5rem;margin:40px 0 25px}.home-cap-card h3{font-size:1.28rem;margin-bottom:11px}.home-cap-card p{font-size:.87rem;line-height:1.65;color:#6c727d}.home-cap-card small{display:block;margin-top:20px;font:500 .67rem var(--font-mono);color:var(--cap)}.cap-blue{--cap:#2367e8}.cap-violet{--cap:#7b3ff2}.cap-orange{--cap:#e86624}.cap-green{--cap:#1a9a69}
.home-projects{background:#090d16;color:#fff;padding:112px 0 120px;overflow:hidden}.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:70px;margin-bottom:48px}.home-section-head h2{color:#fff;margin-top:9px}.home-section-head>p{max-width:520px;color:#989fab;line-height:1.75}.project-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:11px;margin-bottom:31px;scrollbar-width:none}.project-tabs::-webkit-scrollbar{display:none}.project-tab{white-space:nowrap;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:#a9afba;padding:11px 17px;border-radius:999px;font:600 .78rem var(--font-body);cursor:pointer;transition:.2s}.project-tab:hover,.project-tab.is-active{background:#fff;color:#0b0f18;border-color:#fff}.project-panel{display:none;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:center;min-height:610px}.project-panel.is-active{display:grid;animation:projectIn .45s ease both}@keyframes projectIn{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}.project-copy{padding:20px 0}.project-no{font:500 .66rem var(--font-mono);letter-spacing:.08em;color:#7f8baa}.project-copy h3{font-size:clamp(2rem,3.3vw,3.5rem);letter-spacing:-.04em;line-height:1.05;color:#fff;margin:16px 0 20px}.project-copy>p{color:#aeb4be;line-height:1.75}.project-copy ul{list-style:none;padding:0;margin:27px 0}.project-copy li{position:relative;padding:9px 0 9px 25px;color:#dde0e6;font-size:.86rem;border-bottom:1px solid rgba(255,255,255,.07)}.project-copy li:before{content:"✓";position:absolute;left:0;color:#6f8cff;font-weight:800}.project-stack{display:flex;flex-wrap:wrap;gap:8px}.project-stack span{padding:7px 10px;border-radius:7px;background:#151b29;border:1px solid #252d3e;color:#bfc5d0;font:500 .64rem var(--font-mono)}.project-visual{min-width:0}.browser-frame{background:#f3f4f6;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 35px 90px rgba(0,0,0,.36)}.browser-top{height:39px;background:#e7e9ed;display:flex;align-items:center;gap:6px;padding:0 14px;color:#8e949d;font-size:.6rem}.browser-top i{width:7px;height:7px;border-radius:50%;background:#bcc1c9}.browser-top span{margin-left:12px;background:#f7f8f9;border-radius:5px;padding:4px 13px;min-width:185px}.insurance-screen{background:#f5f7fb;min-height:500px;color:#141821}.ins-nav{height:62px;background:#fff;display:flex;align-items:center;gap:24px;padding:0 28px;font-size:.65rem;color:#6d7280}.ins-nav b{font-size:1rem;color:#1947b8;margin-right:auto}.ins-nav button{border:0;border-radius:7px;background:#e8eefc;color:#2555bf;padding:8px 11px;font-weight:700}.ins-content{display:grid;grid-template-columns:1fr .9fr;gap:35px;padding:55px 45px;align-items:center}.ins-copy small{font-weight:800;color:#4c66d7}.ins-copy h4{font-size:2.6rem;line-height:1;letter-spacing:-.05em;margin:9px 0 15px}.ins-copy p{color:#6b7280;line-height:1.55}.ins-pills{display:flex;gap:8px;margin-top:24px}.ins-pills span{padding:9px 12px;border-radius:9px;background:#fff;box-shadow:0 4px 16px rgba(28,41,72,.06);font-size:.7rem}.ins-form{background:#fff;border-radius:16px;padding:24px;box-shadow:0 12px 36px rgba(39,50,75,.1)}.ins-form>b{display:block;margin-bottom:16px}.ins-form label{display:block;font-size:.58rem;color:#777e8d;margin:11px 0 5px}.fake-input{height:36px;border:1px solid #e1e4e9;border-radius:7px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;font-size:.65rem;color:#4e5561}.fake-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ins-form>button{width:100%;border:0;border-radius:8px;background:#2457d9;color:white;padding:11px;margin-top:15px;font-weight:700}.shop-screen{background:#fff;color:#111;min-height:500px}.shop-nav{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid #eee;font-size:.63rem}.shop-nav b{font-size:1.12rem;letter-spacing:.22em}.shop-hero{height:250px;padding:46px;background:linear-gradient(120deg,#e7dfd4,#b8ac9d);position:relative;overflow:hidden}.shop-hero:after{content:"";position:absolute;right:10%;bottom:-65%;width:250px;height:330px;border-radius:50% 50% 22% 22%;background:linear-gradient(#756b62,#222)}.shop-hero small{font-size:.56rem;font-weight:800;letter-spacing:.12em}.shop-hero h4{font-size:2.3rem;line-height:1.05;letter-spacing:-.04em;margin:9px 0 17px}.shop-hero button{border:0;background:#111;color:#fff;border-radius:3px;padding:9px 13px;font-size:.6rem}.shop-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:20px 28px}.shop-products>div{display:grid;gap:5px}.prod-img{display:block;height:112px;border-radius:5px;background:#eee}.p1{background:linear-gradient(135deg,#d5cbbb,#736d65)}.p2{background:linear-gradient(135deg,#dadada,#888)}.p3{background:linear-gradient(135deg,#c7b49d,#715c47)}.shop-products b{font-size:.61rem}.shop-products small{font-size:.55rem;color:#777}.phone-set{display:flex;justify-content:center;align-items:center;gap:13px;min-height:600px}.phone{position:relative;width:185px;height:405px;background:#fff;border:7px solid #20242d;border-radius:29px;box-shadow:0 24px 55px rgba(0,0,0,.3);overflow:hidden;color:#10131a;padding:26px 14px 14px;font-size:.62rem}.phone:nth-child(2){width:205px;height:450px;z-index:2}.phone-notch{position:absolute;top:6px;left:50%;transform:translateX(-50%);width:64px;height:13px;border-radius:20px;background:#20242d}.sport-logo{font-size:1.5rem;font-weight:800;margin:28px 0 38px;color:#262d45}.sport-logo span{color:#4e6fff}.phone-login h4{font-size:1.25rem;margin-bottom:6px}.phone-login p{color:#858b97;margin-bottom:25px}.phone-login label{display:block;color:#777;margin:10px 0 4px}.phone-input{height:31px;border:1px solid #e5e7eb;border-radius:7px;display:flex;align-items:center;padding:0 8px;color:#606671}.phone-login button{width:100%;border:0;background:#4d65f5;color:#fff;border-radius:8px;padding:9px;margin-top:18px}.feed-head{display:flex;justify-content:space-between;margin:22px 0 18px}.feed-head small{display:block;font-size:.45rem;color:#9aa0aa}.feed-head b{font-size:.95rem}.feed-head span{color:#4c66f4}.sport-tabs{display:flex;gap:10px;margin-bottom:13px}.sport-tabs b{background:#1c2240;color:#fff;padding:5px 8px;border-radius:6px}.sport-tabs span{padding:5px 2px;color:#777}.score-card{background:#252c58;color:#fff;border-radius:12px;padding:13px;margin-bottom:9px}.score-card small{font-size:.42rem;color:#b6c0ff}.score-card>div{display:flex;justify-content:space-between;align-items:center;margin:15px 0}.score-card strong{font-size:1.15rem}.score-card em{font-style:normal;color:#8d96bd}.score-card p{font-size:.48rem;color:#aeb5d3}.score-card.light{background:#f1f3f8;color:#252a35}.score-card.light small,.score-card.light p{color:#8d93a0}.bottom-nav{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-around;border-top:1px solid #eee;padding-top:9px;color:#9a9faa}.match-back{display:block;margin:18px 0;color:#7a8090}.match-score{text-align:center;background:#161c39;color:#fff;border-radius:14px;padding:23px 10px}.match-score p{font-size:.45rem;color:#aeb8ef}.match-score div{display:flex;justify-content:space-around;align-items:center;margin-top:14px}.match-score strong{font-size:1.25rem}.match-tabs{display:flex;gap:17px;margin:18px 0}.match-tabs b{color:#4d62e3}.match-tabs span{color:#777}.statline{display:flex;align-items:center;gap:7px;margin-top:14px}.statline i{display:block;height:5px;background:#e8eaf0;border-radius:10px;flex:1;overflow:hidden}.statline i b{display:block;height:100%;background:#556af0}.phone-match>small:not(.match-back){display:block;text-align:center;color:#9da2ad;margin-top:4px}.erp-screen{display:grid;grid-template-columns:155px 1fr;min-height:500px;color:#161a22;background:#f5f7fb}.erp-screen aside{padding:25px 14px;background:#101522;color:#8d96a8;display:flex;flex-direction:column;gap:8px}.erp-screen aside>b{color:#fff;font-size:1.05rem;margin-bottom:24px}.erp-screen aside>b span{color:#5f7cff}.erp-screen aside a{padding:9px 9px;border-radius:7px;font-size:.58rem}.erp-screen aside a.on{background:#5b6cf3;color:#fff}.erp-screen main{padding:27px}.erp-head{display:flex;justify-content:space-between;align-items:center}.erp-head small{font-size:.48rem;color:#9ba0aa}.erp-head h4{font-size:1.25rem;margin-top:3px}.erp-head button{border:0;background:#5869ed;color:#fff;border-radius:7px;padding:9px 12px;font-size:.55rem}.erp-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.erp-kpis div{background:#fff;border-radius:10px;padding:14px;box-shadow:0 4px 13px rgba(26,34,55,.04)}.erp-kpis small{display:block;color:#8d94a1;font-size:.48rem}.erp-kpis b{display:block;font-size:1.12rem;margin:8px 0}.erp-kpis em{font-style:normal;color:#22a06b;font-size:.48rem}.erp-kpis em.warn{color:#e2792b}.erp-bottom{display:grid;grid-template-columns:1.3fr .8fr;gap:10px}.erp-chart,.erp-activity{background:#fff;border-radius:11px;padding:15px;min-height:205px}.erp-chart>b,.erp-activity>b{font-size:.62rem}.chart-bars{height:145px;display:flex;align-items:end;gap:8px;padding:18px 5px 0;border-bottom:1px solid #e8eaf0}.chart-bars i{flex:1;background:linear-gradient(#6175f2,#9da9ff);border-radius:4px 4px 0 0}.erp-activity p{font-size:.5rem;padding:11px 0;border-bottom:1px solid #eef0f4}.erp-activity p span{display:inline-grid;width:20px;height:20px;place-items:center;background:#eef0ff;border-radius:6px;color:#5e6eec;margin-right:5px}.map-board{display:grid;grid-template-columns:190px 1fr;background:#f7f8fa;border-radius:20px;overflow:hidden;min-height:520px;box-shadow:0 35px 90px rgba(0,0,0,.36)}.map-side{padding:28px 17px;background:#fff;color:#1a1e26}.map-side>b{display:block;font-size:1.1rem;margin-bottom:35px}.map-side>b span{color:#28a37a}.map-side>small{font-size:.52rem;color:#9a9faa}.job{display:flex;align-items:center;gap:8px;border-bottom:1px solid #eee;padding:13px 0}.job i{width:9px;height:9px;border-radius:50%;background:#c6cad0}.job.active i{background:#28a37a;box-shadow:0 0 0 4px #d9f3e9}.job div{display:grid;gap:3px;flex:1}.job b{font-size:.58rem}.job span{font-size:.48rem;color:#9aa0aa}.job em{font-style:normal;font-size:.48rem;color:#6e7480}.map-side button{width:100%;border:0;background:#ecf8f4;color:#1d8968;border-radius:7px;padding:9px;margin-top:20px;font-size:.55rem}.fake-map{position:relative;background:linear-gradient(25deg,#e5ebe6,#d8e4dc);overflow:hidden}.fake-map:before,.fake-map:after{content:"";position:absolute;background:#c7d4ca;opacity:.9}.fake-map:before{width:140%;height:42px;left:-20%;top:45%;transform:rotate(28deg)}.fake-map:after{height:140%;width:34px;top:-20%;left:56%;transform:rotate(-15deg)}.road{position:absolute;background:#f9faf9;z-index:1}.r1{width:130%;height:10px;top:25%;left:-10%;transform:rotate(-12deg)}.r2{height:130%;width:10px;top:-10%;left:30%;transform:rotate(18deg)}.r3{width:120%;height:8px;bottom:22%;left:-10%;transform:rotate(8deg)}.pin{position:absolute;z-index:3;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#20a67c;box-shadow:0 4px 15px rgba(0,0,0,.15)}.pin1{left:28%;top:24%}.pin2{right:28%;top:42%}.pin3{left:48%;bottom:23%}.pay-card{position:absolute;z-index:5;right:24px;bottom:24px;width:190px;background:#fff;color:#1a1e26;border-radius:12px;padding:16px;box-shadow:0 15px 35px rgba(35,48,42,.16)}.pay-card small{font-size:.45rem;color:#9da3aa}.pay-card b{display:block;font-size:.68rem;margin:6px 0}.pay-card strong{display:block;font-size:1.15rem}.pay-card div{display:flex;gap:6px;margin-top:12px}.pay-card span{border:1px solid #e2e5e8;border-radius:6px;padding:5px 8px;font-size:.5rem;font-weight:700}
.home-results{padding:110px 0;background:#f7f8fa}.home-section-head.light h2{color:#111722}.home-section-head.light>p{color:#656c77}.client-experience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.client-experience-grid article{background:#fff;border:1px solid #e4e6eb;border-radius:18px;padding:28px;min-height:275px;position:relative}.cx-num{font:500 .65rem var(--font-mono);color:#9aa0aa}.client-experience-grid h3{font-size:1.15rem;margin:45px 0 12px}.client-experience-grid p{font-size:.83rem;line-height:1.68;color:#707681}.cx-chip{position:absolute;bottom:25px;left:28px;background:#f1f3f7;border-radius:99px;padding:7px 10px;font-size:.66rem;font-weight:700;color:#536078}.home-proof-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:17px;background:#101522;color:#fff;border-radius:18px;overflow:hidden}.home-proof-strip div{padding:26px;border-right:1px solid rgba(255,255,255,.09)}.home-proof-strip div:last-child{border-right:0}.home-proof-strip strong{display:block;font-size:1.55rem;letter-spacing:-.04em}.home-proof-strip span{display:block;color:#939baa;font-size:.7rem;margin-top:4px}.home-testimonials{padding:80px 0 110px;background:#f7f8fa}.home-testimonial-card{display:grid;grid-template-columns:110px 1.2fr .75fr;gap:40px;background:#fff;border:1px solid #e1e4e9;border-radius:26px;padding:55px}.quote-mark{font:800 7rem/1 var(--font-display);color:#6c7aff;opacity:.16}.testimonial-content h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.13;letter-spacing:-.04em;margin:12px 0 18px}.testimonial-content p{max-width:700px;color:#6b727e;line-height:1.75}.testimonial-side{border-left:1px solid #e3e5e9;padding-left:35px}.testimonial-side>span{font:500 .62rem var(--font-mono);letter-spacing:.08em;color:#8c929e}.testimonial-side ul{list-style:none;padding:0;margin:20px 0}.testimonial-side li{padding:10px 0;border-bottom:1px solid #eceef1;font-size:.79rem;color:#4e5663}.testimonial-side li:before{content:"✓";color:#6674eb;margin-right:9px;font-weight:800}.home-final-cta{padding:0 0 110px;background:#f7f8fa}.home-cta-box{background:linear-gradient(120deg,#11182b,#252a59 65%,#5b3ab4);border-radius:28px;padding:64px;display:flex;align-items:end;justify-content:space-between;gap:60px;color:#fff;overflow:hidden;position:relative}.home-cta-box:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;border:60px solid rgba(255,255,255,.045);right:-100px;top:-140px}.home-cta-box h2{color:#fff;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.05;letter-spacing:-.045em;margin:11px 0 16px}.home-cta-box p{color:#b8becc;max-width:720px;line-height:1.7}.home-cta-actions{display:grid;gap:18px;position:relative;z-index:2;min-width:205px}.home-cta-actions .btn{justify-content:center}
@media(max-width:1050px){.home-slide-copy{width:88%}.home-logo-bar .wrap{align-items:flex-start;flex-direction:column;padding-top:25px;padding-bottom:25px}.home-tech-row{justify-content:flex-start}.home-intro-grid{grid-template-columns:1fr;gap:25px}.home-cap-grid{grid-template-columns:repeat(2,1fr)}.home-section-head{align-items:start;flex-direction:column;gap:18px}.project-panel{grid-template-columns:1fr;gap:30px}.project-visual{max-width:850px;width:100%}.client-experience-grid{grid-template-columns:repeat(2,1fr)}.home-testimonial-card{grid-template-columns:70px 1fr}.testimonial-side{grid-column:2;border-left:0;border-top:1px solid #e3e5e9;padding:25px 0 0}.home-cta-box{align-items:start;flex-direction:column}.home-cta-actions{display:flex;align-items:center;flex-wrap:wrap}}
@media(max-width:680px){.home-slider{height:760px;min-height:720px}.home-slide-shade{background:linear-gradient(90deg,rgba(5,8,15,.91),rgba(5,8,15,.65)),linear-gradient(0deg,rgba(5,8,15,.78),transparent)}.home-slide-inner{align-items:flex-end;padding-bottom:100px}.home-slide-copy{width:100%;padding:0}.home-slide-copy h1{font-size:2.65rem}.home-slide-copy>p{font-size:.93rem;line-height:1.65}.home-slide-proof{margin-top:24px}.home-slider-controls{bottom:22px}.home-logo-bar .wrap{min-height:0}.home-tech-row{gap:16px}.home-intro{padding:78px 0}.home-cap-grid{grid-template-columns:1fr;margin-top:40px}.home-cap-card{min-height:260px}.home-projects{padding:80px 0}.project-panel{min-height:0}.project-copy h3{font-size:2.4rem}.ins-content{grid-template-columns:1fr;padding:30px 20px}.ins-copy{display:none}.ins-nav{gap:10px;padding:0 15px}.ins-nav span{display:none}.browser-top span{min-width:0}.shop-hero{padding:30px}.shop-products{padding:15px;gap:7px}.phone-set{gap:4px;transform:scale(.88);transform-origin:center}.phone{width:170px}.phone:nth-child(1),.phone:nth-child(3){display:none}.phone:nth-child(2){width:230px}.erp-screen{grid-template-columns:70px 1fr}.erp-screen aside{padding:20px 8px}.erp-screen aside>b{font-size:.65rem}.erp-screen aside a{font-size:0;padding:9px;text-align:center}.erp-screen aside a::first-letter{font-size:.75rem}.erp-screen main{padding:16px}.erp-kpis{grid-template-columns:1fr}.erp-kpis div:nth-child(2),.erp-kpis div:nth-child(3){display:none}.erp-bottom{grid-template-columns:1fr}.erp-activity{display:none}.map-board{grid-template-columns:1fr;min-height:460px}.map-side{display:none}.client-experience-grid{grid-template-columns:1fr}.home-proof-strip{grid-template-columns:repeat(2,1fr)}.home-proof-strip div:nth-child(2){border-right:0}.home-testimonial-card{grid-template-columns:1fr;padding:32px}.quote-mark{font-size:4rem}.testimonial-side{grid-column:1}.home-cta-box{padding:38px 26px}.home-cta-actions{display:grid;width:100%}}


/* Technology category showcase */
.home-tech-showcase{padding:88px 0;background:#fff;overflow:hidden}.services-tech-showcase{background:#f7f8fb}.tech-showcase-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:34px}.tech-showcase-head h2{font-size:clamp(34px,4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:10px 0 0}.tech-showcase-head p{color:#626874;font-size:17px;line-height:1.75;margin:0}.tech-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;border-bottom:1px solid #e5e7eb;padding:0 0 16px;margin-bottom:38px}.tech-tab{appearance:none;border:0;background:transparent;padding:13px 5px 17px;font:700 16px/1 Inter,sans-serif;color:#191b20;cursor:pointer;position:relative;transition:.2s}.tech-tab:after{content:"";position:absolute;left:0;right:0;bottom:-17px;height:3px;background:#ff642f;transform:scaleX(0);transition:.2s}.tech-tab:hover,.tech-tab.is-active{color:#ff5d27}.tech-tab.is-active:after{transform:scaleX(1)}.tech-panel{display:none;grid-template-columns:repeat(5,1fr);gap:24px}.tech-panel.is-active{display:grid}.tech-card{min-height:218px;border:1px solid #e5e7eb;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#fff;box-shadow:0 10px 36px rgba(20,24,34,.045);transition:transform .22s,box-shadow .22s,border-color .22s}.tech-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(20,24,34,.1);border-color:#ff8a63}.tech-card b{font:800 20px/1.2 Manrope,sans-serif}.tech-card small{color:#858b95}.tech-symbol{width:74px;height:74px;border-radius:18px;display:grid;place-items:center;font:800 23px/1 Manrope,sans-serif;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.tech-symbol.js{background:#ffd600;color:#111}.tech-symbol.ts{background:#2878c8;color:#fff}.tech-symbol.java{background:#f5f8ff;color:#ec4b3d;font-size:34px}.tech-symbol.py{background:linear-gradient(135deg,#287ebc 50%,#ffd447 50%);color:#fff}.tech-symbol.cs{background:#536a74;color:#fff}.tech-symbol.react{background:#eafaff;color:#129ec2;font-size:35px}.tech-symbol.next{background:#111;color:#fff}.tech-symbol.vue{background:#e9fff6;color:#27a26d}.tech-symbol.html{background:#fff0eb;color:#e5532d}.tech-symbol.css3{background:#eef4ff;color:#316fcb}.tech-symbol.dotnet{background:#efeaff;color:#613bb7}.tech-symbol.node{background:#edf8e9;color:#438d38}.tech-symbol.php{background:#edf0ff;color:#5867a2;font-size:18px}.tech-symbol.nest{background:#fff0f3;color:#df214d}.tech-symbol.api{background:#f1f3f5;color:#363a40;font-size:17px}.tech-symbol.mysql{background:#edf8ff;color:#126c94}.tech-symbol.pg{background:#eef4ff;color:#336791}.tech-symbol.sql{background:#fff1f1;color:#b93737;font-size:16px}.tech-symbol.mongo{background:#effbef;color:#3d963b}.tech-symbol.redis{background:#fff0f0;color:#c9322c}.tech-symbol.ai{background:#f2efff;color:#6a43d7}.tech-symbol.ml{background:#fff4e8;color:#dd791c}.tech-symbol.data{background:#eafbff;color:#177b90}.tech-symbol.auto{background:#eefcf3;color:#218a4f;font-size:34px}.tech-symbol.aws{background:#18212f;color:#ff9f2f;font-size:18px}.tech-symbol.azure{background:#eaf6ff;color:#177acb}.tech-symbol.gcp{background:#f1f6ff;color:#4285f4}.tech-symbol.fire{background:#fff7e7;font-size:31px}.tech-symbol.cf{background:#fff2e6;color:#f48120}.tech-symbol.docker{background:#eaf8ff;color:#168bcc;font-size:30px}.tech-symbol.git{background:#f3f3f3;color:#222}.tech-symbol.linux{background:#fff9e6;color:#333}.tech-symbol.nginx{background:#edf9f1;color:#128848}.tech-symbol.monitor{background:#eef2ff;color:#4d62bd;font-size:31px}.tech-symbol.qa{background:#eafaf1;color:#218355}.tech-symbol.test{background:#effff1;color:#2b9d55;font-size:32px}.tech-symbol.device{background:#eef6ff;color:#2d6eaa;font-size:34px}.tech-symbol.perf{background:#fff6e6;color:#d77c00;font-size:31px}.tech-symbol.flutter{background:#eaf7ff;color:#1598d2}.tech-symbol.kotlin{background:linear-gradient(135deg,#6f5bf2,#ff7d50);color:#fff}.tech-symbol.swift{background:#fff0eb;color:#f25b3e}.project-detail-link{display:inline-flex;margin-top:22px;color:#fff;font-weight:800;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}.project-detail-link:hover{color:#ffb096}.project-detail-page{background:#f6f7fa}.project-detail-hero{padding:90px 0 60px;background:#11141a;color:#fff}.project-detail-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.project-detail-hero h1{font-size:clamp(42px,6vw,76px);line-height:1;letter-spacing:-.05em;margin:14px 0 22px}.project-detail-hero p{font-size:18px;line-height:1.75;color:#b8bdc8;max-width:760px}.project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.project-meta div{background:#1d2129;border:1px solid #2b303b;border-radius:14px;padding:18px}.project-meta small{display:block;color:#8e96a5;margin-bottom:7px}.project-meta b{font-size:15px}.project-story{padding:70px 0}.project-story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.project-story h2{font-size:40px;letter-spacing:-.04em}.project-story p,.project-story li{color:#5d6470;line-height:1.8}.project-story ul{padding-left:20px}.screen-gallery{padding:20px 0 90px}.screen-gallery .section-title{max-width:760px;margin-bottom:35px}.screen-gallery h2{font-size:42px;letter-spacing:-.04em}.mock-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.mock-card{background:#fff;border:1px solid #e1e4e8;border-radius:22px;padding:20px;box-shadow:0 20px 55px rgba(19,24,35,.07)}.mock-card h3{margin:5px 0 15px}.mock-card p{color:#747b86;font-size:14px}.ui-window{border-radius:15px;overflow:hidden;border:1px solid #e5e7eb;background:#f8fafc;min-height:320px}.ui-top{height:34px;background:#eef0f3;display:flex;align-items:center;gap:6px;padding:0 12px}.ui-top i{width:7px;height:7px;border-radius:50%;background:#b6bbc4}.ui-top span{font:500 10px monospace;color:#777;margin-left:8px}.detail-ui{padding:22px}.detail-ui .mini-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.detail-ui .mini-nav b{font-size:15px}.detail-ui .mini-nav span{font-size:11px;color:#6e7580}.detail-ui .big-number{font:800 34px Manrope,sans-serif}.detail-ui .field{height:39px;background:#fff;border:1px solid #e0e3e8;border-radius:8px;margin:7px 0 13px;padding:11px;font-size:11px;color:#6f7680}.detail-ui .action{display:inline-block;background:#ff612e;color:#fff;border-radius:8px;padding:11px 15px;font-size:11px;font-weight:800}.detail-ui .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-ui .tile-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.detail-ui .tile{background:#fff;border:1px solid #e4e7eb;border-radius:10px;padding:12px}.detail-ui .tile small{display:block;color:#8b919a}.detail-ui .tile b{display:block;margin-top:6px}.mobile-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.mobile-mock{background:#111820;border:7px solid #111820;border-radius:32px;overflow:hidden;box-shadow:0 18px 45px rgba(11,18,30,.16)}.mobile-mock .screen{background:#fff;min-height:480px;padding:26px 16px 18px;border-radius:25px}.mobile-mock .screen.dark{background:#141a22;color:#fff}.mobile-mock h4{font-size:20px;margin:28px 0 7px}.mobile-mock .score{background:#222b36;padding:14px;border-radius:13px;margin:12px 0}.mobile-mock .score strong{font-size:24px}.mobile-mock .match-item{border:1px solid #e2e5e9;border-radius:11px;padding:11px;margin:9px 0}.mobile-mock .login-logo{width:48px;height:48px;border-radius:15px;background:#ff612e;color:#fff;display:grid;place-items:center;font-weight:900}.mobile-mock .bar{height:7px;background:#e7e9ec;border-radius:10px;margin:7px 0}.mobile-mock .bar.dark{background:#313a46}.back-projects{display:inline-block;margin-top:25px;color:#ff7446;text-decoration:none;font-weight:800}@media(max-width:900px){.tech-showcase-head,.project-detail-hero .wrap,.project-story-grid{grid-template-columns:1fr}.tech-panel{grid-template-columns:repeat(2,1fr)}.mobile-detail-grid{grid-template-columns:repeat(2,1fr)}.mock-grid{grid-template-columns:1fr}}@media(max-width:560px){.tech-panel{grid-template-columns:1fr}.tech-tabs{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.tech-tab{white-space:nowrap}.mobile-detail-grid{grid-template-columns:1fr}}


/* Home technology highlight band — high contrast, logo-forward */
.home-stack-band{padding:82px 0 76px;background:linear-gradient(135deg,#0c1220 0%,#121b31 54%,#0b1324 100%);color:#fff;position:relative;overflow:hidden}
.home-stack-band:before{content:"";position:absolute;inset:-35% auto auto -8%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(70,127,255,.28),rgba(70,127,255,0) 70%)}
.home-stack-band:after{content:"";position:absolute;right:-120px;bottom:-180px;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(255,103,53,.2),rgba(255,103,53,0) 70%)}
.home-stack-band .wrap{position:relative;z-index:2}.stack-band-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:38px}.stack-kicker{display:inline-flex;align-items:center;gap:10px;font:700 .72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#74a6ff}.stack-kicker:before{content:"";width:28px;height:2px;background:#ff6b38}.stack-band-head h2{font-size:clamp(2.2rem,4.4vw,4.15rem);line-height:1.04;letter-spacing:-.05em;margin:13px 0 0;color:#fff;max-width:860px}.stack-band-head p{margin:0;color:#e5e9f2;font-size:1.02rem;line-height:1.75;max-width:520px}.stack-logo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stack-logo-card{--brand:#4f7cff;min-height:116px;display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(10px);transition:transform .22s ease,border-color .22s ease,background .22s ease}.stack-logo-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--brand) 70%,white);background:rgba(255,255,255,.12)}.stack-logo-mark{width:56px;height:56px;flex:0 0 56px;border-radius:15px;display:grid;place-items:center;background:var(--brand);color:#fff;font:900 1rem/1 var(--font-display);box-shadow:0 10px 28px color-mix(in srgb,var(--brand) 35%,transparent)}.stack-logo-card b{display:block;color:#fff;font:800 1.08rem var(--font-display);letter-spacing:-.02em}.stack-logo-card span{display:block;color:#cbd3e3;font-size:.78rem;margin-top:5px}.stack-react{--brand:#159fc7}.stack-next{--brand:#111}.stack-dotnet{--brand:#6d3bd1}.stack-node{--brand:#439543}.stack-flutter{--brand:#1598d2}.stack-kotlin{--brand:#7d50ef}.stack-shopify{--brand:#76a92f}.stack-stripe{--brand:#635bff}.stack-aws{--brand:#e88a00}.stack-all-link{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;margin-top:30px;border-bottom:2px solid #ff6b38;padding-bottom:7px}.stack-all-link span{transition:transform .2s}.stack-all-link:hover span{transform:translateX(5px)}
/* Higher-contrast technology browser */
.home-tech-showcase{background:#f3f6fb}.home-tech-showcase .tech-showcase-head h2{color:#0d1424}.home-tech-showcase .tech-showcase-head p{color:#374151;font-weight:500}.home-tech-showcase .tech-tabs{border-bottom-color:#cad2df;gap:8px 18px}.home-tech-showcase .tech-tab{color:#1b2435;font-size:17px;font-weight:800;padding:13px 10px 17px}.home-tech-showcase .tech-tab:hover,.home-tech-showcase .tech-tab.is-active{color:#e84f1a}.home-tech-showcase .tech-card{border:1px solid #d6dce6;box-shadow:0 12px 30px rgba(13,20,36,.07)}.home-tech-showcase .tech-card b{color:#101827;font-size:21px}.home-tech-showcase .tech-card small{color:#4e596b;font-weight:600}.home-tech-showcase .tech-symbol{box-shadow:0 9px 22px rgba(14,22,38,.10)}
/* Team portraits restored without personal social links */
.team-card .team-photo{border-bottom:1px solid var(--line)}.team-card .team-photo:after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(10,14,22,.16));pointer-events:none}.team-card-featured .team-photo:after{background:linear-gradient(transparent,rgba(0,0,0,.35))}.team-card .team-index{z-index:2}
@media(max-width:900px){.stack-band-head{grid-template-columns:1fr;gap:20px}.stack-logo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.home-stack-band{padding:64px 0}.stack-logo-grid{grid-template-columns:1fr}.stack-logo-card{min-height:104px}.stack-band-head h2{font-size:2.45rem}}


/* Softix production footer refinements — backend release only */
.footer-brand-highlight{max-width:520px!important;color:#c8d6e5!important;line-height:1.8!important;font-size:1rem!important;margin-top:20px!important}.footer-brand-highlight strong{display:block;color:#fff;font-family:var(--font-heading,Manrope,sans-serif);font-size:1.2rem;line-height:1.45;margin-bottom:8px}.footer-contact-list li{margin-bottom:12px}.footer-contact-list a{font-weight:600}.footer-contact-list span{line-height:1.65;display:block;max-width:260px}.site-footer .footer-col h4{color:#fff}.site-footer .footer-col a:hover{color:#fff}@media(max-width:700px){.footer-brand-highlight{max-width:none!important}.footer-bottom{gap:10px;flex-direction:column;align-items:flex-start}}


/* ---------- Responsive navigation hardening (2026-08 SEO/mobile pass) ---------- */
@media (max-width: 960px) {
  .site-header { z-index: 1000; }
  .site-header .wrap { position: static; height: 76px; }
  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    max-height: calc(100dvh - 76px);
    min-height: calc(100dvh - 76px);
    padding: 28px max(24px, calc((100vw - 1160px) / 2));
    background: rgba(255,255,255,.99);
    border-top: 1px solid var(--line);
    box-shadow: 0 18px 40px rgba(20,22,26,.12);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
  }
  .main-nav.open {
    visibility: visible;
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }
  .main-nav ul { width: 100%; gap: 0; }
  .main-nav ul li { border-bottom: 1px solid var(--line); }
  .main-nav ul a { display: block; width: 100%; padding: 16px 0; font-size: clamp(1.15rem, 3.2vw, 1.4rem); }
  .main-nav a.active::after { display: none; }
  .main-nav .nav-cta { width: 100%; justify-content: center; margin-top: 4px; }
  .nav-toggle { position: relative; z-index: 1002; cursor: pointer; touch-action: manipulation; }
  .nav-toggle.is-open span { background: transparent; }
  .nav-toggle.is-open span::before { top: 0; transform: rotate(45deg); }
  .nav-toggle.is-open span::after { top: 0; transform: rotate(-45deg); }
  body.nav-open { overflow: hidden; }
}
@media (max-width: 480px) {
  .site-header .wrap { height: 68px; }
  .main-nav { max-height: calc(100dvh - 68px); min-height: calc(100dvh - 68px); padding: 20px; }
  .brand { font-size: 1.12rem; }
  .brand-mark { width: 30px; height: 30px; }
  .brand small { font-size: .50rem; }
  .nav-toggle { width: 40px; height: 40px; }
}
