/* ============================================================
   Sublime LMS — Company pages (About/Customers/Careers/Contact/Security)
   Each page has a distinct hero; shared section helpers below.
   ============================================================ */
.co-reveal { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.co-reveal.in { opacity:1; transform:none; }
.co-wrap { width:100%; max-width:1180px; margin:0 auto; padding:0 28px; }
.co-section { padding:var(--section-y) 0; }
.co-head { max-width:720px; margin:0 auto 48px; text-align:center; }
.co-head .eyebrow { justify-content:center; }
.co-head h2 { font-family:var(--font-display); font-weight:800; font-size:clamp(30px,4vw,48px); letter-spacing:-0.03em; color:var(--fg); margin:14px 0 14px; text-wrap:balance; }
.co-head p { font-size:18px; line-height:1.6; color:var(--fg-body); margin:0; }

/* ============================================================
   ABOUT — manifesto hero (oversized type that draws in)
   ============================================================ */
.ab-hero { position:relative; padding:96px 0 72px; overflow:hidden; isolation:isolate; }
.ab-hero-field { position:absolute; inset:0; z-index:-2; background:var(--gradient-pulsefield); opacity:.85; }
.ab-orb { position:absolute; border-radius:999px; filter:blur(60px); z-index:-1; opacity:.5; animation:ab-drift 16s ease-in-out infinite; }
.ab-orb.o1 { width:420px; height:420px; background:radial-gradient(circle,#A78BFA,transparent 70%); top:-120px; right:-80px; }
.ab-orb.o2 { width:360px; height:360px; background:radial-gradient(circle,#5EEAD4,transparent 70%); bottom:-140px; left:-100px; animation-delay:4s; }
@keyframes ab-drift { 0%,100% { transform:translate(0,0); } 50% { transform:translate(30px,-24px); } }
.ab-hero .kick { font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--color-violet-700); margin-bottom:22px; }
.ab-manifesto { font-family:var(--font-display); font-weight:800; font-size:clamp(34px,6vw,68px); line-height:1.08; letter-spacing:-0.035em; color:var(--fg); max-width:980px; text-wrap:balance; }
.ab-manifesto .g { background:linear-gradient(120deg,#6D28D9,#8B5CF6 45%,#14B8A6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.ab-manifesto .word { display:inline-block; }
.ab-sub { font-size:19px; line-height:1.6; color:var(--fg-body); max-width:560px; margin:30px 0 0; }

/* about timeline */
.ab-timeline { position:relative; max-width:760px; margin:0 auto; padding-left:34px; }
.ab-timeline::before { content:''; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:linear-gradient(180deg,var(--color-violet-400),var(--color-teal-400,#2DD4BF)); }
.ab-tl-item { position:relative; padding:0 0 36px; }
.ab-tl-item:last-child { padding-bottom:0; }
.ab-tl-dot { position:absolute; left:-34px; top:2px; width:16px; height:16px; border-radius:999px; background:#fff; border:3px solid var(--color-violet-500); box-shadow:0 0 0 4px rgba(109,40,217,.1); }
.ab-tl-yr { font-family:var(--font-mono); font-size:13px; font-weight:600; color:var(--color-violet-700); }
.ab-tl-item h3 { font-family:var(--font-display); font-weight:700; font-size:20px; letter-spacing:-0.015em; color:var(--fg); margin:6px 0 6px; }
.ab-tl-item p { font-size:15px; line-height:1.6; color:var(--fg-body); margin:0; }

/* values grid */
.ab-values { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; max-width:920px; margin:0 auto; }
.ab-value { background:#fff; border:1px solid var(--border); border-radius:var(--radius-2xl); padding:30px; display:flex; gap:18px; }
.ab-value .ic { width:48px; height:48px; border-radius:14px; background:var(--color-violet-100); color:var(--color-violet-700); display:grid; place-items:center; flex-shrink:0; }
.ab-value .ic i { width:24px; height:24px; }
.ab-value h3 { font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-0.015em; color:var(--fg); margin:0 0 8px; }
.ab-value p { font-size:14px; line-height:1.6; color:var(--fg-body); margin:0; }

/* team strip */
.ab-team { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.ab-member { text-align:center; }
.ab-member .av { width:96px; height:96px; border-radius:999px; margin:0 auto 14px; display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:30px; letter-spacing:-0.02em; box-shadow:var(--shadow-md); }
.ab-member b { display:block; font-family:var(--font-display); font-weight:650; font-size:15px; color:var(--fg); }
.ab-member span { font-size:12.5px; color:var(--fg-muted); }

/* ============================================================
   CUSTOMERS — logo marquee hero
   ============================================================ */
.cu-hero { position:relative; padding:80px 0 48px; text-align:center; overflow:hidden; isolation:isolate; }
.cu-hero-field { position:absolute; inset:0; z-index:-1; background:var(--gradient-pulsefield); opacity:.8; }
.cu-hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(38px,5.4vw,64px); line-height:1.02; letter-spacing:-0.03em; color:var(--fg); margin:14px 0 18px; text-wrap:balance; }
.cu-hero p { font-size:19px; line-height:1.6; color:var(--fg-body); max-width:560px; margin:0 auto; }
.cu-marquee { margin-top:44px; overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent); }
.cu-track { display:flex; gap:56px; width:max-content; animation:cu-scroll 32s linear infinite; }
.cu-track span { font-family:var(--font-display); font-weight:700; font-size:22px; color:var(--color-slate-400); letter-spacing:-0.01em; white-space:nowrap; }
@keyframes cu-scroll { to { transform:translateX(-50%); } }
.cu-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.cu-stat { text-align:center; padding:36px 18px; border-right:1px solid var(--border); }
.cu-stat:last-child { border-right:none; }
.cu-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size:clamp(40px,5vw,60px); line-height:1; letter-spacing:-0.03em; background:linear-gradient(135deg,#6D28D9,#8B5CF6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cu-stat span { display:block; font-size:13.5px; color:var(--fg-muted); margin-top:10px; }
.cu-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cu-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-2xl); overflow:hidden; transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out); }
.cu-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
.cu-card .top { height:120px; position:relative; display:flex; align-items:center; justify-content:center; }
.cu-card .top b { position:relative; z-index:1; color:#fff; font-family:var(--font-display); font-weight:800; font-size:30px; letter-spacing:-0.02em; }
.cu-card .body { padding:24px; }
.cu-card .badge { font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--color-violet-700); background:var(--color-violet-50); padding:4px 9px; border-radius:999px; }
.cu-card .q { font-family:var(--font-display); font-weight:600; font-size:16px; line-height:1.4; color:var(--fg); margin:14px 0; letter-spacing:-0.01em; }
.cu-card .res { display:flex; gap:20px; }
.cu-card .res div b { font-family:var(--font-display); font-weight:800; font-size:22px; color:var(--color-emerald-700); display:block; letter-spacing:-0.02em; }
.cu-card .res div span { font-size:11px; color:var(--fg-muted); }

/* ---- Outcomes editorial ledger (redesigned) ---- */
.cu-mono { font-family:var(--font-mono); font-size:12px; font-weight:500; color:var(--fg-faint); letter-spacing:.04em; }
.cu-feature { display:grid; grid-template-columns:1.15fr .85fr; gap:0; border:1px solid var(--border); border-radius:var(--radius-3xl); overflow:hidden; background:#fff; text-decoration:none; color:inherit; transition:box-shadow .35s var(--ease-out), transform .35s var(--ease-out); }
.cu-feature:hover { box-shadow:0 30px 60px -34px rgba(15,23,42,.26); transform:translateY(-3px); }
.cu-feature-l { padding:40px 44px; display:flex; flex-direction:column; }
.cu-feature-meta { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.cu-org { font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--fg); letter-spacing:-0.01em; }
.cu-tag { font-family:var(--font-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--color-violet-700); background:var(--color-violet-50); padding:4px 9px; border-radius:999px; }
.cu-feature-q { font-family:var(--font-display); font-weight:700; font-size:clamp(22px,2.5vw,28px); line-height:1.32; letter-spacing:-0.02em; color:var(--fg); margin:0 0 26px; text-wrap:balance; }
.cu-feature-by { display:flex; align-items:center; gap:12px; margin-top:auto; }
.cu-av { width:42px; height:42px; border-radius:999px; display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:700; font-size:14px; flex-shrink:0; }
.cu-av.sm { width:26px; height:26px; font-size:11px; }
.cu-feature-by b { display:block; font-size:14px; font-weight:650; color:var(--fg); }
.cu-feature-by span { font-size:12.5px; color:var(--fg-muted); }
.cu-read { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:var(--color-violet-700); margin-top:20px; }
.cu-read i { width:15px; height:15px; transition:transform .25s var(--ease-out); }
.cu-feature:hover .cu-read i { transform:translateX(4px); }
.cu-feature-r { background:linear-gradient(180deg,var(--color-ivory),#fff); border-left:1px solid var(--border); padding:40px 36px; display:flex; flex-direction:column; justify-content:center; }
.cu-bignum { display:flex; align-items:flex-start; gap:2px; }
.cu-bignum b { font-family:var(--font-display); font-weight:800; font-size:clamp(64px,9vw,104px); line-height:.9; letter-spacing:-0.05em; background:linear-gradient(135deg,#047857,#10B981); -webkit-background-clip:text; background-clip:text; color:transparent; }
.cu-bignum i { font-family:var(--font-display); font-style:normal; font-weight:800; font-size:32px; color:#10B981; margin-top:8px; }
.cu-bignum-lbl { font-size:13.5px; color:var(--fg-muted); margin-top:6px; }
.cu-mini { display:flex; gap:28px; margin-top:26px; padding-top:22px; border-top:1px solid var(--border); }
.cu-mini b { font-family:var(--font-display); font-weight:800; font-size:24px; color:var(--fg); letter-spacing:-0.02em; display:block; }
.cu-mini b small { font-size:14px; color:var(--fg-muted); font-weight:700; }
.cu-mini span { font-size:11.5px; color:var(--fg-muted); }

.cu-ledger { margin-top:16px; border:1px solid var(--border); border-radius:var(--radius-2xl); overflow:hidden; background:#fff; }
.cu-lrow { display:grid; grid-template-columns:34px 1.1fr auto 1.6fr auto 24px; gap:22px; align-items:center; padding:22px 28px; text-decoration:none; color:inherit; border-top:1px solid var(--border-soft); transition:background .2s; position:relative; }
.cu-lrow:first-child { border-top:none; }
.cu-lrow::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--color-violet-500); transform:scaleY(0); transform-origin:center; transition:transform .25s var(--ease-out); }
.cu-lrow:hover { background:var(--color-mist); }
.cu-lrow:hover::before { transform:scaleY(1); }
.cu-lorg { display:inline-flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:650; font-size:15px; color:var(--fg); letter-spacing:-0.01em; white-space:nowrap; }
.cu-ltag { font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-muted); }
.cu-lquote { font-size:14px; color:var(--fg-body); line-height:1.45; }
.cu-lstats { display:flex; gap:22px; white-space:nowrap; }
.cu-lstats span { font-size:11.5px; color:var(--fg-muted); display:flex; flex-direction:column; }
.cu-lstats b { font-family:var(--font-display); font-weight:800; font-size:18px; color:var(--color-emerald-700); letter-spacing:-0.02em; }
.cu-larrow { width:18px; height:18px; color:var(--fg-faint); transition:transform .25s var(--ease-out), color .2s; }
.cu-lrow:hover .cu-larrow { color:var(--color-violet-600); transform:translate(3px,-3px); }

@media (max-width:880px){
  .cu-feature { grid-template-columns:1fr; }
  .cu-feature-r { border-left:none; border-top:1px solid var(--border); }
  .cu-lrow { grid-template-columns:1fr; gap:10px; padding:20px 22px; }
  .cu-lquote { order:4; }
  .cu-lstats { order:5; }
  .cu-larrow { display:none; }
  .cu-mono { display:none; }
}

/* ============================================================
   CAREERS — split hero + open-roles
   ============================================================ */
.ca-hero { position:relative; padding:72px 0 40px; overflow:hidden; isolation:isolate; }
.ca-hero-field { position:absolute; inset:0; z-index:-1; background:var(--gradient-pulsefield); opacity:.8; }
.ca-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; }
.ca-hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(38px,5.2vw,62px); line-height:1.03; letter-spacing:-0.03em; color:var(--fg); margin:14px 0 18px; text-wrap:balance; }
.ca-hero p { font-size:18px; line-height:1.6; color:var(--fg-body); margin:0 0 26px; max-width:460px; }
/* animated stacked role chips */
.ca-stack { position:relative; height:340px; }
.ca-rolechip { position:absolute; left:0; right:0; background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl); box-shadow:var(--shadow-md); padding:18px 22px; display:flex; align-items:center; gap:14px; }
.ca-rolechip .ic { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; flex-shrink:0; }
.ca-rolechip .ic i { width:21px; height:21px; }
.ca-rolechip b { display:block; font-family:var(--font-display); font-weight:650; font-size:15px; color:var(--fg); }
.ca-rolechip span { font-size:12.5px; color:var(--fg-muted); }
.ca-rolechip.r1 { top:0; } .ca-rolechip.r1 .ic { background:var(--color-violet-100); color:var(--color-violet-700); }
.ca-rolechip.r2 { top:84px; } .ca-rolechip.r2 .ic { background:var(--color-teal-100); color:var(--color-teal-700); }
.ca-rolechip.r3 { top:168px; } .ca-rolechip.r3 .ic { background:var(--color-blue-100); color:var(--color-blue-700); }
.ca-rolechip.r4 { top:252px; } .ca-rolechip.r4 .ic { background:var(--color-emerald-100); color:var(--color-emerald-700); }
@keyframes ca-rise { from { transform:translateY(18px); } }
.ca-rolechip.r1 { transform:rotate(-1.5deg); } .ca-rolechip.r2 { transform:rotate(1deg); } .ca-rolechip.r3 { transform:rotate(-1deg); } .ca-rolechip.r4 { transform:rotate(1.5deg); }
.co-anim .ca-rolechip { animation:ca-rise .7s var(--ease-spring) both; }
.co-anim .ca-rolechip.r1 { animation-delay:.1s; } .co-anim .ca-rolechip.r2 { animation-delay:.3s; } .co-anim .ca-rolechip.r3 { animation-delay:.5s; } .co-anim .ca-rolechip.r4 { animation-delay:.7s; }
/* perks */
.ca-perks { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ca-perk { background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl); padding:26px; }
.ca-perk .ic { width:44px; height:44px; border-radius:12px; background:var(--color-teal-100); color:var(--color-teal-700); display:grid; place-items:center; margin-bottom:16px; }
.ca-perk .ic i { width:22px; height:22px; }
.ca-perk h3 { font-family:var(--font-display); font-weight:700; font-size:17px; letter-spacing:-0.01em; color:var(--fg); margin:0 0 7px; }
.ca-perk p { font-size:13.5px; line-height:1.55; color:var(--fg-muted); margin:0; }
/* roles list */
.ca-roles { max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.ca-role { display:grid; grid-template-columns:1fr auto auto; gap:18px; align-items:center; background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl); padding:20px 24px; transition:box-shadow .25s,transform .25s,border-color .25s; text-decoration:none; }
.ca-role:hover { box-shadow:var(--shadow-md); transform:translateY(-2px); border-color:var(--color-violet-200); }
.ca-role h4 { font-family:var(--font-display); font-weight:700; font-size:17px; letter-spacing:-0.01em; color:var(--fg); margin:0 0 4px; }
.ca-role .dept { font-size:13px; color:var(--fg-muted); }
.ca-role .loc { font-size:13px; color:var(--fg-body); }
.ca-role .go { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:600; color:var(--color-violet-700); }
.ca-role .go i { width:15px; height:15px; }

/* ============================================================
   CONTACT — methods + form
   ============================================================ */
.ct-hero { position:relative; padding:72px 0 30px; text-align:center; overflow:hidden; isolation:isolate; }
.ct-hero-field { position:absolute; inset:0; z-index:-1; background:var(--gradient-pulsefield); opacity:.8; }
.ct-hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(38px,5.4vw,60px); line-height:1.04; letter-spacing:-0.03em; color:var(--fg); margin:14px 0 16px; }
.ct-hero p { font-size:18px; line-height:1.6; color:var(--fg-body); max-width:520px; margin:0 auto; }
.ct-grid { display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:start; }
.ct-methods { display:flex; flex-direction:column; gap:16px; }
.ct-method { display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:var(--radius-xl); padding:20px; transition:border-color .2s,box-shadow .2s; }
.ct-method:hover { border-color:var(--color-violet-200); box-shadow:var(--shadow-sm); }
.ct-method .ic { width:44px; height:44px; border-radius:12px; display:grid; place-items:center; flex-shrink:0; }
.ct-method.violet .ic { background:var(--color-violet-100); color:var(--color-violet-700); }
.ct-method.teal .ic { background:var(--color-teal-100); color:var(--color-teal-700); }
.ct-method.blue .ic { background:var(--color-blue-100); color:var(--color-blue-700); }
.ct-method .ic i { width:22px; height:22px; }
.ct-method b { display:block; font-family:var(--font-display); font-weight:650; font-size:15px; color:var(--fg); }
.ct-method p { font-size:13.5px; line-height:1.5; color:var(--fg-muted); margin:3px 0 6px; }
.ct-method a { font-size:13.5px; font-weight:600; color:var(--color-violet-700); text-decoration:none; }
.ct-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-2xl); box-shadow:var(--shadow-lg); padding:30px; }
.ct-card h2 { font-family:var(--font-display); font-weight:700; font-size:22px; letter-spacing:-0.015em; color:var(--fg); margin:0 0 4px; }
.ct-card .sub { font-size:13.5px; color:var(--fg-muted); margin:0 0 22px; }
.ct-field { display:flex; flex-direction:column; gap:7px; margin-bottom:16px; }
.ct-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ct-label { font-size:13px; font-weight:600; color:var(--fg); }
.ct-input, .ct-textarea, .ct-select { width:100%; height:48px; padding:0 14px; font-family:var(--font-sans); font-size:14px; color:var(--fg); background:#fff; border:1px solid var(--border); border-radius:var(--radius-md); outline:none; transition:border-color .2s,box-shadow .2s; }
.ct-textarea { height:auto; min-height:110px; padding:12px 14px; resize:vertical; line-height:1.5; }
.ct-input:focus, .ct-textarea:focus, .ct-select:focus { border-color:var(--color-violet-500); box-shadow:var(--focus-ring); }
.ct-input.err { border-color:var(--color-rose-500); box-shadow:0 0 0 4px rgba(244,63,94,.12); }
.ct-done { display:none; text-align:center; padding:30px 10px; }
.ct-done.show { display:block; animation:co-fade .5s var(--ease-out); }
@keyframes co-fade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.ct-done .chk { width:72px; height:72px; border-radius:999px; background:var(--color-emerald-50); display:grid; place-items:center; margin:0 auto 18px; }
.ct-done .chk i { width:34px; height:34px; color:var(--color-emerald-600); }
.ct-done h3 { font-family:var(--font-display); font-weight:700; font-size:22px; color:var(--fg); margin:0 0 8px; letter-spacing:-0.015em; }
.ct-done p { font-size:14.5px; color:var(--fg-body); margin:0; }

/* ============================================================
   SECURITY — shield hero
   ============================================================ */
.se-hero { position:relative; padding:80px 0 48px; text-align:center; overflow:hidden; isolation:isolate; }
.se-hero-field { position:absolute; inset:0; z-index:-2; background:var(--gradient-dark-intel); }
.se-hero-field::after { content:''; position:absolute; inset:0; background:radial-gradient(60% 70% at 50% 0%, rgba(139,92,246,.34), transparent 70%); }
.se-shield { width:120px; height:120px; margin:0 auto 28px; position:relative; }
.se-shield svg { width:120px; height:120px; }
.se-shield .ring { position:absolute; inset:-14px; border-radius:50%; border:1.5px solid rgba(167,139,250,.4); animation:se-pulse 3s ease-out infinite; }
.se-shield .ring.d2 { animation-delay:1.5s; }
@keyframes se-pulse { 0% { transform:scale(.9); opacity:.7; } 100% { transform:scale(1.4); opacity:0; } }
.se-hero .kick { font-family:var(--font-mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:#C4B5FD; margin-bottom:14px; }
.se-hero h1 { font-family:var(--font-display); font-weight:800; font-size:clamp(38px,5.2vw,60px); line-height:1.04; letter-spacing:-0.03em; color:#fff; margin:0 0 16px; text-wrap:balance; }
.se-hero p { font-size:18px; line-height:1.6; color:rgba(255,255,255,.78); max-width:540px; margin:0 auto; }
.se-badges { display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; margin-top:32px; }
.se-badge { display:inline-flex; align-items:center; gap:9px; padding:11px 18px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); color:#fff; font-size:13.5px; font-weight:600; backdrop-filter:blur(8px); }
.se-badge i { width:17px; height:17px; color:#6EE7B7; }
/* practices */
.se-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.se-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius-2xl); padding:28px; }
.se-card .ic { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; margin-bottom:18px; }
.se-card .ic i { width:23px; height:23px; }
.se-card.violet .ic { background:var(--color-violet-100); color:var(--color-violet-700); }
.se-card.teal .ic { background:var(--color-teal-100); color:var(--color-teal-700); }
.se-card.blue .ic { background:var(--color-blue-100); color:var(--color-blue-700); }
.se-card.emerald .ic { background:var(--color-emerald-100); color:var(--color-emerald-700); }
.se-card.amber .ic { background:var(--color-amber-100); color:var(--color-amber-600); }
.se-card h3 { font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-0.015em; color:var(--fg); margin:0 0 8px; }
.se-card p { font-size:14px; line-height:1.6; color:var(--fg-body); margin:0; }
/* compliance list */
.se-comply { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:10px; }
.se-comply-row { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--border); border-radius:var(--radius-lg); padding:16px 20px; }
.se-comply-row .ic { width:34px; height:34px; border-radius:9px; background:var(--color-emerald-50); color:var(--color-emerald-700); display:grid; place-items:center; flex-shrink:0; }
.se-comply-row .ic i { width:17px; height:17px; }
.se-comply-row b { font-family:var(--font-display); font-weight:650; font-size:15px; color:var(--fg); }
.se-comply-row span { font-size:13px; color:var(--fg-muted); margin-left:auto; }

@media (max-width:920px){
  .ab-values, .cu-grid, .ca-perks, .se-grid { grid-template-columns:1fr 1fr; }
  .ab-team { grid-template-columns:repeat(2,1fr); }
  .ca-hero-grid, .ct-grid { grid-template-columns:1fr; }
  .ca-stack { max-width:460px; }
  .cu-stats { grid-template-columns:1fr 1fr; }
  .cu-stat:nth-child(2) { border-right:none; }
  .cu-stat:nth-child(1),.cu-stat:nth-child(2) { border-bottom:1px solid var(--border); }
}
@media (max-width:600px){
  .ab-values, .cu-grid, .ca-perks, .se-grid, .ab-team { grid-template-columns:1fr; }
  .ct-row { grid-template-columns:1fr; }
  .ca-role { grid-template-columns:1fr; gap:8px; }
  .cu-stats { grid-template-columns:1fr; }
  .cu-stat { border-right:none; border-bottom:1px solid var(--border); }
}
@media (prefers-reduced-motion:reduce){
  .ab-orb,.ab-manifesto .word,.cu-track,.ca-rolechip,.se-shield .ring { animation:none !important; opacity:1 !important; transform:none !important; }
}


/* ============================================================
   Company hero animated layers (upgrade)
   ============================================================ */
.co-viz { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.co-viz svg { position:absolute; inset:0; width:100%; height:100%; }
.co-flow-base { fill:none; stroke:rgba(109,40,217,.10); stroke-width:1.5; }
.co-flow { fill:none; stroke-width:2; stroke-linecap:round; opacity:.55; stroke-dasharray:2200; stroke-dashoffset:2200; animation:co-draw 3.6s var(--ease-out) forwards; }
.co-flow.f2 { animation-delay:.5s; animation-duration:4.3s; }
@keyframes co-draw { to { stroke-dashoffset:0; } }
.co-node { animation:co-node 2.9s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.co-node.n2 { animation-delay:1.1s; } .co-node.n3 { animation-delay:1.9s; }
@keyframes co-node { 0%,100% { opacity:.45; r:4; } 50% { opacity:1; r:6; } }
.co-tok { filter:drop-shadow(0 0 5px rgba(139,92,246,.7)); animation:co-tok 8s linear infinite; }
@keyframes co-tok { from { offset-distance:0%; } to { offset-distance:100%; } }

/* About — momentum lines drifting from the right */
.ab-flow { -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 46%); mask-image:linear-gradient(90deg,transparent 8%,#000 46%); }
.ab-tok { offset-path:path("M-40 120 C 380 60, 640 210, 1000 120 S 1480 64, 1520 92"); }

/* Customers — connected network constellation */
.cu-net { -webkit-mask-image:radial-gradient(120% 130% at 50% 22%, #000 40%, transparent 78%); mask-image:radial-gradient(120% 130% at 50% 22%, #000 40%, transparent 78%); }
.cu-link { stroke:rgba(109,40,217,.16); stroke-width:1.4; fill:none; stroke-dasharray:4 8; animation:cu-link-flow 4s linear infinite; }
.cu-link.k2 { animation-duration:5.5s; } .cu-link.k3 { animation-duration:6.5s; }
@keyframes cu-link-flow { to { stroke-dashoffset:-48; } }
.cu-tok { offset-path:path("M210 70 C 520 40, 820 120, 1240 80"); filter:drop-shadow(0 0 5px rgba(20,184,166,.7)); }

/* Careers — ascending growth paths (behind chips, faint) */
.ca-paths { opacity:.5; -webkit-mask-image:linear-gradient(90deg,transparent 4%,#000 40%); mask-image:linear-gradient(90deg,transparent 4%,#000 40%); }
.ca-tok { offset-path:path("M-40 320 C 320 250, 560 170, 820 96 S 1320 40, 1520 30"); }

/* Contact — signal rings emanating outward */
.ct-signal { position:absolute; inset:0; z-index:-1; display:grid; place-items:center; pointer-events:none; }
.ct-ring { position:absolute; border:1.5px solid rgba(109,40,217,.20); border-radius:999px; width:130px; height:130px; animation:ct-ring 4.6s ease-out infinite; }
.ct-ring.r2 { animation-delay:1.5s; border-color:rgba(20,184,166,.20); } .ct-ring.r3 { animation-delay:3s; }
@keyframes ct-ring { 0% { width:130px; height:130px; opacity:.75; } 100% { width:820px; height:820px; opacity:0; } }

/* Security — vertical data stream + scan over dark hero */
.se-stream { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.se-stream i { position:absolute; top:-40%; width:1px; height:55%; background:linear-gradient(180deg,transparent,rgba(167,139,250,.8),transparent); animation:se-fall 4.2s linear infinite; }
@keyframes se-fall { to { transform:translateY(260%); } }
.se-scan { position:absolute; left:0; right:0; height:140px; background:linear-gradient(180deg,transparent,rgba(167,139,250,.10),transparent); animation:se-scan 7s ease-in-out infinite; }
@keyframes se-scan { 0%,100% { top:-16%; } 50% { top:92%; } }

@media (prefers-reduced-motion:reduce){
  .co-flow,.co-node,.co-tok,.cu-link,.cu-tok,.ca-tok,.ct-ring,.se-stream i,.se-scan { animation:none !important; stroke-dashoffset:0 !important; }
}
