/* MC Web Design & SEO — design system
   Dark blueprint-glow aesthetic. Single accent (cyan). Vanilla everything. */

:root {
  --bg: #07090f;
  --bg-2: #0a0d15;
  --surface: #0e1219;
  --surface-2: #121826;
  --line: rgba(255,255,255,.08);
  --line-2: rgba(255,255,255,.16);
  --text: #eef1f6;
  --muted: #9aa3b2;
  --faint: #636d7e;
  --accent: #22d3ee;
  --accent-soft: rgba(34,211,238,.12);
  --accent-glow: rgba(34,211,238,.35);
  --accent-ink: #062126;
  --display: 'Space Grotesk', system-ui, sans-serif;
  --body: 'DM Sans', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
  --radius: 12px;
  --ease: cubic-bezier(.2,.6,.2,1);
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }

body {
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}

::selection { background:var(--accent); color:var(--accent-ink); }

/* ── BACKGROUND LAYERS ── */
.bg-grid {
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 0%, #000 30%, transparent 80%);
}
.bg-glow {
  position:fixed; z-index:0; pointer-events:none; border-radius:50%;
  filter:blur(90px); opacity:.5;
  animation:drift 26s ease-in-out infinite alternate;
}
.bg-glow.g1 { width:560px; height:560px; left:-160px; top:-180px; background:radial-gradient(circle, rgba(34,211,238,.14), transparent 65%); }
.bg-glow.g2 { width:480px; height:480px; right:-140px; top:32vh; background:radial-gradient(circle, rgba(34,211,238,.08), transparent 65%); animation-delay:-12s; }
@keyframes drift {
  from { transform:translate(0,0) scale(1); }
  to   { transform:translate(42px,28px) scale(1.08); }
}
.bg-noise {
  position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.025;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.page { position:relative; z-index:2; }

/* ── CURSOR (fine pointers only; JS adds .has-cursor to html) ── */
#cur, #cur-ring { display:none; }
.has-cursor #cur {
  display:block; position:fixed; z-index:999; width:7px; height:7px;
  background:var(--accent); border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none;
  transition:width .25s, height .25s, opacity .25s;
}
.has-cursor #cur-ring {
  display:block; position:fixed; z-index:998; width:34px; height:34px;
  border:1px solid rgba(34,211,238,.45); border-radius:50%;
  transform:translate(-50%,-50%); pointer-events:none;
  transition:width .3s var(--ease), height .3s var(--ease), border-color .3s;
}
.has-cursor #cur.big { width:14px; height:14px; }
.has-cursor #cur-ring.big { width:56px; height:56px; border-color:var(--accent); }

/* ── TYPE HELPERS ── */
h1, h2, h3 { font-family:var(--display); font-weight:600; letter-spacing:-.02em; text-wrap:balance; }
p { text-wrap:pretty; }
.kicker {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:12px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--accent);
}
.kicker::before { content:'//'; color:var(--faint); letter-spacing:0; }
.sec-h2 { font-size:clamp(30px, 4vw, 46px); line-height:1.06; margin:18px 0 14px; }
.sec-intro { color:var(--muted); max-width:58ch; font-size:16.5px; }
.container { max-width:1200px; margin-inline:auto; padding-inline:clamp(20px, 4vw, 44px); }

.skip-link {
  position:absolute; left:16px; top:-52px; z-index:300;
  background:var(--accent); color:var(--accent-ink); padding:10px 18px; border-radius:8px;
  font-size:13px; font-weight:600; text-decoration:none; transition:top .2s;
}
.skip-link:focus { top:12px; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:3px; }

/* ── BUTTONS ── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--mono); font-size:13px; font-weight:500;
  letter-spacing:.06em; text-transform:uppercase;
  text-decoration:none; cursor:pointer; border:none; border-radius:9px;
  padding:16px 28px; position:relative;
  transition:background .25s, color .25s, border-color .25s, transform .25s var(--ease), box-shadow .25s;
  will-change:transform;
}
.btn:active { transform:scale(.97); }
.btn-primary {
  background:var(--accent); color:var(--accent-ink);
  box-shadow:0 0 0 0 transparent, 0 10px 30px -10px var(--accent-glow);
}
.btn-primary:hover { background:#67e3f4; box-shadow:0 0 24px -4px var(--accent-glow), 0 14px 34px -10px var(--accent-glow); }
.btn-ghost { background:transparent; color:var(--text); border:1px solid var(--line-2); }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); }
.btn svg { flex-shrink:0; }

/* ── HEADER ── */
.site-header {
  position:fixed; top:0; left:0; right:0; z-index:200;
  background:rgba(7,9,15,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.site-header.scrolled { border-color:var(--line); background:rgba(7,9,15,.92); }
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:74px; }

.logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--text); }
.logo-mark {
  width:38px; height:38px; border-radius:9px;
  background:var(--accent); color:var(--accent-ink);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--display); font-weight:700; font-size:16px;
  box-shadow:0 0 18px -4px var(--accent-glow);
}
.logo-mark-img { height:36px; width:auto; display:block; filter:drop-shadow(0 0 9px rgba(34,211,238,.4)); }
.logo-text { font-family:var(--display); font-weight:600; font-size:15px; letter-spacing:.01em; line-height:1.25; }
.logo-text small { display:block; font-family:var(--mono); font-weight:400; font-size:9.5px; color:var(--faint); letter-spacing:.18em; text-transform:uppercase; }

.nav-links { display:flex; align-items:center; gap:8px; list-style:none; }
.nav-links > li { position:relative; }
.nav-links a:not(.btn) {
  display:block; font-family:var(--mono); font-size:12.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; padding:10px 14px; border-radius:8px;
  transition:color .2s, background .2s;
}
.nav-links a:not(.btn):hover { color:var(--text); background:rgba(255,255,255,.04); }
.nav-links a[aria-current="page"] { color:var(--accent); }
.nav-links .btn { padding:12px 20px; margin-left:10px; }

/* dropdown */
.has-sub > a::after { content:' +'; color:var(--faint); }
.sub {
  position:absolute; top:calc(100% + 10px); left:0; min-width:240px;
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:8px; list-style:none;
  box-shadow:0 24px 50px -12px rgba(0,0,0,.6);
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .25s, transform .25s, visibility .25s;
}
.has-sub:hover .sub, .has-sub:focus-within .sub { opacity:1; visibility:visible; transform:translateY(0); }
.sub a:not(.btn) { padding:11px 14px; text-transform:none; letter-spacing:.02em; font-family:var(--body); font-size:14px; border-radius:8px; }
.sub a span { display:block; font-family:var(--mono); font-size:10px; color:var(--faint); letter-spacing:.1em; text-transform:uppercase; margin-top:2px; }

.nav-toggle {
  display:none; background:none; border:1px solid var(--line-2); border-radius:9px;
  width:44px; height:44px; cursor:pointer;
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-toggle span { width:18px; height:1.5px; background:var(--text); transition:transform .25s var(--ease), opacity .2s; }
.nav-open .nav-toggle span:first-child { transform:translateY(3.25px) rotate(45deg); }
.nav-open .nav-toggle span:last-child { transform:translateY(-3.25px) rotate(-45deg); }

/* ── HERO (shared pattern) ── */
.hero { padding:170px 0 90px; position:relative; }
.hero-kicker { margin-bottom:24px; }
.hero h1 {
  font-size:clamp(42px, 6.4vw, 86px);
  line-height:1.0; letter-spacing:-.03em; font-weight:700;
  max-width:14ch;
}
.hero h1 .accent { color:var(--accent); text-shadow:0 0 32px var(--accent-glow); }
.hl { display:block; overflow:hidden; }
.hl > span { display:block; transform:translateY(112%); animation:rise .9s var(--ease) forwards; }
.hl:nth-child(2) > span { animation-delay:.12s; }
.hl:nth-child(3) > span { animation-delay:.24s; }
@keyframes rise { to { transform:translateY(0); } }

.hero-sub { font-size:17.5px; color:var(--muted); max-width:52ch; margin:26px 0 36px; }
.hero-sub strong { color:var(--text); font-weight:500; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-bottom:30px; }
.hero-chips { display:flex; flex-wrap:wrap; gap:10px; list-style:none; }
.hero-chips li {
  display:flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:11.5px; letter-spacing:.04em;
  color:var(--muted); border:1px solid var(--line); border-radius:99px; padding:8px 15px;
}
.hero-chips li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 8px var(--accent-glow); }

/* hero terminal card (home) */
.term {
  background:var(--surface); border:1px solid var(--line); border-radius:14px;
  box-shadow:0 30px 70px -24px rgba(0,0,0,.7);
  overflow:hidden; font-family:var(--mono); font-size:13px;
}
.term-bar { display:flex; align-items:center; gap:7px; padding:13px 16px; border-bottom:1px solid var(--line); }
.term-bar i { width:10px; height:10px; border-radius:50%; background:var(--surface-2); border:1px solid var(--line-2); }
.term-bar span { margin-left:8px; font-size:11px; color:var(--faint); letter-spacing:.08em; }
.term-body { padding:20px 22px 24px; display:flex; flex-direction:column; gap:11px; }
.term-line { color:var(--muted); opacity:0; animation:fadeline .4s ease forwards; }
.term-line b { color:var(--text); font-weight:500; }
.term-line .ok { color:#34d399; }
.term-line .ac { color:var(--accent); }
.term-line:nth-child(1) { animation-delay:.5s; }
.term-line:nth-child(2) { animation-delay:1.0s; }
.term-line:nth-child(3) { animation-delay:1.5s; }
.term-line:nth-child(4) { animation-delay:2.0s; }
.term-line:nth-child(5) { animation-delay:2.5s; }
.term-line:nth-child(6) { animation-delay:3.0s; }
@keyframes fadeline { to { opacity:1; } }
.term-cursor { display:inline-block; width:8px; height:15px; background:var(--accent); vertical-align:-2px; animation:blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }

.hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(40px, 6vw, 90px); align-items:center; }

/* ── MARQUEE ── */
.marquee { border-block:1px solid var(--line); padding:22px 0; overflow:hidden; background:rgba(255,255,255,.014); }
.marquee-track { display:flex; gap:0; width:max-content; animation:mq 30s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
.mq-set { display:flex; align-items:center; flex-shrink:0; }
.mq-set span {
  font-family:var(--mono); font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--muted); padding:0 30px; white-space:nowrap;
}
.mq-set i { color:var(--accent); font-style:normal; text-shadow:0 0 10px var(--accent-glow); }
@keyframes mq { to { transform:translateX(-50%); } }

/* ── SECTIONS ── */
.section { padding:clamp(84px, 10vw, 130px) 0; position:relative; }
.section-alt { background:var(--bg-2); border-block:1px solid var(--line); }
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; }
.sec-head .num { font-family:var(--mono); font-size:12px; color:var(--faint); letter-spacing:.14em; }

/* ── SERVICE CARDS (spotlight hover) ── */
.cards { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.card {
  position:relative; display:flex; flex-direction:column; justify-content:space-between;
  min-height:300px; padding:34px 34px 30px;
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  text-decoration:none; color:var(--text); overflow:hidden;
  transition:border-color .3s, transform .3s var(--ease), box-shadow .3s;
}
.card::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .35s;
  background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%), var(--accent-soft), transparent 65%);
}
.card:hover { border-color:rgba(34,211,238,.35); transform:translateY(-3px); box-shadow:0 24px 50px -22px rgba(0,0,0,.7); }
.card:hover::before { opacity:1; }
.card-top { display:flex; justify-content:space-between; align-items:flex-start; position:relative; }
.card-num { font-family:var(--mono); font-size:12px; color:var(--faint); letter-spacing:.14em; }
.card-arrow {
  width:36px; height:36px; border:1px solid var(--line); border-radius:9px;
  display:flex; align-items:center; justify-content:center; color:var(--muted);
  transition:border-color .3s, color .3s, transform .3s var(--ease), background .3s;
}
.card:hover .card-arrow { border-color:var(--accent); color:var(--accent-ink); background:var(--accent); transform:rotate(45deg); }
.card h3 { font-size:clamp(22px, 2.2vw, 28px); margin:42px 0 10px; position:relative; }
.card p { font-size:14.5px; color:var(--muted); max-width:46ch; position:relative; }
.card-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; position:relative; }
.card-tags span {
  font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--line); border-radius:6px; padding:5px 10px;
  transition:color .3s, border-color .3s;
}
.card:hover .card-tags span { border-color:rgba(34,211,238,.3); color:var(--accent); }

/* featured card border beam */
@property --beam { syntax:'<angle>'; initial-value:0deg; inherits:false; }
.card-beam::after {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1px; pointer-events:none;
  background:conic-gradient(from var(--beam), transparent 0 72%, var(--accent) 86%, transparent 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:beam 5.5s linear infinite;
}
@keyframes beam { to { --beam:360deg; } }
.card-flag {
  position:absolute; top:0; right:0; font-family:var(--mono); font-size:10px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  background:var(--accent); color:var(--accent-ink); padding:5px 10px; border-radius:0 var(--radius) 0 9px;
}
.card-beam .card-arrow { margin-right:96px; }

/* ── NUMBERED ROWS (deliverables / process) ── */
.rows { border-top:1px solid var(--line); }
.row {
  display:grid; grid-template-columns:80px 1fr 1.4fr; gap:clamp(18px, 3vw, 52px);
  padding:34px 6px; border-bottom:1px solid var(--line); align-items:start;
  transition:background .3s;
}
.row:hover { background:rgba(255,255,255,.018); }
.row-num { font-family:var(--mono); font-size:13px; color:var(--accent); padding-top:5px; }
.row h3 { font-size:clamp(19px, 1.9vw, 24px); letter-spacing:-.015em; }
.row p { font-size:15px; color:var(--muted); max-width:62ch; }

/* ── STATS ── */
.stats { display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.stat {
  border:1px solid var(--line); border-radius:var(--radius); padding:30px 28px;
  background:var(--surface); position:relative; overflow:hidden;
}
.stat::after { content:''; position:absolute; top:0; left:0; height:2px; width:0; background:var(--accent); transition:width .6s var(--ease); box-shadow:0 0 12px var(--accent-glow); }
.stat:hover::after { width:100%; }
.stat-n { font-family:var(--display); font-weight:700; font-size:clamp(34px, 3.4vw, 46px); line-height:1.1; font-variant-numeric:tabular-nums; }
.stat-n em { font-style:normal; color:var(--accent); }
.stat-l { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:8px; line-height:1.5; }

/* ── WORK CARDS ── */
.work-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.work-card {
  position:relative; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--surface); overflow:hidden; text-decoration:none; color:var(--text); display:block;
  transition:border-color .3s, transform .3s var(--ease), box-shadow .3s;
}
.work-card:hover { border-color:rgba(34,211,238,.35); transform:translateY(-3px); box-shadow:0 28px 60px -24px rgba(0,0,0,.75); }
.work-shot { aspect-ratio:16/10; overflow:hidden; border-bottom:1px solid var(--line); background:var(--surface-2); }
.work-shot img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .6s var(--ease); }
.work-card:hover .work-shot img { transform:scale(1.03); }
.work-tile {
  width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background:
    radial-gradient(420px circle at 70% 20%, rgba(34,211,238,.12), transparent 60%),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:auto, 40px 40px, 40px 40px;
}
.work-tile b { font-family:var(--display); font-weight:700; font-size:clamp(34px, 4vw, 52px); letter-spacing:.08em; }
.work-tile span { font-family:var(--mono); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }
.work-info { padding:24px 28px 26px; display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.work-info h3 { font-size:20px; margin-bottom:6px; }
.work-info p { font-size:13.5px; color:var(--muted); max-width:52ch; }
.work-meta { font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); white-space:nowrap; padding-top:5px; }

/* ── 3-STEP GRID (service pages) ── */
.steps-3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.step-card {
  border:1px solid var(--line); border-radius:var(--radius); background:var(--surface);
  padding:30px 28px; position:relative; overflow:hidden;
  transition:border-color .3s, transform .3s var(--ease);
}
.step-card:hover { border-color:rgba(34,211,238,.3); transform:translateY(-2px); }
.step-card .row-num { display:block; margin-bottom:16px; }
.step-card h3 { font-size:18px; margin-bottom:8px; letter-spacing:-.01em; }
.step-card p { font-size:14px; color:var(--muted); }

/* pairs-with note */
.pairs {
  border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:0 var(--radius) var(--radius) 0;
  background:var(--surface); padding:26px 30px; max-width:760px;
}
.pairs p { color:var(--muted); font-size:15px; }
.pairs a { color:var(--accent); text-decoration:none; border-bottom:1px solid rgba(34,211,238,.35); transition:border-color .2s; }
.pairs a:hover { border-color:var(--accent); }

/* ── FAQ ── */
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px, 4vw, 52px) clamp(34px, 5vw, 70px); }
.faq-item h3 { font-family:var(--body); font-weight:600; font-size:16.5px; letter-spacing:0; margin-bottom:9px; padding-left:20px; position:relative; }
.faq-item h3::before { content:''; position:absolute; left:0; top:8px; width:8px; height:8px; border-radius:2px; background:var(--accent); box-shadow:0 0 10px var(--accent-glow); }
.faq-item p { font-size:14.5px; color:var(--muted); padding-left:20px; }

/* ── CTA BAND ── */
.cta-band {
  border:1px solid var(--line); border-radius:18px; overflow:hidden; position:relative;
  background:
    radial-gradient(600px circle at 12% 0%, rgba(34,211,238,.10), transparent 60%),
    var(--surface);
  padding:clamp(44px, 6vw, 80px);
  display:flex; justify-content:space-between; align-items:center; gap:40px;
}
.cta-band::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(ellipse 70% 90% at 30% 50%, #000, transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 30% 50%, #000, transparent 75%);
}
.cta-band h2 { font-size:clamp(30px, 4vw, 52px); line-height:1.04; position:relative; }
.cta-band h2 span { color:var(--accent); text-shadow:0 0 28px var(--accent-glow); }
.cta-band p { color:var(--muted); margin-top:12px; max-width:46ch; position:relative; }
.cta-side { display:flex; flex-direction:column; align-items:flex-end; gap:14px; position:relative; flex-shrink:0; }
.cta-note { font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--faint); }

/* ── BREADCRUMB ── */
.crumbs { display:flex; flex-wrap:wrap; gap:8px; list-style:none; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:26px; }
.crumbs a { color:var(--faint); text-decoration:none; transition:color .2s; }
.crumbs a:hover { color:var(--accent); }
.crumbs li + li::before { content:'/'; color:var(--faint); margin-right:8px; }
.crumbs [aria-current] { color:var(--muted); }

/* ── CONTACT FORM ── */
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(44px, 6vw, 90px); align-items:start; }
.audit-list { list-style:none; margin:28px 0 34px; display:flex; flex-direction:column; gap:14px; }
.audit-list li { display:flex; gap:13px; align-items:flex-start; font-size:15px; color:var(--muted); }
.audit-list li::before {
  content:'>'; font-family:var(--mono); color:var(--accent); flex-shrink:0;
  text-shadow:0 0 10px var(--accent-glow); font-weight:500; margin-top:1px;
}
.audit-list strong { color:var(--text); font-weight:500; }
.contact-direct { border-top:1px solid var(--line); padding-top:26px; display:flex; flex-direction:column; gap:10px; }
.contact-direct a {
  color:var(--text); font-family:var(--mono); font-size:15px; text-decoration:none;
  width:fit-content; border-bottom:1px solid rgba(34,211,238,.4);
  transition:color .2s, border-color .2s;
}
.contact-direct a:hover { color:var(--accent); border-color:var(--accent); }
.contact-direct span { font-size:13px; color:var(--faint); }

.form-card {
  background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:clamp(26px, 3vw, 38px);
  display:flex; flex-direction:column; gap:18px;
  box-shadow:0 30px 70px -28px rgba(0,0,0,.7);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:8px; }
.field label { font-family:var(--mono); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.field label span { color:var(--accent); }
.field input, .field select, .field textarea {
  font-family:var(--body); font-size:15px; color:var(--text);
  background:var(--bg); border:1px solid var(--line-2); border-radius:9px;
  padding:13px 14px; transition:border-color .2s, box-shadow .2s;
}
.field select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa3b2' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--accent); outline:none; box-shadow:0 0 0 3px rgba(34,211,238,.15); }
.field input:user-invalid { border-color:#f87171; }
.field textarea { resize:vertical; min-height:110px; }
.form-note { font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--faint); text-align:center; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ── FOOTER ── */
.site-footer { border-top:1px solid var(--line); padding:64px 0 40px; position:relative; overflow:hidden; }
.footer-mark {
  position:absolute; right:-20px; bottom:-60px; pointer-events:none; user-select:none;
  font-family:var(--display); font-weight:700; font-size:240px; line-height:1;
  color:transparent; -webkit-text-stroke:1px rgba(34,211,238,.10);
}
.footer-top { display:flex; justify-content:space-between; gap:44px; flex-wrap:wrap; margin-bottom:48px; position:relative; }
.footer-brand p { font-size:14px; color:var(--muted); max-width:34ch; margin-top:16px; }
.footer-cols { display:flex; gap:clamp(36px, 6vw, 90px); flex-wrap:wrap; }
.footer-col h4 { font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer-col a { font-size:14px; color:var(--muted); text-decoration:none; transition:color .2s; }
.footer-col a:hover { color:var(--text); }
.footer-bottom { border-top:1px solid var(--line); padding-top:26px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; position:relative; }
.footer-bottom p, .footer-bottom a { font-family:var(--mono); font-size:11.5px; letter-spacing:.04em; color:var(--faint); }
.footer-bottom a { text-decoration:none; }
.footer-bottom a:hover { color:var(--accent); }
.footer-legal { display:flex; gap:20px; }

/* ── REVEAL ── */
.rv { opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease); transition-delay:calc(var(--i, 0) * 90ms); }
.rv.v { opacity:1; transform:translateY(0); }

/* ── PROSE (legal pages) ── */
.prose { max-width:72ch; }
.prose h2 { font-size:22px; margin:38px 0 12px; }
.prose p, .prose li { color:var(--muted); font-size:15px; margin-bottom:14px; }
.prose ul { padding-left:22px; }
.prose a { color:var(--accent); }

/* ── 404 ── */
.err { min-height:72vh; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-top:120px; }
.err-code { font-family:var(--mono); font-size:13px; color:var(--accent); letter-spacing:.2em; margin-bottom:18px; }
.err h1 { font-size:clamp(40px, 6vw, 80px); }

/* ── REDUCED MOTION ── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .rv { opacity:1; transform:none; }
  .hl > span { transform:none; animation:none; }
  .term-line { opacity:1; animation:none; }
  .bg-glow { animation:none; }
  .marquee-track { animation:none; }
}

/* ── RESPONSIVE ── */
@media (max-width: 1020px) {
  .hero-grid { grid-template-columns:1fr; gap:54px; }
  .cards { grid-template-columns:1fr; }
  .stats { grid-template-columns:1fr 1fr; }
  .work-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
  .row { grid-template-columns:56px 1fr; }
  .row p { grid-column:2; }
  .faq-grid { grid-template-columns:1fr; }
  .cta-band { flex-direction:column; align-items:flex-start; }
  .cta-side { align-items:flex-start; }
}

@media (max-width: 880px) {
  .nav-toggle { display:flex; }
  .nav-links {
    position:fixed; top:74px; left:0; right:0; max-height:calc(100dvh - 74px); overflow-y:auto;
    flex-direction:column; align-items:stretch; gap:2px;
    background:rgba(7,9,15,.98); border-bottom:1px solid var(--line);
    padding:16px 22px 26px;
    transform:translateY(-10px); opacity:0; visibility:hidden;
    transition:transform .28s var(--ease), opacity .28s, visibility .28s;
  }
  .nav-open .nav-links { transform:translateY(0); opacity:1; visibility:visible; }
  .nav-links a:not(.btn) { padding:13px 6px; font-size:14px; border-bottom:1px solid var(--line); border-radius:0; }
  .nav-links .btn { margin:14px 0 0; justify-content:center; }
  .sub { position:static; opacity:1; visibility:visible; transform:none; border:none; background:transparent; box-shadow:none; padding:0 0 0 16px; min-width:0; }
  .has-sub > a { display:none; }
}

@media (max-width: 720px) {
  .hero { padding:140px 0 70px; }
  .hero-actions .btn { width:100%; }
  .stats { grid-template-columns:1fr; }
  .steps-3 { grid-template-columns:1fr; }
  .row { padding:28px 4px; }
  .form-row { grid-template-columns:1fr; }
  .footer-mark { font-size:140px; right:-10px; bottom:-30px; }
  .sec-head { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:40px; }
}
