/* =========================================================
   justworks.warren.digital · styles
   Light SaaS warmth: deep navy ink on warm white, cerulean
   accent (darkened for AA text), rounded cards, pill chips.
   Fonts: Public Sans (Google Fonts) with system fallbacks.
   ========================================================= */

:root{
  --paper:#FAF9F6;
  --paper-tint:#F3F1EA;
  --card:#FFFFFF;
  --ink:#1E2532;
  --ink-soft:#242B38;
  --muted:#4E576A;
  --line:#E4E0D5;
  --line-strong:#D2CDBF;
  --cerulean:#39B6E9;         /* decorative only */
  --accent-ink:#0B6E99;       /* AA text/links on paper */
  --accent-deep:#0A5876;
  --accent-wash:#DFF2FB;
  --amber-ink:#7A4E06;
  --amber-wash:#FBEED8;
  --red-ink:#9A2C20;
  --red-wash:#FBE5E1;
  --green-ink:#1B6E46;
  --ink-bg:#1E2532;
  --ink-bg-soft:#28303F;
  --ink-fg:#EFEDE6;
  --ink-muted:#B9BFCB;
  --radius:18px;
  --radius-lg:24px;
  --font:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.2,.7,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  font-size:17px;
  line-height:1.6;
  color:var(--ink-soft);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%}
a{color:var(--accent-ink)}
a:hover{color:var(--accent-deep)}
b,strong{font-weight:700;color:var(--ink)}
h1,h2,h3{color:var(--ink);line-height:1.15;margin:0 0 14px;letter-spacing:-0.01em}
h2{font-size:clamp(28px,4vw,40px);font-weight:800}
h3{font-size:22px;font-weight:700}
p{margin:0 0 16px}
p:last-child{margin-bottom:0}

.wrap{max-width:1080px;margin:0 auto;padding:0 24px}

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

/* ---------- skip link ---------- */
.skip{
  position:absolute;left:-999px;top:0;z-index:100;
  background:var(--ink);color:#fff;padding:10px 18px;border-radius:0 0 12px 0;
  font-weight:600;text-decoration:none;
}
.skip:focus{left:0}

/* ---------- private-link bar ---------- */
.privbar{background:var(--ink-bg);color:var(--ink-muted)}
.privbar p{
  max-width:1080px;margin:0 auto;padding:9px 24px;
  font-size:13px;line-height:1.5;
}
.privbar strong{color:#fff;font-weight:700}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(250,249,246,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;gap:22px;padding-top:12px;padding-bottom:12px}
.wordmark{
  font-weight:800;color:var(--ink);text-decoration:none;font-size:17px;letter-spacing:-0.01em;
}
.wordmark span{color:var(--accent-ink)}
.nav nav{margin-left:auto}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav-links a{
  display:block;padding:7px 12px;border-radius:999px;
  font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;
  transition:background .2s var(--ease),color .2s var(--ease);
}
.nav-links a:hover{background:var(--paper-tint);color:var(--ink)}
@media(max-width:900px){.nav nav{display:none}}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;padding:12px 24px;border-radius:999px;
  background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:15px;
  border:2px solid var(--ink);
  transition:transform .2s var(--ease),background .2s var(--ease),color .2s var(--ease);
}
.btn:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--paper-tint);color:var(--ink)}
.btn-sm{padding:8px 16px;font-size:13.5px}

/* ---------- hero ---------- */
.hero{padding:64px 0 30px;background:
  radial-gradient(900px 420px at 85% -10%,rgba(57,182,233,.14),transparent 62%),
  var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:48px;align-items:center}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}}
.hero-fact{
  font-size:15px;line-height:1.55;color:var(--muted);
  border-left:3px solid var(--cerulean);
  padding-left:14px;margin-bottom:22px;max-width:56ch;
}
.hero-fact b{color:var(--ink)}
h1{font-size:clamp(38px,6vw,60px);font-weight:800;letter-spacing:-0.02em;margin-bottom:18px}
h1 em{font-style:normal;color:var(--accent-ink)}
.hero-sub{font-size:19px;line-height:1.6;color:var(--muted);max-width:58ch;margin-bottom:26px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* hero card */
.hero-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px;box-shadow:0 18px 40px -24px rgba(30,37,50,.35);
}
.hc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.hc-title{font-weight:800;color:var(--ink);margin:0;font-size:17px}
.hc-badge{
  font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent-deep);background:var(--accent-wash);
  padding:4px 11px;border-radius:999px;white-space:nowrap;
}
.hc-rows{list-style:none;margin:0;padding:0}
.hc-rows li{
  display:grid;grid-template-columns:86px 1fr 22px;gap:10px;align-items:center;
  padding:11px 2px;border-top:1px solid var(--line);font-size:14.5px;
}
.hc-rows li:first-child{border-top:0}
.hc-k{font-weight:700;color:var(--ink)}
.hc-v{color:var(--muted)}
.hc-tick{
  width:18px;height:18px;border-radius:50%;background:var(--accent-wash);position:relative;
}
.hc-tick::after{
  content:"";position:absolute;left:5px;top:4px;width:5px;height:8px;
  border:2px solid var(--accent-deep);border-top:0;border-left:0;transform:rotate(40deg);
}
.hc-foot{
  margin:14px 0 0;padding-top:12px;border-top:1px solid var(--line);
  font-size:13px;color:var(--muted);
}

/* stats */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  margin-top:46px;padding-bottom:14px;
}
@media(max-width:880px){.stats{grid-template-columns:repeat(2,1fr)}}
.stat{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;
}
.stat-n{
  font-size:34px;font-weight:800;color:var(--ink);margin:0 0 4px;letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
}
.stat-l{font-size:13.5px;line-height:1.45;color:var(--muted);margin:0}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section-tint{background:var(--paper-tint)}
.kicker{
  font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-ink);margin:0 0 10px;
}
.section-lede{font-size:18px;color:var(--muted);max-width:70ch;margin-bottom:36px}

/* ---------- career ---------- */
.career{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.career-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px 30px;
}
.career-card header{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px;
}
.cc-org{font-size:19px;font-weight:800;color:var(--ink);margin:0}
.cc-role{font-size:14px;font-weight:600;color:var(--muted);margin:0}
.career-card p{font-size:16px;color:var(--ink-soft)}

/* ---------- audit ---------- */
.audit-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.filter-btn{
  font-family:inherit;font-size:13.5px;font-weight:700;
  padding:8px 16px;border-radius:999px;cursor:pointer;
  background:var(--card);color:var(--muted);border:1px solid var(--line-strong);
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.filter-btn:hover{color:var(--ink);border-color:var(--ink)}
.filter-btn.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}

.audit{display:grid;gap:12px}
.audit-row{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:box-shadow .25s var(--ease);
}
.audit-row.open{box-shadow:0 14px 34px -24px rgba(30,37,50,.4)}
.audit-row.filtered-out{display:none}
.audit-head{
  display:grid;grid-template-columns:44px 1fr auto 22px;gap:14px;align-items:center;
  width:100%;text-align:left;padding:18px 20px;
  background:transparent;border:0;cursor:pointer;font-family:inherit;
}
.audit-num{
  font-family:var(--mono);font-size:13px;font-weight:600;color:var(--muted);
  background:var(--paper-tint);border-radius:10px;padding:6px 0;text-align:center;
}
.audit-req{font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.45}
.audit-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.chip{
  display:inline-block;padding:4px 12px;border-radius:999px;
  font-size:12px;font-weight:700;letter-spacing:.02em;white-space:nowrap;
}
.chip-strong{background:var(--accent-wash);color:var(--accent-deep)}
.chip-partial{background:var(--amber-wash);color:var(--amber-ink)}
.chip-gap{background:var(--red-wash);color:var(--red-ink)}
.audit-caret{
  width:10px;height:10px;border:2px solid var(--muted);border-top:0;border-left:0;
  transform:rotate(45deg);transition:transform .25s var(--ease);justify-self:center;
}
.audit-row.open .audit-caret{transform:rotate(225deg)}
.audit-body{padding:0 20px 20px 78px}
.audit-body p{font-size:15.5px;color:var(--ink-soft)}
.js .audit-row:not(.open) .audit-body{display:none}
@media(max-width:760px){
  .audit-head{grid-template-columns:1fr auto;grid-template-rows:auto auto;padding:16px}
  .audit-num{display:none}
  .audit-caret{display:none}
  .audit-chips{grid-column:1/-1;justify-content:flex-start}
  .audit-body{padding:0 16px 18px}
}

/* ---------- vendor rail ---------- */
.vrail{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px;margin-bottom:22px;
}
.vrail-tabs{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;
  position:relative;margin-bottom:20px;
}
@media(max-width:640px){.vrail-tabs{grid-template-columns:repeat(2,1fr)}}
.vtab{
  font-family:inherit;font-size:14.5px;font-weight:700;color:var(--muted);
  background:var(--paper-tint);border:1px solid var(--line);border-radius:14px;
  padding:12px 10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:9px;
  transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.vtab:hover{color:var(--ink);border-color:var(--line-strong)}
.vtab.is-active{background:var(--ink);border-color:var(--ink);color:#fff}
.vtab-n{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:800;
  background:var(--card);color:var(--muted);border:1px solid var(--line-strong);
}
.vtab.is-active .vtab-n{background:var(--cerulean);border-color:var(--cerulean);color:var(--ink)}
.vpanel{
  border-top:1px solid var(--line);padding-top:18px;
}
.vpanel + .vpanel{margin-top:18px}
.js .vpanel{margin-top:0}
.vpanel-tag{
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-ink);margin:0 0 8px;
}
.vpanel p{font-size:16px}
.vendor-honest{
  background:var(--card);border:1px solid var(--line);border-left:5px solid var(--amber-ink);
  border-radius:var(--radius);padding:22px 26px;
}
.vendor-honest p{font-size:15.5px;color:var(--ink-soft)}

/* ---------- systems ---------- */
.sys-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:30px;margin-bottom:22px;
}
.sys-head{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;
}
.sys-dom{
  font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent-ink);
}
.sys-head h3{margin:0;flex:1 1 auto}
.sys-status{
  font-size:12px;font-weight:700;color:var(--green-ink);
  background:#E4F2E9;padding:4px 12px;border-radius:999px;white-space:nowrap;
}
.sys-card > p{font-size:16px}
.sys-note{
  margin-top:16px;padding-top:14px;border-top:1px solid var(--line);
  font-size:14px;color:var(--muted);
}

/* ---------- intake interactive ---------- */
.intake{margin-top:24px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--paper);padding:20px}
.intake-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.intake-steps{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.istep{
  display:inline-flex;align-items:center;gap:7px;
  font-size:13px;font-weight:700;color:var(--muted);
  padding:6px 14px;border-radius:999px;border:1px solid var(--line-strong);
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.istep-dot{width:7px;height:7px;border-radius:50%;background:var(--line-strong);
  transition:background .25s var(--ease)}
.istep.is-on{background:var(--accent-wash);border-color:transparent;color:var(--accent-deep)}
.istep.is-on .istep-dot{background:var(--accent-deep)}
.intake-toggle{cursor:pointer;font-family:inherit}
.intake-stage{position:relative}
.intake-panel-label{
  font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);margin:0 0 12px;
}

/* the messy inbox */
.inbox{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:760px){.inbox{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.inbox{grid-template-columns:1fr}}
.inb{
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;
  min-height:110px;position:relative;
  transition:transform .5s var(--ease),opacity .5s var(--ease);
}
.inb-team{font-size:12px;font-weight:800;color:var(--ink);margin:0 0 6px}
.inb-file,.inb-note{font-size:12px;color:var(--muted);margin:0 0 10px;font-style:italic}
.inb-file{font-family:var(--mono);font-style:normal}
.inb-sheet{transform:rotate(-1.2deg)}
.inb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.inb-grid i{display:block;height:9px;background:var(--paper-tint);border:1px solid var(--line)}
.inb-sticky{transform:rotate(1.4deg);background:#FDF7E3;border-color:#EBDFB6}
.inb-stickies{display:flex;gap:6px}
.inb-stickies i{display:block;width:34px;height:30px;background:#F6E9B8;border-radius:2px;box-shadow:0 2px 3px rgba(30,37,50,.12)}
.inb-stickies i:nth-child(2){transform:rotate(4deg)}
.inb-stickies i:nth-child(3){transform:rotate(-5deg);background:#EFDFA9}
.inb-doc .inb-lines i{display:block;height:6px;border-radius:3px;background:var(--paper-tint);margin-bottom:5px}
.inb-doc .inb-lines i:nth-child(2){width:82%}
.inb-doc .inb-lines i:nth-child(3){width:91%}
.inb-doc .inb-lines i:nth-child(4){width:64%}
.inb-urgent{transform:rotate(-1.6deg);border-color:#EFC9C2}
.inb-flag{
  display:inline-block;font-size:13px;font-weight:800;letter-spacing:.06em;
  color:var(--red-ink);background:var(--red-wash);padding:5px 12px;border-radius:6px;
}
.inb-mail{transform:rotate(.9deg)}
.inb-thread i{display:block;height:16px;border-left:3px solid var(--line-strong);margin:0 0 4px 6px}
.inb-thread i:nth-child(2){margin-left:16px;height:14px}
.inb-cal{transform:rotate(1.1deg)}
.inb-date{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:2px solid var(--red-ink);
  font-size:16px;font-weight:800;color:var(--ink);
}

/* collapsing animation */
.js .intake.done .inb{opacity:0;transform:translateY(-14px) scale(.92)}
.js .intake.done .inb:nth-child(2){transition-delay:40ms}
.js .intake.done .inb:nth-child(3){transition-delay:80ms}
.js .intake.done .inb:nth-child(4){transition-delay:120ms}
.js .intake.done .inb:nth-child(5){transition-delay:160ms}
.js .intake.done .inb:nth-child(6){transition-delay:200ms}
.js .intake.done .intake-before{position:absolute;inset:0;pointer-events:none}
.js .intake.done .intake-before .intake-panel-label{opacity:0}
.intake-before .intake-panel-label{transition:opacity .3s var(--ease)}

/* the ordered plan */
.intake-after{margin-top:22px}
.js .intake-after{display:none;margin-top:0}
.js .intake.done .intake-after{display:block;animation:planIn .5s var(--ease) both;animation-delay:.28s}
@keyframes planIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.plan{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.plan-row{
  display:grid;grid-template-columns:34px 170px 1fr auto;gap:12px;align-items:center;
  padding:11px 16px;border-top:1px solid var(--line);font-size:14px;
}
.plan-row:first-child{border-top:0}
@media(max-width:640px){
  .plan-row{grid-template-columns:28px 1fr;row-gap:2px}
  .plan-why{grid-column:2}
}
.plan-rank{
  display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;
  background:var(--accent-wash);color:var(--accent-deep);font-size:12px;font-weight:800;
}
.plan-team{font-weight:700;color:var(--ink);font-size:13px}
.plan-item{color:var(--ink-soft)}
.plan-why{font-size:12.5px;color:var(--muted);font-style:italic;white-space:nowrap}
.plan-foot{
  margin:12px 2px 0;font-size:13px;font-weight:600;color:var(--green-ink);
}
.intake-cap{margin:16px 2px 0;font-size:13px;color:var(--muted)}

/* ---------- resourcing tool row ---------- */
.sys-rt-row{display:grid;grid-template-columns:minmax(0,460px) 1fr;gap:28px;margin-top:24px;align-items:start}
@media(max-width:840px){.sys-rt-row{grid-template-columns:1fr}}
.rt-quote{
  margin:0 0 18px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--radius);padding:20px 22px;
}
.rt-quote p{font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.5}
.rt-quote footer{font-size:13px;font-weight:600;color:var(--muted);margin-top:10px}
.sys-rt-side .sys-note{border-top:0;padding-top:0}

/* ---------- AI leverage ---------- */
.ai-leverage{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  border-top:5px solid var(--cerulean);
  padding:28px 30px;
}
.ai-leverage p{font-size:16px}

/* =========================================================
   RESOURCING-TOOL MOTION CARD
   ~12s CSS-only loop, no JS, no images. Themeable via custom properties set
   inline on .rt-card, which is where the M3 tokens are wired in. Do not rename
   the rt- prefix and do not drop the reduced-motion block at the bottom.
   ========================================================= */
.rt-card{
  --rt-bg:#101014; --rt-panel:#17171d; --rt-fg:#f2f2f5; --rt-muted:#9a9aa8;
  --rt-line:rgba(255,255,255,.12); --rt-accent:#6f8cff; --rt-ok:#39c07f; --rt-warn:#ef6a5a;
  --rt-radius:14px;
  --rt-font:inherit; --rt-mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  position:relative; width:100%; max-width:460px; box-sizing:border-box;
  font-family:var(--rt-font); color:var(--rt-fg); background:var(--rt-bg);
  border:1px solid var(--rt-line); border-radius:var(--rt-radius);
  padding:18px 18px 16px; overflow:hidden; line-height:1.45;
}
.rt-card *,.rt-card *::before,.rt-card *::after{box-sizing:border-box}
.rt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--rt-line)}
.rt-head-t{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--rt-muted);font-weight:600;margin:0}
.rt-live{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:600;
  color:var(--rt-muted);font-variant-numeric:tabular-nums}
.rt-dot{width:6px;height:6px;border-radius:50%;background:var(--rt-accent);animation:rt-pulse 2s ease-in-out infinite}

/* stage keeps a stable height so nothing jumps */
.rt-stage{position:relative;min-height:206px}

/* --- step 1: what was said in the meeting --- */
.rt-said{display:flex;gap:10px;align-items:flex-start;opacity:0;transform:translateY(6px);
  animation:rt-said 12s cubic-bezier(.2,.7,.3,1) infinite}
.rt-av{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--rt-panel);
  border:1px solid var(--rt-line);display:flex;align-items:center;justify-content:center;
  font-size:9px;font-weight:700;color:var(--rt-muted)}
.rt-bub{flex:1 1 auto;background:var(--rt-panel);border:1px solid var(--rt-line);
  border-radius:10px;border-top-left-radius:3px;padding:9px 11px;font-size:12.5px;color:var(--rt-muted)}
.rt-bub b{color:var(--rt-fg);font-weight:600}

/* --- step 2: the decision, staged for a yes --- */
.rt-prop{margin-top:12px;border:1px solid var(--rt-line);border-left:3px solid var(--rt-accent);
  border-radius:10px;background:var(--rt-panel);padding:11px 12px;
  opacity:0;transform:translateY(8px) scale(.985);animation:rt-prop 12s cubic-bezier(.2,.7,.3,1) infinite}
.rt-prop-k{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--rt-muted);
  font-weight:700;margin:0 0 5px}
.rt-prop-b{font-size:13px;font-weight:600;margin:0;color:var(--rt-fg)}
.rt-prop-r{display:flex;align-items:center;gap:8px;margin-top:10px}
.rt-btn{font-size:11px;font-weight:600;padding:5px 11px;border-radius:999px;
  border:1px solid var(--rt-line);color:var(--rt-fg);background:transparent;position:relative;overflow:hidden}
.rt-btn-y{border-color:transparent;color:#fff;background:var(--rt-accent)}
.rt-btn-y::after{content:"";position:absolute;inset:0;background:#fff;opacity:0;animation:rt-press 12s linear infinite}
.rt-hint{font-size:10.5px;color:var(--rt-muted);margin-left:auto}

/* --- step 3: the plan re-balances --- */
.rt-grid{margin-top:13px;opacity:0;animation:rt-grid 12s cubic-bezier(.2,.7,.3,1) infinite}
.rt-grid-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.rt-grid-t{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--rt-muted);font-weight:700;margin:0}
.rt-stamp{font-size:9.5px;font-weight:700;color:var(--rt-ok);letter-spacing:.03em;
  opacity:0;animation:rt-stamp 12s ease-out infinite}
.rt-row{display:grid;grid-template-columns:64px 1fr 40px;align-items:center;gap:9px;margin-top:7px}
.rt-name{font-size:11.5px;color:var(--rt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-track{display:block;height:7px;border-radius:99px;background:var(--rt-line);overflow:hidden}
.rt-fill{display:block;height:100%;border-radius:99px;background:var(--rt-accent);width:60%}
.rt-fill-over{background:var(--rt-warn);width:100%;animation:rt-over 12s cubic-bezier(.4,0,.2,1) infinite}
.rt-fill-up{width:52%;animation:rt-up 12s cubic-bezier(.4,0,.2,1) infinite}
.rt-pct{position:relative;display:block;height:15px;font-size:10.5px;font-family:var(--rt-mono);
  color:var(--rt-muted);text-align:right;font-variant-numeric:tabular-nums}
.rt-num-before,.rt-num-after{position:absolute;right:0;top:0;white-space:nowrap}
.rt-foot{margin-top:14px;padding-top:11px;border-top:1px solid var(--rt-line);
  font-size:11px;color:var(--rt-muted);margin-bottom:0}

@keyframes rt-pulse{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes rt-said{
  0%{opacity:0;transform:translateY(6px)} 6%{opacity:1;transform:translateY(0)}
  82%{opacity:1;transform:translateY(0)} 92%,100%{opacity:0;transform:translateY(-4px)}}
@keyframes rt-prop{
  0%,16%{opacity:0;transform:translateY(8px) scale(.985)}
  24%,82%{opacity:1;transform:translateY(0) scale(1)}
  92%,100%{opacity:0;transform:translateY(-4px) scale(.99)}}
@keyframes rt-press{0%,43%{opacity:0}45%{opacity:.5}50%,100%{opacity:0}}
@keyframes rt-grid{
  0%,46%{opacity:0} 54%,86%{opacity:1} 94%,100%{opacity:0}}
@keyframes rt-stamp{0%,58%{opacity:0}66%,86%{opacity:1}94%,100%{opacity:0}}
@keyframes rt-over{0%,54%{width:100%;background:var(--rt-warn)}64%,100%{width:84%;background:var(--rt-accent)}}
@keyframes rt-up{0%,54%{width:52%}64%,100%{width:71%}}
/* swap the numbers with the bars using two spans */
.rt-num-before{animation:rt-numb 12s steps(1,end) infinite}
.rt-num-after{opacity:0;animation:rt-numa 12s steps(1,end) infinite}
@keyframes rt-numb{0%,54%{opacity:1}54.01%,100%{opacity:0}}
@keyframes rt-numa{0%,54%{opacity:0}54.01%,100%{opacity:1}}
.rt-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* narrow-column tuning: the card sits in a ~290px grid cell on this page */
.rt-card .rt-btn{white-space:nowrap}
.rt-card .rt-prop-r{flex-wrap:wrap;row-gap:6px}

@media (prefers-reduced-motion: reduce){
  .rt-card *{animation:none !important}
  .rt-said,.rt-prop,.rt-grid,.rt-stamp,.rt-num-after{opacity:1 !important;transform:none !important}
  .rt-num-before{display:none}
  .rt-fill-over{width:84%;background:var(--rt-accent)}
  .rt-fill-up{width:71%}
}

/* --- Justworks theme wrapper for the motion card (replaces the pattern's
       inline style line; CSP here is style-src 'self', no inline styles) --- */
.jw-rt .rt-card{
  --rt-bg:#FFFFFF;
  --rt-panel:#F3F5F8;
  --rt-fg:#1E2532;
  --rt-muted:#525C6F;
  --rt-line:rgba(30,37,50,.15);
  --rt-accent:#0B6E99;
  --rt-ok:#1B6E46;
  --rt-warn:#B0402D;
  --rt-radius:16px;
  --rt-font:var(--font);
  --rt-mono:var(--mono);
  border-color:var(--line);
  box-shadow:0 14px 34px -24px rgba(30,37,50,.35);
}
.jw-rt .rt-bub{margin:0}
.jw-rt .rt-fill-static{width:78%}
.jw-rt .rt-num-static{animation:none;opacity:1;display:inline}

/* ---------- quotes ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:840px){.quotes{grid-template-columns:1fr}}
.quote{
  margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:26px;display:flex;flex-direction:column;
}
.quote p{font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.55}
.quote footer{margin-top:auto;padding-top:16px;font-size:13px;font-weight:600;color:var(--muted)}

/* ---------- why (ink section) ---------- */
.section-ink{background:var(--ink-bg);color:var(--ink-fg)}
.section-ink h2,.section-ink h3{color:#fff}
.section-ink .kicker{color:var(--cerulean)}
.section-ink p{color:var(--ink-fg)}
.section-ink b{color:#fff}
.why-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
@media(max-width:880px){.why-cols{grid-template-columns:1fr}}
.why-main p{font-size:17px;line-height:1.7;color:var(--ink-fg)}
.why-plan{
  background:var(--ink-bg-soft);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);padding:26px;
}
.plan90{list-style:none;margin:0;padding:0}
.plan90 li{padding:16px 0;border-top:1px solid rgba(255,255,255,.12)}
.plan90 li:first-child{border-top:0;padding-top:4px}
.p90-when{
  font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--cerulean);margin:0 0 6px;
}
.plan90 p{font-size:14.5px;line-height:1.6;margin:0;color:var(--ink-muted)}
.plan90 .p90-when{color:var(--cerulean)}

/* ---------- contact ---------- */
.contact-wrap{text-align:center}
.contact-wrap .section-lede{margin-left:auto;margin-right:auto}
.contact-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.contact-meta{margin-top:26px;font-size:13.5px;color:var(--muted)}

/* ---------- footer ---------- */
.footer{background:var(--ink-bg);color:var(--ink-muted);padding:44px 0 54px}
.footer p{font-size:13.5px;line-height:1.65;max-width:76ch}
.footer a{color:#DCE6F2}
.footer-fine{margin-top:14px}

/* ---------- reveal + counters ---------- */
.js .reveal{opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- global reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  .btn,.audit-row,.audit-caret,.inb,.istep,.istep-dot,.vtab,.filter-btn{transition:none}
  .js .intake.done .inb{transition:none}
  .js .intake.done .intake-after{animation:none}
}

/* ---------- print ---------- */
@media print{
  .nav,.privbar,.hero-cta,.intake-toggle,.audit-filters{display:none}
  .js .audit-row:not(.open) .audit-body{display:block}
  body{background:#fff}
}
