/* ============================================================
   Strivo theme v3 — cinematic dark, premium.
   Loaded AFTER styles.css; overrides only. Design tokens stay
   violet-on-obsidian; the 3D "S" hero is untouched.
   ============================================================ */
:root{
  --bg:#0B0B10;--bg2:#101016;--panel:#111118;--panel2:#15151D;
  --line:rgba(255,255,255,.07);--line2:rgba(255,255,255,.13);
  --text:#F4F4F7;--muted:#A3A3B4;--faint:#70707F;
  --surface:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  --glow:rgba(139,92,246,.42);
  --ease:cubic-bezier(.16,1,.3,1);
  --rad:18px;--rad-lg:24px;
}
html{scroll-padding-top:90px}
body{background:var(--bg);color:var(--text)}
/* ambient light: two slow violet blooms fixed behind everything */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60% 45% at 8% 12%,rgba(139,92,246,.16),transparent 70%),
    radial-gradient(55% 40% at 92% 85%,rgba(109,40,217,.14),transparent 70%);
  animation:bloom 22s ease-in-out infinite alternate}
@keyframes bloom{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2%,2%,0) scale(1.06)}}
@media(prefers-reduced-motion:reduce){body::before{animation:none}}
section.block,footer,.hero,.page-hero{position:relative;z-index:1}

/* ---------- type ---------- */
h1,h2,h3,h4{letter-spacing:-.025em}
.block h2{font-size:clamp(32px,4.8vw,54px);line-height:1.04;max-width:820px;margin-top:16px}
.lead{font-size:clamp(16px,1.9vw,18.5px);line-height:1.65;color:var(--muted);max-width:600px}
.eye{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.2em;color:var(--lav)}
.eye::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--violet);box-shadow:0 0 12px var(--glow)}
section.block{padding:clamp(76px,9.5vw,124px) 0}
section.block.tight{padding-top:0}

/* ---------- nav ---------- */
nav{padding:18px 28px}
nav.solid{background:rgba(11,11,16,.62);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line);padding:12px 28px}
.nlinks a{font-size:14.5px;letter-spacing:.005em}
.nlinks .btn{padding:11px 18px;font-size:14.5px}

/* ---------- buttons ---------- */
.btn{border-radius:999px;padding:14px 24px;box-shadow:0 10px 34px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.btn:hover{box-shadow:0 16px 44px -12px var(--glow),inset 0 1px 0 rgba(255,255,255,.3);transform:translateY(-2px)}
.btn.lg{padding:17px 32px}
.ghost{border-radius:999px;border-color:var(--line2);background:rgba(255,255,255,.02);padding:15px 26px;backdrop-filter:blur(6px)}
.ghost:hover{border-color:rgba(164,136,255,.6);background:rgba(139,92,246,.08)}
.btn:focus-visible,.ghost:focus-visible,.q:focus-visible,.nlinks a:focus-visible,.fcol a:focus-visible{outline:2px solid var(--violet-hi);outline-offset:3px}

/* ---------- hero ---------- */
.hero{min-height:92vh;padding-top:160px}
.hero h1{font-size:clamp(46px,7.2vw,92px);letter-spacing:-.035em;line-height:.98;max-width:700px}
.hero .sub{font-size:clamp(16px,2vw,19px);color:#B9B9C8;max-width:540px;line-height:1.65;margin-top:26px}
.hero .ctas{margin-top:38px;gap:12px}
.hero .micro{margin-top:26px;font-size:13.5px;color:var(--faint)}
.cue{opacity:.8}
/* soften hero floor into the page */
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(180deg,transparent,var(--bg));z-index:1;pointer-events:none}

/* ---------- credibility strip ---------- */
.strip{position:relative;z-index:2;margin:-10px auto 0;max-width:var(--maxw);padding:0 28px}
.strip-in{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.strip-in div{padding:22px 20px;display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);letter-spacing:.01em;border-left:1px solid var(--line)}
.strip-in div:first-child{border-left:0;padding-left:0}
.strip-in i{font-size:20px;color:var(--violet-hi);flex:0 0 auto}
.strip-in b{color:var(--text);font-weight:600}
@media(max-width:900px){.strip-in{grid-template-columns:1fr 1fr}.strip-in div{border-left:0;padding-left:0;border-top:1px solid var(--line)}.strip-in div:nth-child(-n+2){border-top:0}}
@media(max-width:520px){.strip-in{grid-template-columns:1fr}.strip-in div:nth-child(2){border-top:1px solid var(--line)}}

/* ---------- glass card base ---------- */
.listcard,.steps4 .step,.rrow,.fi,.cpanel,.formcard,.after .ex,.ex,.det{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--rad-lg);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 30px 60px -40px rgba(0,0,0,.8);
  transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease)}
.listcard:hover,.steps4 .step:hover,.rrow:hover{border-color:rgba(164,136,255,.35);transform:translateY(-3px);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 70px -40px rgba(0,0,0,.9),0 0 0 1px rgba(139,92,246,.08)}

/* ---------- the deal ---------- */
.two{gap:20px;margin-top:44px}
.listcard{padding:clamp(26px,3.2vw,36px);position:relative;overflow:hidden}
.listcard::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--violet-hi),transparent);opacity:.9}
.listcard h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);font-family:var(--body);font-weight:600;margin:0 0 20px}
.listcard ul{gap:14px}
.listcard li{align-items:center;font-size:15.5px;color:var(--muted);gap:14px}
.listcard li i{width:34px;height:34px;border-radius:10px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.22);display:inline-flex;align-items:center;justify-content:center;font-size:17px;margin:0;color:var(--lav)}
.listcard li b{color:var(--text)}

/* ---------- recruiting ---------- */
.recruit{margin-top:44px;gap:10px}
.rrow{border-radius:var(--rad);padding:20px 24px 20px 26px;position:relative}
.rrow::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:3px;background:rgba(255,255,255,.08)}
.rrow:has(.rt.open)::before{background:#34d399;box-shadow:0 0 14px rgba(52,211,153,.6)}
.rrow .rl{font-size:16.5px}
.rrow .rl small{color:var(--muted);letter-spacing:.02em}
.rrow .rt{padding:7px 13px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:7px}
.rrow .rt::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.rt.open{color:#6EE7B7;background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.28)}
.rt.soon{color:#C4B5FD;background:rgba(139,92,246,.1);border-color:rgba(139,92,246,.24)}

/* ---------- faq ---------- */
.faq{border-top:0;margin-top:44px;display:grid;gap:10px}
.fi{border-bottom:1px solid var(--line);border-radius:var(--rad);padding:0 22px;transition:background .3s,border-color .3s}
.fi:has(.q.open){border-color:rgba(164,136,255,.35);background:linear-gradient(180deg,rgba(139,92,246,.07),rgba(255,255,255,.02))}
.q{font-size:18px;padding:20px 0;font-weight:500}
.q i{width:32px;height:32px;border-radius:50%;border:1px solid var(--line2);display:inline-flex;align-items:center;justify-content:center;font-size:18px;color:var(--lav);transition:transform .3s var(--ease),background .3s}
.q.open i{background:rgba(139,92,246,.18);transform:rotate(45deg)}
.a p{padding-bottom:22px;font-size:15.5px;line-height:1.65;color:#B8B8C8}

/* ---------- who we are ---------- */
#team .block,#team h2{max-width:780px}
.steps4{gap:16px;margin-top:44px}
.steps4 .step{padding:28px 26px 30px}
.xi{width:46px;height:46px;border-radius:14px;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.24);display:inline-flex;align-items:center;justify-content:center;font-size:22px;color:var(--lav);margin-bottom:18px}
.step h4{font-size:18px;letter-spacing:-.01em;margin:0 0 8px}
.step p{font-size:14.8px;line-height:1.62;color:#ABABBC}

/* ---------- final cta ---------- */
.final{margin:0 28px;border:0;border-radius:32px;padding:clamp(70px,9vw,120px) 28px;background:#0E0E15;isolation:isolate}
.final::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(164,136,255,.7),rgba(139,92,246,.12) 40%,rgba(255,255,255,.06) 70%,rgba(164,136,255,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:3}
.final::after{content:"";position:absolute;inset:-40%;background:radial-gradient(40% 40% at 50% 50%,rgba(139,92,246,.22),transparent 70%);z-index:0;pointer-events:none}
.final .cta-canvas{z-index:1}
.final-inner{z-index:2}
.final h2{font-size:clamp(34px,5.6vw,64px);letter-spacing:-.03em;max-width:760px;margin:16px auto 0}
.final .sub{color:#B9B9C8}
.final .micro{margin-top:18px}

/* ---------- footer ---------- */
footer{background:#0D0D13;border-top:1px solid var(--line);border-radius:36px 36px 0 0;margin-top:100px}
footer .tag{color:var(--muted)}
.fcol h5{color:var(--faint)}
.copy{color:var(--faint)}

/* ---------- sub-pages: hero + cards + forms ---------- */
.page-hero{padding:170px 28px 70px;background:radial-gradient(ellipse 120% 60% at 50% -10%,rgba(139,92,246,.32),rgba(11,11,16,0) 65%)}
.page-hero h1{font-size:clamp(42px,6.6vw,80px);letter-spacing:-.035em;line-height:.98}
.page-hero .sub{color:#B9B9C8;line-height:1.65}
.crumb{color:var(--faint)}
.cpanel,.formcard{padding:clamp(24px,3vw,36px)}
.cpanel h3,.formcard h2{letter-spacing:-.02em}
.cform label{color:var(--muted);font-size:13.5px;letter-spacing:.01em}
.cform input,.cform select,.cform textarea{background:rgba(255,255,255,.04)!important;border:1px solid var(--line2)!important;border-radius:12px!important;color:var(--text)!important;transition:border-color .25s,box-shadow .25s,background .25s}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--violet-hi)!important;box-shadow:0 0 0 4px rgba(139,92,246,.18);background:rgba(255,255,255,.06)!important}
.cform .btn{width:auto}
.checks label{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:999px;padding:9px 14px;transition:border-color .25s,background .25s}
.checks label:hover{border-color:rgba(164,136,255,.5)}
.checks label:has(input:checked){background:rgba(139,92,246,.14);border-color:rgba(164,136,255,.6);color:var(--text)}
.after .ex,.ex{padding:22px 24px}
.ex .n{color:var(--lav)}
.okbox,.errbox{border-radius:var(--rad-lg)}
.details{gap:14px}
.det{padding:18px 20px}
.det .dl{color:var(--faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.det .dv{margin-top:6px}
.trust span{color:var(--muted)}

/* ---------- small screens ---------- */
@media(max-width:780px){
  .hero{padding-top:130px;min-height:88vh}
  .hero h1{font-size:clamp(40px,11vw,56px)}
  section.block{padding:clamp(60px,12vw,90px) 0}
  .final{margin:0 16px;border-radius:24px}
  .wrap{padding:0 20px}
  .strip{padding:0 20px}
}
