:root{
  /* ---- Brand: Teal (primary) ---- */
  --teal-50:#ECFEFB; --teal-100:#CDF8F1; --teal-200:#9DF0E6; --teal-300:#5FE3D6;
  --teal-400:#22CFBE; --teal-500:#0FB5AC; --teal-600:#0A958D; --teal-700:#0C7570;
  --teal-800:#0F5C58; --teal-900:#114B49; --teal-950:#042B2A;
  /* ---- Accent: Cyan ---- */
  --cyan-300:#6FE6F4; --cyan-400:#2BD4E8; --cyan-500:#06BCD4; --cyan-600:#0497B0;
  /* ---- Neutrals: cool slate, faint teal tint ---- */
  --ink-950:#051318; --ink-900:#0A1F25; --ink-800:#182C33; --ink-700:#2F444B;
  --ink-600:#4B5F67; --ink-500:#6A7D85; --ink-400:#93A4AB; --ink-300:#BFCBD0;
  --ink-200:#DDE5E8; --ink-100:#EDF2F4; --ink-50:#F5F9FA; --white:#FFFFFF;
  /* ---- Semantic status ---- */
  --success:#16A34A; --success-bg:#E7F7EC; --warning:#D9970A; --warning-bg:#FBF1DA;
  --danger:#E0483D; --danger-bg:#FBE7E5; --info:var(--teal-500); --info-bg:var(--teal-50);
  /* ---- Semantic surfaces (light) ---- */
  --bg:var(--white); --surface:var(--white); --surface-muted:var(--ink-50);
  --surface-sunken:var(--ink-100); --surface-dark:var(--ink-950); --surface-dark-2:#0C262D;
  /* ---- Semantic text (light) ---- */
  --fg1:var(--ink-950); --fg2:var(--ink-600); --fg3:var(--ink-400);
  --fg-on-dark:#EAF4F4; --fg-on-dark-muted:#8FA9AC; --fg-on-brand:#FFFFFF;
  /* ---- Semantic lines (light) ---- */
  --border:var(--ink-200); --border-strong:var(--ink-300); --border-dark:#1C353B;
  --ring:color-mix(in oklab, var(--teal-500) 45%, transparent);
  /* ---- Gradients ---- */
  --grad-brand:linear-gradient(120deg, var(--teal-500) 0%, var(--cyan-500) 100%);
  --grad-brand-soft:linear-gradient(120deg, var(--teal-50) 0%, #E4FBFA 100%);
  --grad-dark:linear-gradient(155deg, #0A1F25 0%, #051318 60%, #07211F 100%);
  --grad-mesh:radial-gradient(60% 80% at 80% 0%, rgba(43,212,232,0.22) 0%, transparent 60%),
              radial-gradient(50% 70% at 10% 100%, rgba(15,181,172,0.20) 0%, transparent 55%);
  /* ---- Typography ---- */
  --font-display:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-text:"Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --text-xs:12px; --text-sm:14px; --text-base:16px; --text-md:18px; --text-lg:20px;
  --text-xl:24px; --text-2xl:30px; --text-3xl:38px; --text-4xl:48px; --text-5xl:62px;
  --tracking-caps:.12em; --tracking-wide:.04em; --tracking-tight:-.02em;
  /* ---- Radii / spacing / shadow ---- */
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:28px; --radius-full:999px;
  --shadow-xs:0 1px 2px rgba(5,19,24,.06);
  --shadow-sm:0 1px 3px rgba(5,19,24,.08), 0 1px 2px rgba(5,19,24,.05);
  --shadow-md:0 4px 12px rgba(5,19,24,.08), 0 2px 4px rgba(5,19,24,.05);
  --shadow-lg:0 12px 32px rgba(5,19,24,.10), 0 4px 10px rgba(5,19,24,.06);
  --shadow-brand:0 10px 30px rgba(15,181,172,.30);
  --maxw:1180px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:var(--ink-950); --surface:#0C262D; --surface-muted:#0F2F37; --surface-sunken:#123640;
    --fg1:var(--fg-on-dark); --fg2:var(--fg-on-dark-muted); --fg3:#5E7F83;
    --border:var(--border-dark); --border-strong:#28474E;
    --info-bg:#0C262D;
  }
}
:root[data-theme="dark"]{
  --bg:var(--ink-950); --surface:#0C262D; --surface-muted:#0F2F37; --surface-sunken:#123640;
  --fg1:var(--fg-on-dark); --fg2:var(--fg-on-dark-muted); --fg3:#5E7F83;
  --border:var(--border-dark); --border-strong:#28474E;
  --info-bg:#0C262D;
}

*{box-sizing:border-box;}
[hidden]{display:none!important;}
body{margin:0;background:var(--bg);color:var(--fg1);font-family:var(--font-text);font-size:var(--text-base);line-height:1.6;}
img{max-width:100%;}
h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.08;text-wrap:balance;margin:0;color:var(--fg1);}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:24px;}
.eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--teal-600);display:flex;align-items:center;gap:.6em;}
@media (prefers-color-scheme:dark){ .eyebrow{color:var(--teal-400);} }
:root[data-theme="dark"] .eyebrow{color:var(--teal-400);}
.eyebrow .idx{color:var(--fg3);}

.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-text);font-weight:600;font-size:14.5px;padding:.85em 1.4em;border-radius:var(--radius-full);border:1px solid var(--border-strong);text-decoration:none;color:var(--fg1);background:transparent;white-space:nowrap;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn:hover{transform:translateY(-1px);}
.btn-solid{background:var(--grad-brand);color:var(--fg-on-brand);border-color:transparent;box-shadow:var(--shadow-brand);}
.btn-outline{background:var(--surface);}
.btn-outline:hover{border-color:var(--teal-500);}

header.site{position:sticky;top:0;z-index:50;background:color-mix(in srgb, var(--bg) 86%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:16px;flex-wrap:wrap;}
.logo{display:flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:700;font-size:19px;text-decoration:none;color:var(--fg1);}
nav.primary{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:14.5px;font-weight:500;}
nav.primary a{text-decoration:none;color:var(--fg2);}
nav.primary a:hover{color:var(--teal-600);}

.hero{padding-block:68px 60px;border-bottom:1px solid var(--border);background-image:var(--grad-mesh);}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(34px,5vw,56px);margin-block:18px 20px;letter-spacing:var(--tracking-tight);}
.hero .tagline{font-family:var(--font-mono);font-size:14.5px;color:var(--teal-600);letter-spacing:var(--tracking-wide);margin-bottom:22px;}
@media (prefers-color-scheme:dark){ .hero .tagline{color:var(--teal-400);} }
:root[data-theme="dark"] .hero .tagline{color:var(--teal-400);}
.hero p.lede{font-size:17.5px;color:var(--fg2);max-width:52ch;margin-bottom:30px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.signal-card{border:1px solid var(--border-dark);border-radius:var(--radius-xl);background:var(--grad-dark);box-shadow:var(--shadow-lg);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.signal-svg .facet{stroke:rgba(111,230,244,0.22);stroke-width:.75;stroke-linejoin:round;}
.signal-svg .rim{fill:none;stroke:var(--cyan-400);stroke-width:1.4;opacity:.55;}
.signal-svg .edge-live{stroke:url(#gradline);stroke-width:1.4;fill:none;stroke-dasharray:5 9;animation:dash 6s linear infinite;opacity:.75;}
.signal-svg .node{fill:var(--cyan-300);}
.signal-svg .node-dim{fill:var(--teal-500);opacity:.7;}
.signal-svg .scan{fill:var(--cyan-300);opacity:.5;transform-origin:150px 108px;animation:scan 4s ease-in-out infinite;}
@keyframes scan{0%,100%{transform:translateY(-42px);opacity:.15;}50%{transform:translateY(42px);opacity:.55;}}
@media (prefers-reduced-motion:reduce){ .signal-svg .scan{animation:none;transform:translateY(0);} }
@keyframes dash{to{stroke-dashoffset:-160;}}
@media (prefers-reduced-motion:reduce){ .signal-svg .edge-live{animation:none;} }

section{padding-block:64px;border-bottom:1px solid var(--border);}
section.no-border{border-bottom:none;}
.section-head{display:grid;grid-template-columns:1.1fr 1.9fr;gap:40px;margin-bottom:40px;}
.section-head h2{font-size:clamp(26px,3.2vw,36px);}
.section-head .desc{color:var(--fg2);max-width:56ch;font-size:16.5px;}

.about-body{display:grid;grid-template-columns:1.1fr 1.9fr;gap:40px;}
.about-body .lead{font-family:var(--font-display);font-size:22px;font-weight:500;line-height:1.4;}
.about-body .support p{color:var(--fg2);margin:0 0 14px;}
.about-body .support p:last-child{margin-bottom:0;}
.value-prop{font-family:var(--font-display);font-weight:600;font-size:clamp(19px,2.4vw,26px);color:var(--fg2);margin:28px 0 0;line-height:1.4;}
.value-prop .hl{color:var(--teal-600);}
@media (prefers-color-scheme:dark){ .value-prop .hl{color:var(--teal-300);} }
:root[data-theme="dark"] .value-prop .hl{color:var(--teal-300);}

.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service{padding:26px 22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:12px;min-height:190px;transition:box-shadow .15s ease, transform .15s ease;}
.service:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.service .num{font-family:var(--font-mono);font-size:12px;color:var(--teal-500);}
.service h3{font-size:19px;font-weight:600;}
.service p{color:var(--fg2);font-size:14.5px;margin:0;}

.industry-row{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.industry{background:var(--grad-dark);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;gap:8px;min-height:120px;justify-content:flex-end;box-shadow:var(--shadow-sm);}
.industry .tag{font-family:var(--font-mono);font-size:11px;color:var(--teal-300);letter-spacing:var(--tracking-wide);}
.industry h3{font-size:17px;font-weight:600;color:var(--fg-on-dark);}

.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.audience-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-xs);}
.audience-card .badge{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--info-bg);color:var(--teal-600);font-family:var(--font-mono);font-size:13px;}
@media (prefers-color-scheme:dark){ .audience-card .badge{color:var(--teal-300);} }
:root[data-theme="dark"] .audience-card .badge{color:var(--teal-300);}
.audience-card h3{font-size:19px;}
.audience-card ul{margin:0;padding-left:18px;color:var(--fg2);font-size:14.5px;display:flex;flex-direction:column;gap:6px;}

.careers-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.pillars{display:flex;flex-direction:column;gap:22px;}
.pillar{display:flex;gap:16px;}
.pillar .mark{font-family:var(--font-mono);color:var(--teal-500);font-size:13px;padding-top:4px;}
.pillar h4{font-size:16.5px;font-weight:700;margin:0 0 6px;font-family:var(--font-display);}
.pillar p{margin:0;color:var(--fg2);font-size:14.5px;}
.process-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;box-shadow:var(--shadow-xs);}
.process-card blockquote{font-family:var(--font-display);font-size:18px;margin:0 0 20px;color:var(--fg1);border-left:3px solid var(--teal-500);padding-left:16px;}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.steps li{display:flex;gap:12px;font-size:14.5px;color:var(--fg2);}
.steps .step-n{font-family:var(--font-mono);color:var(--fg1);flex-shrink:0;}
.no-tests{margin-top:18px;font-family:var(--font-mono);font-size:12.5px;color:var(--teal-600);}
@media (prefers-color-scheme:dark){ .no-tests{color:var(--teal-300);} }
:root[data-theme="dark"] .no-tests{color:var(--teal-300);}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.post-card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:10px;background:var(--surface);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-xs);transition:box-shadow .15s ease, transform .15s ease;}
.post-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.post-card .meta{font-family:var(--font-mono);font-size:11px;color:var(--fg3);letter-spacing:.04em;}
.post-card h3{font-size:16.5px;font-weight:600;line-height:1.35;}
.post-card p{margin:0;color:var(--fg2);font-size:13.5px;}
.post-card .read{margin-top:auto;font-family:var(--font-mono);font-size:12px;color:var(--teal-600);}
@media (prefers-color-scheme:dark){ .post-card .read{color:var(--teal-300);} }
:root[data-theme="dark"] .post-card .read{color:var(--teal-300);}

.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;}
.contact-grid h2{font-size:clamp(28px,3.6vw,42px);margin-bottom:16px;}
.contact-grid p.lede{color:var(--fg2);max-width:48ch;margin-bottom:26px;}
.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow-xs);}
.contact-card dl{margin:0;display:flex;flex-direction:column;gap:16px;}
.contact-card dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;color:var(--fg3);text-transform:uppercase;}
.contact-card dd{margin:2px 0 0;font-size:15.5px;}
.contact-card dd a{text-decoration:none;color:var(--fg1);border-bottom:1px solid var(--teal-500);}

footer.site{padding-block:36px;}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-family:var(--font-mono);font-size:12.5px;color:var(--fg3);}
.footer-row nav{display:flex;gap:20px;flex-wrap:wrap;}
.footer-row a{text-decoration:none;color:var(--fg3);}
.footer-row a:hover{color:var(--teal-600);}

/* blog post reader view */
.post-view{padding-block:52px 80px;}
.post-view .back{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:12.5px;color:var(--teal-600);text-decoration:none;margin-bottom:28px;}
@media (prefers-color-scheme:dark){ .post-view .back{color:var(--teal-300);} }
:root[data-theme="dark"] .post-view .back{color:var(--teal-300);}
.post-view .p-meta{font-family:var(--font-mono);font-size:12px;color:var(--fg3);letter-spacing:.05em;margin-bottom:14px;}
.post-view h1{font-size:clamp(28px,4vw,42px);margin-bottom:28px;max-width:22ch;}
.post-view .p-body{max-width:66ch;color:var(--fg2);font-size:17px;display:flex;flex-direction:column;gap:18px;}
.post-view .p-body p{margin:0;}
.post-view .p-body strong{color:var(--fg1);}
.post-view .p-body h3{font-family:var(--font-display);font-size:22px;font-weight:600;color:var(--fg1);}
.post-view figure{margin:0;}
.post-view figure img{width:100%;display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.post-view figcaption{margin-top:10px;font-family:var(--font-mono);font-size:12px;color:var(--fg3);}
.art-panel{background:var(--grad-dark);border:1px solid var(--border-dark);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:22px;display:flex;align-items:center;justify-content:center;}
.art-panel svg{width:100%;height:auto;display:block;}
.art-label{font-family:var(--font-mono);font-size:10px;letter-spacing:var(--tracking-caps);fill:var(--fg-on-dark-muted);}
.art-hub-label{font-family:var(--font-mono);font-size:11px;letter-spacing:var(--tracking-caps);fill:var(--fg-on-dark);}
.art-flow{stroke:url(#artgrad);stroke-width:1.6;fill:none;stroke-dasharray:5 8;animation:dash 5s linear infinite;opacity:.8;}
.art-line{stroke:var(--border-dark);stroke-width:1.4;fill:none;}
.pulse-ring{fill:none;stroke:var(--warning);stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:pulseRing 2.6s ease-out infinite;}
.pulse-ring.d2{animation-delay:1.3s;}
@keyframes pulseRing{0%{transform:scale(.55);opacity:.6;}100%{transform:scale(2.1);opacity:0;}}
@media (prefers-reduced-motion:reduce){ .art-flow{animation:none;} .pulse-ring{animation:none;opacity:0;} }

@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;}
  .section-head{grid-template-columns:1fr;}
  .about-body{grid-template-columns:1fr;}
  .service-list{grid-template-columns:repeat(2,1fr);}
  .industry-row{grid-template-columns:repeat(2,1fr);}
  .audience-grid{grid-template-columns:1fr;}
  .careers-grid{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  nav.primary{gap:16px;}
}
