/* Public pages of virateam.us (home, careers, sign in, legal). Same look as virallcsystem.com:
   system font stack, navy + mint, pill buttons, big bold headings, rounded cards. */
:root {
  --navy: #0B1B34; --deep: #0A1526; --ink: #0F1B2D; --mint: #2EE6B6; --mint-ink: #0f7f63; --mint-soft: #E4FBF4;
  --blue: #2F6BFF; --blue-deep: #1B3FBF; --cloud: #F6F8FB; --slate: #5B6B82; --line: #E3E9F1; --dark-text: #b8c7dd;
  --sys: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}
body.ts { margin: 0; font-family: var(--sys); color: var(--ink); background: #fff; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
body.ts * { box-sizing: border-box; }
body.ts a { color: inherit; }
.ts-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* announce bar + header */
.ts-announce { background: linear-gradient(90deg, var(--deep) 0%, var(--navy) 35%, var(--blue-deep) 100%); color: #fff; font-size: 14px; text-align: center; padding: 9px 16px; }
.ts-announce a { color: var(--mint); font-weight: 700; text-decoration: none; margin-left: 10px; background: rgba(46,230,182,.14); padding: 4px 12px; border-radius: 999px; }
.ts-head { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.92); backdrop-filter: saturate(1.4) blur(12px); border-bottom: 1px solid var(--line); }
.ts-head::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, var(--blue), var(--mint)); opacity: .55; }
.ts-head .ts-wrap { display: flex; align-items: center; justify-content: space-between; height: 68px; gap: 16px; }
.ts-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 800; font-size: 20px; color: var(--navy); letter-spacing: .01em; }
.ts-logo img { width: 38px; height: 38px; }
.ts-logo span { font-weight: 600; color: var(--mint-ink); font-size: 15px; padding-left: 10px; border-left: 1px solid var(--line); }
.ts-nav { display: flex; align-items: center; gap: 26px; }
.ts-nav a { text-decoration: none; font-weight: 600; color: #334155; font-size: 15.5px; }
.ts-nav a:hover { color: var(--navy); }
.ts-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; padding: 13px 26px; font-weight: 700; font-size: 16px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; font-family: inherit; white-space: nowrap; transition: transform .15s, box-shadow .15s; }
.ts-btn:hover { transform: translateY(-1px); }
.ts-btn.navy { background: var(--navy); color: #fff !important; box-shadow: 0 10px 24px rgba(11,27,52,.22); }
.ts-btn.ghost { background: #fff; color: var(--navy) !important; border-color: var(--line); }
.ts-btn.mint { background: var(--mint); color: var(--deep) !important; }
.ts-btn.sm { padding: 9px 18px; font-size: 14.5px; }

/* hero */
.ts-hero { position: relative; overflow: hidden; padding: 88px 0 96px; background:
  radial-gradient(60% 70% at 0% 0%, rgba(47,107,255,.07), transparent 60%), radial-gradient(50% 60% at 100% 20%, rgba(46,230,182,.10), transparent 60%), #fff; }
.ts-hero .ts-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.ts-kicker { font-size: 13px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--blue-deep); }
.ts-kicker.mint { color: var(--mint-ink); }
.ts-hero h1 { font-size: clamp(40px, 5.4vw, 66px); line-height: 1.02; letter-spacing: -.035em; margin: 14px 0 20px; font-weight: 800; color: var(--navy); }
.ts-hand { position: relative; white-space: nowrap; }
.ts-hand::after { content: ''; position: absolute; left: 2%; right: 2%; bottom: -.12em; height: .2em; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 50 2, 120 2, 198 7' fill='none' stroke='%2312a58c' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 100% 100%; }
.ts-lead { font-size: 19px; color: #3d4b60; max-width: 560px; margin: 0 0 30px; }
.ts-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.ts-note { margin-top: 18px; font-size: 14px; color: var(--slate); }

/* hero mock: a rep's workspace */
.ts-mock { position: relative; }
.ts-screen { background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 40px 90px rgba(11,27,52,.16); overflow: hidden; transform: perspective(1400px) rotateY(-6deg) rotateX(2deg); }
.ts-screen .bar { background: var(--navy); color: #fff; padding: 12px 16px; display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; }
.ts-screen .bar i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.25); display: inline-block; }
.ts-screen .bar b { margin-left: 8px; }
.ts-screen .body { padding: 18px; display: grid; gap: 12px; background: linear-gradient(180deg, #fff, var(--cloud)); }
.ts-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.ts-stat { border: 1px solid var(--line); border-radius: 14px; padding: 10px 12px; background: #fff; }
.ts-stat b { display: block; font-size: 22px; color: var(--navy); }
.ts-stat span { font-size: 11px; color: var(--slate); }
.ts-deal { display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; background: #fff; font-size: 13.5px; }
.ts-deal small { display: block; color: var(--slate); font-size: 12px; }
.ts-pill { font-size: 11.5px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--mint-soft); color: var(--mint-ink); white-space: nowrap; }
.ts-pill.blue { background: #EAF0FF; color: var(--blue-deep); }
.ts-pill.amber { background: #fdf4e3; color: #9a6514; }
.ts-float { position: absolute; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 12px 16px; box-shadow: 0 20px 50px rgba(11,27,52,.14); font-size: 13.5px; display: flex; align-items: center; gap: 10px; }
.ts-float .dot { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: var(--navy); color: var(--mint); font-weight: 900; }
.ts-float.one { left: -34px; bottom: -26px; }
.ts-float.two { right: -18px; top: -26px; }
.ts-float small { display: block; color: var(--slate); font-size: 12px; }

/* sections */
.ts-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--cloud); }
.ts-strip .ts-wrap { display: flex; justify-content: center; gap: 44px; flex-wrap: wrap; padding: 22px 24px; font-size: 13px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #64748b; }
.ts-strip span::before { content: '●'; color: var(--mint); margin-right: 10px; font-size: 10px; vertical-align: 2px; }
.ts-sec { padding: 96px 0; }
.ts-sec.alt { background: linear-gradient(180deg, #fff 0%, var(--cloud) 100%); }
.ts-sec h2 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08; letter-spacing: -.03em; margin: 12px 0 14px; color: var(--navy); font-weight: 800; }
.ts-sec .sub { font-size: 18px; color: var(--slate); max-width: 640px; margin: 0 0 40px; }
.ts-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.ts-grid.three { grid-template-columns: repeat(3, 1fr); }
.ts-card { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 26px; box-shadow: 0 18px 50px rgba(11,27,52,.06); }
.ts-card .n { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-weight: 900; color: var(--mint); background: var(--navy); margin-bottom: 16px; }
.ts-card h3 { margin: 0 0 8px; font-size: 20px; color: var(--navy); letter-spacing: -.01em; }
.ts-card p { margin: 0; color: var(--slate); font-size: 15.5px; }

/* academy */
.ts-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.ts-level { position: relative; border-radius: 24px; padding: 28px; color: #fff; overflow: hidden; background: radial-gradient(120% 90% at 20% 10%, #5B8BFF 0%, #2F6BFF 34%, #0B1B34 100%); min-height: 220px; }
.ts-level:nth-child(2) { background: radial-gradient(120% 90% at 80% 10%, #0B1B34 0%, #1B3FBF 55%, #2F6BFF 100%); }
.ts-level:nth-child(3) { background: radial-gradient(120% 90% at 50% 0%, #12a58c 0%, #0f7f63 35%, #0B1B34 100%); }
.ts-level::after { content: ''; position: absolute; inset: 0; background: radial-gradient(60% 50% at 80% 100%, rgba(46,230,182,.30), transparent 70%); }
.ts-level > * { position: relative; z-index: 1; }
.ts-level .lv { font-size: 12px; font-weight: 800; letter-spacing: .2em; opacity: .85; }
.ts-level h3 { font-size: 24px; margin: 10px 0 8px; }
.ts-level p { margin: 0; color: #dbe5f5; font-size: 15px; }
.ts-level .badge { position: absolute; right: 22px; bottom: 20px; width: 54px; height: 54px; border-radius: 50%; border: 3px solid var(--mint); display: grid; place-items: center; color: var(--mint); font-weight: 900; font-size: 22px; background: rgba(11,27,52,.55); }

/* dark tools panel */
.ts-dark { background: var(--navy); color: #fff; border-radius: 32px; padding: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; position: relative; overflow: hidden; }
.ts-dark::before { content: ''; position: absolute; inset: 0; background: radial-gradient(50% 60% at 100% 0%, rgba(47,107,255,.35), transparent 70%), radial-gradient(40% 50% at 0% 100%, rgba(46,230,182,.18), transparent 70%); }
.ts-dark > * { position: relative; }
.ts-dark h2 { color: #fff !important; }
.ts-dark .sub { color: var(--dark-text); }
.ts-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ts-list li { display: flex; gap: 12px; align-items: flex-start; color: #e6edf8; font-size: 16px; }
.ts-list li::before { content: '✓'; flex: none; width: 24px; height: 24px; border-radius: 8px; background: rgba(46,230,182,.16); color: var(--mint); display: grid; place-items: center; font-weight: 900; font-size: 13px; margin-top: 1px; }
.ts-list b { color: #fff; }

/* rules */
.ts-rules { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ts-rule { border: 1px solid var(--line); border-radius: 20px; padding: 20px; background: #fff; }
.ts-rule b { display: block; color: var(--navy); margin-bottom: 6px; }
.ts-rule span { color: var(--slate); font-size: 14.5px; }

/* CTA band + footer */
.ts-cta { background: linear-gradient(120deg, var(--deep) 0%, var(--navy) 45%, var(--blue-deep) 100%); color: #fff; border-radius: 32px; padding: 56px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ts-cta h2 { color: #fff !important; margin: 0 0 8px; }
.ts-cta p { margin: 0; color: var(--dark-text); }
.ts-foot { border-top: 1px solid var(--line); margin-top: 80px; padding: 36px 0 46px; color: var(--slate); font-size: 14px; }
.ts-foot .ts-wrap { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ts-foot a { margin-left: 18px; text-decoration: none; }
.ts-foot a:hover { color: var(--navy); }

/* careers */
.ts-page-hero { padding: 64px 0 40px; background: radial-gradient(60% 70% at 0% 0%, rgba(47,107,255,.07), transparent 60%), radial-gradient(50% 60% at 100% 0%, rgba(46,230,182,.10), transparent 60%); border-bottom: 1px solid var(--line); }
.ts-page-hero h1 { font-size: clamp(34px, 4.4vw, 52px); letter-spacing: -.03em; line-height: 1.05; margin: 12px 0 10px; color: var(--navy); }
.ts-page-hero p { color: var(--slate); font-size: 18px; margin: 0; max-width: 640px; }
.ts-jobs { display: grid; gap: 14px; padding: 40px 0; }
.ts-job { display: flex; gap: 18px; align-items: center; justify-content: space-between; border: 1px solid var(--line); border-radius: 22px; padding: 22px 24px; text-decoration: none; background: #fff; box-shadow: 0 14px 40px rgba(11,27,52,.05); transition: transform .15s, box-shadow .15s; }
.ts-job:hover { transform: translateY(-2px); box-shadow: 0 22px 50px rgba(11,27,52,.10); }
.ts-job .logo { width: 56px; height: 56px; border-radius: 14px; border: 1px solid var(--line); display: grid; place-items: center; flex: none; background: #fff; }
.ts-job .logo img { width: 40px; }
.ts-job h3 { margin: 0 0 4px; font-size: 19px; color: var(--navy); }
.ts-job .meta { color: var(--slate); font-size: 14.5px; }
/* LinkedIn-style job page */
.li-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; padding: 32px 0 0; }
.li-top { border: 1px solid var(--line); border-radius: 22px; padding: 26px; background: #fff; margin-bottom: 18px; }
.li-co { display: flex; align-items: center; gap: 10px; font-weight: 700; color: var(--navy); font-size: 15px; }
.li-co img { width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--line); padding: 3px; }
.li-top h1 { font-size: 28px; line-height: 1.2; margin: 12px 0 6px; color: var(--ink); letter-spacing: -.01em; }
.li-meta { color: var(--slate); font-size: 14.5px; }
.li-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 18px; }
.li-chips span { background: var(--cloud); border: 1px solid var(--line); border-radius: 999px; padding: 6px 12px; font-size: 13.5px; font-weight: 600; color: #334155; }
.li-chips span.green { background: var(--mint-soft); border-color: #b9ecdc; color: var(--mint-ink); }
.li-body { border: 1px solid var(--line); border-radius: 22px; padding: 28px; background: #fff; }
.li-body h2 { font-size: 20px; margin: 26px 0 8px; color: var(--ink); }
.li-body h2:first-child { margin-top: 0; }
.li-body p { margin: 8px 0; color: #334155; }
.li-body ul { padding-left: 22px; margin: 8px 0; color: #334155; }
.li-body li { margin: 6px 0; }
.li-apply { position: sticky; top: 88px; border: 1px solid var(--line); border-radius: 22px; padding: 24px; background: #fff; box-shadow: 0 20px 50px rgba(11,27,52,.08); }
.li-apply h2 { margin: 0 0 4px; font-size: 20px; color: var(--navy); }
.li-apply label { display: block; font-size: 13px; font-weight: 700; color: #334155; margin: 12px 0 5px; }
.li-apply input, .li-apply textarea { width: 100%; font: inherit; font-size: 15px; border: 1px solid #cfd8e3; border-radius: 12px; padding: 10px 12px; background: #fff; }
.li-apply textarea { min-height: 84px; resize: vertical; }
.li-apply input:focus, .li-apply textarea:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,107,255,.15); }
.li-apply .ts-btn { width: 100%; margin-top: 16px; }
.li-apply .fine { font-size: 12.5px; color: var(--slate); margin-top: 12px; }
.ts-notice { border-radius: 14px; padding: 12px 14px; font-size: 14.5px; margin: 10px 0; }
.ts-notice.ok { background: var(--mint-soft); color: var(--mint-ink); }
.ts-notice.bad { background: #fdecec; color: #b42318; }
.ts-hp { position: absolute; left: -5000px; }

/* sign in */
.ts-login { min-height: calc(100vh - 220px); display: grid; place-items: center; padding: 56px 20px; background: radial-gradient(50% 60% at 15% 10%, rgba(47,107,255,.10), transparent 60%), radial-gradient(45% 55% at 90% 80%, rgba(46,230,182,.14), transparent 60%), var(--cloud); }
.ts-login .box { width: 100%; max-width: 440px; background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 36px 34px; box-shadow: 0 30px 80px rgba(11,27,52,.12); text-align: center; }
.ts-login .box img { width: 56px; }
.ts-login h1 { font-size: 28px; letter-spacing: -.02em; margin: 14px 0 6px; color: var(--navy); }
.ts-login p { color: var(--slate); margin: 0 0 22px; }
.ts-login .g { width: 100%; }
.ts-login .g svg { width: 20px; height: 20px; background: #fff; border-radius: 50%; padding: 2px; }
.ts-login .fine { font-size: 13px; color: var(--slate); margin: 18px 0 0; }

/* legal pages keep their text styles from styles.css */
body.ts .site-main { max-width: 900px; margin: 0 auto; padding: 40px 24px; }

@media (max-width: 960px) {
  .ts-hero { padding: 56px 0 72px; }
  .ts-hero .ts-wrap, .ts-dark, .li-layout { grid-template-columns: minmax(0, 1fr); }
  .ts-grid, .ts-rules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-grid.three, .ts-levels { grid-template-columns: minmax(0, 1fr); }
  .ts-screen { transform: none; }
  .ts-float.one { left: 10px; } .ts-float.two { right: 10px; }
  .ts-dark, .ts-cta { padding: 34px 26px; border-radius: 26px; }
  .ts-nav a:not(.ts-btn) { display: none; }
  .li-apply { position: static; }
}
@media (max-width: 560px) {
  .ts-grid, .ts-rules { grid-template-columns: minmax(0, 1fr); }
  .ts-row { grid-template-columns: repeat(2, 1fr); }
  .ts-logo span { display: none; }
  .ts-sec { padding: 64px 0; }
  .ts-strip .ts-wrap { gap: 14px 22px; font-size: 11.5px; }
}

/* ---------- careers: LinkedIn-style cards on every screen */
.ts-job { align-items: flex-start; }
.ts-job .job-main { flex: 1 1 auto; min-width: 0; }
.ts-job .co { font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 2px; }
.ts-job .sum { margin-top: 8px; color: #334155; font-size: 14.5px; line-height: 1.5; }
.ts-job .when { margin-top: 8px; font-size: 13px; color: var(--mint-ink); font-weight: 600; }
.ts-job > .ts-btn { flex: none; align-self: center; }
.li-sticky { display: none; }
@media (max-width: 960px) {
  .li-sticky { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; align-items: center; justify-content: space-between; gap: 12px;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.97); border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(11,27,52,.08); }
  .li-sticky div { min-width: 0; display: grid; }
  .li-sticky b { font-size: 15px; color: var(--navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .li-sticky span { font-size: 12.5px; color: var(--slate); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .li-sticky .ts-btn { flex: none; padding-left: 26px; padding-right: 26px; }
  body.ts:has(.li-sticky) { padding-bottom: 76px; }
}
@media (max-width: 560px) {
  .ts-jobs { padding: 24px 0; gap: 12px; }
  .ts-job { flex-wrap: wrap; gap: 12px 14px; padding: 18px; border-radius: 18px; }
  .ts-job .logo { width: 48px; height: 48px; border-radius: 12px; }
  .ts-job .logo img { width: 34px; }
  .ts-job .job-main { flex: 1 1 calc(100% - 62px); }
  .ts-job h3 { font-size: 18px; }
  .ts-job > .ts-btn { width: 100%; justify-content: center; }
  .ts-announce { font-size: 12.5px; padding: 8px 12px; }
  .li-top { padding: 20px; border-radius: 18px; }
  .li-top h1 { font-size: 24px; }
  .li-top > .ts-btn { padding: 10px 20px; }
  .li-chips span { font-size: 12.5px; padding: 5px 10px; }
  .li-body { padding: 20px; border-radius: 18px; }
  .li-body h2 { font-size: 18px; }
  .li-apply { padding: 20px; border-radius: 18px; }
}

/* ---------- careers: LinkedIn job-post layout (VIRA colours) */
body.ts.lk { background: #f4f2ee; font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: rgba(0,0,0,.9); }
.lk-wrap { max-width: 1128px; margin: 0 auto; padding: 24px 24px 56px; }
.lk-card { background: #fff; border-radius: 10px; box-shadow: 0 0 0 1px rgba(140,140,140,.2); padding: 24px; }
.lk-card + .lk-card, .lk-main > .lk-card ~ .lk-card { margin-top: 10px; }
.lk-card h2 { margin: 0 0 12px; font-size: 20px; font-weight: 600; color: rgba(0,0,0,.9); }
.lk-sub { color: rgba(0,0,0,.6); font-size: 14px; }
.lk-green { color: #0b8f79; font-weight: 600; }
.lk-logo { width: 56px; height: 56px; border-radius: 6px; object-fit: contain; background: #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.08); flex: none; }
.lk-logo.sm { width: 32px; height: 32px; border-radius: 4px; }
.lk-logo.lg { width: 88px; height: 88px; border-radius: 8px; }
.lk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-radius: 999px; padding: 7px 18px; min-height: 40px; font: inherit; font-size: 16px; font-weight: 600;
  border: 1px solid var(--navy); color: var(--navy); background: #fff; cursor: pointer; text-decoration: none; transition: background .15s, box-shadow .15s; }
.lk-btn:hover { background: rgba(11,27,52,.06); box-shadow: inset 0 0 0 1px var(--navy); }
.lk-btn.primary { background: var(--navy); color: #fff; }
.lk-btn.primary:hover { background: #13306a; }
.lk-btn.wide { width: 100%; margin-top: 16px; }
/* list */
.lk-co-head { display: flex; gap: 20px; align-items: center; }
.lk-co-head h1 { margin: 0 0 6px; font-size: 24px; font-weight: 600; }
.lk-co-head p { margin: 0 0 8px; color: rgba(0,0,0,.75); font-size: 15px; max-width: 680px; }
.lk-list { padding: 0; overflow: hidden; }
.lk-row { display: flex; gap: 16px; padding: 18px 24px; text-decoration: none; border-top: 1px solid rgba(140,140,140,.2); }
.lk-row:first-child { border-top: 0; }
.lk-row:hover { background: #f9f9f8; }
.lk-row-main { min-width: 0; flex: 1; }
.lk-row-title { font-size: 17px; font-weight: 600; color: var(--navy); }
.lk-row:hover .lk-row-title { text-decoration: underline; }
.lk-row-co { font-size: 14px; color: rgba(0,0,0,.9); margin-top: 2px; }
.lk-row-loc { font-size: 14px; color: rgba(0,0,0,.6); }
.lk-row-sum { font-size: 14px; color: rgba(0,0,0,.75); margin-top: 8px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lk-row-foot { font-size: 12.5px; color: rgba(0,0,0,.6); margin-top: 8px; }
.lk-empty { padding: 24px; }
/* job page */
.lk-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.lk-co { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; text-decoration: none; color: rgba(0,0,0,.9); }
.lk-co:hover { text-decoration: underline; }
.lk-top h1 { font-size: 24px; font-weight: 600; line-height: 1.25; margin: 12px 0 6px; }
.lk-insights { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 10px; }
.lk-insights li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: rgba(0,0,0,.75); }
.lk-insights svg { color: rgba(0,0,0,.6); flex: none; margin-top: 0; }
.lk-insights b { color: rgba(0,0,0,.9); font-weight: 600; }
.lk-actions { display: flex; gap: 8px; margin-top: 20px; flex-wrap: wrap; }
.lk-body { font-size: 15px; line-height: 1.6; color: rgba(0,0,0,.9); }
.lk-body h2 { font-size: 16px; font-weight: 600; margin: 22px 0 6px; }
.lk-body h2:first-child { margin-top: 0; }
.lk-body p { margin: 6px 0; }
.lk-body ul { margin: 6px 0; padding-left: 20px; }
.lk-body li { margin: 4px 0; }
.lk-co-row { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; }
.lk-co-row > div { flex: 1; }
.lk-company p { margin: 0; font-size: 15px; line-height: 1.6; color: rgba(0,0,0,.75); }
.lk-apply { position: sticky; top: 88px; }
.lk-apply h2 { margin-bottom: 2px; }
.lk-apply label { display: block; font-size: 14px; font-weight: 600; color: rgba(0,0,0,.75); margin: 14px 0 4px; }
.lk-apply input, .lk-apply textarea { width: 100%; font: inherit; font-size: 15px; border: 1px solid rgba(0,0,0,.45); border-radius: 6px; padding: 9px 12px; background: #fff; color: rgba(0,0,0,.9); }
.lk-apply textarea { min-height: 84px; resize: vertical; }
.lk-apply input:focus, .lk-apply textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 1px var(--navy); }
.lk-apply .fine { font-size: 12.5px; color: rgba(0,0,0,.6); margin: 12px 0 0; }
@media (max-width: 960px) {
  .lk-layout { grid-template-columns: minmax(0, 1fr); }
  .lk-apply { position: static; margin-top: 10px; }
}
@media (max-width: 560px) {
  .lk-wrap { padding: 8px 0 32px; }
  .lk-card { border-radius: 0; box-shadow: 0 0 0 1px rgba(140,140,140,.18); padding: 18px 16px; }
  .lk-card.lk-list { padding: 0; }
  .lk-co-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .lk-logo.lg { width: 64px; height: 64px; }
  .lk-co-head h1, .lk-top h1 { font-size: 21px; }
  .lk-row { padding: 16px; gap: 12px; }
  .lk-row .lk-logo { width: 48px; height: 48px; }
  .lk-actions .lk-btn { flex: 1; }
  .lk-card h2 { font-size: 18px; }
}
