
:root{
  --bg:#0b1220;
  --ink:#0a1433;
  --muted:#5b667a;
  --brand:#001342;
  --accent:#df4a11;
  --aqua:#0a7ea6;
  --card:#ffffff;
  --line:rgba(10,20,51,.12);
  --shadow:0 12px 30px rgba(0,0,0,.08);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--aqua)}
.container{width:min(var(--max), calc(100% - 40px)); margin-inline:auto}
.topbar{
  background:rgba(0,19,66,.04);
  border-bottom:1px solid var(--line);
  font-size:.95rem;
}
.topbar .row{
  display:flex; align-items:center; justify-content:flex-end;
  gap:14px; padding:10px 0;
}
.lang{
  display:flex; gap:8px; align-items:center;
}
.lang a{
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--brand);
}
.lang a[aria-current="page"]{
  border-color:rgba(223,74,17,.35);
  box-shadow:0 0 0 4px rgba(223,74,17,.12);
}
.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:12px;
}
.brand img{height:44px; width:auto}
.brand .tag{font-size:.86rem; color:var(--muted); margin-top:2px}
.menu{
  display:flex; align-items:center; gap:18px;
}
.menu a{
  padding:10px 10px; border-radius:10px; color:var(--brand); font-weight:650;
}
.menu a.active{background:rgba(10,126,166,.10)}
.cta{
  display:flex; gap:10px; align-items:center;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:700;
}
.btn.primary{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
}
.btn.primary:hover{filter:brightness(.96)}
.burger{
  display:none;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
}
.hero{
  background: url("../img/v2/hero-bg.svg") center/cover no-repeat;
  color:#fff;
}
.hero .wrap{
  padding:70px 0 52px;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:26px;
  align-items:center;
}
.hero h1{font-size:clamp(2.05rem, 2.2vw + 1.4rem, 3.1rem); line-height:1.1; margin:0 0 12px}
.hero p{margin:0 0 18px; color:rgba(255,255,255,.86); font-size:1.05rem}
.hero .pill{
  display:inline-flex; gap:10px; align-items:center;
  padding:8px 12px; border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  font-weight:650; color:rgba(255,255,255,.90);
  margin-bottom:14px;
}
.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow: var(--shadow);
}
.hero .card{
  padding:18px;
  color:var(--ink);
}
.kpis{
  display:grid; gap:10px; grid-template-columns:repeat(2,1fr);
}
.kpi{
  padding:14px;
  border-radius:14px;
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(10,126,166,.08), rgba(223,74,17,.05));
}
.kpi b{display:block; font-size:1.05rem}
.kpi span{color:var(--muted); font-size:.92rem}
.section{padding:54px 0}
.section h2{font-size:1.65rem; margin:0 0 10px; color:var(--brand)}
.section p.lead{margin:0; color:var(--muted); max-width:70ch}
.grid3{
  margin-top:22px;
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.feature{
  padding:18px;
}
.feature h3{margin:10px 0 6px; font-size:1.05rem}
.feature p{margin:0; color:var(--muted)}
.icon{
  width:44px; height:44px;
  border-radius:14px;
  display:grid; place-items:center;
  background:rgba(10,126,166,.12);
  color:var(--aqua);
  border:1px solid rgba(10,126,166,.18);
}
.split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  align-items:start;
  margin-top:22px;
}
.panel{padding:20px}
.panel h3{margin:0 0 8px; color:var(--brand)}
.badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.badge{
  padding:8px 10px; border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:650;
  color:var(--brand);
  font-size:.92rem;
}
.banner{
  border:1px solid rgba(223,74,17,.25);
  background: linear-gradient(135deg, rgba(223,74,17,.12), rgba(10,126,166,.08));
  border-radius: var(--radius);
  padding:20px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.banner h3{margin:0}
.banner p{margin:4px 0 0; color:var(--muted)}
.footer{
  margin-top:30px;
  padding:34px 0 26px;
  background: rgba(0,19,66,.04);
  border-top:1px solid var(--line);
}
.footer .cols{
  display:grid; grid-template-columns: 1.6fr 1fr 1fr;
  gap:18px;
}
.footer .muted{color:var(--muted)}
.footer a{color:var(--brand)}
.footer a:hover{color:var(--aqua)}
.legal{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between;
  color:var(--muted); font-size:.95rem;
}
.pagehead{
  padding:44px 0 16px;
  background: linear-gradient(180deg, rgba(0,19,66,.05), transparent);
  border-bottom:1px solid var(--line);
}
.pagehead h1{margin:0; font-size:2rem; color:var(--brand)}
.pagehead p{margin:10px 0 0; color:var(--muted); max-width:80ch}
.cards{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:22px;
}
.industry-card{padding:18px}
.industry-card .row{
  display:flex; gap:12px; align-items:center;
}
.industry-card h3{margin:0}
.industry-card p{margin:8px 0 0; color:var(--muted)}
.industry-card .link{margin-top:12px; display:inline-flex; gap:8px; align-items:center; color:var(--aqua); font-weight:750}
.products{
  margin-top:14px;
  display:flex; flex-wrap:wrap; gap:8px;
}
.form{
  display:grid; gap:12px;
}
.field{display:grid; gap:6px}
.field label{font-weight:700}
.field input,.field textarea,.field select{
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--line);
  font:inherit;
}
.field textarea{min-height:140px; resize:vertical}
.notice{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(10,126,166,.2);
  background: rgba(10,126,166,.08);
  color:var(--brand);
}
@media (max-width: 980px){
  .hero .wrap{grid-template-columns:1fr; padding:52px 0 40px}
  .grid3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr}
  .footer .cols{grid-template-columns:1fr}
  .burger{display:inline-flex}
  .menu{
    display:none;
    position:absolute; left:0; right:0; top:68px;
    padding:14px;
    background:#fff;
    border-bottom:1px solid var(--line);
    flex-direction:column;
    gap:8px;
  }
  .menu.open{display:flex}
  .menu a{width:100%}
}


/* --- Carousel --- */
.section__head{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.section__head h2{margin:0}
.section__head p{margin:0;color:var(--muted)}
.carousel{position:relative;border-radius:24px;overflow:hidden;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.10)}
.carousel__viewport{position:relative;aspect-ratio:16/9;min-height:240px}
.carousel__slide{position:absolute;inset:0;opacity:0;transform:scale(1.02);transition:opacity .5s ease, transform .7s ease}
.carousel__slide.is-active{opacity:1;transform:scale(1)}
.carousel__slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel__btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(11,18,32,.55);color:#fff;font-size:28px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px)}
.carousel__btn:hover{background:rgba(11,18,32,.75)}
.carousel__btn.prev{left:12px}
.carousel__btn.next{right:12px}
.carousel__dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:8px;padding:8px 10px;border-radius:999px;background:rgba(11,18,32,.45);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px)}
.carousel__dot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.35);cursor:pointer}
.carousel__dot.is-active{background:rgba(255,255,255,.95)}
@media (max-width: 640px){
  .carousel__btn{width:40px;height:40px;font-size:26px}
  .carousel__btn.prev{left:10px}
  .carousel__btn.next{right:10px}
  .carousel__dots{bottom:10px}
}


/* Products */
.productsBar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}
.productsBar .field{min-width:220px}
.pGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width: 960px){.pGrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 640px){.pGrid{grid-template-columns:1fr;}}
.pCard{background:rgba(255,255,255,.9);border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(2,6,23,.06)}
.pCard h3{margin:0 0 10px 0;font-size:18px}
.pCard__tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(2,132,199,.10);border:1px solid rgba(2,132,199,.18);font-size:12px}
.tag--soft{background:rgba(30,41,59,.06);border-color:rgba(30,41,59,.10)}

/* Cookie consent */
.cookieBar{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;display:none}
.cookieBar__inner{max-width:1100px;margin:0 auto;background:rgba(15,23,42,.92);color:#fff;border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;backdrop-filter:blur(10px);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.cookieBar__text{font-size:14px;line-height:1.35;opacity:.95}
.cookieBar__actions{display:flex;gap:10px;flex-wrap:wrap}
.btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}
.btn--ghost:hover{border-color:rgba(255,255,255,.55)}
.cookieBar a{color:#fff;text-decoration:underline}
@media (max-width: 720px){
  .cookieBar__inner{flex-direction:column;align-items:flex-start}
}


/* Language flags */
.lang{display:flex;gap:.35rem;align-items:center;}
.lang .flag{font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:.5rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);text-decoration:none;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif;}

.lang .flag:hover{background:rgba(255,255,255,.14);}

/* Home top banner carousel */
main > section.carousel{height:72vh;min-height:420px;aspect-ratio:auto;}
@media (max-width:720px){main > section.carousel{height:56vh;min-height:320px;}}

/* Carousel captions */
.carousel__slide{position:relative;}
.carousel__caption{
  position:absolute;
  left:16px; right:16px; bottom:16px;
  display:flex; align-items:flex-end;
  pointer-events:none;
}
.carousel__caption-inner{
  max-width:720px;
  background:linear-gradient(180deg, rgba(8,18,36,0) 0%, rgba(8,18,36,.55) 30%, rgba(8,18,36,.78) 100%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  padding:14px 16px;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:700;
  line-height:1.25;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
@media (max-width: 640px){
  .carousel__caption{left:12px; right:12px; bottom:12px;}
  .carousel__caption-inner{padding:12px 12px; font-size:.9rem;}
}


/* Mobile nav helpers */
@media (max-width: 980px){
  .menu{z-index: 60;}
  html.nav-open, html.nav-open body{overflow:hidden;}
}
