:root {
  --font-sans: "Inter", "Manrope", system-ui, sans-serif;
  --font-mono: "DM Mono", "SFMono-Regular", Consolas, monospace;
  --bg: #050816;
  --bg-soft: rgba(13, 19, 32, .84);
  --panel: rgba(15, 23, 42, .9);
  --panel-2: rgba(18, 26, 44, .84);
  --surface: rgba(13, 19, 32, .80);
  --surface-strong: rgba(11, 16, 28, .82);
  --surface-accent: linear-gradient(145deg, rgba(12,17,30,.92), rgba(16,22,36,.82));
  --text: #e8edf7;
  --muted: #aab4c7;
  --dim: #8f9bb0;
  --line: rgba(148, 163, 184, .14);
  --line-strong: rgba(191, 219, 254, .18);
  --accent: #8ea5ff;
  --accent-2: #7dd3fc;
  --shadow-panel: 0 24px 70px rgba(0,0,0,.32);
  --shadow-panel-strong: 0 42px 100px rgba(0,0,0,.38);
  --shadow-soft: 0 18px 50px rgba(0,0,0,.24);
  --shadow-button: 0 12px 28px rgba(0,0,0,.18);
  --glow-soft: radial-gradient(circle, rgba(148,163,184,.12), transparent 68%);
  --glow-accent: radial-gradient(circle, rgba(125,211,252,.10), rgba(148,163,184,.06) 38%, transparent 68%);
  --white: #fff;
  --ink: #050816;
  --max: 1320px;
  --radius: 22px;
  --radius-lg: 30px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); color-scheme: dark; }
body { margin: 0; overflow-x: hidden; background:
    radial-gradient(circle at 18% 10%, rgba(148, 163, 184, .12), transparent 28%),
    radial-gradient(circle at 82% 14%, rgba(125, 211, 252, .08), transparent 24%),
    linear-gradient(180deg, #050816 0%, #0a1020 55%, #0f172a 100%);
  color: var(--text); font-family: var(--font-sans); line-height: 1.65; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; font-feature-settings: "cv02" 1, "cv03" 1, "cv04" 1, "cv11" 1; }
body::before, body::after { content: ""; position: fixed; inset: auto; z-index: 0; pointer-events: none; border-radius: 50%; filter: blur(24px); opacity: .45; }
body::before { width: 360px; height: 360px; right: -110px; top: 70px; background: radial-gradient(circle, rgba(71, 85, 105, .12), transparent 68%); }
body::after { width: 420px; height: 420px; left: -130px; bottom: 120px; background: radial-gradient(circle, rgba(15, 118, 110, .08), transparent 70%); }
main, .site-header, .site-footer { position: relative; z-index: 1; }
body.nav-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid color-mix(in srgb, var(--accent) 72%, white); outline-offset: 4px; }

.site-header { position: fixed; z-index: 100; top: 14px; left: 24px; width: calc(100% - 48px); border: 1px solid rgba(255,255,255,.65); border-radius: 24px; background: rgba(255, 255, 255, .74); box-shadow: 0 14px 40px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255,255,255,.8); backdrop-filter: blur(28px) saturate(160%); -webkit-backdrop-filter: blur(28px) saturate(160%); overflow: hidden; }
.site-header::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,255,255,.55) 42%, rgba(71,85,105,.04) 100%); pointer-events: none; }
.site-header.is-scrolled { background: rgba(255,255,255,.84); box-shadow: 0 18px 50px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.92); }
.nav-shell { width: min(var(--max), calc(100% - 48px)); height: 76px; margin: auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; white-space: nowrap; }
.brand-logo { display: block; height: 28px; width: auto; max-width: min(240px, 46vw); object-fit: contain; object-position: left center; }
.site-nav { display: flex; align-items: center; gap: 24px; font-size: 13px; color: var(--muted); }
.site-nav > a:not(.button) { transition: color 180ms cubic-bezier(.2, .8, .2, 1), opacity 180ms cubic-bezier(.2, .8, .2, 1); }
.site-nav > a:not(.button):hover { color: var(--text); }
.site-nav > a:not(.button):focus-visible { color: var(--text); }
.nav-toggle { display: none; border: 0; background: transparent; width: 42px; height: 42px; padding: 10px; cursor: pointer; }
.nav-toggle span { display: block; height: 1px; margin: 6px 0; background: var(--text); transition: transform 180ms cubic-bezier(.2, .8, .2, 1), opacity 180ms cubic-bezier(.2, .8, .2, 1); }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.08)); color: #f8fbff; font-size: 14px; font-weight: 700; letter-spacing: .01em; box-shadow: var(--shadow-button), inset 0 1px 0 rgba(255,255,255,.08); transition: transform 180ms cubic-bezier(.2, .8, .2, 1), box-shadow 180ms cubic-bezier(.2, .8, .2, 1), border-color 180ms cubic-bezier(.2, .8, .2, 1), background 180ms cubic-bezier(.2, .8, .2, 1), opacity 180ms cubic-bezier(.2, .8, .2, 1); backdrop-filter: blur(20px) saturate(130%); -webkit-backdrop-filter: blur(20px) saturate(130%); }
.button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.28); box-shadow: 0 18px 36px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12); }
.button:active { transform: translateY(0); box-shadow: 0 10px 22px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08); }
.button:focus-visible { transform: translateY(-1px); }
.button span { transition: transform .25s ease; }
.button:hover span { transform: translate(2px, -2px); }
.button-small { min-height: 42px; padding: 0 16px; border-radius: 16px; font-size: 13px; }
.button-ghost { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.08); color: #eef2ff; box-shadow: 0 12px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.button-ghost:hover { border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.12); box-shadow: 0 16px 32px rgba(0,0,0,.2); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

.eyebrow { display: inline-block; color: var(--accent); font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; }
.hero { position: relative; min-height: 850px; padding: 170px max(24px, calc((100vw - var(--max)) / 2)) 76px; display: grid; grid-template-columns: 1.04fr .96fr; align-items: center; gap: 64px; overflow: hidden; }
.hero-noise { position: absolute; inset: 0; opacity: .22; pointer-events: none; background-image: radial-gradient(rgba(15,23,42,.08) .65px, transparent .65px); background-size: 5px 5px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.hero::before { content: ""; position: absolute; width: 920px; height: 920px; top: -300px; right: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(71,85,105,.10), transparent 62%); filter: blur(12px); }
.hero-copy { position: relative; z-index: 2; max-width: 780px; }
.hero h1, .service-hero h1, .simple-hero h1 { margin: 24px 0 28px; font-size: clamp(54px, 6.4vw, 98px); font-weight: 700; letter-spacing: -.075em; line-height: .94; }
.hero h1 span { color: #5f6978; }
.hero-copy > p, .service-hero-copy > p, .simple-hero > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.credibility { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.credibility span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: #cfd7e7; font-family: var(--font-mono); font-size: 10px; letter-spacing: .05em; background: rgba(255,255,255,.08); box-shadow: 0 10px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter: blur(14px); }

.hero-console { position: relative; z-index: 2; width: min(100%, 590px); min-height: 510px; justify-self: end; border: 1px solid rgba(255,255,255,.7); border-radius: 34px; background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(246,248,253,.64)); box-shadow: var(--shadow-panel-strong), inset 0 1px 0 #fff; overflow: hidden; backdrop-filter: blur(24px) saturate(150%); -webkit-backdrop-filter: blur(24px) saturate(150%); }
.hero-console::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.8), rgba(255,255,255,.45) 40%, rgba(71,85,105,.05)); pointer-events: none; }
.console-top { height: 50px; padding: 0 18px; border-bottom: 1px solid rgba(15,23,42,.08); display: flex; align-items: center; justify-content: space-between; color: var(--dim); font: 10px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; position: relative; z-index: 1; }
.console-dots { display: flex; gap: 5px; }
.console-dots i { width: 8px; height: 8px; border-radius: 50%; background: rgba(15,23,42,.28); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.console-map { position: relative; min-height: 310px; margin: 30px; border: 1px solid rgba(15,23,42,.08); border-radius: 24px; background:
    linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,.24)),
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: auto, 42px 42px, 42px 42px; overflow: hidden; }
.console-map::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 60% 44%, rgba(71,85,105,.10), transparent 36%); }
.node { position: absolute; z-index: 2; width: 11px; height: 11px; border: 2px solid var(--accent); border-radius: 50%; background: var(--white); box-shadow: 0 0 0 7px rgba(71,85,105,.06), 0 0 28px rgba(71,85,105,.18); animation: pulse 3s ease-in-out infinite; }
.node::after { content: attr(data-label); position: absolute; top: 17px; left: -8px; color: var(--muted); font: 9px "DM Mono", monospace; white-space: nowrap; text-transform: uppercase; }
.node-1 { left: 18%; top: 25%; }.node-2 { left: 61%; top: 39%; animation-delay: .7s; }.node-3 { left: 36%; top: 69%; animation-delay: 1.2s; }.node-4 { left: 82%; top: 72%; animation-delay: 1.8s; }
.trace { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: linear-gradient(90deg, var(--accent), rgba(71,85,105,.08)); opacity: .52; }
.trace-1 { width: 47%; left: 19%; top: 27%; transform: rotate(17deg); }.trace-2 { width: 33%; left: 37%; top: 70%; transform: rotate(-57deg); }.trace-3 { width: 25%; left: 62%; top: 42%; transform: rotate(55deg); }
.console-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0 30px 30px; border: 1px solid rgba(15,23,42,.08); border-radius: 20px; overflow: hidden; background: rgba(15,23,42,.07); }
.console-stats div { padding: 15px; background: rgba(255,255,255,.76); }
.console-stats span { display: block; color: var(--dim); font: 9px "DM Mono", monospace; text-transform: uppercase; }
.console-stats strong { display: block; margin-top: 8px; font-size: 22px; font-weight: 600; letter-spacing: -.04em; }
.hero-marquee { position: absolute; bottom: 0; left: 0; right: 0; z-index: 3; height: 58px; border-top: 1px solid rgba(15,23,42,.08); border-bottom: 1px solid rgba(15,23,42,.08); overflow: hidden; background: rgba(255,255,255,.72); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); }
.marquee-track { width: max-content; height: 100%; display: flex; align-items: center; gap: 55px; animation: marquee 28s linear infinite; color: var(--dim); font: 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.marquee-track span::before { content: "✦"; margin-right: 55px; color: var(--accent); }

.section { padding: clamp(92px, 8vw, 128px) 24px; }
.section-dark { background: transparent; }
.section-muted { background: rgba(255,255,255,.42); border-top: 1px solid rgba(15,23,42,.05); border-bottom: 1px solid rgba(15,23,42,.05); backdrop-filter: blur(8px); }
.container { width: min(var(--max), 100%); margin: auto; }
.section-heading { display: grid; grid-template-columns: 1.15fr .65fr; align-items: end; gap: clamp(32px, 5vw, 72px); margin-bottom: 56px; }
.section-heading h2, .capability-layout h2, .final-cta h2 { margin: 18px 0 0; font-size: clamp(38px, 4.8vw, 68px); font-weight: 700; letter-spacing: -.07em; line-height: 1.02; }
.section-heading p, .capability-layout p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }

.metric-row { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(15,23,42,.08); border-radius: var(--radius-lg); overflow: hidden; background: rgba(255,255,255,.72); box-shadow: 0 22px 60px rgba(15,23,42,.06), inset 0 1px 0 #fff; backdrop-filter: blur(18px); }
.metric { min-height: 190px; padding: 24px; border-right: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.64); }
.metric:last-child { border-right: 0; }
.metric strong { display: block; margin-top: 50px; font-size: 48px; font-weight: 500; letter-spacing: -.07em; }
.metric strong em { color: var(--accent); font-size: 20px; font-style: normal; }
.metric p { margin: 12px 0 0; color: var(--dim); font: 10px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }

.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid rgba(15,23,42,.08); border-radius: var(--radius-lg); overflow: hidden; background: rgba(15,23,42,.06); box-shadow: 0 24px 70px rgba(15,23,42,.06); }
.service-card { position: relative; min-height: 360px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(245,247,252,.62)); overflow: hidden; transition: transform 180ms cubic-bezier(.22, 1, .36, 1), box-shadow 180ms cubic-bezier(.22, 1, .36, 1), background 180ms cubic-bezier(.22, 1, .36, 1), border-color 180ms cubic-bezier(.22, 1, .36, 1); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); }
.service-card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(255,255,255,.18) 42%, rgba(71,85,105,.03) 100%); opacity: .72; pointer-events: none; }
.service-card::after { content: ""; position: absolute; width: 240px; height: 240px; left: calc(var(--spot-x, 50%) - 120px); top: calc(var(--spot-y, 50%) - 120px); border-radius: 50%; background: radial-gradient(circle, rgba(71,85,105,.08), transparent 68%); opacity: 0; transition: opacity 180ms cubic-bezier(.22, 1, .36, 1); pointer-events: none; }
.service-card:hover { background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,249,253,.74)); box-shadow: 0 22px 50px rgba(15,23,42,.08); transform: translateY(-4px); }
.service-card:hover::after { opacity: 1; }
.card-top { display: flex; justify-content: space-between; color: var(--dim); font: 10px "DM Mono", monospace; }
.icon { width: 42px; height: 42px; padding: 10px; border: 1px solid rgba(15,23,42,.08); border-radius: 14px; color: var(--accent); background: rgba(255,255,255,.76); box-shadow: 0 10px 18px rgba(15,23,42,.06), inset 0 1px 0 #fff; }
.icon svg { width: 100%; height: 100%; }
.service-card h3 { margin: 18px 0 12px; font-size: 24px; line-height: 1.15; letter-spacing: -.05em; }
.service-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.service-card b { position: relative; z-index: 2; display: flex; gap: 8px; align-items: center; margin-top: 30px; color: var(--muted); font-size: 12px; font-weight: 700; }
.service-card b span { color: var(--accent); transition: transform 180ms cubic-bezier(.22, 1, .36, 1); }
.service-card:hover b span { transform: translate(2px, -2px); }

.why-grid, .industry-grid, .method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.why-card, .industry-card, .method-card { min-height: 245px; padding: 24px; border: 1px solid rgba(255,255,255,.10); border-radius: 28px; background: linear-gradient(145deg, rgba(12,17,30,.92), rgba(16,22,36,.82)); box-shadow: 0 18px 50px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03); backdrop-filter: blur(16px) saturate(140%); }
.why-card span, .method-card > span { color: var(--accent); font-family: var(--font-mono); font-size: 10px; }
.why-card h3, .industry-card h3, .method-card h3 { margin: 76px 0 12px; font-size: 22px; letter-spacing: -.045em; }
.why-card p, .industry-card p, .method-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }

.collab-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.collab-card { padding: 26px; border: 1px solid rgba(148,163,184,.14); border-radius: 28px; background: linear-gradient(145deg, rgba(12,18,31,.92), rgba(18,25,39,.84)); box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.03); }
.collab-card p { margin: 16px 0 18px; color: var(--muted); font-size: 14px; line-height: 1.75; }
.collab-card ul { margin: 0; padding-left: 18px; color: #c7d0de; display: grid; gap: 8px; }
.collab-card li { color: #c7d0de; font-size: 13px; line-height: 1.6; }
.client-strip { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px; }
.client-mark { min-height: 48px; min-width: 120px; padding: 10px 16px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(148,163,184,.14); border-radius: 16px; background: rgba(255,255,255,.05); color: #dce4f0; font-size: 13px; font-weight: 600; letter-spacing: .01em; }
.client-mark img { display: block; max-height: 22px; max-width: 100%; object-fit: contain; }

.process-list { border-top: 1px solid rgba(255,255,255,.10); border-radius: 28px; overflow: hidden; background: rgba(11,16,28,.82); box-shadow: 0 20px 50px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.process-row { position: relative; min-height: 118px; display: grid; grid-template-columns: 90px 1fr 1fr; gap: 32px; align-items: center; border-bottom: 1px solid rgba(15,23,42,.08); transition: background 180ms cubic-bezier(.22, 1, .36, 1), padding 180ms cubic-bezier(.22, 1, .36, 1), transform 180ms cubic-bezier(.22, 1, .36, 1); }
.process-row:hover { padding-left: 14px; background: rgba(255,255,255,.04); transform: translateY(-1px); }
.process-row > span { color: var(--accent); font: 10px var(--font-mono); }
.process-row h3 { margin: 0; font-size: 26px; letter-spacing: -.05em; }
.process-row p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }

.industry-grid { grid-template-columns: repeat(6, 1fr); gap: 1px; border: 1px solid rgba(15,23,42,.08); border-radius: var(--radius-lg); overflow: hidden; background: rgba(15,23,42,.06); box-shadow: 0 24px 70px rgba(15,23,42,.06); }
.industry-card { min-height: 260px; border: 0; border-radius: 0; background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(244,247,252,.66)); }
.industry-card h3 { margin-top: 100px; }

.standards { display: grid; grid-template-columns: repeat(7, 1fr); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.standards span { min-height: 100px; display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--muted); font: 11px "DM Mono", monospace; letter-spacing: .07em; }
.standards span:last-child { border-right: 0; }

.deliverable-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: .8fr 1.2fr; gap: 64px; padding: 40px; border: 1px solid rgba(255,255,255,.10); border-radius: var(--radius-lg); background: linear-gradient(135deg, rgba(12,18,31,.96), rgba(18,25,39,.88)); box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.deliverable-panel::after { content: ""; position: absolute; width: 450px; height: 450px; right: -180px; bottom: -220px; border-radius: 50%; background: radial-gradient(circle, rgba(71,85,105,.11), transparent 66%); }
.deliverable-panel h3 { margin: 18px 0; font-size: 39px; line-height: 1.05; letter-spacing: -.06em; }
.deliverable-panel p { color: var(--muted); line-height: 1.8; font-size: 15px; }
.deliverable-grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.deliverable { min-height: 88px; padding: 18px; border: 1px solid rgba(255,255,255,.10); border-radius: 22px; display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.06); font-size: 13px; box-shadow: 0 12px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter: blur(16px); }
.deliverable span { color: var(--accent); }

.insight-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.insight-card { overflow: hidden; border: 1px solid rgba(255,255,255,.10); border-radius: 28px; background: linear-gradient(145deg, rgba(14,20,34,.92), rgba(18,25,39,.84)); box-shadow: 0 16px 40px rgba(0,0,0,.18); transition: transform 180ms cubic-bezier(.22, 1, .36, 1), border-color 180ms cubic-bezier(.22, 1, .36, 1), box-shadow 180ms cubic-bezier(.22, 1, .36, 1); backdrop-filter: blur(16px) saturate(140%); }
.insight-card:hover { transform: translateY(-4px); border-color: rgba(148,163,184,.22); box-shadow: 0 24px 55px rgba(0,0,0,.28); }
.insight-art { position: relative; height: 220px; overflow: hidden; background:
    radial-gradient(circle at 30% 30%, rgba(71,85,105,.14), transparent 28%),
    radial-gradient(circle at 70% 60%, rgba(15,118,110,.12), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.86), rgba(242,246,251,.64)); }
.insight-art::before, .insight-art::after { content: ""; position: absolute; border: 1px solid rgba(71,85,105,.14); border-radius: 50%; }
.insight-art::before { width: 160px; height: 160px; left: calc(50% - 80px); top: calc(50% - 80px); }
.insight-art::after { width: 260px; height: 260px; left: calc(50% - 130px); top: calc(50% - 130px); }
.insight-art i { position: absolute; z-index: 2; width: 8px; height: 8px; left: calc(50% - 4px); top: calc(50% - 4px); border-radius: 50%; background: var(--accent); box-shadow: 0 0 26px var(--accent); }
.insight-body { padding: 22px; }
.insight-body h3 { margin: 16px 0 12px; font-size: 22px; line-height: 1.25; letter-spacing: -.045em; }
.insight-body p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.insight-body b { display: flex; gap: 8px; margin-top: 22px; color: var(--muted); font-size: 12px; }

.final-cta { position: relative; min-height: 620px; padding: 100px 24px; display: grid; place-items: center; overflow: hidden; text-align: center; border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(10,15,25,.92), rgba(7,11,20,.98)); }
.final-cta > div:not(.cta-glow) { position: relative; z-index: 2; max-width: 1000px; }
.final-cta h2 { font-size: clamp(46px, 6.3vw, 92px); }
.final-cta p { max-width: 570px; margin: 24px auto 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.final-cta .button-row { justify-content: center; }
.cta-glow { position: absolute; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(circle, rgba(71,85,105,.09), rgba(15,118,110,.05) 38%, transparent 68%); animation: breathe 10s cubic-bezier(.4, 0, .2, 1) infinite; }

.service-hero, .simple-hero { position: relative; min-height: 680px; padding: 160px max(24px, calc((100vw - var(--max)) / 2)) 80px; display: grid; grid-template-columns: 1.15fr .55fr; gap: 70px; align-items: center; overflow: hidden; border-bottom: 1px solid var(--line); }
.service-hero-copy { position: relative; z-index: 2; max-width: 950px; }
.service-hero h1 { font-size: clamp(54px, 6.4vw, 96px); }
.service-orbit { position: relative; width: 420px; height: 420px; justify-self: end; }
.orbit { position: absolute; border: 1px solid var(--line); border-radius: 50%; inset: 0; }
.orbit-2 { inset: 58px; }.orbit-3 { inset: 116px; }
.service-orbit i { position: absolute; inset: 158px; padding: 18px; border: 1px solid rgba(15,23,42,.08); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(239,243,248,.74)); color: var(--accent); box-shadow: 0 18px 40px rgba(15,23,42,.08), inset 0 1px 0 #fff; backdrop-filter: blur(18px); }
.service-orbit svg { width: 100%; height: 100%; }
.outcome-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.outcome-card { min-height: 220px; padding: 24px; border: 1px solid rgba(15,23,42,.08); border-radius: 28px; background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(247,249,253,.66)); display: flex; flex-direction: column; justify-content: space-between; box-shadow: 0 16px 40px rgba(15,23,42,.045), inset 0 1px 0 rgba(255,255,255,.85); backdrop-filter: blur(16px); }
.outcome-card span { color: var(--accent); }
.outcome-card h3 { max-width: 280px; margin: 0; font-size: 27px; letter-spacing: -.055em; }
.capability-layout { width: min(var(--max), 100%); margin: auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: start; }
.capability-layout h2 { font-size: clamp(42px, 5vw, 68px); }
.capability-list { border-top: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.55); border-radius: 28px; overflow: hidden; box-shadow: 0 20px 50px rgba(15,23,42,.05); backdrop-filter: blur(16px); }
.capability-row { min-height: 82px; display: grid; grid-template-columns: 70px 1fr; align-items: center; border-bottom: 1px solid rgba(15,23,42,.08); background: rgba(255,255,255,.6); }
.capability-row span { color: var(--dim); font: 10px "DM Mono", monospace; }
.capability-row h3 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.035em; }

.simple-hero { min-height: 600px; display: block; padding-top: 190px; }
.simple-hero h1 { max-width: 1050px; font-size: clamp(56px, 7vw, 105px); }
.simple-hero p { max-width: 600px; }
.about-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 70px; }
.about-grid h2 { margin: 18px 0 24px; font-size: clamp(42px, 5vw, 68px); letter-spacing: -.07em; line-height: 1.03; }
.about-grid p { color: var(--muted); font-size: 16px; line-height: 1.8; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--line); }
.value-card { min-height: 260px; padding: 24px; background: var(--bg-soft); }
.value-card span { color: var(--accent); font: 10px "DM Mono", monospace; }
.value-card h3 { margin: 84px 0 12px; font-size: 24px; letter-spacing: -.05em; }
.value-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

.contact-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 24px; }
.contact-form, .contact-aside { padding: 34px; border: 1px solid rgba(255,255,255,.10); border-radius: 30px; background: linear-gradient(145deg, rgba(12,18,31,.92), rgba(18,25,39,.84)); box-shadow: 0 18px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); }
.contact-form h2, .contact-aside h2 { margin: 18px 0 30px; font-size: 36px; letter-spacing: -.06em; }
.contact-form .contact-intro, .contact-aside > p { margin: 0 0 22px; color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 62ch; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 9px; margin-bottom: 18px; color: var(--muted); font-size: 12px; }
.field-full { grid-column: 1 / -1; }
.field input, .field textarea, .field select { width: 100%; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.05); color: #eef2ff; padding: 13px 14px; outline: none; transition: border-color 180ms cubic-bezier(.2, .8, .2, 1), background 180ms cubic-bezier(.2, .8, .2, 1), box-shadow 180ms cubic-bezier(.2, .8, .2, 1), transform 180ms cubic-bezier(.2, .8, .2, 1); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(191,219,254,.35); background: rgba(255,255,255,.08); box-shadow: 0 0 0 4px rgba(125,211,252,.08); }
.field input:hover, .field textarea:hover, .field select:hover { border-color: rgba(191,219,254,.22); }
.field textarea { min-height: 140px; resize: vertical; }
.field select option { background: var(--panel); }
.honeypot { position: absolute; left: -9999px; }
.form-status { min-height: 20px; margin: 14px 0 0; color: var(--muted); font-size: 12px; }
.contact-aside a { display: block; padding: 17px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; }
.contact-aside a { transition: color 180ms cubic-bezier(.2, .8, .2, 1), padding-left 180ms cubic-bezier(.2, .8, .2, 1); }
.contact-aside a:hover { color: var(--text); padding-left: 4px; }
.office-list { margin-top: 50px; }
.office-list span { display: block; color: var(--dim); font: 10px "DM Mono", monospace; text-transform: uppercase; }
.office-list p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.faq-list { max-width: 1000px; margin-left: auto; border-top: 1px solid rgba(255,255,255,.10); border-radius: 24px; overflow: hidden; background: rgba(9,14,25,.82); box-shadow: 0 20px 50px rgba(0,0,0,.22); backdrop-filter: blur(12px); }
.faq-list details { border-bottom: 1px solid rgba(255,255,255,.10); }
.faq-list summary { padding: 24px 20px; display: flex; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-size: 18px; font-weight: 600; letter-spacing: -.025em; transition: color 180ms cubic-bezier(.2, .8, .2, 1), background 180ms cubic-bezier(.2, .8, .2, 1); }
.faq-list summary:hover { color: #f4f7fb; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--accent); font-family: "DM Mono", monospace; }
.faq-list p { max-width: 720px; margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.75; }

.legal { max-width: 860px; }
.legal h2 { margin: 0 0 28px; font-size: 42px; letter-spacing: -.06em; }
.legal h3 { margin: 42px 0 12px; font-size: 22px; letter-spacing: -.04em; }
.legal p, .legal li { color: var(--muted); font-size: 14px; line-height: 1.8; }
.legal a { color: var(--accent); text-decoration: underline; }

.site-footer { padding: 72px 24px 22px; border-top: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, rgba(8,12,22,.98), rgba(5,8,16,1)); }
.footer-grid { width: min(var(--max), 100%); margin: auto; display: grid; grid-template-columns: 1.7fr 1fr 1fr .8fr; gap: 50px; padding-bottom: 70px; }
.footer-grid p { max-width: 330px; margin: 24px 0; color: var(--dim); font-size: 13px; line-height: 1.7; }
.footer-email { color: var(--muted); font-size: 13px; }
.footer-grid h3 { margin: 0 0 22px; color: var(--dim); font: 10px "DM Mono", monospace; letter-spacing: .1em; text-transform: uppercase; }
.footer-grid > div:not(:first-child) a { display: block; margin: 12px 0; color: var(--muted); font-size: 12px; transition: color 180ms cubic-bezier(.2, .8, .2, 1), transform 180ms cubic-bezier(.2, .8, .2, 1); }
.footer-grid a:hover { color: var(--text); transform: translateX(2px); }
.footer-bottom { width: min(var(--max), 100%); margin: auto; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: var(--dim); font: 10px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity 620ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms), transform 620ms cubic-bezier(.22, 1, .36, 1) var(--reveal-delay, 0ms); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
@keyframes pulse { 0%,100% { transform: scale(1); opacity: .8; } 50% { transform: scale(1.22); opacity: 1; } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes breathe { 0%,100% { transform: scale(.92); opacity: .7; } 50% { transform: scale(1.08); opacity: 1; } }

.site-header, .button, .button-ghost, .button-small, .service-card, .insight-card, .why-card, .method-card, .outcome-card, .contact-form, .contact-aside, .deliverable, .faq-list, .process-list, .metric-row, .technical-panel, .hero-console, .service-orbit i, .assurance-core, .assurance-chip, .capability-list, .deliverable-panel, .final-cta, .site-nav, .hero-marquee, .console-map, .console-stats { will-change: transform, box-shadow, background-color, opacity; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .js .reveal { opacity: 1; transform: none; }
  .hero-marquee, .cta-glow, .node { animation: none !important; }
  .button, .button-ghost, .service-card, .insight-card, .process-row, .field input, .field textarea, .field select, .contact-aside a, .footer-grid a, .site-nav > a:not(.button), .nav-toggle span { transition: none !important; }
}

html, body {
  background:
    radial-gradient(circle at 18% 10%, rgba(148,163,184,.12), transparent 28%),
    radial-gradient(circle at 82% 14%, rgba(125,211,252,.08), transparent 24%),
    linear-gradient(180deg, #050816 0%, #0a1020 55%, #0f172a 100%);
  color: #e8edf7;
  color-scheme: dark;
}

body::before { background: radial-gradient(circle, rgba(148,163,184,.12), transparent 68%); }
body::after { background: radial-gradient(circle, rgba(125,211,252,.08), transparent 70%); }

.site-header {
  border-color: rgba(148,163,184,.16);
  background: rgba(8, 12, 22, .72);
  box-shadow: 0 16px 40px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}
.site-header::before { background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03) 42%, rgba(125,211,252,.04) 100%); }
.site-header.is-scrolled { background: rgba(10,16,30,.88); box-shadow: 0 20px 50px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04); }
.brand, .site-nav { color: #d9e0ec; }
.site-header .brand-logo { height: 28px; }
.site-footer .brand-logo { height: 30px; }
.nav-toggle span { background: #eef2ff; }

.button {
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.08));
  color: #f8fbff;
  box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(20px) saturate(130%);
  -webkit-backdrop-filter: blur(20px) saturate(130%);
}
.button:hover {
  border-color: rgba(255,255,255,.28);
  box-shadow: 0 18px 36px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
}
.button-ghost {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: #eef2ff;
  box-shadow: 0 12px 28px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.06);
}
.button-ghost:hover { background: rgba(255,255,255,.12); }
.eyebrow, .hero-marquee, .marquee-track, .metric p, .console-top, .card-top, .site-nav, .footer-grid h3, .footer-bottom, .standards span, .office-list span, .faq-list summary span { color: #97a4ba; }

.hero, .section, .service-hero, .simple-hero, .next-gen-section { color: #e8edf7; }
.hero::before { background: radial-gradient(circle, rgba(125,211,252,.10), transparent 62%); }
.hero-noise { opacity: .10; background-image: radial-gradient(rgba(255,255,255,.12) .65px, transparent .65px); }
.hero h1, .service-hero h1, .simple-hero h1, .section-heading h2, .capability-layout h2, .final-cta h2, .deliverable-panel h3, .next-gen-copy h2, .about-grid h2, .contact-form h2, .contact-aside h2, .legal h2 { color: #f4f7fb; }
.hero h1 span { color: #a2adbf; }
.hero-copy > p, .service-hero-copy > p, .simple-hero > p, .section-heading p, .capability-layout p, .why-card p, .industry-card p, .method-card p, .deliverable-panel p, .insight-body p, .final-cta p, .about-grid p, .legal p, .legal li, .office-list p, .faq-list p { color: #aab4c7; }

.hero-console, .metric-row, .service-grid, .industry-grid, .why-card, .industry-card, .method-card, .process-list, .insight-card, .deliverable-panel, .deliverable, .outcome-card, .capability-list, .capability-row, .contact-form, .contact-aside, .faq-list, .value-card {
  border-color: rgba(148,163,184,.14);
  background: var(--surface);
  box-shadow: var(--shadow-panel), inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-console::before, .service-card::before, .insight-card::before, .why-card::before, .industry-card::before, .method-card::before, .deliverable-panel::after, .cta-glow {
  opacity: .7;
}
.hero-console {
  border-color: rgba(148,163,184,.16);
  background: linear-gradient(145deg, rgba(14,20,34,.96), rgba(9,14,26,.88));
  box-shadow: 0 42px 100px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
}
.hero-console::before { background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02) 40%, rgba(125,211,252,.04)); }
.console-map {
  border-color: rgba(148,163,184,.16);
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01)),
    linear-gradient(rgba(148,163,184,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148,163,184,.08) 1px, transparent 1px);
}
.console-map::after { background: radial-gradient(circle at 60% 44%, rgba(125,211,252,.10), transparent 36%); }
.node { border-color: rgba(191,219,254,.95); background: #111827; box-shadow: 0 0 0 7px rgba(125,211,252,.08), 0 0 28px rgba(125,211,252,.20); }
.trace { background: linear-gradient(90deg, rgba(148,163,184,.9), rgba(148,163,184,.08)); }
.console-stats { border-color: rgba(148,163,184,.14); background: rgba(255,255,255,.06); }
.console-stats div { background: rgba(9,14,25,.92); }
.hero-marquee { border-color: rgba(148,163,184,.12); background: rgba(8,12,22,.76); }
.marquee-track span::before { color: #c5d0e5; }

.section-dark, .section-muted, .technical-section, .article-research {
  background: transparent;
}
.section-muted { border-top-color: rgba(148,163,184,.08); border-bottom-color: rgba(148,163,184,.08); }
.metric-row, .service-grid, .industry-grid, .values-grid, .standards, .capability-list { background: rgba(255,255,255,.04); border-color: rgba(148,163,184,.14); }
.metric, .service-card, .insight-card, .why-card, .industry-card, .method-card, .outcome-card, .contact-form, .contact-aside, .deliverable, .faq-list, .process-list, .technical-panel, .capability-row, .value-card {
  background: var(--surface-strong);
  border-color: rgba(148,163,184,.14);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.03);
}
.metric strong em, .service-card b span, .deliverable span, .outcome-card span { color: #c7d0de; }
.service-card, .insight-card, .assurance-stage { transform: perspective(1000px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)); transform-style: preserve-3d; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; }
.service-card { background: var(--surface-accent); border-color: rgba(148,163,184,.14); }
.service-card::before { background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02) 42%, rgba(125,211,252,.03) 100%); }
.service-card::after { background: radial-gradient(circle, rgba(125,211,252,.08), transparent 68%); }
.service-card:hover { background: linear-gradient(145deg, rgba(16,22,36,.98), rgba(20,28,44,.88)); box-shadow: 0 24px 55px rgba(0,0,0,.36); }
.icon {
  border-color: rgba(148,163,184,.16);
  color: #e8edf7;
  background: rgba(255,255,255,.06);
  box-shadow: 0 12px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
}
.why-card h3, .industry-card h3, .method-card h3, .service-card h3, .insight-body h3, .deliverable-panel h3, .next-gen-copy h2, .final-cta h2, .process-row h3, .outcome-card h3, .capability-row h3, .about-grid h2 { color: #f3f6fb; }
.service-card p, .insight-body p, .why-card p, .industry-card p, .method-card p, .process-row p, .deliverable-panel p, .outcome-card p, .capability-layout p, .faq-list p, .form-status, .contact-aside a, .office-list p, .footer-grid p, .footer-email, .footer-grid > div:not(:first-child) a, .footer-bottom, .legal p, .legal li { color: #a7b1c3; }
.why-card, .industry-card, .method-card { background: linear-gradient(145deg, rgba(14,20,34,.88), rgba(18,26,42,.82)); }
.why-card span, .method-card > span, .trigger-card span, .technical-panel ol li::before, .technical-panel ul li::before { color: #8fa0ba; }
.process-list { background: rgba(9,14,25,.84); }
.process-row { border-bottom-color: rgba(148,163,184,.12); }
.process-row:hover { background: rgba(255,255,255,.04); }
.industry-card { background: linear-gradient(145deg, rgba(14,20,34,.90), rgba(18,26,42,.82)); }
.deliverable-panel { background: linear-gradient(135deg, rgba(12,18,31,.96), rgba(18,25,39,.88)); box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.deliverable-panel::after { background: radial-gradient(circle, rgba(125,211,252,.10), transparent 66%); }
.deliverable { background: rgba(255,255,255,.06); }
.insight-card { background: linear-gradient(145deg, rgba(14,20,34,.92), rgba(18,25,39,.84)); }
.insight-card:hover { border-color: rgba(148,163,184,.22); }
.insight-art {
  background:
    radial-gradient(circle at 30% 30%, rgba(125,211,252,.10), transparent 28%),
    radial-gradient(circle at 70% 60%, rgba(148,163,184,.10), transparent 30%),
    linear-gradient(145deg, rgba(14,20,34,.94), rgba(18,25,39,.84));
}
.insight-art::before, .insight-art::after { border-color: rgba(148,163,184,.18); }
.insight-art i { background: #dbe4f1; box-shadow: 0 0 26px rgba(125,211,252,.35); }

.final-cta {
  border-top-color: rgba(148,163,184,.08);
  background: linear-gradient(180deg, rgba(10,15,25,.92), rgba(7,11,20,.98));
}
.cta-glow { background: radial-gradient(circle, rgba(125,211,252,.10), rgba(148,163,184,.06) 38%, transparent 68%); }

.service-hero, .simple-hero {
  border-bottom-color: rgba(148,163,184,.12);
}
.service-orbit .orbit { border-color: rgba(148,163,184,.16); }
.service-orbit i {
  border-color: rgba(148,163,184,.16);
  color: #eef2ff;
  background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
}
.outcome-card { background: linear-gradient(145deg, rgba(14,20,34,.92), rgba(18,25,39,.84)); }
.capability-list { background: rgba(9,14,25,.82); }
.capability-row { background: rgba(255,255,255,.02); border-bottom-color: rgba(148,163,184,.12); }
.value-card { background: rgba(14,20,34,.84); }
.contact-form, .contact-aside { background: linear-gradient(145deg, rgba(12,18,31,.92), rgba(18,25,39,.84)); }
.field input, .field textarea, .field select {
  border-color: rgba(148,163,184,.18);
  background: rgba(255,255,255,.05);
  color: #eef2ff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.field input:focus, .field textarea:focus, .field select:focus { border-color: rgba(191,219,254,.4); background: rgba(255,255,255,.08); box-shadow: 0 0 0 4px rgba(125,211,252,.08); }
.field select option { background: #0f172a; }
.faq-list { background: rgba(9,14,25,.82); }
.faq-list details { border-bottom-color: rgba(148,163,184,.12); }
.site-footer { border-top-color: rgba(148,163,184,.08); background: linear-gradient(180deg, rgba(8,12,22,.98), rgba(5,8,16,1)); }

.next-gen-section { overflow: hidden; }
.next-gen-layout {
  min-height: 520px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 80px;
  align-items: center;
  padding: 48px;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(11,16,28,.96), rgba(16,22,36,.9) 48%, rgba(9,14,25,.95));
  box-shadow: 0 30px 80px rgba(0,0,0,.36);
}
.next-gen-copy h2 { max-width: 620px; margin: 18px 0 22px; font-size: clamp(42px, 5vw, 70px); letter-spacing: -.075em; line-height: 1; }
.next-gen-copy p { max-width: 590px; margin: 0; color: #aab4c7; font-size: 15px; line-height: 1.8; }
.assurance-stage {
  position: relative;
  min-height: 410px;
  border: 1px solid rgba(148,163,184,.16);
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at center, rgba(125,211,252,.10), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.94), rgba(9,14,25,.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 20px 60px rgba(0,0,0,.32);
}
.assurance-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .28;
  background-image: radial-gradient(rgba(148,163,184,.22) .6px, transparent .6px);
  background-size: 18px 18px;
}
.assurance-core {
  position: absolute;
  z-index: 3;
  width: 180px;
  height: 180px;
  left: calc(50% - 90px);
  top: calc(50% - 90px);
  padding: 30px;
  display: grid;
  align-content: center;
  text-align: center;
  border: 1px solid rgba(191,219,254,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  box-shadow: 0 20px 50px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  animation: core-breathe 5s ease-in-out infinite;
}
.assurance-core span { color: #9ca7bb; font: 9px "DM Mono", monospace; text-transform: uppercase; }
.assurance-core strong { margin-top: 8px; font-size: 18px; line-height: 1.2; letter-spacing: -.04em; color: #f4f7fb; }
.assurance-chip {
  position: absolute;
  z-index: 4;
  padding: 10px 14px;
  border: 1px solid rgba(148,163,184,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  box-shadow: 0 12px 30px rgba(0,0,0,.18);
  color: #eef2ff;
  font-size: 12px;
  font-weight: 700;
  backdrop-filter: blur(14px);
  transition: transform .25s ease, box-shadow .25s ease;
}
.assurance-chip:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(0,0,0,.22); }
.chip-ai { left: 11%; top: 18%; animation: float-a 6s ease-in-out infinite; }
.chip-red { right: 9%; top: 20%; animation: float-b 7s ease-in-out infinite; }
.chip-chain { left: 13%; bottom: 18%; animation: float-b 6.5s ease-in-out infinite; }
.chip-ot { right: 12%; bottom: 17%; animation: float-a 7.5s ease-in-out infinite; }
.assurance-orbit {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.orbit-a { width: 300px; height: 300px; animation: orbit-spin 24s linear infinite; }
.orbit-b { width: 440px; height: 440px; border-color: rgba(125,211,252,.12); animation: orbit-spin 34s linear infinite reverse; }

.service-catalog .section-heading { margin-top: 88px; margin-bottom: 30px; }
.service-catalog .section-heading:first-child { margin-top: 0; }
.service-ai-security-testing, .service-ai-red-teaming { background: linear-gradient(145deg, rgba(12,18,31,.94), rgba(17,24,39,.86)); }
.service-ai-security-testing .icon, .service-ai-red-teaming .icon { color: #dbe4f1; background: rgba(255,255,255,.06); }
.service-cloud-security, .service-attack-surface-review, .service-ot-iot-security { background: linear-gradient(145deg, rgba(12,18,31,.92), rgba(16,22,36,.86)); }
.service-cloud-security .icon, .service-attack-surface-review .icon, .service-ot-iot-security .icon { color: #dbe4f1; background: rgba(255,255,255,.06); }
.service-red-teaming .icon, .service-incident-readiness .icon { color: #e8edf7; background: rgba(255,255,255,.06); }
.service-software-supply-chain-security .icon, .service-secure-code-review .icon, .service-devsecops-review .icon { color: #e8edf7; background: rgba(255,255,255,.06); }
.technical-section, .article-research { background: linear-gradient(180deg, rgba(8,12,22,.96), rgba(11,16,28,.98)); }
.technical-grid { display: grid; grid-template-columns: 1.12fr 1fr .82fr; gap: 18px; align-items: stretch; }
.technical-panel {
  min-height: 310px;
  padding: 26px;
  border: 1px solid rgba(148,163,184,.14);
  border-radius: 24px;
  background: rgba(11,16,28,.84);
  box-shadow: 0 18px 45px rgba(0,0,0,.24);
  backdrop-filter: blur(16px);
}
.technical-panel li { position: relative; margin-top: 18px; padding: 0 0 18px 34px; border-bottom: 1px solid rgba(148,163,184,.12); color: #aab4c7; font-size: 13px; line-height: 1.7; }
.technical-references { background: linear-gradient(145deg, rgba(12,18,31,.94), rgba(17,24,39,.86)); }
.technical-references a { color: #eef2ff; }
.technical-references a span, .reference-note { color: #9ca7bb; }

@keyframes core-breathe { 0%,100% { transform: scale(.98); } 50% { transform: scale(1.04); } }
@keyframes float-a { 0%,100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes float-b { 0%,100% { translate: 0 0; } 50% { translate: 0 9px; } }
@keyframes orbit-spin { to { rotate: 360deg; } }

@media (max-width: 820px) {
  .site-nav { background: rgba(5,8,16,.96); border-top-color: rgba(148,163,184,.14); }
  .next-gen-layout { grid-template-columns: 1fr; gap: 34px; padding: 28px; }
  .technical-grid { grid-template-columns: 1fr; }
  .technical-panel { min-height: auto; }
}

@media (max-width: 560px) {
  .next-gen-layout { padding: 22px; border-radius: 26px; }
  .next-gen-copy h2 { font-size: 42px; }
  .assurance-stage { min-height: 320px; border-radius: 22px; }
  .assurance-core { width: 140px; height: 140px; left: calc(50% - 70px); top: calc(50% - 70px); padding: 20px; }
  .assurance-core strong { font-size: 15px; }
  .orbit-a { width: 230px; height: 230px; }
  .orbit-b { width: 340px; height: 340px; }
  .assurance-chip { padding: 8px 10px; font-size: 10px; }
}

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding-top: 150px; }
  .hero-console { justify-self: stretch; width: 100%; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(3, 1fr); }
  .standards { grid-template-columns: repeat(4, 1fr); }
  .standards span { border-bottom: 1px solid var(--line); }
}

@media (max-width: 820px) {
  .nav-shell { width: calc(100% - 32px); }
  .nav-toggle { display: block; }
  .site-nav { position: fixed; inset: 76px 0 auto 0; min-height: calc(100vh - 76px); padding: 28px 24px; display: none; flex-direction: column; align-items: stretch; gap: 8px; background: rgba(7,9,13,.98); border-top: 1px solid var(--line); }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.button) { padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 16px; }
  .site-nav .button { margin-top: 16px; }
  .brand-logo { height: 24px; }
  .site-footer .brand-logo { height: 28px; }
  .section { padding: 86px 20px; }
  .section-heading, .capability-layout, .deliverable-panel, .contact-layout, .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .metric-row { grid-template-columns: repeat(2, 1fr); }
  .metric:nth-child(2) { border-right: 0; }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .why-grid, .method-grid, .values-grid, .insight-grid { grid-template-columns: repeat(2, 1fr); }
  .collab-grid { grid-template-columns: 1fr; }
  .process-row { grid-template-columns: 50px 1fr; padding: 22px 0; gap: 12px; }
  .process-row p { grid-column: 2; }
  .service-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 145px; }
  .service-orbit { display: none; }
  .outcome-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .hero { padding: 130px 20px 96px; gap: 45px; }
  .hero h1, .service-hero h1, .simple-hero h1 { font-size: 52px; }
  .hero-copy > p, .service-hero-copy > p, .simple-hero > p { font-size: 15px; }
  .hero-console { min-height: 390px; border-radius: 15px; }
  .console-map { min-height: 230px; margin: 18px; }
  .console-stats { margin: 0 18px 18px; }
  .console-stats div { padding: 10px; }
  .console-stats strong { font-size: 18px; }
  .button-row { flex-direction: column; align-items: stretch; }
  .section-heading h2, .capability-layout h2, .final-cta h2 { font-size: 42px; }
  .service-grid, .why-grid, .method-grid, .values-grid, .insight-grid, .industry-grid, .deliverable-grid, .form-grid { grid-template-columns: 1fr; }
  .collab-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 310px; }
  .metric-row { grid-template-columns: 1fr; }
  .metric { border-right: 0; border-bottom: 1px solid var(--line); }
  .metric:last-child { border-bottom: 0; }
  .metric strong { margin-top: 25px; }
  .industry-card { min-height: 200px; }
  .industry-card h3 { margin-top: 55px; }
  .standards { grid-template-columns: repeat(2, 1fr); }
  .deliverable-panel { padding: 24px; }
  .final-cta { min-height: 520px; }
  .simple-hero { min-height: 520px; padding: 150px 20px 70px; }
  .service-hero { padding: 140px 20px 70px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .brand-logo { height: 22px; }
  .site-footer .brand-logo { height: 26px; }
}
