
:root {
  --bg: #071022;
  --bg2: #0b1220;
  --card: rgba(255,255,255,.06);
  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.65);
  --line: rgba(255,255,255,.12);
  --primary: #0ea5a4;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  color: var(--text);
  background: radial-gradient(1200px 500px at 20% 0%, rgba(14,165,164,.20), transparent 60%),
              radial-gradient(900px 500px at 80% 20%, rgba(99,102,241,.18), transparent 55%),
              linear-gradient(180deg, var(--bg), var(--bg2));
  min-height:100vh;
}

a{color:inherit;text-decoration:none}
a.link{color:var(--primary); font-weight:600}
a.link:hover{text-decoration:underline}

.container{width:min(1120px, 92%); margin:0 auto}

.topbar{
  position:sticky; top:0; z-index:50;
  background: rgba(7,16,34,.7);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}

.brand{display:flex; align-items:center; gap:10px}
.brand__logo{
  width:38px; height:38px; border-radius:12px;
  display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(14,165,164,.9), rgba(99,102,241,.85));
  box-shadow: var(--shadow);
  font-weight:900;
}
.brand__name{font-weight:800; letter-spacing:.2px}

.nav{display:flex; align-items:center; gap:18px}
.nav a{opacity:.85; font-weight:600}
.nav a:hover{opacity:1}
.nav a.active{opacity:1; color: var(--primary)}

.nav-toggle{display:none; width:44px; height:44px; border:1px solid var(--line); border-radius:14px; background:transparent; color:var(--text)}
.nav-toggle span{display:block; height:2px; background:var(--text); margin:6px 10px; opacity:.85}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px; border-radius:14px;
  background: var(--primary);
  color: #061018;
  font-weight:800;
  border: 1px solid rgba(255,255,255,.0);
  box-shadow: var(--shadow);
}
.btn:hover{filter:brightness(1.03)}
.btn--ghost{background:transparent; color:var(--text); border:1px solid var(--line)}
.btn--small{padding:10px 12px; border-radius:12px; font-weight:800}

main{padding-bottom:40px}

.hero{position:relative; min-height:72vh; display:grid; place-items:center; overflow:hidden; border-bottom:1px solid var(--line)}
.hero__video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:saturate(1.05) contrast(1.05) brightness(.55)}
.hero__overlay{position:absolute; inset:0; background: radial-gradient(700px 300px at 20% 20%, rgba(14,165,164,.35), transparent 60%),
                                         radial-gradient(800px 400px at 80% 10%, rgba(99,102,241,.25), transparent 60%),
                                         linear-gradient(180deg, rgba(7,16,34,.35), rgba(7,16,34,.95));}
.hero__content{position:relative; padding:64px 0}
.pill{display:inline-flex; gap:8px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.04); color:var(--muted); font-weight:700}
h1{font-size: clamp(34px, 4vw, 54px); line-height:1.05; margin:14px 0 12px}
h2{font-size: clamp(26px, 2.6vw, 36px); margin:0 0 10px}
h3{margin:0 0 8px}
.lead{font-size: 1.1rem; color: var(--muted); max-width: 70ch}
.small{font-size:.92rem}
.muted{color:var(--muted)}

.hero__cta{display:flex; gap:12px; margin:18px 0 18px; flex-wrap:wrap}
.hero__stats{display:flex; gap:12px; flex-wrap:wrap; margin-top:16px}
.stat{padding:12px 14px; border:1px solid var(--line); background:rgba(255,255,255,.04); border-radius:16px}
.stat__kpi{font-weight:900}
.stat__label{color:var(--muted); font-weight:700; font-size:.95rem}

.section{padding:54px 0}
.section--alt{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.02)}

.grid3{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px}
.grid2{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px}
@media (max-width: 900px) {
  .grid3{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
}

.card{
  padding:18px 18px;
  border:1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow);
}
.notice{margin-top:16px; padding:14px 16px; border-radius:16px; border:1px solid var(--line); background:rgba(255,255,255,.04)}
.notice--ok{border-color: rgba(14,165,164,.55)}
.notice--err{border-color: rgba(239,68,68,.55)}

.split{display:grid; grid-template-columns: 1.3fr .7fr; gap:14px; align-items:stretch}
@media (max-width: 900px) { .split{grid-template-columns:1fr} }

.check{padding-left:18px; margin:12px 0 0}
.check li{margin:8px 0; color:var(--muted)}
.quote{padding:22px; border-radius:var(--radius); border:1px solid var(--line); background:rgba(255,255,255,.04); box-shadow: var(--shadow); display:flex; flex-direction:column; justify-content:center}
.quote p{font-size:1.25rem; margin:0 0 6px; font-weight:850}

.cta{text-align:center}
.cta-row{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}
.cta-row .btn{flex:0 0 auto}

.form label{display:block; margin:12px 0 6px; color:var(--muted); font-weight:700}
.form input, .form textarea{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(0,0,0,.18);
  color: var(--text);
  outline:none;
}
.form input:focus, .form textarea:focus{border-color: rgba(14,165,164,.55)}
.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0}

.footer{border-top:1px solid var(--line); background: rgba(7,16,34,.65); backdrop-filter: blur(8px); padding:34px 0 20px}
.footer__grid{display:grid; grid-template-columns: 1.2fr .8fr .8fr; gap:16px}
.footer__title{font-weight:900; margin-bottom:10px}
.footer__links{list-style:none; padding:0; margin:0}
.footer__links li{margin:8px 0; color:var(--muted)}
.footer__links a:hover{text-decoration:underline}
.footer__brand{font-weight:900; font-size:1.2rem; margin-bottom:8px}
.footer__bottom{display:flex; justify-content:space-between; gap:12px; margin-top:18px; flex-wrap:wrap}

@media (max-width: 980px) {
  .nav-toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav{
    position:fixed; top:70px; right:14px; left:14px;
    display:none; flex-direction:column; align-items:stretch;
    padding:14px; border-radius:18px;
    background: rgba(7,16,34,.92);
    border:1px solid var(--line);
    box-shadow: var(--shadow);
  }
  body.nav-open .nav{display:flex}
  .nav a{padding:10px 10px}
}
