/* role.css - role landing page styles. Dead non-role components removed (v0.50.2). */
.stk-skip-link:focus{
	position: fixed;
	top: 12px;
	left: 12px;
	width: auto;
	height: auto;
	margin: 0;
	padding: 12px 18px;
	clip: auto;
	clip-path: none;
	overflow: visible;
	white-space: normal;
	z-index: 1000;
	background: var(--stk-blue);
	color: var(--stk-white);
	font-family: var(--stk-display);
	font-weight: 700;
	border-radius: var(--stk-r-btn);
	box-shadow: 0 8px 28px -12px rgba(37, 99, 235, .5);
	outline: 2px solid var(--stk-white);
	outline-offset: 2px;
}
.stk-chip{ display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; background: var(--stk-blue-50); border: 1px solid var(--stk-blue-200); color: var(--stk-navy-900); font-family: var(--stk-display); font-size: 11px; font-weight: 700; border-radius: 999px; padding: 4px 9px; white-space: nowrap; }
.stk-chip[data-level="High"]{ background: #eaf2ff; }
.stk-chip[data-level="High"] .stk-chip__dot{ background: var(--stk-blue-400); }
.stk-chip[data-level="Medium"]{ background: var(--stk-surface-2); border-color: var(--stk-border); color: var(--stk-ink-2); }
.stk-chip[data-level="Medium"] .stk-chip__dot{ background: #94a3b8; }
.stk-meter{ margin-top: 12px; }
.stk-meter__bar{ position: relative; height: 8px; background: var(--stk-surface-2); border: 1px solid var(--stk-border); border-radius: 999px; overflow: hidden; }
.stk-meter__fill{ height: 100%; width: 0; background: linear-gradient(90deg, var(--stk-blue), var(--stk-blue-400)); border-radius: 999px; transition: width .7s cubic-bezier(.4,0,.2,1); }
@media (prefers-reduced-motion: reduce){.stk-meter__fill{ transition: none; }}
.stk-calc__hint{ margin: 0; font-size: 14px; color: var(--stk-ink-2); }
.stk-calc__figures{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 480px){.stk-calc__figures{ grid-template-columns: 1fr; }}
.stk-calc__figure{ display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; background: #fff; border: 1px solid var(--stk-border); border-radius: 10px; }
.stk-calc__figure--accent{ background: var(--stk-blue-50); border-color: var(--stk-blue-200); }
.stk-calc__fig-num{ font-family: var(--stk-display); font-weight: 800; font-size: 28px; line-height: 1; color: var(--stk-navy-900); }
.stk-calc__figure--accent .stk-calc__fig-num{ color: var(--stk-blue); }
.stk-calc__fig-label{ font-size: 12.5px; color: var(--stk-ink-3); }
.stk-calc__pitch{ margin: 16px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--stk-ink-2); }
.stk-form{ margin-top: 4px; }
.stk-field{ margin-bottom: 16px; }
.stk-field label{ display: block; font-family: var(--stk-display); font-weight: 600; font-size: 13.5px; color: var(--stk-navy-900); margin-bottom: 8px; }
.stk-input{ width: 100%; padding: 12px 14px; font-size: 15px; font-family: var(--stk-body); color: var(--stk-ink); background: #fff; border: 1px solid var(--stk-border); border-radius: 10px; transition: border-color .15s ease, box-shadow .15s ease; }
.stk-input:focus{ outline: none; border-color: var(--stk-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.15); }
.stk-textarea{ resize: vertical; min-height: 110px; }
.stk-jobs__status--done{ justify-content: flex-start; padding: 0 0 16px; font-family: var(--stk-display); font-weight: 600; color: var(--stk-blue); }
.stk-jobs__status--error{ color: #b91c1c; }
.stk-jobs__status--error a{ color: var(--stk-blue); }
.stk-jobs__row{ display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 22px; background: #fff; border: 1px solid var(--stk-border); border-radius: 14px; text-decoration: none; transition: border-color .18s ease, box-shadow .18s ease, transform .15s ease; }
.stk-jobs__row:hover{ border-color: var(--stk-blue-300, #93c5fd); box-shadow: 0 4px 20px rgba(37,99,235,.08); transform: translateY(-1px); }
.stk-jobs__row-main{ display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.stk-jobs__title{ font-family: var(--stk-display); font-weight: 700; font-size: 15px; color: var(--stk-navy-900); line-height: 1.3; }
.stk-jobs__loc{ display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--stk-ink-3); }
.stk-jobs__loc svg{ width: 12px; height: 12px; color: #94a3b8; }
.stk-jobs__row-side{ display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }
.stk-jobs__badge{ font-family: var(--stk-display); font-size: 11px; font-weight: 600; padding: 4px 11px; border-radius: 999px; border: 1px solid transparent; white-space: nowrap; }
.stk-jobs__go{ display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--stk-blue-50); flex-shrink: 0; }
.stk-jobs__go svg{ width: 14px; height: 14px; color: var(--stk-blue); }
@media (max-width: 600px){.stk-jobs__row{ flex-direction: column; align-items: flex-start; }.stk-jobs__go{ display: none; }}
.stk-dl__form .stk-field{ margin-bottom: 14px; }
.stk-hero__atmos{animation:stk-hero-drift 42s linear infinite;}
.stk-hero [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.stk-hero__lead{max-width:480px;margin-bottom:36px;}
.stk-hero__actions{margin-bottom:0;}
.stk-hero__proof-comp{font-family:var(--stk-display);font-weight:800;font-size:30px;color:#fff;margin:7px 0 2px;}
@media(max-width:900px){.stk-hero__inner{grid-template-columns:1fr!important;gap:40px!important;}}
@media(prefers-reduced-motion:reduce){.stk-hero [data-reveal]{opacity:1;transform:none;transition:none;}}
body{margin:0;}
body{margin:0;background:#fff;}
.stk-pill--crit{ background:linear-gradient(90deg,var(--stk-blue),#3b82f6); color:#fff; border-color:transparent; box-shadow:0 4px 14px rgba(37,99,235,.40); }
.stk-pill--high{ background:rgba(37,99,235,.20); color:var(--stk-blue-200); border-color:rgba(96,165,250,.35); }
.stk-evalfa__list{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;}
.stk-evalfa__rank{font-family:var(--stk-mono);font-size:12px;color:var(--stk-muted-2);}
.stk-evalfa__bname{font-weight:700;font-size:15.5px;flex:1;}
.stk-evalfa__bw{font-family:var(--stk-display);font-weight:800;color:var(--stk-blue-400);font-variant-numeric:tabular-nums;}
.stk-evalfa__detail{position:relative;border-radius:var(--stk-r-panel);border:1px solid rgba(147,197,253,.16);background:rgba(255,255,255,.045);padding:34px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.stk-evalfa__ptop{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:6px;}
.stk-evalfa__pname{font-family:var(--stk-display);font-weight:700;font-size:19px;color:#fff;margin:14px 0 10px;}
.stk-evalfa__pdesc{color:var(--stk-muted-3);font-size:15px;line-height:1.65;margin:0;}
.stk-evalfa__detail .stk-meter__bar{background:rgba(255,255,255,.08);border-color:rgba(147,197,253,.18);height:10px;}
.stk-evalfa__detail .stk-meter__fill{box-shadow:0 0 16px rgba(37,99,235,.5);}
@media(max-width:780px){.stk-evalfa__detail{position:static;}}
body{margin:0;background:#fff;}
.stk-cases{display:flex;flex-direction:column;gap:22px;max-width:var(--stk-container-default);margin:0 auto;}
.stk-case{position:relative;background:#fff;border:1px solid var(--stk-border);border-radius:var(--stk-r-card);
  opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.22,.61,.36,1),transform .6s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease,border-color .25s ease;}
.stk-case:hover{border-color:var(--stk-blue-300);box-shadow:0 16px 44px rgba(37,99,235,.10);transform:translateY(-3px);}
.stk-case__row2{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.stk-case .stk-chip{margin:0 0 20px;background:var(--stk-blue-50);border:1px solid var(--stk-blue-200);color:var(--stk-blue-hover);font-weight:600;}
.stk-case__metric{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.stk-case__num{font-family:var(--stk-display);font-weight:800;font-size:52px;line-height:.9;color:var(--stk-blue);letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.stk-case__noun{font-family:var(--stk-display);font-weight:700;font-size:17px;color:var(--stk-ink);}
.stk-case__sub{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--stk-muted);margin-top:10px;font-weight:500;}
.stk-case__sub svg{width:12px;height:12px;color:var(--stk-blue-400);}
.stk-case__sub s{color:var(--stk-muted-2);text-decoration-thickness:1px;}
.stk-case__narr{font-size:14.5px;line-height:1.65;color:var(--stk-ink-2);margin:0;}
.stk-skills__label{font-family:var(--stk-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--stk-muted-2);display:block;margin-bottom:9px;}
.stk-skills__tags{display:flex;flex-wrap:wrap;gap:7px;}
.stk-skills__tags span{font-family:var(--stk-mono);font-size:10.5px;color:var(--stk-ink-3);background:var(--stk-surface-2);border:1px solid var(--stk-border);border-radius:var(--stk-r-pill);padding:4px 9px;}
.stk-case--feature{display:grid;grid-template-columns:max-content minmax(0,545px);justify-content:space-between;gap:56px;padding:42px 44px 42px 48px;align-items:center;}
.stk-case--feature::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:3px;border-radius:3px;background:linear-gradient(var(--stk-blue),var(--stk-blue-400));}
.stk-case--feature .stk-case__num{font-size:84px;}
.stk-case--feature .stk-case__noun{font-size:20px;}
.stk-case--feature .stk-case__narr{margin-bottom:22px;}
.stk-case--compact{padding:32px 30px;display:flex;flex-direction:column;}
.stk-case--compact .stk-case__stat{margin-bottom:24px;}
.stk-case--compact .stk-case__narr{margin-bottom:24px;color:var(--stk-ink-3);font-size:14px;}
.stk-case--compact .stk-skills{margin-top:auto;}
@media(max-width:820px){.stk-case--feature{grid-template-columns:1fr;gap:24px;}.stk-case__row2{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.stk-case{opacity:1;transform:none;transition:none;}}
.s2__filterwrap{display:flex;justify-content:center;margin-bottom:30px;}
.s2__filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:760px;}
.s2__cchips{display:flex;flex-wrap:wrap;gap:6px;}
.cov__glow{position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.28),transparent 68%);top:-180px;right:-140px;pointer-events:none;}
.cov__glow2{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.16),transparent 70%);bottom:-160px;left:-120px;pointer-events:none;}
.cov__inner{position:relative;z-index:1;}
.cov__head{text-align:center;max-width:680px;margin:0 auto 56px;}
.cov__eyebrow{font-family:var(--stk-display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stk-blue-300);margin:0 0 16px;}
.cov__title{font-family:var(--stk-display);font-weight:800;font-size:clamp(30px,4vw,46px);letter-spacing:-.025em;line-height:1.08;margin:0 0 16px;color:#fff;}
.cov__lead{font-size:17px;line-height:1.6;color:var(--stk-muted-3);margin:0;}
.cov__main{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;max-width:var(--stk-container-default);margin:0 auto;}
.cov__intro{font-family:var(--stk-display);font-weight:600;font-size:19px;line-height:1.4;color:#fff;margin:0 0 22px;letter-spacing:-.01em;}
.cov__points{list-style:none;margin:0 0 22px;padding:0;}
.cov__pt{display:flex;gap:14px;padding:15px 0;border-top:1px solid rgba(255,255,255,.08);font-size:15px;line-height:1.5;color:var(--stk-muted-3);}
.cov__pt::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--stk-blue-400);flex:none;margin-top:7px;transform:rotate(45deg);}
.cov__pt b{color:#fff;font-weight:600;}
.cov__close{font-size:15px;color:var(--stk-muted-2);margin:0;font-style:italic;}
.cov__panel{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);border-radius:var(--stk-r-panel);padding:32px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.cov__panel-label{display:flex;align-items:center;gap:8px;font-family:var(--stk-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--stk-muted-2);margin:0 0 24px;}
.cov__panel-label svg{width:15px;height:15px;color:var(--stk-blue-300);}
.cov__bar{margin-bottom:22px;}
.cov__bar-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:9px;gap:12px;}
.cov__bar-name{font-size:13px;color:var(--stk-muted-3);}
.cov__bar-name span{display:block;font-size:10.5px;color:var(--stk-muted-2);font-family:var(--stk-mono);letter-spacing:.04em;margin-top:1px;}
.cov__bar-track{height:11px;border-radius:var(--stk-r-pill);background:rgba(255,255,255,.07);overflow:hidden;}
.cov__bar-fill{height:100%;border-radius:var(--stk-r-pill);width:0;transition:width 1.15s cubic-bezier(.22,.61,.36,1);}
.cov__bar--stk .cov__bar-fill{background:linear-gradient(90deg,var(--stk-blue),var(--stk-blue-400));}
.cov__speed{display:flex;gap:22px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);}
.cov__sp{flex:1;}
.cov__sp-n{font-family:var(--stk-display);font-weight:800;font-size:21px;color:#fff;line-height:1;}
.cov__sp-l{font-size:11px;line-height:1.35;color:var(--stk-muted-2);margin-top:6px;}
.cov__cta{display:flex;align-items:center;gap:14px;justify-content:center;margin:52px auto 0;flex-wrap:wrap;}

.faq{background:#fff;}
.lf{background:var(--stk-surface-1);}
.lf__grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;align-items:start;max-width:var(--stk-container-default);margin:0 auto;}
.lf__eyebrow{font-family:var(--stk-display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--stk-blue);margin:0 0 16px;}
.lf__title{font-family:var(--stk-display);font-weight:800;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.025em;line-height:1.1;color:var(--stk-ink);margin:0 0 16px;}
.lf__lead{font-size:16px;line-height:1.6;color:var(--stk-ink-3);margin:0 0 34px;}
.lf__points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;}
.lf__pt{display:flex;align-items:center;gap:14px;}
.lf__pt-ic{width:42px;height:42px;border-radius:var(--stk-r-btn);background:#fff;border:1px solid var(--stk-border);color:var(--stk-blue);display:grid;place-items:center;flex:none;}
.lf__pt-ic svg{width:21px;height:21px;}
.lf__pt-t{font-size:14.5px;line-height:1.4;color:var(--stk-ink-2);}
.lf__pt-t b{font-weight:700;color:var(--stk-ink);}
.lf__note{margin:28px 0 0;font-size:13.5px;color:var(--stk-muted);}
.lf__card{background:#fff;border:1px solid var(--stk-border);border-radius:var(--stk-r-card);padding:34px 32px;box-shadow:0 14px 40px rgba(15,23,42,.07);}
.lf__radios{display:flex;gap:10px;flex-wrap:wrap;}
.lf__radios .stk-radio{border:1px solid var(--stk-border);border-radius:var(--stk-r-btn);padding:11px 16px;flex:1;min-width:120px;}
.lf__radios .stk-radio:has(input:checked){border-color:var(--stk-blue);background:var(--stk-blue-50);}
.lf__card .stk-form-actions{margin-top:6px;}
.lf__card .stk-form-actions .stk-btn{width:100%;}
.lf__reply{text-align:center;font-size:12.5px;color:var(--stk-muted);margin:14px 0 0;}
@media(max-width:860px){.lf__grid{grid-template-columns:1fr;gap:36px;}}
.stk-skills .stk-skills__tags span{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,color .18s ease,background-color .18s ease;}
.stk-skills .stk-skills__tags span:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.10);border-color:var(--stk-blue-200);color:var(--stk-blue);background:#fff;}
@media(max-width:860px){.cov__main{grid-template-columns:1fr;gap:34px;}.cov__speed{gap:16px;}}
@media(prefers-reduced-motion:reduce){.stk-skills .stk-skills__tags span{transition:none;}.stk-skills .stk-skills__tags span:hover{transform:none;}}
.stk-chip__arrow{width:11px;height:11px;flex:none;}
.cov__cta{grid-column:1 / -1;}
@keyframes stk-hero-drift{from{background-position:0 0,0 0;}to{background-position:64px 64px,64px 64px;}}

/* ---------------------------------------------------------------- evaluation rubric (section 4) */
.stk-rubric{max-width:var(--stk-container-default);margin:0 auto;border:1px solid rgba(255,255,255,.10);border-radius:var(--stk-r-panel);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));overflow:hidden;}
.stk-rubric__head{display:grid;grid-template-columns:minmax(230px,1.15fr) 1fr 1fr;gap:28px;padding:18px 30px;border-bottom:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.02);}
.stk-rubric__head span{font-family:var(--stk-mono);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--stk-muted);display:flex;align-items:center;gap:9px;}
.stk-rubric__h--strong{color:var(--stk-blue-300);}
.stk-rubric__h--strong::before{content:"";width:11px;height:11px;border-radius:3px;background:var(--stk-blue);box-shadow:0 0 0 4px rgba(37,99,235,.18);flex:none;}
.stk-rubric__h--weak::before{content:"";width:11px;height:11px;border-radius:3px;border:1.5px solid var(--stk-muted);flex:none;}
.stk-rubric__row{display:grid;grid-template-columns:minmax(230px,1.15fr) 1fr 1fr;gap:28px;padding:26px 30px;border-top:1px solid rgba(255,255,255,.07);transition:background .25s ease;}
.stk-rubric__row:first-of-type{border-top:none;}
.stk-rubric__row:hover{background:rgba(255,255,255,.022);}
.stk-rubric__row--single{grid-template-columns:1fr;}
.stk-rubric__crit-name{font-family:var(--stk-display);font-weight:600;font-size:17px;letter-spacing:-.01em;color:#fff;margin:0 0 5px;}
.stk-rubric__crit-sub{font-size:13.5px;line-height:1.5;color:var(--stk-muted-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.stk-rubric__cell{padding-left:18px;border-left:1px solid rgba(255,255,255,.10);}
.stk-rubric__cell--strong{border-left:2px solid rgba(37,99,235,.55);}
.stk-rubric__cell p{margin:0;font-size:14.5px;line-height:1.6;color:var(--stk-muted-3);}
.stk-rubric__cell--weak p{color:var(--stk-muted-2);}
/* Per-cell labels: kept in the a11y tree at all widths (sr-only on desktop, not display:none),
   promoted to visible on mobile, so the strong/weak distinction is never carried by colour alone. */
.stk-rubric__cell-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
.stk-rubric__foot{display:flex;align-items:center;gap:12px;padding:20px 30px;border-top:1px solid rgba(255,255,255,.10);background:rgba(37,99,235,.06);}
.stk-rubric__foot p{margin:0;font-size:15px;line-height:1.55;color:var(--stk-muted-3);}
.stk-rubric__foot p strong{color:#fff;font-weight:600;}
.stk-rubric__foot::before{content:"";flex:none;width:8px;height:8px;border-radius:99px;background:var(--stk-blue);box-shadow:0 0 0 4px rgba(37,99,235,.2);}
/* Per-row reveal stagger, driven by the shared [data-rg].is-in .rev mechanism (no new JS/observer). */
.stk-rubric__row.rev{transition-delay:var(--stk-rg-delay,0ms);}
@media(prefers-reduced-motion:reduce){.stk-rubric__row.rev{transition-delay:0ms;}}
@media(max-width:880px){
	.stk-rubric__head{display:none;}
	.stk-rubric__row,.stk-rubric__row--single{grid-template-columns:1fr;gap:16px;padding:22px 20px;}
	.stk-rubric__cell{border-left:2px solid rgba(255,255,255,.10);padding-left:14px;}
	.stk-rubric__cell--strong{border-left-color:rgba(37,99,235,.55);}
	.stk-rubric__cell-label{position:static;width:auto;height:auto;margin:0;clip:auto;clip-path:none;overflow:visible;display:flex;align-items:center;gap:8px;font-family:var(--stk-mono);font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;}
	.stk-rubric__cell--strong .stk-rubric__cell-label{color:var(--stk-blue-300);}
	.stk-rubric__cell--weak .stk-rubric__cell-label{color:var(--stk-muted-2);}
	.stk-rubric__cell-label::before{content:"";width:11px;height:11px;border-radius:3px;flex:none;}
	.stk-rubric__cell--strong .stk-rubric__cell-label::before{background:var(--stk-blue);}
	.stk-rubric__cell--weak .stk-rubric__cell-label::before{border:1.5px solid var(--stk-muted);}
	.stk-rubric__foot{padding:18px 20px;}
}
