/* ============================================================================
   IntelligentShortlist — section styles. All bound to semantic vars in
   theme.css so light/dark surface swaps cleanly.
   ============================================================================ */

/* Scroll-reveal (JS-driven; falls back to fully visible without JS) */
.js .reveal { opacity: 0; transform: translateY(16px); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); }
.js .reveal.in { opacity: 1; transform: none; }


/* ---------- Nav ---------- */
.is-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 90;
  display: flex; align-items: center; gap: 32px;
  padding: 16px 48px;
  background: rgba(244, 239, 228, 0.80);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hairline);
}
.is-nav-brand { display: flex; align-items: center; gap: 11px; }
.is-nav-word { font-family: var(--font-display); font-weight: 800; font-size: 19px; letter-spacing: -0.025em; color: var(--text); }
.is-nav-links { list-style: none; display: flex; gap: 30px; margin-left: 12px; flex: 1; }
.is-nav-links a { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); transition: color var(--dur-fast) var(--ease-out); }
.is-nav-links a:hover { color: var(--accent); }
@media (max-width: 920px) { .is-nav-links { display: none; } }
@media (max-width: 768px) { .is-nav { padding: 14px 24px; gap: 16px; } .is-nav-word { display: none; } }

/* ---------- Hero ---------- */
.is-hero { padding: 168px 0 88px; }
@media (max-width: 768px) { .is-hero { padding: 128px 0 56px; } }
.is-hero-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 72px; align-items: center; }
@media (max-width: 980px) { .is-hero-grid { grid-template-columns: 1fr; gap: 48px; } }
.is-hero-copy { display: flex; flex-direction: column; gap: 28px; max-width: 600px; }
.is-hero-title { font-family: var(--font-display); font-weight: 800; font-size: clamp(34px, 3.9vw, 54px); letter-spacing: -0.03em; line-height: 1.04; color: var(--text); }
.is-hero-lead { font-size: 20px; line-height: 1.45; color: var(--text-muted); max-width: 42ch; text-wrap: pretty; }
.is-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 6px; }
.is-hero-meta { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 18px; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-faint); }
.is-hero-meta .dot { color: var(--accent); }

/* hero ladder card */
.is-hero-card { background: var(--surface-raised); border: 1px solid var(--hairline); border-radius: 4px; padding: 26px; box-shadow: var(--shadow-2); }
.is-hero-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }
.is-ladder { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.is-ladder-row { display: grid; grid-template-columns: 26px 1fr 84px 30px; align-items: center; gap: 12px; opacity: 1; animation: is-rise var(--dur-base) var(--ease-out) backwards; }
.is-ladder-rank { font-family: var(--font-mono); font-size: 12px; color: var(--text-faint); }
.is-ladder-name { font-family: var(--font-mono); font-size: 13px; color: var(--text); letter-spacing: 0.02em; }
.is-ladder-bar { height: 6px; background: var(--surface-sunken); border-radius: 999px; overflow: hidden; }
.is-ladder-fill { display: block; height: 100%; background: var(--accent); border-radius: 999px; animation: is-grow var(--dur-slow) var(--ease-out) backwards; }
@keyframes is-grow { from { width: 0; } }
.is-ladder-score { font-family: var(--font-mono); font-size: 13px; font-weight: 600; color: var(--text); text-align: right; }
.is-hero-card-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--hairline); }

/* ---------- Stats band ---------- */
.is-statband { border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); padding: 56px 0; }
.is-statband-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
@media (max-width: 860px) { .is-statband-grid { grid-template-columns: 1fr 1fr; gap: 36px; } }
.is-stat { display: flex; flex-direction: column; gap: 12px; position: relative; }
.is-stat-num { font-family: var(--font-display); font-weight: 800; font-size: clamp(40px, 5vw, 60px); line-height: 0.95; letter-spacing: -0.03em; color: var(--accent); }
.is-stat-unit { font-size: 0.6em; }
.is-stat-label { font-family: var(--font-body); font-size: 13.5px; line-height: 1.4; color: var(--text-muted); max-width: 24ch; }
.is-stat--placeholder .is-stat-num { color: var(--text-faint); }
.is-stat-flag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); border: 1px dashed var(--hairline-strong); border-radius: 2px; padding: 4px 7px; align-self: flex-start; }

/* ---------- Problem ---------- */
.is-problem-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; }
@media (max-width: 900px) { .is-problem-grid { grid-template-columns: 1fr; gap: 48px; } }
.is-problem-lede { max-width: 30ch; }
.is-problem-list { list-style: none; display: flex; flex-direction: column; }
.is-problem-item { display: grid; grid-template-columns: 120px 1fr; gap: 24px; padding: 22px 0; border-top: 1px solid var(--hairline); }
.is-problem-item:last-child { border-bottom: 1px solid var(--hairline); }
.is-problem-k { color: var(--accent); padding-top: 3px; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- Steps ---------- */
.is-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); border-radius: 4px; overflow: hidden; margin-bottom: 56px; }
@media (max-width: 820px) { .is-steps { grid-template-columns: 1fr; } }
.is-step { background: var(--surface-raised); padding: 36px 32px 40px; display: flex; flex-direction: column; gap: 14px; }
.is-step-n { font-family: var(--font-mono); font-size: 13px; font-weight: 600; letter-spacing: 0.18em; color: var(--accent); }
.is-step-t { margin-top: 4px; }

/* ---------- Score-ladder demo ---------- */
.is-demo { background: var(--surface-raised); border: 1px solid var(--hairline); border-radius: 4px; padding: 30px 32px 34px; }
.is-demo-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.is-demo-title { font-family: var(--font-display); font-weight: 800; font-size: 24px; letter-spacing: -0.02em; color: var(--text); margin-top: 8px; }
.is-demo-replay { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); background: transparent; border: 1px solid var(--accent-line); border-radius: 2px; padding: 9px 14px; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.is-demo-replay:hover:not(:disabled) { background: var(--accent); color: var(--accent-fg); }
.is-demo-replay:disabled { opacity: 0.45; cursor: default; }
.is-demo-crit { display: flex; align-items: center; gap: 22px; padding: 0 2px 12px; border-bottom: 1px solid var(--hairline); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-faint); }
.is-demo-crit-tot { margin-left: auto; }
.is-ladder-stage { position: relative; margin-top: 10px; }
.is-demo-row { position: absolute; left: 0; right: 0; height: 60px; display: grid; grid-template-columns: 30px 1fr 120px 36px; align-items: center; gap: 14px; border-bottom: 1px solid var(--hairline); opacity: 0.4; transition: transform var(--dur-slow) var(--ease-out), opacity var(--dur-base) var(--ease-out); }
.is-demo-row.on { opacity: 1; }
.is-demo-row.top .is-demo-name { color: var(--accent); font-weight: 600; }
.is-demo-row.top .is-demo-fill { background: var(--accent); }
.is-demo-rank { font-family: var(--font-mono); font-size: 13px; color: var(--text-faint); }
.is-demo-row.top .is-demo-rank { color: var(--accent); }
.is-demo-name { font-family: var(--font-mono); font-size: 14px; color: var(--text); letter-spacing: 0.02em; }
.is-demo-bar { height: 8px; background: var(--surface-sunken); border-radius: 999px; overflow: hidden; }
.is-demo-fill { display: block; height: 100%; background: #357567; border-radius: 999px; transition: width var(--dur-slow) var(--ease-out); }
.is-demo-score { font-family: var(--font-mono); font-size: 15px; font-weight: 600; color: var(--text); text-align: right; }
.is-demo-foot { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--hairline); }

/* ---------- Timed ---------- */
.is-timed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
@media (max-width: 920px) { .is-timed-grid { grid-template-columns: 1fr; gap: 48px; } }
.is-timed-copy { max-width: 34ch; }
.is-timed-facts { list-style: none; display: flex; flex-direction: column; margin-top: 40px; }
.is-timed-fact { display: grid; grid-template-columns: 110px 1fr; gap: 22px; padding: 20px 0; border-top: 1px solid var(--hairline); }
.is-timed-fact:last-child { border-bottom: 1px solid var(--hairline); }
.is-timed-fact-k { font-family: var(--font-display); font-weight: 800; font-size: 22px; letter-spacing: -0.02em; color: var(--accent); }

.is-timed-demo-col { position: sticky; top: 96px; }
.is-timed { background: var(--surface-raised); border: 1px solid var(--hairline); border-radius: 4px; padding: 26px 28px 28px; }
.is-timed-bar-wrap { display: flex; align-items: baseline; justify-content: space-between; }
.is-timed-clock { font-family: var(--font-display); font-weight: 800; font-size: 40px; letter-spacing: -0.03em; color: var(--text); line-height: 1; transition: color var(--dur-base) var(--ease-out); }
.is-timed-clock span { font-size: 0.45em; color: var(--text-faint); margin-left: 2px; }
.is-timed-clock.low { color: var(--excluded); }
.is-timed-track { height: 6px; background: var(--surface-sunken); border-radius: 999px; overflow: hidden; margin: 16px 0 24px; }
.is-timed-prog { height: 100%; background: var(--accent); border-radius: 999px; transition: width 120ms linear, background var(--dur-base) var(--ease-out); }
.is-timed-prog.low { background: var(--excluded); }
.is-timed-q { font-family: var(--font-display); font-weight: 700; font-size: 19px; line-height: 1.35; letter-spacing: -0.01em; color: var(--text); margin-bottom: 18px; text-wrap: pretty; }
.is-timed-input { width: 100%; min-height: 116px; resize: none; background: var(--surface); border: 1px solid var(--hairline); border-radius: 2px; padding: 14px 16px; font-family: var(--font-body); font-size: 15px; line-height: 1.5; color: var(--text); outline: none; transition: border-color var(--dur-fast) var(--ease-out); }
.is-timed-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.is-timed-input:disabled { opacity: 0.7; }
.is-timed-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.is-timed-count { font-family: var(--font-mono); font-size: 13px; color: var(--text-faint); }
.is-timed-count.full { color: var(--excluded); }
.is-timed-done { display: inline-flex; align-items: center; gap: 14px; }
.is-timed-done-tag { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 2px; padding: 7px 11px; }

/* ---------- Fairness ---------- */
.is-fair-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 768px) { .is-fair-cols { grid-template-columns: 1fr; } }
.is-fair-card { background: var(--surface-raised); border: 1px solid var(--hairline); border-radius: 4px; padding: 32px 32px 36px; }
.is-fair-card--in { border-color: var(--accent-line); }
.is-fair-card-head { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.is-fair-tick { width: 30px; height: 30px; border-radius: 999px; background: var(--accent); color: var(--accent-fg); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; }
.is-fair-cross { width: 30px; height: 30px; border-radius: 999px; background: transparent; border: 1px solid var(--hairline-strong); color: var(--text-faint); display: flex; align-items: center; justify-content: center; font-size: 18px; }
.is-fair-list { list-style: none; display: flex; flex-direction: column; }
.is-fair-list li { padding: 13px 0; border-top: 1px solid var(--hairline); color: var(--text); }
.is-fair-list--struck li { color: var(--text-faint); text-decoration: line-through; text-decoration-color: var(--excluded); text-decoration-thickness: 1px; }
.is-fair-note { display: flex; align-items: flex-start; gap: 18px; margin-top: 32px; padding: 28px 32px; background: var(--accent-soft); border-left: 2px solid var(--accent); border-radius: 0 4px 4px 0; }
.is-fair-note-mark { width: 10px; height: 10px; border-radius: 999px; background: var(--accent); flex-shrink: 0; margin-top: 8px; }
.is-fair-note p { color: var(--text); max-width: 70ch; }

/* ---------- Who for ---------- */
.is-who-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
@media (max-width: 900px) { .is-who-grid { grid-template-columns: 1fr; gap: 44px; } }
.is-who-lede { max-width: 34ch; }
.is-who-range { display: flex; align-items: center; gap: 16px; margin-top: 36px; }
.is-who-range-end { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text); }
.is-who-range-line { flex: 1; height: 2px; background: linear-gradient(90deg, var(--accent), var(--hairline-strong)); position: relative; border-radius: 999px; }
.is-who-range-dot { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 10px; border-radius: 999px; background: var(--accent); }
.is-who-tags { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); border-radius: 4px; overflow: hidden; }
@media (max-width: 480px) { .is-who-tags { grid-template-columns: 1fr; } }
.is-who-tag { background: var(--surface-raised); padding: 22px 22px; font-family: var(--font-body); font-size: 15px; font-weight: 500; color: var(--text); display: flex; align-items: center; min-height: 76px; transition: color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out); }
.is-who-tag:hover { color: var(--accent); }

/* ---------- Register ---------- */
.is-register { padding: 112px 0; }
.is-register-panel { background: var(--accent); border-radius: 6px; padding: 64px; box-shadow: var(--shadow-2); }
@media (max-width: 768px) { .is-register-panel { padding: 40px 28px; } }
.is-register-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 860px) { .is-register-grid { grid-template-columns: 1fr; gap: 40px; } }
.is-register-copy .is-eyebrow { color: rgba(247,243,234,0.7); }
.is-register-copy .is-eyebrow::before { background: var(--accent-fg); }
.is-register-meta { font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.06em; color: rgba(247,243,234,0.62); margin-top: 28px; }
.is-register-form { display: flex; flex-direction: column; gap: 18px; }
.is-register-form .is-field-label { color: rgba(247,243,234,0.78); }
.is-register-form .is-ctrl { background: rgba(255,255,255,0.10); border-color: rgba(247,243,234,0.28); color: var(--accent-fg); }
.is-register-form .is-ctrl::placeholder { color: rgba(247,243,234,0.5); }
.is-register-form .is-ctrl:focus { border-color: var(--accent-fg); box-shadow: 0 0 0 3px rgba(247,243,234,0.18); }
.is-ctrl--on-accent { background-image: linear-gradient(45deg, transparent 50%, rgba(247,243,234,0.6) 50%), linear-gradient(-45deg, transparent 50%, rgba(247,243,234,0.6) 50%); }
.is-ctrl--on-accent option { color: #181715; }
.is-register-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 480px) { .is-register-row { grid-template-columns: 1fr; } }
.is-register-submit { margin-top: 8px; background: var(--accent-fg); color: var(--accent-deep); border: none; border-radius: 2px; padding: 17px 24px; font-family: var(--font-body); font-size: 16px; font-weight: 700; cursor: pointer; transition: background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.is-register-submit:hover:not(:disabled) { background: #fff; }
.is-register-submit:disabled { opacity: 0.6; cursor: default; }
.is-register-submit .is-arrow { display: inline-block; transition: transform var(--dur-fast) var(--ease-out); }
.is-register-submit:hover .is-arrow { transform: translateX(3px); }
.is-register-sent { text-align: left; max-width: 600px; }
.is-register-reset { margin-top: 26px; background: transparent; border: 1px solid rgba(247,243,234,0.4); color: var(--accent-fg); border-radius: 2px; padding: 13px 20px; font-family: var(--font-body); font-size: 15px; font-weight: 600; cursor: pointer; transition: background var(--dur-fast) var(--ease-out); }
.is-register-reset:hover { background: rgba(255,255,255,0.12); }

/* ---------- Footer ---------- */
.is-footer { background: var(--surface-sunken); border-top: 1px solid var(--hairline); padding: 72px 0 36px; }
.is-footer-top { display: flex; justify-content: space-between; gap: 48px; flex-wrap: wrap; padding-bottom: 48px; }
.is-footer-brand { max-width: 46ch; }
.is-footer-blurb { font-size: 14px; line-height: 1.6; color: var(--text-muted); margin-top: 20px; }
.is-footer-contact { display: flex; flex-direction: column; gap: 12px; }
.is-footer-mail { font-family: var(--font-mono); font-size: 14px; color: var(--text); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--accent); }
.is-footer-mail:hover { color: var(--accent); }
.is-footer-base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 24px; }

/* ---------- The scorecard ---------- */
.is-score-dims { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); border-radius: 4px; overflow: hidden; }
@media (max-width: 820px){ .is-score-dims{ grid-template-columns:1fr; } }
.is-dim-card { background: var(--surface-raised); padding: 32px 30px 36px; display:flex; flex-direction:column; gap:12px; }
.is-dim-k { color: var(--accent); letter-spacing:0.14em; text-transform:uppercase; }
.is-custom { display:grid; grid-template-columns: 0.8fr 1.2fr; gap:40px; align-items:center; margin-top:40px; padding:32px; background: var(--surface-raised); border:1px solid var(--hairline); border-radius:4px; }
@media (max-width: 820px){ .is-custom{ grid-template-columns:1fr; gap:24px; } }
.is-custom-copy{ display:flex; flex-direction:column; gap:8px; }
.is-custom-copy .is-meta{ color: var(--accent); }
.is-custom-copy .is-h4{ margin-top:4px; }
.is-custom-opts{ display:flex; flex-direction:column; gap:10px; }
.is-custom-opt{ text-align:left; font-family: var(--font-body); font-size:15px; font-weight:500; color: var(--text); background: var(--surface); border:1px solid var(--hairline); border-radius:2px; padding:15px 18px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; transition: border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out); }
.is-custom-opt:hover{ border-color: var(--accent-line); }
.is-custom-opt.is-on{ border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.is-custom-tag{ font-family: var(--font-mono); font-size:10px; letter-spacing:0.12em; text-transform:uppercase; color: var(--text-faint); border:1px solid var(--hairline); border-radius:999px; padding:4px 9px; }
.is-custom-opt.is-on .is-custom-tag{ color: var(--accent); border-color: var(--accent-line); }

/* ---------- Packages ---------- */
.is-pkg-flow{ display:grid; grid-template-columns: 1.7fr auto 1fr; gap: 20px; align-items:center; }
@media (max-width: 980px){ .is-pkg-flow{ grid-template-columns:1fr; gap:16px; } }
.is-pkg-group{ border:1px dashed var(--hairline-strong); border-radius:6px; padding:18px; }
.is-pkg-group-cards{ display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:stretch; }
@media (max-width: 620px){ .is-pkg-group-cards{ grid-template-columns:1fr; } }
.is-pkg-card{ background: var(--surface-raised); border:1px solid var(--hairline); border-radius:4px; padding:24px 24px 26px; display:flex; flex-direction:column; gap:10px; height:100%; }
.is-pkg-card--assess{ border-color: var(--hairline-strong); }
.is-pkg-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:2px; }
.is-pkg-lede{ font-family:var(--font-body); font-size:15px; line-height:1.4; color:var(--text-muted); }
.is-pkg-list{ list-style:none; display:flex; flex-direction:column; margin-top:6px; }
.is-pkg-list li{ font-family:var(--font-body); font-size:14px; line-height:1.45; color:var(--text-muted); padding:11px 0 11px 20px; border-top:1px solid var(--hairline); position:relative; }
.is-pkg-list li::before{ content:""; position:absolute; left:0; top:18px; width:7px; height:7px; border-radius:999px; background:var(--accent); }
.is-pkg-or{ align-self:center; justify-self:center; font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-faint); background:var(--surface); border:1px solid var(--hairline); border-radius:999px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; }
.is-pkg-note{ font-family:var(--font-body); font-size:14px; line-height:1.5; color:var(--text-muted); margin-top:18px; max-width:64ch; }
.is-pkg-then{ display:flex; flex-direction:column; align-items:center; gap:6px; color:var(--text-faint); }
.is-pkg-then-label{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.16em; text-transform:uppercase; }
.is-pkg-then-arrow{ font-size:26px; color:var(--accent); line-height:1; }
@media (max-width: 980px){ .is-pkg-then{ flex-direction:row; justify-content:center; } .is-pkg-then-arrow{ transform:rotate(90deg); } }

/* example questions */
.is-eq{ margin-top:56px; border-top:1px solid var(--hairline); padding-top:40px; }
.is-eq-head{ display:flex; flex-direction:column; gap:8px; max-width:64ch; margin-bottom:24px; }
.is-eq-head .is-meta{ color:var(--accent); }
.is-eq-list{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline); border-radius:4px; overflow:hidden; }
@media (max-width: 820px){ .is-eq-list{ grid-template-columns:1fr; } }
.is-eq-item{ background:var(--surface-raised); padding:24px; display:flex; flex-direction:column; gap:12px; }
.is-eq-cat{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); }
.is-eq-item .is-body{ font-style:italic; color:var(--text); }
.is-eq-tag{ font-family:var(--font-mono); font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-faint); margin-top:-4px; }
.is-eq-foot{ margin-top:18px; color:var(--text-faint); }

/* going live */
.is-golive{ margin-top:40px; display:flex; align-items:baseline; gap:18px; padding:22px 24px; background:var(--surface-raised); border:1px solid var(--hairline); border-left:2px solid var(--accent); border-radius:0 4px 4px 0; flex-wrap:wrap; }
.is-golive .is-meta{ color:var(--accent); white-space:nowrap; }

/* ---------- Pricing ---------- */
.is-price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width: 820px){ .is-price-grid{ grid-template-columns:1fr; } }
.is-price-card{ background:var(--surface-raised); border:1px solid var(--hairline); border-radius:4px; padding:32px 30px 34px; display:flex; flex-direction:column; gap:9px; }
.is-price-card--feature{ border-color:var(--accent); }
.is-price-card .is-meta{ color:var(--text-faint); }
.is-price-amount{ font-family:var(--font-display); font-weight:800; font-size:clamp(38px,4.2vw,50px); letter-spacing:-0.03em; line-height:1; color:var(--accent); margin-top:4px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.is-price-amount-unit{ font-size:0.32em; font-weight:700; color:var(--text-muted); letter-spacing:0; }
.is-price-basis{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.06em; color:var(--text-faint); }
.is-price-list{ list-style:none; display:flex; flex-direction:column; margin-top:14px; }
.is-price-list li{ font-family:var(--font-body); font-size:14px; line-height:1.45; color:var(--text-muted); padding:12px 0; border-top:1px solid var(--hairline); }

/* ---------- Candidate experience ---------- */
.is-cand-grid{ display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
@media (max-width: 920px){ .is-cand-grid{ grid-template-columns:1fr; gap:44px; } }
.is-cand-lede{ max-width:44ch; }
.is-cand-list{ list-style:none; display:flex; flex-direction:column; margin-top:36px; }
.is-cand-list li{ display:grid; grid-template-columns:200px 1fr; gap:22px; padding:18px 0; border-top:1px solid var(--hairline); }
.is-cand-list li:last-child{ border-bottom:1px solid var(--hairline); }
@media (max-width: 520px){ .is-cand-list li{ grid-template-columns:1fr; gap:6px; } }
.is-cand-k{ font-family:var(--font-display); font-weight:700; font-size:16px; color:var(--text); }
.is-cand-views{ display:flex; flex-direction:column; gap:16px; }
.is-track-card{ background:var(--surface-raised); border:1px solid var(--hairline); border-radius:4px; padding:24px 26px 26px; }
.is-track-role{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent); }
.is-track-card .is-small{ margin-top:6px; margin-bottom:16px; }
.is-track{ list-style:none; display:flex; flex-direction:column; }
.is-track-step{ position:relative; padding:12px 0 12px 26px; font-family:var(--font-body); font-size:14px; color:var(--text-faint); display:flex; justify-content:space-between; gap:12px; }
.is-track-step:not(:last-child)::after{ content:""; position:absolute; left:6px; top:24px; bottom:-2px; width:1px; background:var(--hairline); }
.is-track-step::before{ content:""; position:absolute; left:1px; top:15px; width:11px; height:11px; border-radius:999px; border:1px solid var(--hairline-strong); background:var(--surface); z-index:1; }
.is-track-step span{ font-family:var(--font-mono); font-size:13px; color:var(--text-muted); }
.is-track-step.done::before{ background:var(--accent); border-color:var(--accent); }
.is-track-step.on{ color:var(--text); font-weight:600; }
.is-track-step.on::before{ background:var(--surface); border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }

/* ---------- Fairness rationale ---------- */
.is-rationale{ margin-top:28px; padding:32px; background:var(--surface-raised); border:1px solid var(--hairline); border-radius:4px; }
.is-rationale-head{ max-width:72ch; display:flex; flex-direction:column; gap:8px; }
.is-rationale-head .is-meta{ color:var(--accent); }
.is-rationale-rows{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:24px; }
@media (max-width: 720px){ .is-rationale-rows{ grid-template-columns:1fr; } }
.is-rationale-row{ display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; padding:18px 20px; background:var(--surface); border:1px solid var(--hairline); border-radius:2px; }
.is-rationale-score{ font-family:var(--font-display); font-weight:800; font-size:28px; letter-spacing:-0.02em; color:var(--accent); line-height:1; }
.is-rationale-foot{ margin-top:20px; color:var(--text-faint); }
