/* ═══════════════════════════════════════════════════════════════
   DATAGATORS — MAIN STYLESHEET
   Brand: Denim #0c74bc | Blue Violet #4f58ab | Trendy Pink #8f55a1 | Froly #f36b9c
═══════════════════════════════════════════════════════════════ */

/* ── VARIABLES ── */
:root {
  --ink:      #03060d;
  --paper:    #f5f2eb;
  --primary:  #0c74bc;
  --secondary:#4f58ab;
  --purple:   #8f55a1;
  --pink:     #f36b9c;
  --line:     rgba(245,242,235,0.1);
  --mist:     rgba(245,242,235,0.04);
  --mono:     'JetBrains Mono', monospace;
  --display:  'Bebas Neue', sans-serif;
  --body:     'Cabinet Grotesk', sans-serif;
  --nav-h:    76px;
  --ticker-h: 36px;
  --radius:   10px;
  --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
  --grad-brand: linear-gradient(135deg, #0c74bc, #4f58ab);
  --grad-full:  linear-gradient(135deg, #0c74bc 0%, #4f58ab 50%, #8f55a1 100%);
  --card:       #0a1322;
  --shadow-card: 0 8px 32px rgba(0,0,0,0.3);
  --shadow-hover: 0 24px 60px rgba(0,0,0,0.45);
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body {
  font-family: var(--body);
  background: var(--ink);
  color: var(--paper);
  overflow-x: hidden;
  cursor: none;
  line-height: 1.6;
}
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
button { cursor:none; }
ul, ol { list-style:none; }

/* ── NOISE LAYER ── */
body::before {
  content:'';
  position:fixed;
  inset:0;
  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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.03;
  pointer-events:none;
  z-index:9999;
}

/* ── CUSTOM CURSOR ── */
#cursor {
  position:fixed; width:10px; height:10px;
  background: var(--primary);
  border-radius:50%;
  pointer-events:none;
  z-index:99999;
  transform:translate(-50%,-50%);
  transition: width 0.15s, height 0.15s;
  mix-blend-mode:difference;
}
#cursor-ring {
  position:fixed; width:38px; height:38px;
  border:1.5px solid rgba(12,116,188,0.45);
  border-radius:50%;
  pointer-events:none;
  z-index:99998;
  transform:translate(-50%,-50%);
  transition:all 0.1s ease;
}
body.cursor-hover #cursor { width:18px; height:18px; }
body.cursor-hover #cursor-ring { width:56px; height:56px; border-color:rgba(12,116,188,0.25); }

/* ═══════════════════════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════════════════════ */
.ticker {
  background: var(--grad-brand);
  color:#fff;
  height: var(--ticker-h);
  overflow:hidden;
  position:relative;
  z-index:1001;
}
.ticker-track {
  display:flex;
  width:max-content;
  animation: ticker-scroll 28s linear infinite;
  height:100%;
  align-items:center;
}
@keyframes ticker-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.ticker-item {
  display:flex; align-items:center; gap:12px;
  padding:0 36px;
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:1px; text-transform:uppercase;
  border-right:1px solid rgba(255,255,255,0.2);
  height:100%; white-space:nowrap;
}
.ticker-item b  { font-weight:800; }
.ticker-item a  { color:#fff; font-weight:700; text-decoration:underline; }
.ticker-sep     { opacity:0.4; }

/* ═══════════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════════ */
#site-header {
  position:sticky; top:0; z-index:1000;
  height:var(--nav-h);
  background:rgba(3,6,13,0.92);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  transition:background 0.3s, box-shadow 0.3s;
}
#site-header.scrolled {
  background:rgba(3,6,13,0.98);
  box-shadow:0 4px 30px rgba(0,0,0,0.5);
}

.nav-wrap {
  max-width:1440px; margin:0 auto; padding:0 40px;
  height:100%;
  display:grid;
  grid-template-columns: auto 1fr auto;
  align-items:center;
  gap:24px;
}

/* LOGO */
.site-logo {
  display:flex; align-items:center; gap:12px;
  flex-shrink:0;
}
.logo-hex {
  width:40px; height:40px;
  background: var(--grad-brand);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:13px; font-weight:700; color:#fff;
  animation:hexGlow 3s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes hexGlow {
  0%,100% { filter:drop-shadow(0 0 6px rgba(12,116,188,0.5)); }
  50%     { filter:drop-shadow(0 0 18px rgba(12,116,188,0.9)); }
}
.logo-img { height:36px; width:auto; }
.logo-text-wrap { line-height:1; }
.logo-name {
  font-family:var(--display);
  font-size:24px; letter-spacing:2px;
  color:var(--paper); line-height:1;
}
.logo-name span { color:var(--primary); }
.logo-tag {
  font-family:var(--mono); font-size:9px;
  color:rgba(245,242,235,0.3);
  letter-spacing:2px; text-transform:uppercase;
  margin-top:3px;
}

/* MAIN NAV */
#main-nav {
  display:flex; align-items:center; gap:2px;
  justify-content:center;
}

.nav-item { position:relative; }

.nav-btn {
  display:flex; align-items:center; gap:5px;
  padding:8px 16px;
  background:none; border:none;
  color:rgba(245,242,235,0.6);
  font-family:var(--body); font-size:14px; font-weight:700;
  cursor:none; border-radius:6px;
  transition:color 0.2s;
  position:relative; white-space:nowrap;
}
.nav-btn::after {
  content:'';
  position:absolute; bottom:0; left:16px; right:16px;
  height:2px; background:var(--primary);
  transform:scaleX(0); transform-origin:left;
  transition:transform 0.25s;
}
.nav-item:hover > .nav-btn,
.nav-btn.active { color:var(--paper); }
.nav-item:hover > .nav-btn::after,
.nav-btn.active::after { transform:scaleX(1); }

.nav-chevron {
  width:12px; height:12px;
  stroke:currentColor; fill:none; stroke-width:2.5;
  transition:transform 0.2s; flex-shrink:0;
}
.nav-item:hover > .nav-btn .nav-chevron { transform:rotate(180deg); }

/* ── MEGA MENU ── */
.mega {
  position:absolute;
  top:calc(100% + 1px);
  left:50%; transform:translateX(-50%) translateY(10px);
  background:#070e1a;
  border:1px solid var(--line);
  border-top:2px solid var(--primary);
  border-radius:0 0 14px 14px;
  min-width:260px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity 0.2s, transform 0.2s, visibility 0.2s;
  box-shadow:0 32px 80px rgba(0,0,0,0.7);
  overflow:hidden;
}
.mega.xl { min-width:960px; }
.mega.lg { min-width:620px; }
.mega.md { min-width:400px; }

.nav-item:hover > .mega {
  opacity:1; visibility:visible; pointer-events:all;
  transform:translateX(-50%) translateY(0);
}
/* Edge fixes */
.nav-item:first-child > .mega,
.nav-item:nth-child(2) > .mega {
  left:0; transform:translateX(0) translateY(10px);
}
.nav-item:first-child:hover > .mega,
.nav-item:nth-child(2):hover > .mega {
  transform:translateX(0) translateY(0);
}
/* Last items stay right-aligned */
.nav-item:nth-last-child(-n+2) > .mega {
  left:auto; right:0; transform:translateX(0) translateY(10px);
}
.nav-item:nth-last-child(-n+2):hover > .mega {
  transform:translateX(0) translateY(0);
}

.mega-head {
  padding:18px 24px 14px;
  border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
}
.mega-head-label {
  font-family:var(--mono); font-size:10px; font-weight:500;
  text-transform:uppercase; letter-spacing:2px; color:var(--primary);
}
.mega-head-count {
  font-family:var(--mono); font-size:10px;
  color:rgba(245,242,235,0.25);
}

.mega-body { padding:18px 20px; }
.mega-layout-feat { display:grid; grid-template-columns:200px 1fr; gap:0; }
.mega-layout-cols2 { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.mega-layout-cols3 { display:grid; grid-template-columns:repeat(3,1fr); gap:0 16px; }
.mega-layout-cols4 { display:grid; grid-template-columns:repeat(4,1fr); gap:0 14px; }

.mega-feat {
  background:linear-gradient(160deg,rgba(12,116,188,0.08),rgba(79,88,171,0.05));
  border-right:1px solid var(--line);
  padding:20px 16px;
  margin:-18px 16px -18px -20px;
  display:flex; flex-direction:column; gap:10px;
}
.mega-feat .mf-label {
  font-family:var(--mono); font-size:9px; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--primary);
}
.mega-feat h3 {
  font-family:var(--display); font-size:20px;
  letter-spacing:1px; color:var(--paper); line-height:1.2;
}
.mega-feat p {
  font-size:12px; color:rgba(245,242,235,0.4);
  line-height:1.7; flex:1;
}
.mega-feat-link {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:11px; color:var(--primary);
  border:1px solid rgba(12,116,188,0.3);
  padding:7px 12px; border-radius:4px;
  transition:all 0.2s; width:fit-content;
}
.mega-feat-link:hover { background:var(--primary); color:#fff; }

.mega-col { }
.mega-col-label {
  font-family:var(--mono); font-size:9px; font-weight:500;
  text-transform:uppercase; letter-spacing:2px;
  color:rgba(245,242,235,0.28);
  padding:8px 8px 5px; margin-top:2px;
  display:flex; align-items:center; gap:6px;
}
.mega-col-label::before {
  content:''; width:10px; height:1px;
  background:var(--primary); opacity:0.6; flex-shrink:0;
}

.mlink {
  display:flex; align-items:center; gap:8px;
  padding:6px 8px; border-radius:5px;
  color:rgba(245,242,235,0.5);
  font-size:13px; font-weight:500;
  transition:all 0.15s;
  position:relative; overflow:hidden;
}
.mlink::before {
  content:''; position:absolute;
  left:0; top:0; bottom:0; width:2px;
  background:var(--primary);
  transform:scaleY(0); transition:transform 0.15s;
}
.mlink:hover {
  color:var(--paper);
  background:rgba(12,116,188,0.07);
  padding-left:14px;
}
.mlink:hover::before { transform:scaleY(1); }

/* NAV ACTIONS */
.nav-actions {
  display:flex; align-items:center; gap:10px; flex-shrink:0;
}

.btn-ghost {
  padding:9px 18px;
  border:1px solid var(--line);
  border-radius:6px;
  color:rgba(245,242,235,0.65);
  font-family:var(--body); font-size:13px; font-weight:600;
  transition:all 0.2s; white-space:nowrap;
}
.btn-ghost:hover { border-color:var(--primary); color:var(--primary); }

.btn-cta {
  padding:10px 22px;
  background: var(--grad-brand);
  border-radius:6px; color:#fff;
  font-family:var(--body); font-size:13px; font-weight:800;
  transition:all 0.2s; white-space:nowrap;
  position:relative; overflow:hidden;
}
.btn-cta::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);
  transform:translateX(-100%); transition:transform 0.45s;
}
.btn-cta:hover::before { transform:translateX(100%); }
.btn-cta:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(12,116,188,0.4); }

/* MOBILE TOGGLE */
.mob-toggle {
  display:none; background:none; border:none;
  color:var(--paper); padding:6px; border-radius:6px;
  transition:background 0.2s;
}
.mob-toggle:hover { background:var(--mist); }

/* MOBILE DRAWER */
.mob-drawer {
  display:none;
  position:fixed;
  top:calc(var(--ticker-h) + var(--nav-h));
  left:0; right:0; bottom:0;
  background:rgba(3,6,13,0.98);
  backdrop-filter:blur(20px);
  z-index:999;
  overflow-y:auto;
  padding:24px;
  transform:translateX(100%);
  transition:transform 0.3s ease;
}
.mob-drawer.open { transform:translateX(0); }
.mob-nav-links { display:flex; flex-direction:column; gap:4px; }
.mob-link {
  padding:14px 16px;
  font-family:var(--display); font-size:22px; letter-spacing:1px;
  text-transform:uppercase; color:rgba(245,242,235,0.7);
  border-radius:8px; transition:all 0.2s;
  display:flex; align-items:center; justify-content:space-between;
}
.mob-link:hover { background:var(--mist); color:var(--paper); }
.mob-link span { color:var(--primary); }
.mob-divider { height:1px; background:var(--line); margin:16px 0; }
.mob-actions { display:flex; flex-direction:column; gap:10px; }
.mob-btn-main {
  padding:14px; text-align:center;
  background:var(--grad-brand); border-radius:8px;
  color:#fff; font-weight:800; font-size:16px;
}
.mob-btn-ghost {
  padding:14px; text-align:center;
  border:1px solid var(--line); border-radius:8px;
  color:rgba(245,242,235,0.6); font-size:15px;
}

/* MOBILE CLOSE BUTTON */
.mob-close {
  display:flex; align-items:center; justify-content:center;
  position:absolute; top:16px; right:16px;
  width:36px; height:36px; border-radius:8px;
  background:var(--mist); border:none;
  color:var(--paper); cursor:pointer;
  transition:background 0.2s;
}
.mob-close:hover { background:rgba(255,255,255,0.12); }

/* MOBILE ACCORDION */
.mob-acc-item { border-bottom:1px solid rgba(255,255,255,0.06); }
.mob-acc-btn {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:16px 4px;
  background:none; border:none; cursor:pointer;
  font-family:var(--display); font-size:22px; letter-spacing:1px;
  text-transform:uppercase; color:rgba(245,242,235,0.7);
  transition:color 0.2s;
}
.mob-acc-btn:hover,
.mob-acc-item.open .mob-acc-btn { color:var(--paper); }
.mob-acc-chevron {
  flex-shrink:0; stroke:var(--primary);
  transition:transform 0.3s ease;
}
.mob-acc-item.open .mob-acc-chevron { transform:rotate(180deg); }

/* Sliding panel */
.mob-acc-panel {
  max-height:0; overflow:hidden;
  transition:max-height 0.35s ease;
}
.mob-acc-group {
  padding:6px 0 12px 8px;
  border-left:2px solid rgba(12,116,188,0.25);
  margin:0 4px 12px 4px;
}
.mob-acc-label {
  font-family:var(--mono); font-size:9px; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--primary); opacity:0.8;
  padding:0 8px 8px 8px;
}
.mob-sub-link {
  display:block; padding:7px 8px;
  font-size:14px; font-weight:500;
  color:rgba(245,242,235,0.6);
  border-radius:5px; transition:all 0.15s;
}
.mob-sub-link:hover {
  color:var(--paper);
  background:rgba(255,255,255,0.05);
  padding-left:14px;
}
.mob-acc-viewall {
  display:inline-block; margin:4px 4px 12px 12px;
  font-family:var(--mono); font-size:11px; font-weight:600;
  color:var(--primary); letter-spacing:0.5px;
  transition:opacity 0.2s;
}
.mob-acc-viewall:hover { opacity:0.7; }

/* ═══════════════════════════════════════════════════════════════
   PAGE HERO — defined fully in WEB SCRAPING SERVICES PAGE block
   below. Only breadcrumb here to keep source order clean.
═══════════════════════════════════════════════════════════════ */
.breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11px;
  color:rgba(245,242,235,0.3); letter-spacing:0.5px;
  margin-bottom:24px;
}
.breadcrumb a { color:var(--primary); transition:color 0.2s; }
.breadcrumb a:hover { color:var(--paper); }
.breadcrumb span { opacity:0.4; }

/* ═══════════════════════════════════════════════════════════════
   HOMEPAGE HERO
═══════════════════════════════════════════════════════════════ */
.home-hero {
  min-height: calc(100vh - var(--nav-h) - var(--ticker-h));
  position:relative;
  display:flex; align-items:center;
  overflow:hidden;
}
#hero-canvas {
  position:absolute; inset:0; z-index:0;
  width:100%; height:100%;
}
.hero-scanlines {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:repeating-linear-gradient(
    0deg,
    rgba(0,0,0,0) 0px, rgba(0,0,0,0) 3px,
    rgba(0,0,0,0.025) 3px, rgba(0,0,0,0.025) 4px
  );
}
/* Radial glow bg */
.hero-glow {
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 75% 50%, rgba(12,116,188,0.07) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 20% 70%, rgba(79,88,171,0.06) 0%, transparent 60%);
}

.hero-wrap {
  position:relative; z-index:2;
  max-width:1440px; margin:0 auto; padding:80px 40px;
  display:grid; grid-template-columns:1fr 1fr;
  gap:72px; align-items:center;
  width:100%;
}

/* ── LEFT COLUMN ── */
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  margin-bottom:24px;
}
.eyebrow-line { width:30px; height:2px; background:var(--grad-brand); }
.eyebrow-txt {
  font-family:var(--mono); font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:3px; color:var(--primary);
}
.eyebrow-dot {
  width:6px; height:6px; background:var(--primary);
  border-radius:50%; animation:blink 1.2s steps(1) infinite;
}
@keyframes blink { 0%,49%{opacity:1} 50%,100%{opacity:0} }

.hero-h1 {
  font-family:var(--display);
  font-size:clamp(56px,6.5vw,94px);
  line-height:0.93; letter-spacing:2px;
  text-transform:uppercase; margin-bottom:24px;
}
.hero-h1 .h1-line { display:block; overflow:hidden; }
.hero-h1 .h1-line span {
  display:block;
  animation:slideUp 0.8s cubic-bezier(0.16,1,0.3,1) both;
}
.hero-h1 .h1-line:nth-child(1) span { animation-delay:0.1s; }
.hero-h1 .h1-line:nth-child(2) span { animation-delay:0.22s; }
.hero-h1 .h1-line:nth-child(3) span {
  animation-delay:0.34s;
  background:var(--grad-brand);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
@keyframes slideUp {
  from { transform:translateY(110%); opacity:0; }
  to   { transform:translateY(0);    opacity:1; }
}

.hero-desc {
  font-size:17px; font-weight:400;
  line-height:1.75; color:rgba(245,242,235,0.5);
  max-width:480px; margin-bottom:36px;
  animation:fadeUp 0.6s 0.5s ease both;
}
@keyframes fadeUp { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }

.hero-btns {
  display:flex; gap:12px; align-items:center;
  flex-wrap:wrap; margin-bottom:52px;
  animation:fadeUp 0.6s 0.6s ease both;
}
.hero-btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px;
  background:var(--grad-brand); border-radius:7px;
  color:#fff; font-size:15px; font-weight:800;
  font-family:var(--body);
  transition:all 0.25s;
  position:relative; overflow:hidden;
}
.hero-btn-primary::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transform:translateX(-100%); transition:transform 0.45s;
}
.hero-btn-primary:hover::before { transform:translateX(100%); }
.hero-btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 40px rgba(12,116,188,0.45); }
.btn-arrow-box {
  width:22px; height:22px; background:rgba(0,0,0,0.15);
  border-radius:4px; display:flex; align-items:center; justify-content:center;
  font-size:14px;
}

.hero-btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  padding:15px 26px;
  border:1px solid rgba(245,242,235,0.15); border-radius:7px;
  color:rgba(245,242,235,0.65); font-size:14px; font-weight:600;
  transition:all 0.2s;
}
.hero-btn-ghost:hover { border-color:rgba(245,242,235,0.4); color:var(--paper); }

/* Stats bar */
.hero-stats {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:10px;
  overflow:hidden;
  animation:fadeUp 0.6s 0.7s ease both;
}
.hstat {
  background:var(--ink); padding:18px 22px;
  position:relative; overflow:hidden;
  transition:background 0.2s;
}
.hstat::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:2px; background:var(--grad-brand);
  transform:scaleX(0); transform-origin:left; transition:transform 0.35s;
}
.hstat:hover { background:rgba(12,116,188,0.04); }
.hstat:hover::before { transform:scaleX(1); }
.hstat-num {
  font-family:var(--display); font-size:30px;
  letter-spacing:1px; color:var(--paper);
  line-height:1; margin-bottom:4px;
}
.hstat-num em { color:var(--primary); font-style:normal; }
.hstat-label {
  font-family:var(--mono); font-size:10px;
  text-transform:uppercase; letter-spacing:1.5px;
  color:rgba(245,242,235,0.3);
}

/* ── RIGHT COLUMN — TERMINAL ── */
.hero-terminal { position:relative; animation:fadeUp 0.6s 0.35s ease both; }

.terminal {
  background:#050b14;
  border:1px solid rgba(12,116,188,0.22);
  border-radius:12px; overflow:hidden;
  box-shadow:0 0 0 1px rgba(12,116,188,0.05), 0 40px 80px rgba(0,0,0,0.6);
  position:relative;
}
.terminal::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 40% at 50% 0%, rgba(12,116,188,0.06) 0%, transparent 70%);
}
.term-bar {
  background:#0a1322; padding:13px 18px;
  display:flex; align-items:center; gap:10px;
  border-bottom:1px solid var(--line);
}
.term-dots { display:flex; gap:6px; }
.term-dot { width:10px; height:10px; border-radius:50%; }
.term-dot.r { background:#ff5f57; }
.term-dot.y { background:#ffbd2e; }
.term-dot.g { background:var(--secondary); animation:blink 2s ease infinite; }
.term-title {
  flex:1; text-align:center;
  font-family:var(--mono); font-size:11px;
  color:rgba(245,242,235,0.28); letter-spacing:0.5px;
}
.term-live {
  display:flex; align-items:center; gap:5px;
  font-family:var(--mono); font-size:10px; color:#4fc878;
}
.term-live::before {
  content:''; width:6px; height:6px; background:var(--secondary);
  border-radius:50%; animation:blink 1s ease infinite;
}

.term-body { padding:18px 20px; display:flex; flex-direction:column; gap:2px; }
.tline {
  font-family:var(--mono); font-size:12px; line-height:1.85;
  display:flex; align-items:flex-start; gap:10px;
  opacity:0; animation:fadeIn 0.25s ease forwards;
}
.tline:nth-child(1)  {animation-delay:0.5s}
.tline:nth-child(2)  {animation-delay:0.7s}
.tline:nth-child(3)  {animation-delay:0.9s}
.tline:nth-child(4)  {animation-delay:1.1s}
.tline:nth-child(5)  {animation-delay:1.3s}
.tline:nth-child(6)  {animation-delay:1.5s}
.tline:nth-child(7)  {animation-delay:1.7s}
.tline:nth-child(8)  {animation-delay:1.9s}
.tline:nth-child(9)  {animation-delay:2.1s}
.tline:nth-child(10) {animation-delay:2.3s}
.tline:nth-child(11) {animation-delay:2.5s}
@keyframes fadeIn { to{opacity:1} }

.tp  { color:var(--primary); flex-shrink:0; }
.tv  { color:rgba(245,242,235,0.85); }
.tk  { color:var(--secondary); }
.tn  { color:var(--primary); }
.ts  { color:#ff9d4d; }
.tsc { color:#4fc87a; }
.td  { color:rgba(245,242,235,0.2); }

.term-footer {
  padding:12px 20px; border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  background:#040a12;
}
.tf { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.28); }
.tf span { color:var(--primary); }

/* floating badges */
.float-badge {
  position:absolute; border-radius:10px;
  padding:12px 16px; border:1px solid;
  backdrop-filter:blur(10px);
  animation:floatY 4s ease-in-out infinite;
  pointer-events:none; z-index:3;
}
.fb-1 { top:-22px; right:-22px; animation-delay:-1s;
  background:rgba(12,116,188,0.1); border-color:rgba(12,116,188,0.28); }
.fb-2 { bottom:-18px; left:-18px; animation-delay:-2.5s;
  background:rgba(79,88,171,0.1); border-color:rgba(79,88,171,0.28); }
@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.fb-val { font-family:var(--display); font-size:22px; letter-spacing:1px; }
.fb-lbl { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.38); letter-spacing:1px; margin-top:2px; }

/* ═══════════════════════════════════════════════════════════════
   CLIENT MARQUEE
═══════════════════════════════════════════════════════════════ */
.clients-band {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:20px 0; overflow:hidden;
  background:rgba(255,255,255,0.01);
  position:relative;
}
.clients-band::before,
.clients-band::after {
  content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2; pointer-events:none;
}
.clients-band::before { left:0; background:linear-gradient(90deg,var(--ink),transparent); }
.clients-band::after  { right:0; background:linear-gradient(-90deg,var(--ink),transparent); }
.clients-track {
  display:flex; width:max-content;
  animation:marquee 30s linear infinite;
  align-items:center;
}
@keyframes marquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.client-chip {
  display:flex; align-items:center; gap:10px;
  padding:6px 28px; border-right:1px solid var(--line);
  font-family:var(--display); font-size:17px; letter-spacing:2px;
  color:rgba(245,242,235,0.18); white-space:nowrap;
  transition:color 0.2s;
}
.client-chip:hover { color:rgba(245,242,235,0.45); }
.client-dot { width:5px; height:5px; background:var(--primary); border-radius:50%; opacity:0.5; flex-shrink:0; }

/* ═══════════════════════════════════════════════════════════════
   SECTION UTILITIES
═══════════════════════════════════════════════════════════════ */
.section { padding:110px 0; }
.section-alt { background:#040a13; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-inner { max-width:1440px; margin:0 auto; padding:0 40px; }

.section-tag {
  font-family:var(--mono); font-size:11px; font-weight:500;
  text-transform:uppercase; letter-spacing:3px; color:var(--primary);
  display:flex; align-items:center; gap:10px; margin-bottom:16px;
}
.section-tag::before { content:''; width:18px; height:2px; background:var(--primary); }

.section-title {
  font-family:var(--display);
  font-size:clamp(38px,4vw,62px);
  letter-spacing:2px; text-transform:uppercase; line-height:1;
  margin-bottom:14px;
}
.section-title em {
  font-style:normal;
  background:var(--grad-brand);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}

.section-head {
  display:grid; grid-template-columns:1fr 1fr;
  gap:40px; align-items:end; margin-bottom:64px;
}
.section-desc {
  font-size:16px; line-height:1.8;
  color:rgba(245,242,235,0.42); max-width:420px; align-self:end;
}

/* ═══════════════════════════════════════════════════════════════
   SERVICE CARDS — BENTO GRID
═══════════════════════════════════════════════════════════════ */
.services-section { padding:110px 0; position:relative; overflow:hidden; }
.services-section::after {
  content:'SERVICES';
  position:absolute; top:50px; left:-10px;
  font-family:var(--display); font-size:180px;
  color:rgba(245,242,235,0.015);
  letter-spacing:10px; pointer-events:none; user-select:none;
}

.bento-grid {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}

.scard {
  background:rgba(245,242,235,0.02);
  border:1px solid var(--line); border-radius:12px;
  padding:28px;
  display:flex; flex-direction:column; gap:12px;
  transition:all var(--transition);
  position:relative; overflow:hidden;
}
.scard::after {
  content:''; position:absolute; top:0; left:0; right:0;
  height:2px; background:var(--grad-brand);
  transform:scaleX(0); transform-origin:left; transition:transform 0.4s;
}
.scard:hover {
  background:rgba(12,116,188,0.04);
  border-color:rgba(12,116,188,0.22);
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.scard:hover::after { transform:scaleX(1); }
.scard-icon {
  width:46px; height:46px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; flex-shrink:0;
}
.si-blue   { background:rgba(12,116,188,0.12); border:1px solid rgba(12,116,188,0.22); }
.si-violet { background:rgba(79,88,171,0.12);  border:1px solid rgba(79,88,171,0.22); }
.si-purple { background:rgba(143,85,161,0.12); border:1px solid rgba(143,85,161,0.22); }
.si-teal   { background:rgba(20,184,166,0.1);  border:1px solid rgba(20,184,166,0.2); }
.si-gold   { background:rgba(245,166,35,0.1);  border:1px solid rgba(245,166,35,0.2); }
.si-red    { background:rgba(239,68,68,0.08);  border:1px solid rgba(239,68,68,0.18); }

.scard h3 {
  font-family:var(--display); font-size:21px;
  letter-spacing:1px; text-transform:uppercase;
  color:var(--paper); line-height:1.1;
}


.scard p {
  font-size:13px; color:rgba(245,242,235,0.4);
  line-height:1.75; flex:1;
}
.scard-large h3 { font-size:28px !important; }
.scard-large p  { font-size:14px !important; }
.scard-link {
  display:flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:11px;
  color:var(--primary); letter-spacing:1px; text-transform:uppercase;
  transition:gap 0.2s; margin-top:4px;
}
.scard:hover .scard-link { gap:10px; }

/* ═══════════════════════════════════════════════════════════════
   NUMBERS STRIP
═══════════════════════════════════════════════════════════════ */
.numbers-strip {
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:rgba(12,116,188,0.02);
  position:relative; overflow:hidden;
}
.numbers-strip::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(12,116,188,0.03),transparent);
  pointer-events:none;
}
.numbers-grid {
  max-width:1440px; margin:0 auto; padding:0 40px;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.num-cell {
  padding:50px 36px;
  border-right:1px solid var(--line);
  transition:background 0.25s;
}
.num-cell:last-child { border-right:none; }
.num-cell:hover { background:rgba(12,116,188,0.04); }
.num-big {
  font-family:var(--display); font-size:58px;
  letter-spacing:2px; color:var(--paper); line-height:1;
  margin-bottom:8px;
}
.num-big em { color:var(--primary); font-style:normal; }
.num-label {
  font-family:var(--mono); font-size:10px;
  text-transform:uppercase; letter-spacing:2px;
  color:rgba(245,242,235,0.28); margin-bottom:8px;
}
.num-sub { font-size:13px; color:rgba(245,242,235,0.35); line-height:1.5; }

/* ═══════════════════════════════════════════════════════════════
   INDUSTRIES
═══════════════════════════════════════════════════════════════ */
.ind-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.ind-card {
  background:rgba(245,242,235,0.02);
  border:1px solid var(--line); border-radius:10px;
  padding:24px;
  display:grid; grid-template-columns:auto 1fr;
  gap:14px; align-items:center;
  transition:all var(--transition);
  position:relative; overflow:hidden;
}
.ind-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(12,116,188,0.05),transparent 60%);
  opacity:0; transition:opacity 0.3s;
}
.ind-card:hover { border-color:rgba(12,116,188,0.22); transform:translateY(-2px); }
.ind-card:hover::before { opacity:1; }
.ind-icon { font-size:26px; }
.ind-name { font-family:var(--display); font-size:17px; letter-spacing:1px; text-transform:uppercase; margin-bottom:2px; }
.ind-count { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.28); letter-spacing:1px; }

/* ═══════════════════════════════════════════════════════════════
   PROCESS
═══════════════════════════════════════════════════════════════ */
.process-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--line);
  border:1px solid var(--line); border-radius:12px; overflow:hidden;
}
.process-step {
  background:#040a13; padding:34px 28px;
  display:flex; flex-direction:column; gap:10px;
  transition:background 0.25s;
}
.process-step:hover { background:rgba(12,116,188,0.04); }
.ps-num {
  font-family:var(--display); font-size:46px;
  letter-spacing:2px; color:rgba(12,116,188,0.14);
  line-height:1; margin-bottom:4px;
  transition:color 0.25s;
}
.process-step:hover .ps-num { color:var(--primary); }
.ps-title { font-family:var(--display); font-size:19px; letter-spacing:1px; text-transform:uppercase; }
.ps-desc { font-size:13px; color:rgba(245,242,235,0.38); line-height:1.7; }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════════════════════ */
.testi-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.tcard {
  background:rgba(245,242,235,0.025);
  border:1px solid var(--line); border-radius:12px;
  padding:30px;
  display:flex; flex-direction:column; gap:14px;
  transition:all var(--transition);
}
.tcard:hover {
  border-color:rgba(12,116,188,0.18);
  background:rgba(12,116,188,0.025);
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}
.tcard-stars { display:flex; gap:3px; }
.star { color:#f5a623; font-size:13px; }
.tcard-quote {
  font-size:13px; line-height:1.82; color:rgba(245,242,235,0.58);
  font-style:italic; flex:1; position:relative; padding-left:16px;
}
.tcard-quote::before {
  content:'"'; position:absolute; left:0; top:-4px;
  font-family:var(--display); font-size:34px;
  color:var(--primary); opacity:0.4; line-height:1;
}
.tcard-author { display:flex; align-items:center; gap:12px; }
.ta-avatar {
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:17px; flex-shrink:0;
}
.ta-name { font-weight:700; font-size:14px; }
.ta-role { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.28); letter-spacing:0.5px; margin-top:2px; }

/* ═══════════════════════════════════════════════════════════════
   CTA BOX
═══════════════════════════════════════════════════════════════ */
.cta-section { padding:0 40px 110px; }
.cta-box {
  max-width:1360px; margin:0 auto;
  background:var(--grad-full);
  border-radius:16px; padding:72px 72px;
  display:grid; grid-template-columns:1fr auto;
  gap:60px; align-items:center;
  position:relative; overflow:hidden;
}
.cta-box::before {
  content:''; position:absolute;
  right:-100px; top:-100px;
  width:380px; height:380px;
  background:rgba(0,0,0,0.08);
  border-radius:50%; pointer-events:none;
}
.cta-box::after {
  content:''; position:absolute;
  left:-60px; bottom:-80px;
  width:300px; height:300px;
  background:rgba(255,255,255,0.04);
  border-radius:50%; pointer-events:none;
}
.cta-label {
  font-family:var(--mono); font-size:11px;
  text-transform:uppercase; letter-spacing:3px;
  color:rgba(255,255,255,0.55);
  display:flex; align-items:center; gap:8px; margin-bottom:14px;
}
.cta-label::before { content:''; width:14px; height:2px; background:rgba(255,255,255,0.4); }
.cta-box h2 {
  font-family:var(--display);
  font-size:clamp(32px,4vw,54px);
  letter-spacing:2px; text-transform:uppercase;
  color:#fff; line-height:1; margin-bottom:14px;
}
.cta-box p {
  font-size:16px; color:rgba(255,255,255,0.62);
  max-width:460px; line-height:1.75;
}
.cta-actions { display:flex; flex-direction:column; gap:10px; align-items:flex-end; position:relative; z-index:1; }
.cta-btn-white {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 30px;
  background:#fff; border-radius:7px;
  color:var(--primary); font-size:15px; font-weight:800;
  font-family:var(--body); white-space:nowrap;
  transition:all 0.2s;
}
.cta-btn-white:hover { transform:scale(1.02); box-shadow:0 12px 30px rgba(0,0,0,0.3); }
.cta-btn-link {
  font-family:var(--mono); font-size:12px;
  color:rgba(255,255,255,0.5); text-align:center;
  transition:color 0.2s;
}
.cta-btn-link:hover { color:#fff; }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
#site-footer { background:#020610; border-top:1px solid var(--line); }

.footer-newsletter {
  border-bottom:1px solid var(--line);
  padding:34px 40px;
  max-width:1440px; margin:0 auto;
  display:grid; grid-template-columns:1fr auto;
  align-items:center; gap:40px;
}
.fn-label { font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:2px; color:var(--primary); margin-bottom:5px; }
.fn-title { font-family:var(--display); font-size:21px; letter-spacing:1px; text-transform:uppercase; }
.fn-form { display:flex; gap:8px; }
.fn-input {
  width:260px; padding:11px 16px;
  background:rgba(245,242,235,0.04);
  border:1px solid var(--line); border-radius:6px;
  color:var(--paper); font-family:var(--body); font-size:14px;
  outline:none; transition:border-color 0.2s;
}
.fn-input:focus { border-color:var(--primary); }
.fn-input::placeholder { color:rgba(245,242,235,0.22); }
.fn-btn {
  padding:11px 22px;
  background:var(--grad-brand); border:none; border-radius:6px;
  color:#fff; font-weight:800; font-size:13px; font-family:var(--body);
  cursor:none; transition:all 0.2s; white-space:nowrap;
}
.fn-btn:hover { box-shadow:0 6px 20px rgba(12,116,188,0.4); transform:translateY(-1px); }

.footer-grid {
  max-width:1440px; margin:0 auto;
  padding:56px 40px 44px;
  display:grid;
  grid-template-columns:260px repeat(4,1fr);
  gap:44px;
}

.footer-brand-logo {
  display:flex; align-items:center; gap:10px;
  margin-bottom:16px;
}
.footer-hex {
  width:34px; height:34px;
  background:var(--grad-brand);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:12px; font-weight:700; color:#fff;
}
.footer-logo-name { font-family:var(--display); font-size:20px; letter-spacing:1.5px; }
.footer-logo-name span { color:var(--primary); }
.footer-brand-desc { font-size:13px; color:rgba(245,242,235,0.32); line-height:1.7; margin-bottom:22px; }
.footer-social { display:flex; gap:8px; }
.social-btn {
  width:34px; height:34px; border:1px solid var(--line); border-radius:6px;
  display:flex; align-items:center; justify-content:center;
  color:rgba(245,242,235,0.38); font-size:13px; font-weight:700;
  transition:all 0.2s;
}
.social-btn:hover { border-color:var(--primary); color:var(--primary); }

.footer-col h5 {
  font-family:var(--mono); font-size:10px; text-transform:uppercase;
  letter-spacing:2.5px; color:rgba(245,242,235,0.38);
  margin-bottom:18px; padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.footer-links { display:flex; flex-direction:column; gap:8px; }
.footer-links a {
  font-size:13px; color:rgba(245,242,235,0.38);
  transition:all 0.2s; display:flex; align-items:center; gap:0;
}
.footer-links a:hover { color:var(--paper); padding-left:8px; }
.footer-links a:hover::before { content:'›'; color:var(--primary); margin-right:6px; margin-left:-14px; }

.footer-bottom {
  max-width:1440px; margin:0 auto;
  padding:18px 40px;
  border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:12px;
}
.footer-bottom p { font-family:var(--mono); font-size:11px; color:rgba(245,242,235,0.2); letter-spacing:0.5px; }
.footer-legal { display:flex; gap:22px; }
.footer-legal a { font-family:var(--mono); font-size:11px; color:rgba(245,242,235,0.2); transition:color 0.2s; letter-spacing:0.5px; }
.footer-legal a:hover { color:var(--primary); }

/* ═══════════════════════════════════════════════════════════════
   UTILITY COMPONENTS
═══════════════════════════════════════════════════════════════ */
.badge {
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:20px;
  font-family:var(--mono); font-size:10px; font-weight:500;
  text-transform:uppercase; letter-spacing:1px;
}
.badge-blue { background:rgba(12,116,188,0.15); color:var(--primary); border:1px solid rgba(12,116,188,0.25); }
.badge-purple { background:rgba(143,85,161,0.15); color:var(--purple); border:1px solid rgba(143,85,161,0.25); }
.badge-green { background:rgba(16,185,129,0.12); color:#34d399; border:1px solid rgba(16,185,129,0.22); }

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

/* ═══════════════════════════════════════════════════════════════
   ▌ RESPONSIVE — TABLET (max 1200px)
═══════════════════════════════════════════════════════════════ */
@media (max-width:1200px) {
  .nav-wrap { padding:0 24px; }
  #main-nav { display:none; }
  .mob-toggle { display:flex; }
  .mob-drawer { display:block; }

  .hero-wrap { gap:48px; padding:60px 24px; }
  .bento-grid { grid-template-columns:1fr 1fr; }
  .bc,.bc + .bc,.bc + .bc + .bc,
  .bc:nth-child(4),.bc:nth-child(5),.bc:nth-child(6) {
    grid-column:auto; grid-row:auto;
  }
  .scard h3 { font-size:20px; }
  .numbers-grid { grid-template-columns:repeat(2,1fr); }
  .num-cell:nth-child(2) { border-right:none; }
  .num-cell:nth-child(3) { border-top:1px solid var(--line); }
  .ind-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-newsletter { padding:28px 24px; }
  .cta-box { grid-template-columns:1fr; padding:52px 40px; }
  .cta-actions { align-items:flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   ▌ RESPONSIVE — MOBILE (max 768px)
═══════════════════════════════════════════════════════════════ */
@media (max-width:768px) {
  :root { --nav-h:64px; --ticker-h:32px; }
  body { cursor:auto; }
  #cursor, #cursor-ring { display:none; }

  .section-inner { padding:0 20px; }
  .section { padding:72px 0; }

  /* Ticker */
  .ticker-item { padding:0 20px; font-size:10px; }

  /* Header */
  .nav-wrap { padding:0 20px; gap:12px; }
  .logo-tag { display:none; }

  /* Hero */
  .hero-wrap {
    grid-template-columns:1fr; gap:0;
    padding:48px 20px 60px;
  }
  .hero-terminal { display:none; } /* Hide terminal on mobile - too small */
  .hero-h1 { font-size:clamp(48px,12vw,70px); }
  .hero-desc { font-size:15px; max-width:100%; }
  .hero-btns { flex-direction:column; align-items:stretch; }
  .hero-btn-primary, .hero-btn-ghost { justify-content:center; }
  .hero-stats { grid-template-columns:1fr 1fr 1fr; }
  .hstat { padding:14px 16px; }
  .hstat-num { font-size:22px; }

  /* Services */
  .services-section::after { display:none; }
  .bento-grid { grid-template-columns:1fr; }

  /* Numbers */
  .numbers-grid { grid-template-columns:1fr 1fr; padding:0 20px; }
  .num-cell { padding:32px 20px; border-right:none !important; }
  .num-cell:nth-child(odd) { border-right:1px solid var(--line) !important; }
  .num-big { font-size:42px; }

  /* Industries */
  .ind-grid { grid-template-columns:1fr 1fr; }

  /* Process */
  .process-grid { grid-template-columns:1fr 1fr; }

  /* Testimonials */
  .testi-grid { grid-template-columns:1fr; }

  /* Section head */
  .section-head { grid-template-columns:1fr; gap:16px; }
  .section-desc { max-width:100%; }
  .section-title { font-size:clamp(32px,8vw,44px); }

  /* CTA */
  .cta-section { padding:0 20px 72px; }
  .cta-box { grid-template-columns:1fr; padding:40px 28px; gap:32px; }
  .cta-box h2 { font-size:clamp(28px,7vw,38px); }
  .cta-actions { align-items:stretch; }
  .cta-btn-white { justify-content:center; }

  /* Footer */
  .footer-grid { grid-template-columns:1fr 1fr; gap:28px; padding:40px 20px; }
  .footer-newsletter { grid-template-columns:1fr; gap:20px; padding:28px 20px; }
  .fn-form { flex-direction:column; }
  .fn-input { width:100%; }
  .footer-bottom { padding:16px 20px; }

  /* Page hero */
  .page-hero-inner { padding:0 20px; }
  .page-hero h1 { font-size:clamp(34px,9vw,52px); }

  /* Clients band */
  .clients-band::before, .clients-band::after { width:60px; }
}

/* ═══════════════════════════════════════════════════════════════
   ▌ RESPONSIVE — SMALL MOBILE (max 480px)
═══════════════════════════════════════════════════════════════ */
@media (max-width:480px) {
  .hero-stats { grid-template-columns:1fr; }
  .hstat { border-right:none !important; }
  .ind-grid { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr; }
  .numbers-grid { grid-template-columns:1fr; }
  .num-cell { border-right:none !important; border-top:1px solid var(--line); }
  .num-cell:first-child { border-top:none; }
  .footer-grid { grid-template-columns:1fr; }
  .bento-grid { grid-template-columns:1fr; }
  .testi-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   PRINT
═══════════════════════════════════════════════════════════════ */
@media print {
  #cursor, #cursor-ring, .ticker, #site-header,
  .hero-terminal, #hero-canvas { display:none; }
  body { background:#fff; color:#000; cursor:auto; }
}

/* ── LOGO IMAGE (replaces hex when file exists) ── */
.logo-img {
  height: 40px;
  width: auto;
  max-width: 180px;
  object-fit: contain;
  display: block;
}
.footer-logo-img {
  height: 32px;
  width: auto;
  max-width: 150px;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1); /* makes any logo white in dark footer */
}
/* If your logo is already white/light, remove the filter above */
@media (max-width:768px) {
  .logo-img { height:32px; }
  .footer-logo-img { height:26px; }
}

/* ═══════════════════════════════════════════════════════════════
   WEB SCRAPING SERVICES PAGE
   File: web-scraping-services.php
═══════════════════════════════════════════════════════════ */

/* ── PAGE HERO ── */
.page-hero {
  padding:72px 0 64px;
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--line);
}
.page-hero .section-inner { position:relative; z-index:1; }
.page-hero::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 70% at 65% 50%, rgba(12,116,188,0.09) 0%, transparent 70%);
  pointer-events:none;
}
.page-hero-bg-text {
  position:absolute; right:-20px; top:50%; transform:translateY(-50%);
  font-family:var(--display); font-size:200px;
  color:rgba(245,242,235,0.016); letter-spacing:10px;
  pointer-events:none; white-space:nowrap; user-select:none;
}
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  padding:5px 14px;
  background:rgba(12,116,188,0.1); border:1px solid rgba(12,116,188,0.25);
  border-radius:20px;
  font-family:var(--mono); font-size:10px; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--primary);
  margin-bottom:20px;
}
.hero-badge-dot {
  width:6px; height:6px; background:var(--primary);
  border-radius:50%; animation:blink 1.2s steps(1) infinite;
}
.page-hero h1 {
  font-family:var(--display);
  font-size:clamp(42px,5.5vw,76px);
  letter-spacing:2px; text-transform:uppercase;
  line-height:.96; margin-bottom:22px;
}
.page-hero h1 em {
  font-style:normal;
  background:var(--grad-brand);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.hero-layout { display:grid; grid-template-columns:1fr 400px; gap:64px; align-items:start; }
.hero-desc { font-size:17px; color:rgba(245,242,235,0.52); line-height:1.78; margin-bottom:28px; max-width:520px; }
.hero-bullets { display:flex; flex-direction:column; gap:10px; margin-bottom:36px; }
.hero-bullet { display:flex; align-items:flex-start; gap:10px; font-size:14px; color:rgba(245,242,235,0.62); line-height:1.55; }
.hero-bullet::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--primary); flex-shrink:0; margin-top:7px; }
.hero-btns { display:flex; gap:12px; flex-wrap:wrap; }

/* Hero stats card */
.hero-stat-card { background:#0a1322; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.hsc-header { padding:14px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; }
.hsc-label { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.35); letter-spacing:1.5px; text-transform:uppercase; }
.hsc-live { display:flex; align-items:center; gap:5px; font-family:var(--mono); font-size:10px; color:#4fc878; }
.hsc-live::before { content:''; width:6px; height:6px; background:#4fc878; border-radius:50%; animation:blink 1s ease infinite; }
.hsc-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); }
.hsc-cell { background:#0a1322; padding:20px; transition:background 0.2s; }
.hsc-cell:hover { background:rgba(12,116,188,0.05); }
.hsc-num { font-family:var(--display); font-size:34px; letter-spacing:1px; color:var(--paper); line-height:1; margin-bottom:4px; }
.hsc-num em { color:var(--primary); font-style:normal; }
.hsc-lbl { font-family:var(--mono); font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:rgba(245,242,235,0.28); }
.hsc-formats { padding:14px 20px; display:flex; gap:7px; flex-wrap:wrap; border-top:1px solid var(--line); }
.fmt-pill { padding:4px 10px; background:rgba(12,116,188,0.1); border:1px solid rgba(12,116,188,0.2); border-radius:4px; font-family:var(--mono); font-size:10px; color:var(--primary); letter-spacing:0.5px; }
.hsc-footer { padding:11px 20px; border-top:1px solid var(--line); font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.22); letter-spacing:0.5px; }

/* ── WHY CHOOSE — 3-col feature grid ── */
.why-features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.wf-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:28px; position:relative; overflow:hidden; transition:all 0.25s; }
.wf-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--grad-brand); transform:scaleX(0); transform-origin:left; transition:transform 0.4s; }
.wf-card:hover { background:rgba(12,116,188,0.04); border-color:rgba(12,116,188,0.22); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.wf-card:hover::after { transform:scaleX(1); }
.wf-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; }
.wf-title { font-family:var(--display); font-size:19px; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.wf-desc { font-size:13px; color:rgba(245,242,235,0.38); line-height:1.72; }

/* ── 6 FEATURED INDUSTRY CARDS ── */
.ind-featured-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.ifc { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:28px; position:relative; overflow:hidden; transition:all 0.25s; display:flex; flex-direction:column; }
.ifc::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--grad-brand); transform:scaleX(0); transform-origin:left; transition:transform 0.4s; }
.ifc:hover { background:rgba(12,116,188,0.04); border-color:rgba(12,116,188,0.2); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.ifc:hover::before { transform:scaleX(1); }
.ifc-icon { font-size:28px; margin-bottom:14px; }
.ifc-title { font-family:var(--display); font-size:21px; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.ifc-desc { font-size:13px; color:rgba(245,242,235,0.42); line-height:1.72; margin-bottom:16px; }
.ifc-fields { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.ifc-field { font-size:12px; color:rgba(245,242,235,0.5); display:flex; align-items:flex-start; gap:7px; line-height:1.5; }
.ifc-field::before { content:'·'; color:var(--primary); font-size:16px; line-height:1; flex-shrink:0; margin-top:-1px; }
.ifc-platforms { display:flex; gap:6px; flex-wrap:wrap; margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
.ifc-plat { font-family:var(--mono); font-size:10px; padding:3px 8px; background:rgba(12,116,188,0.08); border:1px solid rgba(12,116,188,0.15); border-radius:4px; color:rgba(245,242,235,0.5); letter-spacing:0.5px; }
.ifc-link { display:inline-flex; align-items:center; gap:5px; font-family:var(--mono); font-size:10px; color:var(--primary); letter-spacing:1px; text-transform:uppercase; margin-top:14px; transition:gap 0.2s; }
.ifc-link:hover { gap:9px; }

/* ── MORE INDUSTRIES COMPACT GRID ── */
.more-industries-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:32px; }
.mic { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:10px; padding:18px 20px; display:flex; align-items:center; gap:12px; transition:all 0.2s; }
.mic:hover { border-color:rgba(12,116,188,0.25); background:rgba(12,116,188,0.04); transform:translateX(3px); }
.mic-icon { font-size:20px; flex-shrink:0; }
.mic-name { font-family:var(--display); font-size:15px; letter-spacing:0.5px; text-transform:uppercase; }

/* ── DELIVERY OPTIONS ── */
.delivery-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:56px; }
.del-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:28px; text-align:center; transition:all 0.25s; }
.del-card:hover { border-color:rgba(12,116,188,0.22); background:rgba(12,116,188,0.04); transform:translateY(-3px); box-shadow:var(--shadow-card); }
.del-icon { font-size:32px; margin-bottom:12px; }
.del-title { font-family:var(--display); font-size:18px; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.del-desc { font-size:12px; color:rgba(245,242,235,0.38); line-height:1.7; }

/* ── FAQ (shared with enterprise-crawling page) ── */
.faq-list { margin-top:56px; display:flex; flex-direction:column; gap:10px; }
.faq-item { border:1px solid var(--line); border-radius:10px; overflow:hidden; transition:border-color 0.25s; }
.faq-item.open { border-color:rgba(12,116,188,0.3); }
.faq-q { width:100%; background:rgba(245,242,235,0.02); border:none; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; color:var(--paper); font-family:var(--body); font-size:15px; font-weight:700; cursor:pointer; text-align:left; transition:background 0.2s; }
.faq-q:hover, .faq-item.open .faq-q { background:rgba(12,116,188,0.05); }
.faq-icon { width:28px; height:28px; min-width:28px; border:1px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:18px; font-weight:300; transition:all 0.25s; }
.faq-item.open .faq-icon { background:var(--primary); border-color:var(--primary); color:#fff; transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
.faq-item.open .faq-a { max-height:220px; }
.faq-a-inner { padding:4px 24px 22px; font-size:14px; color:rgba(245,242,235,0.5); line-height:1.82; border-top:1px solid var(--line); }

/* ── WEB SCRAPING PAGE RESPONSIVE ── */
@media (max-width:1100px) {
  .hero-layout { grid-template-columns:1fr; }
  .hero-stat-card { max-width:480px; }
  .why-features-grid { grid-template-columns:1fr 1fr; }
  .ind-featured-grid { grid-template-columns:1fr 1fr; }
  .more-industries-grid { grid-template-columns:repeat(3,1fr); }
  .delivery-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:768px) {
  .page-hero h1 { font-size:clamp(36px,9vw,52px); }
  .page-hero-bg-text { display:none; }
  .why-features-grid { grid-template-columns:1fr; }
  .ind-featured-grid { grid-template-columns:1fr; }
  .more-industries-grid { grid-template-columns:1fr 1fr; }
  .delivery-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:480px) {
  .more-industries-grid { grid-template-columns:1fr; }
  .delivery-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   WHY / EDITORIAL GRID — shared across all service pages
═══════════════════════════════════════════════════════════ */
.why-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:52px; align-items:start; margin-top:56px;
}
.why-text p {
  font-size:15px; color:rgba(245,242,235,0.5);
  line-height:1.82; margin-bottom:16px;
}
.why-bullets { display:flex; flex-direction:column; gap:10px; margin-top:24px; }
.why-bullet-item {
  display:flex; align-items:flex-start; gap:12px;
  padding:12px 16px;
  background:rgba(12,116,188,0.04); border:1px solid rgba(12,116,188,0.1);
  border-radius:8px;
  font-size:13.5px; color:rgba(245,242,235,0.65); line-height:1.5;
  transition:all 0.2s;
}
.why-bullet-item:hover {
  border-color:rgba(12,116,188,0.25);
  background:rgba(12,116,188,0.08); color:var(--paper);
}
.wbi-icon { font-size:16px; flex-shrink:0; margin-top:1px; }
.why-cards { display:flex; flex-direction:column; gap:14px; }
.why-card {
  background:#0a1322; border:1px solid var(--line);
  border-radius:12px; padding:26px;
  position:relative; overflow:hidden; transition:all 0.25s;
}
.why-card::before {
  content:''; position:absolute;
  top:0; left:0; right:0; height:2px;
  background:var(--grad-brand);
  transform:scaleX(0); transform-origin:left; transition:transform 0.35s;
}
.why-card:hover {
  border-color:rgba(12,116,188,0.25);
  transform:translateY(-3px); box-shadow:0 20px 50px rgba(0,0,0,0.4);
}
.why-card:hover::before { transform:scaleX(1); }
.wc-num {
  font-family:var(--display); font-size:42px;
  color:rgba(12,116,188,0.14); line-height:1;
  margin-bottom:6px; transition:color 0.25s;
}
.why-card:hover .wc-num { color:var(--primary); }
.wc-title {
  font-family:var(--display); font-size:19px;
  letter-spacing:1px; text-transform:uppercase; margin-bottom:6px;
}
.wc-desc { font-size:13px; color:rgba(245,242,235,0.38); line-height:1.7; }

/* ── Responsive why-grid ── */
@media (max-width:1100px) { .why-grid { grid-template-columns:1fr; gap:36px; } }

/* ═══════════════════════════════════════════════════════════════
   MISSING SHARED COMPONENTS — enterprise-crawling + other pages
═══════════════════════════════════════════════════════════════ */

/* ── TESTIMONIAL INDUSTRY TAG ── */
.ta-industry { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.28); letter-spacing:1px; text-transform:uppercase; margin-top:2px; }

/* ── PROCESS STRIP ── */
.process-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:0; margin-top:56px; position:relative; }
.process-strip::before { content:''; position:absolute; top:28px; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,var(--primary),transparent); opacity:0.25; pointer-events:none; }
.ps-icon { width:56px; height:56px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:22px; margin:0 auto 16px; background:#0a1322; position:relative; z-index:1; transition:all 0.25s; }
.process-step:hover .ps-icon { border-color:var(--primary); background:rgba(12,116,188,0.1); transform:translateY(-4px); }
.ps-num { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.25); letter-spacing:1.5px; text-transform:uppercase; margin-bottom:6px; }
.ps-title { font-family:var(--display); font-size:15px; letter-spacing:0.5px; text-transform:uppercase; margin-bottom:6px; }
.ps-desc { font-size:12px; color:rgba(245,242,235,0.35); line-height:1.65; }

/* ── FEATURES GRID ── */
.features-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.feat-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:28px; transition:all 0.25s; position:relative; overflow:hidden; }
.feat-card::after { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--grad-brand); transform:scaleX(0); transform-origin:left; transition:transform 0.4s; }
.feat-card:hover { background:rgba(12,116,188,0.04); border-color:rgba(12,116,188,0.22); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.feat-card:hover::after { transform:scaleX(1); }
.feat-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; }
.feat-title { font-family:var(--display); font-size:19px; letter-spacing:1px; text-transform:uppercase; margin-bottom:8px; }
.feat-desc { font-size:13px; color:rgba(245,242,235,0.38); line-height:1.72; }

/* ── INDUSTRY TABS (enterprise-crawling page) ── */
.ind-tabs { display:flex; flex-direction:column; gap:0; margin-top:56px; }
.ind-tabs .tab-bar { display:flex; gap:0; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none; }
.ind-tabs .tab-bar::-webkit-scrollbar { display:none; }
.ind-tab { padding:14px 22px; font-family:var(--mono); font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(245,242,235,0.35); background:transparent; border:none; border-bottom:2px solid transparent; cursor:pointer; white-space:nowrap; transition:all 0.2s; }
.ind-tab:hover { color:rgba(245,242,235,0.7); }
.ind-tab.active { color:var(--primary); border-bottom-color:var(--primary); }
.ind-panel { display:none; padding:40px 0 0; }
.ind-panel.active { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.ind-left h3 { font-family:var(--display); font-size:28px; letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; }
.ind-left p { font-size:14px; color:rgba(245,242,235,0.45); line-height:1.78; margin-bottom:20px; }
.ind-lb-list { display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.ind-lb { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:rgba(245,242,235,0.55); line-height:1.5; }
.ind-lb::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--primary); flex-shrink:0; margin-top:7px; }
.ind-plat-label { font-family:var(--mono); font-size:10px; color:rgba(245,242,235,0.25); letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.ind-platform { display:flex; gap:7px; flex-wrap:wrap; }
.ind-cta-link { display:inline-flex; align-items:center; gap:6px; font-family:var(--mono); font-size:10px; color:var(--primary); letter-spacing:1px; text-transform:uppercase; margin-top:16px; transition:gap 0.2s; }
.ind-cta-link:hover { gap:10px; }
.ind-right { display:flex; flex-direction:column; gap:10px; }

/* ── USE CASES GRID ── */
.usecases-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.uc-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:24px; transition:all 0.25s; }
.uc-card:hover { border-color:rgba(12,116,188,0.22); background:rgba(12,116,188,0.04); transform:translateY(-3px); }
.uc-head { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.uc-icon { font-size:22px; }
.uc-title { font-family:var(--display); font-size:17px; letter-spacing:0.5px; text-transform:uppercase; }
.uc-bullets { display:flex; flex-direction:column; gap:6px; }
.uc-b { font-size:12.5px; color:rgba(245,242,235,0.45); display:flex; gap:8px; align-items:flex-start; line-height:1.5; }
.uc-b::before { content:'›'; color:var(--primary); flex-shrink:0; font-size:14px; line-height:1.3; }

/* ── REGIONS GRID ── */
.regions-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:56px; }
.region-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:12px; padding:26px; transition:all 0.25s; }
.region-card:hover { border-color:rgba(12,116,188,0.22); background:rgba(12,116,188,0.04); transform:translateY(-3px); }
.region-flag { font-size:28px; margin-bottom:10px; }
.region-name { font-family:var(--display); font-size:20px; letter-spacing:1px; text-transform:uppercase; margin-bottom:4px; }
.region-sub { font-size:12px; color:rgba(245,242,235,0.3); margin-bottom:12px; font-family:var(--mono); letter-spacing:0.5px; }
.region-countries { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.region-usecase { font-size:12.5px; color:rgba(245,242,235,0.4); line-height:1.6; }

/* ── RESPONSIVE for new components ── */
@media (max-width:1100px) {
  .process-strip { grid-template-columns:repeat(3,1fr); gap:24px; }
  .process-strip::before { display:none; }
  .features-grid { grid-template-columns:1fr 1fr; }
  .usecases-grid { grid-template-columns:1fr 1fr; }
  .regions-grid { grid-template-columns:1fr 1fr; }
  .ind-panel.active { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .process-strip { grid-template-columns:1fr 1fr; }
  .features-grid { grid-template-columns:1fr; }
  .usecases-grid { grid-template-columns:1fr; }
  .regions-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .process-strip { grid-template-columns:1fr; }
}

/* ── ENTERPRISE CRAWLING REMAINING CLASSES ── */
.why-text p { font-size:15px; color:rgba(245,242,235,0.5); line-height:1.82; margin-bottom:16px; }
.ind-left { display:flex; flex-direction:column; }
.ip-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; background:rgba(12,116,188,0.1); border:1px solid rgba(12,116,188,0.2); border-radius:4px; font-family:var(--mono); font-size:10px; color:var(--primary); letter-spacing:0.5px; }
.ip-name { font-size:12px; color:rgba(245,242,235,0.4); }
.ps { display:flex; flex-direction:column; align-items:center; text-align:center; padding:20px 10px; }
.scard-large h3 { font-size:26px !important; }
.hero-left { display:flex; flex-direction:column; gap:20px; }

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE
═══════════════════════════════════════════════════════════════ */

/* Story / Timeline */
.about-story-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:48px;
}
.about-milestone {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px 24px;
  transition:border-color 0.2s, transform 0.2s;
}
.about-milestone:hover {
  border-color:rgba(12,116,188,0.35);
  transform:translateY(-3px);
}
.aml-year {
  display:inline-block;
  font-family:var(--display);
  font-size:36px; letter-spacing:2px;
  margin-bottom:12px;
  line-height:1;
}
.aml-year.si-blue   { color:var(--primary); }
.aml-year.si-violet { color:var(--violet); }
.aml-year.si-purple { color:var(--purple); }
.aml-year.si-teal   { color:#2dd4bf; }
.aml-year.si-gold   { color:#f59e0b; }
.aml-title {
  font-family:var(--body);
  font-size:15px; font-weight:800;
  color:var(--paper);
  margin-bottom:8px;
}
.aml-desc {
  font-size:13px; line-height:1.7;
  color:rgba(245,242,235,0.5);
}

/* Team Grid */
.team-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:48px;
}
.team-card {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  transition:border-color 0.2s, transform 0.2s;
}
.team-card:hover {
  border-color:rgba(12,116,188,0.35);
  transform:translateY(-3px);
}
.team-avatar {
  width:56px; height:56px;
  border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display);
  font-size:20px; letter-spacing:1px;
  color:#fff; flex-shrink:0;
}
.team-avatar.si-blue   { background:linear-gradient(135deg,rgba(12,116,188,0.8),rgba(12,116,188,0.4)); border:1px solid rgba(12,116,188,0.4); }
.team-avatar.si-violet { background:linear-gradient(135deg,rgba(79,88,171,0.8),rgba(79,88,171,0.4));  border:1px solid rgba(79,88,171,0.4); }
.team-avatar.si-purple { background:linear-gradient(135deg,rgba(143,85,161,0.8),rgba(143,85,161,0.4)); border:1px solid rgba(143,85,161,0.4); }
.team-avatar.si-teal   { background:linear-gradient(135deg,rgba(45,212,191,0.5),rgba(45,212,191,0.2)); border:1px solid rgba(45,212,191,0.3); }
.team-avatar.si-gold   { background:linear-gradient(135deg,rgba(245,158,11,0.5),rgba(245,158,11,0.2)); border:1px solid rgba(245,158,11,0.3); }
.team-name {
  font-size:16px; font-weight:800;
  color:var(--paper);
}
.team-role {
  font-family:var(--mono); font-size:10px;
  color:var(--primary); text-transform:uppercase;
  letter-spacing:1px; margin-top:2px;
}
.team-bio {
  font-size:13px; line-height:1.7;
  color:rgba(245,242,235,0.5);
}

/* About page responsive */
@media (max-width:1200px) {
  .about-story-grid { grid-template-columns:repeat(2,1fr); }
  .team-grid         { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .about-story-grid { grid-template-columns:1fr; }
  .team-grid         { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════
   GET FREE QUOTE PAGE
═══════════════════════════════════════════════════════════════ */

/* Trust row under hero bullets */
.quote-trust-row {
  display:flex; gap:24px; margin-top:28px;
  padding-top:24px; border-top:1px solid var(--line);
}
.qtr-item { display:flex; flex-direction:column; gap:2px; }
.qtr-icon { font-size:18px; }
.qtr-num  { font-family:var(--display); font-size:22px; letter-spacing:1px; color:var(--primary); }
.qtr-lbl  { font-size:11px; color:rgba(245,242,235,0.45); font-family:var(--mono); text-transform:uppercase; letter-spacing:0.5px; }

/* Hero stat card — steps */
.quote-steps { display:flex; flex-direction:column; gap:0; padding:4px 0; }
.qs-step {
  display:flex; gap:14px; align-items:flex-start;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.qs-step:last-child { border-bottom:none; }
.qs-num {
  font-family:var(--display); font-size:28px; letter-spacing:1px;
  color:var(--primary); opacity:0.6; line-height:1; flex-shrink:0; width:28px;
}
.qs-title { font-size:13px; font-weight:800; color:var(--paper); margin-bottom:3px; }
.qs-desc  { font-size:12px; color:rgba(245,242,235,0.45); line-height:1.5; }

/* ── QUOTE LAYOUT (form + sidebar) ── */
.quote-layout {
  display:grid;
  grid-template-columns:1fr 340px;
  gap:40px;
  align-items:start;
}

/* ── FORM WRAP ── */
.quote-form-wrap {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:40px;
}
.qf-header { margin-bottom:32px; }

.qf-section-label {
  font-family:var(--mono); font-size:10px; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--primary); opacity:0.8;
  margin:24px 0 16px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}

.qf-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-bottom:16px;
}
.qf-field { display:flex; flex-direction:column; gap:7px; }
.qf-field-full { margin-bottom:16px; }
.qf-label {
  font-size:12px; font-weight:700;
  color:rgba(245,242,235,0.7);
  text-transform:uppercase; letter-spacing:0.5px;
}
.qf-req { color:var(--pink); }

.qf-input {
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px 14px;
  color:var(--paper);
  font-family:var(--body); font-size:14px;
  transition:border-color 0.2s, background 0.2s;
  width:100%;
}
.qf-input::placeholder { color:rgba(245,242,235,0.25); }
.qf-input:focus {
  outline:none;
  border-color:var(--primary);
  background:rgba(12,116,188,0.06);
}
.qf-input.qf-error {
  border-color:var(--pink);
  background:rgba(243,107,156,0.06);
}
.qf-select {
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(245,242,235,0.4)' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
  cursor:pointer;
}
.qf-select option { background:var(--ink); color:var(--paper); }
.qf-textarea { resize:vertical; min-height:120px; line-height:1.6; }

/* Chips */
.qf-chips {
  display:flex; flex-wrap:wrap; gap:8px;
  padding:12px;
  background:rgba(255,255,255,0.03);
  border:1px solid var(--line);
  border-radius:8px;
  transition:border-color 0.2s;
}
.qf-chips-error { border-color:var(--pink) !important; }
.qf-chip {
  padding:6px 14px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  border-radius:20px;
  font-family:var(--body); font-size:12px; font-weight:600;
  color:rgba(245,242,235,0.55);
  cursor:pointer; transition:all 0.15s;
}
.qf-chip:hover { border-color:var(--primary); color:var(--primary); }
.qf-chip.active {
  background:rgba(12,116,188,0.15);
  border-color:var(--primary);
  color:var(--paper);
}

/* Checkboxes */
.qf-field-checkbox-wrap { justify-content:flex-end; gap:10px; }
.qf-checkbox {
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:rgba(245,242,235,0.55);
  cursor:pointer;
}
.qf-checkbox input { display:none; }
.qf-check-mark {
  width:18px; height:18px; flex-shrink:0;
  border:1px solid var(--line); border-radius:4px;
  background:rgba(255,255,255,0.04);
  position:relative; transition:all 0.15s;
}
.qf-checkbox input:checked + .qf-check-mark {
  background:var(--primary); border-color:var(--primary);
}
.qf-checkbox input:checked + .qf-check-mark::after {
  content:''; position:absolute;
  left:5px; top:2px;
  width:5px; height:9px;
  border:2px solid #fff; border-top:none; border-left:none;
  transform:rotate(45deg);
}

/* Submit row */
.qf-submit-row { margin-top:28px; display:flex; align-items:center; gap:20px; }
.qf-submit-btn {
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 32px;
  background:var(--grad-brand);
  border:none; border-radius:8px;
  color:#fff; font-family:var(--body); font-size:15px; font-weight:800;
  cursor:pointer; transition:all 0.2s;
  position:relative; overflow:hidden;
}
.qf-submit-btn::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transform:translateX(-100%); transition:transform 0.45s;
}
.qf-submit-btn:hover::before { transform:translateX(100%); }
.qf-submit-btn:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(12,116,188,0.4); }
.qf-submit-btn:disabled { opacity:0.7; cursor:not-allowed; transform:none; }
.qf-btn-arrow { font-size:18px; transition:transform 0.2s; }
.qf-submit-btn:hover .qf-btn-arrow { transform:translateX(4px); }
.qf-btn-loading { display:flex; align-items:center; gap:8px; }
.spin { animation:spin 0.8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.qf-privacy-note { font-size:12px; color:rgba(245,242,235,0.3); }
.qf-privacy-note a { color:var(--primary); }

/* Success state */
.qf-success {
  text-align:center; padding:60px 40px;
}
.qfs-icon {
  width:64px; height:64px; border-radius:50%;
  background:rgba(12,116,188,0.15); border:2px solid var(--primary);
  display:flex; align-items:center; justify-content:center;
  font-size:28px; color:var(--primary);
  margin:0 auto 20px;
}
.qfs-title { font-family:var(--display); font-size:32px; letter-spacing:1px; margin-bottom:12px; }
.qfs-desc  { font-size:15px; color:rgba(245,242,235,0.55); max-width:420px; margin:0 auto; line-height:1.7; }

/* ── SIDEBAR ── */
.quote-sidebar { display:flex; flex-direction:column; gap:16px; position:sticky; top:calc(var(--ticker-h) + var(--nav-h) + 20px); }
.qs-card {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px;
}
.qsc-label {
  font-family:var(--mono); font-size:9px; font-weight:600;
  text-transform:uppercase; letter-spacing:1.5px;
  color:var(--primary); margin-bottom:14px;
}
.qsc-list { display:flex; flex-direction:column; gap:10px; list-style:none; }
.qsc-item { display:flex; align-items:baseline; gap:10px; }
.qsc-val  { font-family:var(--display); font-size:18px; color:var(--primary); flex-shrink:0; width:46px; }
.qsc-text { font-size:12px; color:rgba(245,242,235,0.5); line-height:1.4; }
.qsc-chips { display:flex; flex-wrap:wrap; gap:6px; }
.qsc-chip {
  padding:4px 10px; border-radius:4px;
  background:rgba(255,255,255,0.05);
  border:1px solid var(--line);
  font-size:11px; color:rgba(245,242,235,0.5);
  font-family:var(--mono);
}

/* Testimonial card */
.qs-testi { border-color:rgba(12,116,188,0.25); }
.qst-quote {
  font-size:13px; line-height:1.7; font-style:italic;
  color:rgba(245,242,235,0.65); margin-bottom:16px;
}
.qst-author { display:flex; align-items:center; gap:10px; }
.qst-avatar {
  width:36px; height:36px; border-radius:8px;
  background:var(--grad-brand);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-size:14px; color:#fff; flex-shrink:0;
}
.qst-name { font-size:13px; font-weight:800; color:var(--paper); }
.qst-role { font-size:11px; color:rgba(245,242,235,0.4); margin-top:2px; }

/* Contact card */
.qs-contact .qsc-contact-link {
  display:flex; align-items:center; gap:8px;
  padding:10px 14px; margin-bottom:8px;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line); border-radius:8px;
  font-size:13px; font-weight:600; color:rgba(245,242,235,0.7);
  transition:all 0.2s;
}
.qs-contact .qsc-contact-link:hover { border-color:var(--primary); color:var(--primary); }
.qs-contact .qsc-contact-link svg { flex-shrink:0; }

/* ── RESPONSIVE ── */
@media (max-width:1200px) {
  .quote-layout { grid-template-columns:1fr; }
  .quote-sidebar { position:static; display:grid; grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .quote-form-wrap { padding:24px 20px; }
  .qf-row { grid-template-columns:1fr; }
  .qf-submit-row { flex-direction:column; align-items:stretch; }
  .qf-submit-btn { justify-content:center; }
  .quote-sidebar { grid-template-columns:1fr; }
  .quote-trust-row { gap:16px; }
  .qf-field-checkbox-wrap { justify-content:flex-start; }
}

/* ═══════════════════════════════════════════════════════════════
   CASE STUDIES
═══════════════════════════════════════════════════════════════ */

/* ── Listing page cards ── */
.cs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:28px; }
.cs-card { background:rgba(245,242,235,0.02); border:1px solid var(--line); border-radius:16px; overflow:hidden; transition:all 0.25s; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.cs-card:hover { border-color:rgba(12,116,188,0.3); transform:translateY(-4px); box-shadow:var(--shadow-hover); }
.cs-card-img { height:200px; display:flex; align-items:center; justify-content:center; font-size:56px; position:relative; overflow:hidden; }
.cs-card-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom, transparent 40%, #0a1322 100%); }
.cs-card-body { padding:24px 28px 28px; flex:1; display:flex; flex-direction:column; }
.cs-card-industry { font-family:var(--mono); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--primary); margin-bottom:10px; }
.cs-card-title { font-family:var(--display); font-size:26px; letter-spacing:1px; line-height:1.15; margin-bottom:10px; }
.cs-card-desc { font-size:14px; color:rgba(245,242,235,0.5); line-height:1.7; flex:1; margin-bottom:20px; }
.cs-card-stats { display:flex; gap:20px; padding-top:16px; border-top:1px solid var(--line); }
.cs-stat { display:flex; flex-direction:column; gap:3px; }
.cs-stat-num { font-family:var(--display); font-size:22px; color:var(--primary); letter-spacing:1px; }
.cs-stat-lbl { font-family:var(--mono); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(245,242,235,0.3); }
.cs-card-arrow { font-size:13px; color:var(--primary); margin-top:16px; font-weight:700; }

/* ── Detail page ── */
.cs-client-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:48px 0; }
.cs-client-cell { background:var(--card); padding:24px 20px; text-align:center; }
.cs-client-val { font-family:var(--display); font-size:28px; letter-spacing:1px; color:var(--paper); line-height:1; margin-bottom:6px; }
.cs-client-val em { color:var(--primary); font-style:normal; }
.cs-client-lbl { font-family:var(--mono); font-size:9px; letter-spacing:1.5px; text-transform:uppercase; color:rgba(245,242,235,0.3); }

.cs-body { display:grid; grid-template-columns:1fr 320px; gap:56px; align-items:start; }
.cs-content h2 { font-family:var(--display); font-size:clamp(26px,3vw,34px); letter-spacing:1px; margin:40px 0 14px; color:var(--paper); }
.cs-content h2:first-child { margin-top:0; }
.cs-content p { font-size:15px; color:rgba(245,242,235,0.65); line-height:1.8; margin-bottom:16px; }
.cs-content ul { margin:0 0 20px 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; }
.cs-content ul li { font-size:14px; color:rgba(245,242,235,0.6); line-height:1.6; padding-left:18px; position:relative; }
.cs-content ul li::before { content:'→'; position:absolute; left:0; color:var(--primary); font-size:12px; top:2px; }

.cs-results-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:24px 0 32px; }
.cs-result-card { background:rgba(12,116,188,0.06); border:1px solid rgba(12,116,188,0.18); border-radius:12px; padding:22px; }
.cs-result-num { font-family:var(--display); font-size:38px; letter-spacing:1px; color:var(--primary); line-height:1; margin-bottom:6px; }
.cs-result-label { font-size:13px; color:rgba(245,242,235,0.55); line-height:1.5; }

.cs-quote-block { background:rgba(245,242,235,0.03); border:1px solid var(--line); border-left:3px solid var(--primary); border-radius:0 12px 12px 0; padding:24px 28px; margin:32px 0; }
.cs-quote-text { font-size:16px; color:rgba(245,242,235,0.8); line-height:1.75; font-style:italic; margin-bottom:16px; }
.cs-quote-text::before { content:'"'; color:var(--primary); font-size:28px; line-height:0; vertical-align:-10px; margin-right:4px; }
.cs-quote-author { display:flex; align-items:center; gap:12px; }
.cs-quote-avatar { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--secondary)); display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; font-weight:700; flex-shrink:0; }
.cs-quote-name { font-size:13px; font-weight:700; color:var(--paper); }
.cs-quote-role { font-size:12px; color:rgba(245,242,235,0.4); margin-top:2px; }

.cs-sidebar { position:sticky; top:100px; display:flex; flex-direction:column; gap:20px; }
.cs-sidebar-card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:24px; }
.cs-sidebar-label { font-family:var(--mono); font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--primary); margin-bottom:16px; }
.cs-sidebar-row { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; padding:10px 0; border-bottom:1px solid rgba(245,242,235,0.06); font-size:13px; }
.cs-sidebar-row:last-child { border-bottom:none; padding-bottom:0; }
.cs-sidebar-key { color:rgba(245,242,235,0.4); flex-shrink:0; }
.cs-sidebar-val { color:var(--paper); font-weight:600; text-align:right; }
.cs-tech-pills { display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.cs-tech-pill { font-family:var(--mono); font-size:10px; padding:4px 10px; background:rgba(12,116,188,0.1); border:1px solid rgba(12,116,188,0.2); border-radius:20px; color:rgba(245,242,235,0.6); letter-spacing:0.5px; }

.cs-related { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:16px; }
.cs-related-card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:20px; text-decoration:none; color:inherit; transition:all 0.2s; display:block; }
.cs-related-card:hover { border-color:rgba(12,116,188,0.3); transform:translateY(-2px); }
.cs-related-ind { font-family:var(--mono); font-size:9px; letter-spacing:2px; text-transform:uppercase; color:var(--primary); margin-bottom:8px; }
.cs-related-title { font-size:14px; font-weight:700; line-height:1.4; color:var(--paper); margin-bottom:8px; }
.cs-related-arrow { font-size:12px; color:var(--primary); }

/* ── Responsive ── */
@media (max-width:1024px) {
  .cs-body { grid-template-columns:1fr; }
  .cs-sidebar { position:static; display:grid; grid-template-columns:repeat(2,1fr); }
  .cs-client-strip { grid-template-columns:repeat(2,1fr); }
  .cs-related { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px) {
  .cs-grid { grid-template-columns:1fr; }
  .cs-results-grid { grid-template-columns:1fr; }
  .cs-sidebar { grid-template-columns:1fr; }
  .cs-client-strip { grid-template-columns:repeat(2,1fr); }
  .cs-related { grid-template-columns:1fr; }
}
