/* CVNext company site and blog (direction B2). Tokens: DESIGN.md "Company site and blog".
   The CVNext app's own skin: white pages, brand #2596be (never under text), brand-text
   #1b7395 for buttons and links, brand-dark #185e77 for dark bands, active #33ca7f with ink
   glyphs, panel #eef7fb. Assistant only. Layout uses logical properties (RTL first). */
:root{
  --brand:#2596be; --brand-text:#1b7395; --brand-dark:#185e77; --active:#33ca7f; --panel:#eef7fb;
  --ink:#000; --ink-2:#121212; --text:#464646; --text-2:#535353; --muted:#707070;
  --border:#d8d8d8; --border-light:#ededed; --visited:#532f96; --error:#b3261e; --error-bg:#fdecea;
  --on-dark:rgba(255,255,255,.85);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s7:32px;
  --r-card:14px; --r-input:10px; --r-btn:999px; --shadow:0 4px 14px rgba(0,0,0,.12);
  --wrap:1120px; --gutter:32px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:#fff;color:var(--text);font:400 17px/1.6 Assistant,system-ui,sans-serif;caret-color:var(--ink);overflow-x:hidden}
body.locked{overflow:hidden}
img,svg{max-width:100%;height:auto;display:block}
::selection{background:#cfe8f2;color:var(--ink)}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px}
a{color:var(--brand-text);text-underline-offset:3px}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{color:var(--ink);text-wrap:balance}
h1{font:800 50px/1.12 Assistant,sans-serif;margin:0 0 18px;letter-spacing:-.01em}
h2{font:800 32px/1.2 Assistant,sans-serif;margin:0 0 22px}
h3{font:700 20px/1.3 Assistant,sans-serif;margin:0 0 6px}
.wrap{max-width:calc(var(--wrap) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;inset-inline-start:8px;top:-80px;z-index:20;background:#fff;color:var(--brand-text);padding:8px 14px;border:2px solid var(--brand);border-radius:var(--r-input);font-weight:700}
.skip:focus{top:8px}
.ltr{direction:ltr;unicode-bidi:isolate}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 26px;border-radius:var(--r-btn);font:700 17px Assistant,sans-serif;text-decoration:none;border:2px solid var(--brand);background:#fff;color:var(--brand-text);cursor:pointer}
.btn.primary{background:var(--brand-text);border-color:var(--brand-text);color:#fff}
.btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.btn.outline:hover{background:var(--panel)}
.ctas{display:flex;gap:12px;flex-wrap:wrap}

/* header (7A) */
.site-head{position:sticky;top:0;z-index:10;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.site-head nav{display:flex;align-items:center;gap:28px;height:68px}
.logo{display:inline-flex;align-items:center;gap:2px;direction:ltr;text-decoration:none;font:800 22px Assistant,sans-serif;min-height:44px}
.logo .cv{background:var(--brand);color:#fff;padding:0 5px;border-radius:3px}
.logo .nx{color:var(--brand)}
.links{display:flex;gap:24px;font-weight:600;flex:1;margin:0;padding:0;list-style:none}
.links a{display:block;color:var(--text);text-decoration:none;padding:21px 0;border-bottom:3px solid transparent}
.links a:hover{color:var(--brand-text)}
.links a[aria-current]{color:var(--brand-text);border-bottom-color:var(--active)}
.head-tel{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--brand-dark);text-decoration:none;direction:ltr}
.head-trial{min-height:44px;padding:0 20px;font-size:16px}
.icon-btn{display:none;place-items:center;width:44px;height:44px;border:0;border-radius:var(--r-input);background:none;color:var(--brand-text);cursor:pointer;padding:0}
.icon-btn svg{width:24px;height:24px}
.sheet{position:fixed;inset:56px 0 0;z-index:9;background:rgba(0,0,0,.35)}
.sheet[hidden]{display:none}
.sheet ul{list-style:none;margin:0;padding:8px 16px 16px;background:#fff;box-shadow:var(--shadow)}
.sheet a{display:flex;align-items:center;min-height:48px;color:var(--ink);font-weight:700;font-size:18px;text-decoration:none;border-bottom:1px solid var(--border-light)}
.sheet a[aria-current]{color:var(--brand-text)}

/* home hero (9A) */
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:64px 0 56px}
.eyebrow{display:inline-block;background:var(--panel);color:var(--brand-dark);font-weight:700;font-size:14px;padding:4px 12px;border-radius:999px;margin-bottom:14px}
.sub{font-size:19px;color:var(--text-2);margin:0 0 18px;max-width:34em}
.ticks{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:10px;font-size:19px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks b{color:var(--ink)}
.tick{flex:none;width:24px;height:24px;margin-top:3px;border-radius:50%;background:var(--active);color:var(--ink-2);display:inline-grid;place-items:center}
.tick svg{width:14px;height:14px}
.micro{font-size:14px;color:var(--muted);margin-top:12px}
.micro b{color:var(--brand-dark)}
.robot{position:relative;display:grid;place-items:center}
.robot img{width:78%;max-width:360px}
.kpi{position:absolute;background:#fff;border-radius:12px;box-shadow:var(--shadow);border-top:3px solid var(--active);padding:10px 14px;font-size:14px;color:var(--muted)}
.kpi b{display:block;font:800 26px Assistant,sans-serif;color:var(--ink)}
.kpi.k1{top:8%;inset-inline-start:0}
.kpi.k2{bottom:10%;inset-inline-end:0}
.tag{position:absolute;top:0;inset-inline-end:0;font-size:12px;color:var(--muted);background:#f5f5f5;border-radius:999px;padding:2px 8px}

/* home sections */
.band{padding:56px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none}
.card{background:#fff;border-radius:var(--r-card);box-shadow:var(--shadow);border-top:3px solid var(--active);padding:22px}
.card .num{width:48px;height:48px;border-radius:12px;background:var(--active);color:var(--ink-2);display:grid;place-items:center;font:800 20px Assistant,sans-serif;margin-bottom:12px}
.card p{margin:0;color:var(--text-2);font-size:16px}
.secure{background:var(--brand-dark);color:#fff;padding:56px 0}
.secure h2{color:#fff}
.secure .lede{font-size:19px;color:var(--on-dark);margin:-8px 0 26px;max-width:40em}
.split{display:grid;grid-template-columns:1.3fr .7fr;gap:48px;align-items:center}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:18px;color:var(--on-dark)}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks b{color:#fff}
.secure .ctas{margin-top:26px}
.secure .btn.primary{background:#fff;color:var(--brand-dark);border-color:#fff}
.secure .btn.outline{background:transparent;color:#fff;border-color:#fff}
.secure .btn.outline:hover{background:rgba(255,255,255,.1)}
.srv{width:100%;max-width:240px;justify-self:center}
.proof{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}
.proof figure{margin:0}
.proof blockquote{margin:0 0 8px;color:var(--ink)}
.proof .big blockquote{font:800 32px/1.3 Assistant,sans-serif}
.proof .big figcaption{font-size:16px;color:var(--muted)}
.proof .small{display:grid;gap:20px;border-inline-start:3px solid var(--active);padding-inline-start:24px}
.proof .small blockquote{font:600 19px/1.45 Assistant,sans-serif}
.proof figcaption{font-size:14px;color:var(--muted)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}
.steps li{display:flex;gap:12px;align-items:flex-start;font-size:18px;color:var(--ink);font-weight:600;counter-increment:step}
.steps li::before{content:counter(step);flex:none;width:36px;height:36px;border-radius:50%;border:2px solid var(--brand);color:var(--brand-text);display:grid;place-items:center;font-weight:800}
.final{background:var(--panel);text-align:center;padding:56px 0}
.final p{font-size:19px;margin:0 0 22px}
.final .alt{display:block;margin-top:14px;color:var(--brand-dark);font-weight:700}
.final .alt a{color:inherit}
.latest{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.latest a{font-weight:700;font-size:19px;color:var(--ink);text-decoration:none}
.latest a:hover{color:var(--brand-text);text-decoration:underline}
.latest p{margin:6px 0 0;color:var(--text-2);font-size:16px}
.more{display:inline-block;margin-top:20px;font-weight:700}

/* forms (trial 2A, newsletter D10) */
.trial-sec{padding:56px 0}
.form{max-width:640px;margin:0 auto;background:#fff;border-radius:var(--r-card);box-shadow:var(--shadow);border-top:3px solid var(--active);padding:28px}
.form h2{margin-bottom:6px}
.form .lede{color:var(--text-2);margin:0 0 18px}
.form fieldset{border:0;margin:0;padding:0;min-width:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{display:block;font:700 15px Assistant,sans-serif;color:var(--ink);margin-bottom:4px}
.field label small{font-weight:400;color:var(--muted)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--r-input);padding:0 12px;font:400 16px Assistant,sans-serif;color:var(--text);background:#fff}
.field input::placeholder{color:var(--muted)}
.field.invalid input,.field.invalid select{border-color:var(--error);border-width:2px}
.err{display:none;margin:4px 0 0;font-size:15px;font-weight:600;color:var(--error)}
.field.invalid .err{display:block}
.hp{position:absolute;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin-top:14px}
.chk .box input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--brand-text)}
.chk label{font:400 15px/1.5 Assistant,sans-serif;color:var(--text);margin:0}
/* consent gate (same behavior as the weekly form) */
.nudge{display:none;flex:none;width:28px;margin:2px 0 0;color:var(--brand-text);overflow:hidden;transition:width .2s ease-out,margin .2s ease-out,opacity .2s ease-out}
[dir=rtl] .nudge svg{transform:scaleX(-1)}
.gate .nudge{display:block;--toward:5px;animation:nudge 1s ease-in-out infinite}
[dir=rtl] .gate .nudge{--toward:-5px}
.gate .consent .box input{animation:pulse 1s ease-in-out infinite}
.gate.agreed .nudge{width:0;margin-inline-end:-10px;opacity:0;animation:none}
.gate.agreed .consent .box input{animation:none}
@keyframes nudge{50%{transform:translateX(var(--toward))}}
@keyframes pulse{50%{transform:scale(1.25)}}
.cta[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.form .cta{width:100%;margin-top:18px;min-height:52px;font-size:18px}
.cta[disabled]{cursor:progress}
.spin{display:none;width:18px;height:18px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.cta[aria-busy=true] .spin{display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.after{text-align:center;font-size:14px;color:var(--muted);margin:8px 0 0}
.banner{margin-top:16px;padding:12px;border:1px solid var(--error);border-radius:var(--r-input);background:var(--error-bg);font-size:15px;color:var(--ink)}
.banner[hidden]{display:none}
.banner a{font-weight:700}
.done{font-size:18px;font-weight:700;color:var(--ink);margin:0;padding:8px 0}
.done::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--active);margin-inline-end:8px}

/* company pages */
.page-head{padding:56px 0 8px}
.page-head .lede{font-size:19px;color:var(--text-2);max-width:44em;margin:0}
.page-head .contact{margin-top:20px}
.section{padding:24px 0;max-width:820px}
.section p{margin:0 0 12px}
.section ul.items{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.section ul.items li{display:flex;gap:10px;align-items:flex-start}
.section ul.items .tick{margin-top:4px}
.team{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.team li{border-inline-start:3px solid var(--active);padding-inline-start:12px}
.team b{display:block;color:var(--ink)}
.team span{color:var(--muted);font-size:15px}
.downloads{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.downloads a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600}
.downloads svg{width:20px;height:20px;flex:none}
.faq details{border-bottom:1px solid var(--border-light);padding:4px 0}
.faq summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:var(--ink)}
.faq details p{margin:0 0 12px}
.cta-box{position:relative;background:var(--panel);border-radius:var(--r-card);border-inline-start:4px solid var(--active);padding:20px 22px;padding-inline-end:120px;margin:24px 0;max-width:820px}
.cta-box b{display:block;font:800 20px Assistant,sans-serif;color:var(--ink);margin-bottom:4px}
.cta-box img,.body .cta-box img{position:absolute;inset-inline-end:14px;bottom:8px;height:96px;width:auto;margin:0;border-radius:0}
.cta-box .btn{margin-top:12px;min-height:44px}

/* blog (1A): one reading column */
.read{max-width:760px;margin:0 auto;padding:48px var(--gutter) 56px}
.crumb{font-size:15px;color:var(--muted);margin-bottom:10px}
.crumb a{color:var(--brand-text);text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;min-height:36px;background:var(--panel);color:var(--brand-dark);font:700 14px Assistant,sans-serif;padding:3px 14px;border-radius:999px;text-decoration:none}
.chip[aria-current]{background:var(--brand-dark);color:#fff}
.post-list{list-style:none;margin:0;padding:0}
.post-list li{padding:20px 0;border-bottom:1px solid var(--border-light)}
.post-list h2{font:700 22px/1.35 Assistant,sans-serif;margin:0 0 6px}
.post-list h2 a{color:var(--ink);text-decoration:none}
.post-list h2 a:hover{color:var(--brand-text);text-decoration:underline}
.post-list p{margin:0 0 6px;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{font-size:15px;color:var(--muted)}
.pager{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0;padding:0;list-style:none}
.pager a,.pager span{display:grid;place-items:center;min-width:44px;min-height:44px;border-radius:var(--r-input);border:1px solid var(--border);text-decoration:none;font-weight:700}
.pager [aria-current]{background:var(--brand-text);border-color:var(--brand-text);color:#fff}
.empty{font-size:19px;color:var(--text-2)}
.post-head h1{font-size:40px;margin:12px 0 10px}
.post-head .meta{margin-bottom:24px}
.toc{background:var(--panel);border-radius:var(--r-card);padding:12px 18px;margin:0 0 28px}
.toc summary{cursor:pointer;font-weight:700;color:var(--ink);min-height:40px;display:flex;align-items:center}
.toc ol{margin:4px 0 8px;padding-inline-start:20px}
.toc a{color:var(--brand-text)}
.body{font-size:19px;line-height:1.8;color:var(--text);max-width:68ch}
.body h2{font:800 28px/1.3 Assistant,sans-serif;margin:40px 0 10px}
.body h3{font:700 23px/1.3 Assistant,sans-serif;margin:32px 0 8px}
.body h4{font:700 20px/1.3 Assistant,sans-serif;margin:24px 0 6px;color:var(--ink)}
.body p,.body ul,.body ol{margin:0 0 18px}
.body a:visited{color:var(--visited)}
.body img,.body video{max-width:100%;height:auto;border-radius:8px;margin:8px 0}
.body blockquote{margin:0 0 18px;padding-inline-start:16px;border-inline-start:3px solid var(--active);color:var(--ink)}
.body table{border-collapse:collapse;margin:0 0 18px}
.body th,.body td{border:1px solid var(--border);padding:6px 10px}
.closing{background:var(--panel);border-radius:var(--r-card);padding:24px;margin:40px 0 0}
.closing h2{font-size:24px;margin:0 0 6px}
.closing > p{margin:0 0 14px}
.closing .nl{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.closing .nl h3{font-size:18px}
.nl .grid{grid-template-columns:1fr 1fr}
.nl .cta{width:auto;margin-top:14px;min-height:48px}
.related{margin-top:40px}
.related h2{font-size:24px}
.narrow{max-width:640px;margin:0 auto;padding:56px var(--gutter);text-align:center}
.narrow .robot-sm{width:160px;margin:0 auto 16px}
.narrow p{font-size:19px}
.narrow form{margin-top:20px}

/* footer */
.site-foot{background:var(--brand-dark);color:var(--on-dark);padding:40px 0 24px;font-size:15px;margin-top:0}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.site-foot h2{font:700 16px Assistant,sans-serif;color:#fff;margin:0 0 8px}
.site-foot ul{list-style:none;margin:0;padding:0}
.site-foot a{color:var(--on-dark);text-decoration:none;display:inline-block;min-height:32px;padding:4px 0}
.site-foot a:hover{color:#fff;text-decoration:underline}
.legal{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2)}
.consent-strip{position:fixed;inset-inline:0;bottom:0;z-index:11;background:#fff;box-shadow:0 -2px 10px rgba(0,0,0,.15);padding:12px 16px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}
.consent-strip[hidden]{display:none}
.consent-strip p{margin:0}
.consent-strip button{min-height:44px;padding:0 20px;border-radius:999px;border:2px solid var(--brand);background:#fff;color:var(--brand-text);font-weight:700;cursor:pointer}

@media (max-width:1023px){
  :root{--gutter:16px}
  .site-head nav{height:56px;gap:6px}
  .links,.head-tel{display:none}
  .head-trial{min-height:40px;padding:0 14px;font-size:15px;margin-inline-start:auto}
  .icon-btn{display:grid}
  .hero{grid-template-columns:1fr;gap:20px;padding:28px 0 36px}
  h1{font-size:34px}
  .hero .ctas .btn{width:100%}
  .robot img{width:60%}
  .split,.proof{grid-template-columns:1fr}
  .proof .big blockquote{font-size:26px}
  .steps,.latest{grid-template-columns:1fr}
  .foot-cols{grid-template-columns:1fr 1fr}
  .post-head h1{font-size:32px}
  .page-head{padding-top:32px}
}
@media (max-width:767px){
  .cards,.grid,.nl .grid{grid-template-columns:1fr}
  h2{font-size:26px}
  .cta-box{padding-inline-end:22px}
  .cta-box img{display:none}
  .form{padding:20px 16px}
}
@media (max-width:479px){
  .kpi,.tag{display:none}
  .body{font-size:18px}
  .foot-cols{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .gate .nudge,.gate .consent .box input,.spin{animation:none}
  .nudge{transition:none}
  html{scroll-behavior:auto}
}
.icon-btn[hidden]{display:none}
.ctas.center{justify-content:center}
.form h1{font-size:34px;margin:0 0 6px}
.nl h3{font-size:18px;margin:0 0 12px}
.closing > .nl:first-child{margin-top:0;padding-top:0;border-top:0}
.narrow h1{font-size:34px}
