:root{
  --bg:#0b1020; --text:#e6eaf7; --muted:#aab3d6; --border:rgba(255,255,255,.10);
  --brand:#1f4fd8; --brand2:#5b8cff; --success:#22c55e;
  --shadow: 0 18px 45px rgba(0,0,0,.35);
  --radius:18px; --radius2:28px; --max:1180px;
}
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--text);
  background:
    radial-gradient(1100px 600px at 20% -10%, rgba(31,79,216,.40), transparent 55%),
    radial-gradient(900px 500px at 80% 0%, rgba(91,140,255,.22), transparent 55%),
    radial-gradient(800px 500px at 60% 110%, rgba(34,197,94,.10), transparent 60%),
    linear-gradient(180deg, var(--bg), #070a14 80%);
}
a{color:inherit; text-decoration:none} img{max-width:100%; display:block}
.container{max-width:var(--max); margin:0 auto; padding:24px}
.section{padding:56px 0} .section-tight{padding:34px 0}
.hr{height:1px; background:var(--border); margin:28px 0}
.small{font-size:.92rem; color:var(--muted); line-height:1.6}
.muted{color:var(--muted)}
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.04);
  font-weight:650; font-size:.9rem;
}
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(7,10,20,.72); backdrop-filter: blur(12px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:var(--max); margin:0 auto; padding:14px 24px;
  display:flex; align-items:center; gap:16px;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.2px}
.brand img{width:34px; height:34px; border-radius:10px}
.brand .word{font-size:1.05rem}
.nav-links{display:flex; gap:14px; flex-wrap:wrap}
.nav-links a{padding:8px 10px; border-radius:10px; color:var(--muted)}
.nav-links a:hover{background:rgba(255,255,255,.05); color:var(--text)}
.nav-cta{margin-left:auto; display:flex; gap:10px; align-items:center}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border-radius:12px;
  border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  color:var(--text); font-weight:750;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  white-space:nowrap;
}
.btn:hover{transform: translateY(-1px); background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18)}
.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand2)); border-color:rgba(31,79,216,.65)}
.btn.primary:hover{background:linear-gradient(135deg, #2a63ff, #78a3ff)}
.btn.ghost{background:transparent}
.btn.small{padding:10px 12px; border-radius:11px; font-size:.95rem}
.btn .dot{width:9px; height:9px; border-radius:99px; background:var(--success); box-shadow: 0 0 0 4px rgba(34,197,94,.12)}
.hero{padding:56px 0 24px}
.hero-grid{display:grid; gap:22px; grid-template-columns: 1.15fr .85fr; align-items:stretch}
@media (max-width: 920px){ .hero-grid{grid-template-columns: 1fr} .nav-cta{width:100%; justify-content:flex-end} }
.h1{font-size: clamp(2.2rem, 3.6vw, 3.2rem); line-height:1.06; letter-spacing:-.5px; margin:10px 0 14px}
.lead{font-size: clamp(1.05rem, 1.35vw, 1.18rem); color:var(--muted); line-height:1.65; margin:0 0 18px}
.panel{border:1px solid var(--border); background:rgba(255,255,255,.03); border-radius:var(--radius2); box-shadow: var(--shadow)}
.panel.pad{padding:22px}
.kpis{display:grid; grid-template-columns: repeat(3, 1fr); gap:12px}
@media (max-width: 560px){ .kpis{grid-template-columns: 1fr} }
.kpi{padding:14px; border-radius:16px; border:1px solid var(--border); background:rgba(255,255,255,.03)}
.kpi .num{font-weight:900; font-size:1.35rem}
.kpi .lbl{color:var(--muted); font-size:.9rem; line-height:1.45}
.grid{display:grid; gap:16px}
.grid.cols3{grid-template-columns: repeat(3, 1fr)} .grid.cols2{grid-template-columns: repeat(2, 1fr)}
@media (max-width: 960px){ .grid.cols3{grid-template-columns: 1fr} .grid.cols2{grid-template-columns: 1fr} }
.card{border:1px solid var(--border); background:rgba(255,255,255,.03); border-radius:var(--radius); padding:18px}
.card h3{margin:10px 0 8px} .card p{margin:0; color:var(--muted); line-height:1.6}
.icon{
  width:42px; height:42px; border-radius:14px; display:grid; place-items:center;
  background:rgba(31,79,216,.16); border:1px solid rgba(31,79,216,.35);
}
.icon svg{width:22px; height:22px}
.split{display:grid; gap:18px; grid-template-columns: 1fr 1fr; align-items:start}
@media (max-width: 960px){ .split{grid-template-columns:1fr} }
.pillrow{display:flex; flex-wrap:wrap; gap:10px}
.pill{padding:10px 12px; border-radius:999px; border:1px solid var(--border); background:rgba(255,255,255,.03); color:var(--muted); font-weight:650; font-size:.95rem}
blockquote{margin:0; border-left:3px solid rgba(91,140,255,.7); padding:12px 14px; background:rgba(255,255,255,.03); border-radius:12px; color:var(--muted); line-height:1.6}
.form{display:grid; gap:12px} label{font-weight:750}
input, textarea, select{padding:12px 12px; border-radius:14px; border:1px solid var(--border); background:rgba(255,255,255,.03); color:var(--text); outline:none}
input:focus, textarea:focus, select:focus{border-color: rgba(91,140,255,.7)}
textarea{min-height:120px; resize:vertical}
.footer{padding:30px 0 40px; border-top:1px solid var(--border); background:rgba(0,0,0,.12)}
.footer-grid{display:grid; gap:16px; grid-template-columns: 1.1fr .9fr .9fr}
@media (max-width: 960px){ .footer-grid{grid-template-columns:1fr} }
.footer a{color:var(--muted)} .footer a:hover{color:var(--text)}
.legal{font-size:.9rem; color:var(--muted); line-height:1.65}
.cookie{
  position:fixed; left:16px; right:16px; bottom:16px; max-width:var(--max); margin:0 auto;
  display:none; border:1px solid var(--border); background:rgba(15,23,48,.92); backdrop-filter: blur(10px);
  border-radius:18px; padding:14px; box-shadow: var(--shadow);
}
.cookie-inner{display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap}
ul.clean{margin:10px 0 0 18px; color:var(--muted); line-height:1.65}


/* =========================
   Responsive polish (balanced)
   Phone / Tablet / Desktop
   ========================= */

/* Prevent accidental horizontal scroll on small devices */
html, body { max-width: 100%; overflow-x: hidden; }
img, svg, video, canvas { max-width: 100%; height: auto; }

/* Tablet tweaks */
@media (max-width: 1024px){
  .container{padding:20px}
  .section{padding:44px 0}
  .hero{padding:44px 0 18px}
  .nav-inner{padding:12px 18px}
  .kpis{gap:10px}
}

/* Small tablets / large phones */
@media (max-width: 820px){
  .nav-inner{flex-wrap:wrap}
  .nav-links{width:100%; justify-content:flex-start}
  .nav-cta{width:100%; margin-left:0; justify-content:flex-start}
  .btn.small{flex:1}
  .hero-grid{gap:16px}
}

/* Phones */
@media (max-width: 640px){
  .container{padding:16px}
  .section{padding:36px 0}
  .section-tight{padding:26px 0}
  .nav-inner{gap:10px}
  .brand img{width:30px; height:30px}
  .nav-links{flex-direction:column; align-items:stretch; gap:6px}
  .nav-links a{width:100%}
  .nav-cta{flex-direction:column; align-items:stretch; gap:8px}
  .nav-cta .btn{width:100%}
  .hero{padding:34px 0 16px}
  .panel.pad{padding:18px}
  .card{padding:16px}
  .kpi{padding:12px}
  .pillrow{gap:8px}
  input, textarea, select{width:100%}
}

/* Very small phones */
@media (max-width: 420px){
  .h1{letter-spacing:-.2px}
  .badge{font-size:.85rem}
  .btn{padding:12px 14px}
}


/* =========================================
   MOBILE HEADER AUTO-HIDE (SCROLL)
   ========================================= */
@media (max-width: 430px) {
  header {
    position: sticky;
    top: 0;
    z-index: 999;
    transition: transform 0.25s ease-in-out;
    will-change: transform;
  }
  header.is-hidden {
    transform: translateY(-110%);
  }
}
