/* ============================================================
   Predvix — shared site styles (matches Home v2 visual language)
   Used by all sub-pages. The homepage (index.html) keeps its own
   inline styles + hero canvas; this file mirrors its look & feel.
   ============================================================ */

:root{
  --bg:#05070d; --panel:#0b0e16; --panel-2:#0a0e1c;
  --line:rgba(255,255,255,.07); --line-2:rgba(255,255,255,.12);
  --text:#eef1f8; --muted:#9aa3b6; --muted-2:#7e8aa3; --head:#f3f6fb;
  --blue:#3f7bff; --blue-l:#6fa0ff; --purple:#7b5bff;
  --maxw:1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.5;}
img{max-width:100%;display:block;}
a{color:inherit;-webkit-tap-highlight-color:transparent;}
::selection{background:rgba(47,107,255,.3);color:#fff;}

@keyframes pvxReveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes pvxAurora{0%{transform:translate(-5%,-3%) scale(1)}50%{transform:translate(5%,4%) scale(1.1)}100%{transform:translate(-5%,-3%) scale(1)}}
@keyframes pvxPulse{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}

.container{max-width:var(--maxw);margin:0 auto;padding-left:32px;padding-right:32px;}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);font-weight:700;}
.title{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.02em;color:var(--head);line-height:1.14;}
.lead{font-size:15px;line-height:1.66;color:var(--muted);}
.center{text-align:center;}

/* ---------- NAV ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s ease,box-shadow .3s ease;border-bottom:1px solid transparent;}
.nav.scrolled{background:rgba(5,7,13,.8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:rgba(255,255,255,.07);}
.nav__inner{max-width:1280px;margin:0 auto;padding:20px 34px;display:flex;align-items:center;justify-content:space-between;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand img{width:34px;height:34px;}
.brand span{display:flex;flex-direction:column;line-height:1.05;}
.brand b{font-size:17px;font-weight:700;color:#fff;letter-spacing:-.01em;}
.brand small{font-size:12px;font-weight:500;color:#8a93a8;}
.nav__links{display:flex;align-items:center;gap:4px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);}
.nav__links a{text-decoration:none;color:#c4cbda;font-size:14px;font-weight:500;padding:8px 16px;border-radius:999px;transition:color .2s,background .2s;}
.nav__links a:hover,.nav__links a.active{color:#fff;background:rgba(255,255,255,.06);}
.nav__cta{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:#0a0d14;font-size:14px;font-weight:600;padding:11px 12px 11px 20px;border-radius:999px;background:#fff;transition:transform .2s;}
.nav__cta:hover{transform:translateY(-1px);}
.nav__cta i{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#0a0d14;color:#fff;font-size:12px;font-style:normal;}
.nav__lang{color:#aeb8cc;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s;}
.nav__lang:hover{color:#fff;}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:15px;border-radius:999px;cursor:pointer;border:0;font-family:inherit;transition:transform .2s,box-shadow .2s,background .2s;}
.btn-primary{color:#0a0d14;background:#fff;padding:14px 16px 14px 26px;box-shadow:0 14px 50px rgba(60,110,255,.20);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 60px rgba(60,110,255,.45);}
.btn-primary i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0a0d14;color:#fff;font-size:13px;font-style:normal;}
.btn-ghost{color:#e6ebfa;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);padding:13px 24px;}
.btn-ghost:hover{background:rgba(255,255,255,.12);}

/* ---------- PAGE HEADER ---------- */
.page-header{position:relative;overflow:hidden;padding:158px 0 54px;text-align:center;}
.page-header::before{content:"";position:absolute;left:50%;top:-12%;width:1100px;height:520px;margin-left:-550px;background:radial-gradient(ellipse at center,rgba(40,90,230,.22),transparent 65%);filter:blur(40px);pointer-events:none;animation:pvxAurora 24s ease-in-out infinite;}
.page-header__inner{position:relative;max-width:760px;}
.page-header h1{font-size:clamp(34px,4.4vw,56px);font-weight:700;line-height:1.08;letter-spacing:-.025em;color:#f6f8fc;margin:16px 0 18px;}
.page-header p{font-size:17px;line-height:1.65;color:var(--muted);max-width:620px;margin:0 auto;}
.page-header .meta{margin-top:16px;font-size:13px;color:var(--muted-2);}

/* ---------- SECTIONS ---------- */
.section{padding:24px 0 64px;}
.section--tight{padding:10px 0 44px;}
.sec-head{margin-bottom:30px;}
.sec-head .title{margin-top:12px;}

/* ---------- GRID + CARDS ---------- */
.grid{display:grid;gap:18px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .28s ease,border-color .28s ease;}
.card--hover:hover{transform:translateY(-6px);border-color:rgba(63,123,255,.35);}
.card h3{font-size:17px;font-weight:700;color:#f1f4fa;margin-bottom:9px;letter-spacing:-.01em;}
.card p{font-size:13.5px;line-height:1.62;color:#8c95a9;}
.card .ic{display:flex;width:42px;height:42px;border-radius:11px;background:rgba(63,123,255,.12);border:1px solid rgba(63,123,255,.2);align-items:center;justify-content:center;color:var(--blue-l);font-size:18px;margin-bottom:16px;}
.card .more{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-size:13px;font-weight:600;color:#fff;text-decoration:none;}
.card .more span{color:var(--blue-l);}
.badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#9fb4e8;background:rgba(63,123,255,.13);border:1px solid rgba(63,123,255,.28);border-radius:999px;padding:3px 8px;vertical-align:middle;}
.badge--purple{color:#b79bff;background:rgba(123,91,255,.14);border-color:rgba(123,91,255,.3);}
.badge--green{color:#86e0b4;background:rgba(46,170,110,.14);border-color:rgba(46,170,110,.32);}

/* ---------- PANEL / FEATURE ---------- */
.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:40px;}
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;}
.media{position:relative;border-radius:18px;overflow:hidden;background:var(--panel-2);border:1px solid var(--line);}
.media img{width:100%;height:100%;object-fit:cover;}

/* ---------- STATS ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.stat .n{font-size:clamp(28px,3vw,38px);font-weight:800;color:#fff;letter-spacing:-.02em;}
.stat .l{font-size:13px;color:var(--muted-2);margin-top:4px;}

/* ---------- PROSE (legal / long form) ---------- */
.prose{max-width:820px;margin:0 auto;}
.prose>p,.prose>ul{margin-bottom:14px;}
.prose h2{font-size:21px;font-weight:700;color:var(--head);margin:34px 0 12px;letter-spacing:-.01em;}
.prose h3{font-size:16px;font-weight:700;color:#dfe5f2;margin:22px 0 8px;}
.prose p,.prose li{font-size:15px;line-height:1.78;color:#9aa3b6;}
.prose ul{margin-left:20px;}
.prose li{margin-bottom:7px;}
.prose a{color:var(--blue-l);}
.prose strong{color:#cfd6e6;}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:30px;}
.toc h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:12px;}
.toc a{display:block;font-size:14px;color:#9aa3b6;text-decoration:none;padding:4px 0;transition:color .2s;}
.toc a:hover{color:#fff;}

/* ---------- PLACEHOLDER (edit-me markers) ---------- */
.ph{display:block;border:1px dashed rgba(111,160,255,.5);background:rgba(63,123,255,.06);color:#9fb4e8;border-radius:10px;padding:11px 14px;font-size:13px;line-height:1.55;margin:10px 0;}
.ph::before{content:"✎  ";opacity:.8;font-weight:700;}
.ph-i{display:inline;border:1px dashed rgba(111,160,255,.5);background:rgba(63,123,255,.08);color:#9fb4e8;border-radius:6px;padding:1px 7px;font-size:.92em;}
.disclaimer{border:1px solid rgba(255,196,84,.3);background:rgba(255,196,84,.07);color:#f1d9a8;border-radius:12px;padding:14px 18px;font-size:13.5px;line-height:1.6;margin:0 auto 8px;max-width:820px;}
.disclaimer strong{color:#ffe6b0;}

/* ---------- FORMS ---------- */
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.field label{font-size:13px;font-weight:600;color:#c4cbda;}
.field .req{color:var(--blue-l);}
.input,.textarea,.selectbox{width:100%;font-family:inherit;font-size:14px;color:var(--text);background:rgba(255,255,255,.04);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s,background .2s;}
.input::placeholder,.textarea::placeholder{color:#6f7d9a;}
.input:focus,.textarea:focus,.selectbox:focus{border-color:rgba(63,123,255,.6);background:rgba(255,255,255,.06);}
/* select needs a solid dark background so the native option list is readable */
.selectbox{background-color:#0e1320;color:var(--text);cursor:pointer;}
.selectbox:focus{background-color:#111626;}
.selectbox option{background-color:#0e1320;color:#eef1f8;}
.selectbox option:checked{background-color:#1c2b55;color:#fff;}
.textarea{min-height:140px;resize:vertical;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* search box */
.search{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.05);border:1px solid var(--line-2);border-radius:999px;padding:6px 6px 6px 20px;max-width:520px;margin:24px auto 0;}
.search input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text);font-size:15px;font-family:inherit;}
.search button{flex:none;border:0;cursor:pointer;width:42px;height:42px;border-radius:50%;background:var(--blue);color:#fff;font-size:16px;}

/* list rows (articles / roles) */
.row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.row:last-child{border-bottom:0;}
.row h3{font-size:16px;font-weight:700;color:#eef1f8;margin-bottom:5px;}
.row .sub{font-size:13px;color:var(--muted-2);}
.row .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;}
.chip{font-size:11.5px;color:#9fb4e8;background:rgba(63,123,255,.1);border:1px solid rgba(63,123,255,.22);border-radius:999px;padding:3px 10px;}

/* accordion (FAQ) */
.acc{border:1px solid var(--line);border-radius:14px;background:var(--panel);margin-bottom:12px;overflow:hidden;}
.acc>button{width:100%;text-align:left;background:transparent;border:0;cursor:pointer;color:#eef1f8;font-family:inherit;font-size:15px;font-weight:600;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
.acc>button .ico{flex:none;transition:transform .25s;color:var(--blue-l);}
.acc.open>button .ico{transform:rotate(45deg);}
.acc .body{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.acc.open .body{max-height:420px;}
.acc .body p{padding:0 20px 18px;font-size:14px;line-height:1.7;color:#9aa3b6;}

/* CTA band */
.cta{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(120deg,#0a1024 50%,#10204e);border:1px solid rgba(63,123,255,.18);padding:48px 44px;}
.cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(91,140,255,.35) 1px,transparent 1px);background-size:18px 18px;-webkit-mask-image:radial-gradient(ellipse 70% 100% at 50% 0%,#000,transparent);mask-image:radial-gradient(ellipse 70% 100% at 50% 0%,#000,transparent);opacity:.4;}
.cta__row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;}
.cta h2{font-size:clamp(24px,2.8vw,30px);font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#fff;}
.cta .eyebrow{color:#7f95c8;margin-bottom:12px;}

/* ---------- FOOTER ---------- */
.footer{border-top:1px solid var(--line);color:#aeb9d0;margin-top:30px;}
.footer__grid{padding-top:56px;display:grid;grid-template-columns:1.7fr 1fr 1fr 1.5fr;gap:30px;}
.footer__brand p{font-size:13px;line-height:1.6;color:#7c89a6;margin:18px 0;max-width:240px;}
.footer__emails{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.footer__emails a{font-size:13px;text-decoration:none;color:#8895b0;transition:color .2s;}
.footer__social{display:flex;gap:12px;}
.footer__social span,.footer__social a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;font-size:13px;color:#aeb9d0;text-decoration:none;font-weight:700;}
.footer__col h4{font-size:13px;font-weight:700;color:#fff;margin-bottom:16px;}
.footer__col a{display:block;text-decoration:none;color:#8895b0;font-size:13px;margin-bottom:11px;transition:color .2s;}
.footer__col p{font-size:13px;color:#7c89a6;margin-bottom:16px;}
.footer a:hover{color:#fff;}
.footer__news{display:flex;align-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:4px 4px 4px 16px;}
.footer__news input{flex:1;min-width:0;font-size:13px;color:#eef1f8;background:transparent;border:0;outline:none;font-family:inherit;}
.footer__news button{width:32px;height:32px;flex:none;border:0;cursor:pointer;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:transform .2s;}
.footer__news button:hover{transform:translateY(-1px);}
.footer__bottom{margin-top:44px;padding-top:18px;padding-bottom:18px;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer__bottom span{font-size:12.5px;color:#6f7d9a;}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .stats{grid-template-columns:repeat(2,1fr);}
  .split{grid-template-columns:1fr;gap:36px;}
  .footer__grid{grid-template-columns:1.4fr 1fr 1fr;}
}
@media (max-width:680px){
  .nav__links{display:none;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .cta__row{flex-direction:column;align-items:flex-start;}
  .footer__grid{grid-template-columns:1fr 1fr;}
  .panel{padding:28px 22px;}
  .row{flex-direction:column;align-items:flex-start;}
}
@media (max-width:440px){
  .nav__inner{padding-left:18px;padding-right:18px;gap:10px;}
  .nav__lang{font-size:12px;}
  .nav__cta{gap:6px;font-size:12px;padding:9px 9px 9px 12px;}
  .nav__cta i{width:22px;height:22px;}
  .footer__grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;}
}
