:root{
  --bg:#0b1020; --bg-alt:#111834; --card:#151d3b; --line:#26315c;
  --fg:#eef2ff; --muted:#a5b0d0; --brand:#4f7cff; --brand-2:#22d3ee;
  --ok:#34d399; --radius:16px; --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--fg);
  font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:#0e1535;background:linear-gradient(180deg,#111a3d,#0d1330);border-bottom:1px solid var(--line);box-shadow:0 2px 11px rgba(0,0,0,.25)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600}
.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:800;font-size:13px}
.brand-text{font-size:16px}
.brand-text strong{color:var(--brand-2)}
.menu{display:flex;align-items:center;gap:20px;font-size:15px;flex-wrap:nowrap}
.menu a{color:var(--muted);transition:.2s}
.menu a:hover{color:var(--fg)}
.cta-small{background:var(--brand);color:#fff!important;padding:9px 16px;border-radius:10px}
/* Hamburger button (hidden on desktop) */
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;
  background:transparent;border:1px solid var(--line);border-radius:11px;cursor:pointer;padding:0 10px;
  transition:.2s;flex:0 0 auto}
.burger:hover{border-color:var(--brand)}
.burger span{display:block;height:2.5px;width:100%;background:var(--fg);border-radius:2px;transition:.25s}
.burger.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* Mobile slide-down menu */
.mobile-menu{display:none;flex-direction:column;background:rgba(11,16,32,.98);
  border-bottom:1px solid var(--line);overflow:hidden}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:15px 22px;border-bottom:1px solid var(--line);color:var(--fg);font-size:16px;transition:.15s}
.mobile-menu a:last-child{border-bottom:none}
.mobile-menu a:hover,.mobile-menu a:active{background:rgba(79,124,255,.10);color:var(--brand-2)}
.mobile-menu .cta-small{margin:14px 22px;text-align:center;border-radius:10px;border-bottom:none;
  background:var(--brand);color:#fff!important;font-weight:600}

@media(max-width:980px){
  .menu, .menu#desktopMenu{display:none}
  .burger{display:flex}
  .nav-inner{gap:12px;justify-content:flex-start}
  .brand{margin-right:auto}
  .brand-text{font-size:15px}
}
@media(max-width:400px){
  .brand-text{font-size:14px}
  .logo{width:34px;height:34px;font-size:12px}
}

/* HERO */
.hero{padding:70px 0 40px;background:
  radial-gradient(900px 420px at 12% -8%,rgba(79,124,255,.22),transparent 60%),
  radial-gradient(760px 420px at 88% -10%,rgba(34,211,238,.18),transparent 60%)}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
@media(max-width:900px){.hero-inner{grid-template-columns:1fr}}
.pill{display:inline-block;background:var(--card);border:1px solid var(--line);color:var(--muted);
  padding:7px 14px;border-radius:999px;font-size:13px;margin-bottom:18px}
h1{font-size:clamp(30px,4.6vw,50px);line-height:1.1;letter-spacing:-.02em}
.hl{background:linear-gradient(135deg,var(--brand),var(--brand-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{color:var(--muted);font-size:18px;margin:18px 0 26px;max-width:56ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:12px;
  font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:.2s}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04122b}
.btn.primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost{border-color:var(--line);color:var(--fg)}
.btn.ghost:hover{border-color:var(--brand)}
.hero-stats{display:flex;gap:30px;margin-top:34px;list-style:none;flex-wrap:wrap}
.hero-stats strong{display:block;font-size:26px;color:var(--brand-2)}
.hero-stats span{color:var(--muted);font-size:13px}

/* ---------- AI chat widget (fixed height, internal scroll) ---------- */
.hero-card{
  display:flex;flex-direction:column;
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:0;overflow:hidden;
  height:520px;max-height:72vh;
}
@media(max-width:900px){.hero-card{height:460px}}

.chat-head{
  display:flex;align-items:center;gap:9px;flex:0 0 auto;
  padding:14px 18px;border-bottom:1px solid var(--line);
  background:rgba(79,124,255,.07);
}
.chat-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 0 3px rgba(52,211,153,.18);flex:0 0 auto}
.chat-title{font-weight:700;font-size:15px}
.chat-live{margin-left:auto;font-size:12px;color:var(--ok)}

/* message area: grows, scrolls, never resizes the card */
.chat-demo{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;gap:10px;
  padding:16px 18px;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
}
/* slim scrollbar */
.chat-demo::-webkit-scrollbar{width:6px}
.chat-demo::-webkit-scrollbar-track{background:transparent}
.chat-demo::-webkit-scrollbar-thumb{background:rgba(120,140,200,.35);border-radius:6px}
.chat-demo::-webkit-scrollbar-thumb:hover{background:rgba(120,140,200,.6)}
.chat-demo{scrollbar-width:thin;scrollbar-color:rgba(120,140,200,.4) transparent}

.bubble{padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.5;
  max-width:86%;word-wrap:break-word;overflow-wrap:anywhere;flex:0 0 auto}
.bubble.user{background:#1d2748;color:#dbe3ff;align-self:flex-end;border-bottom-right-radius:4px}
.bubble.bot{background:linear-gradient(135deg,rgba(79,124,255,.22),rgba(34,211,238,.16));
  border:1px solid var(--line);align-self:flex-start;border-bottom-left-radius:4px}

/* typing indicator */
.bubble.typing{display:flex;gap:4px;align-items:center;padding:13px 16px}
.bubble.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);
  animation:chatBounce 1.2s infinite}
.bubble.typing span:nth-child(2){animation-delay:.15s}
.bubble.typing span:nth-child(3){animation-delay:.3s}
@keyframes chatBounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

/* suggestions */
.chat-suggest{flex:0 0 auto;display:flex;gap:8px;flex-wrap:wrap;padding:10px 18px 0}
.chat-suggest button{
  font:inherit;font-size:12.5px;cursor:pointer;transition:.15s;
  background:rgba(79,124,255,.10);border:1px solid var(--line);color:var(--muted);
  padding:7px 12px;border-radius:999px;
}
.chat-suggest button:hover{border-color:var(--brand);color:var(--fg)}

/* input row */
.chat-input{flex:0 0 auto;display:flex;gap:9px;padding:14px 18px 6px}
.chat-input input{
  flex:1 1 auto;min-width:0;background:#0e1530;border:1px solid var(--line);
  border-radius:11px;padding:12px 14px;color:var(--fg);font:inherit;font-size:14.5px;outline:none;transition:.15s;
}
.chat-input input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,124,255,.18)}
.chat-input button{
  flex:0 0 auto;width:46px;border:none;border-radius:11px;cursor:pointer;font-size:17px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04122b;transition:.2s;
}
.chat-input button:hover{filter:brightness(1.1)}
.chat-input button:disabled{opacity:.5;cursor:not-allowed}

.chat-note{flex:0 0 auto;padding:0 18px 14px;font-size:11.5px;color:var(--muted);text-align:center}

/* SECTIONS */
.section{padding:70px 0;border-top:1px solid var(--line)}
.section.alt{background:var(--bg-alt)}
h2{font-size:clamp(24px,3.2vw,34px);letter-spacing:-.01em}
.section-sub{color:var(--muted);margin:12px 0 34px;max-width:64ch}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:.2s}
.card:hover{border-color:var(--brand);transform:translateY(-3px)}
.card h3{font-size:18px;margin:12px 0 8px}
.card p{color:var(--muted);font-size:14.5px}
.ico{font-size:26px}

/* PRODUCTS */
.products .card{display:flex;flex-direction:column}
.tag{display:inline-block;background:rgba(34,211,238,.12);color:var(--brand-2);border:1px solid var(--line);
  padding:4px 10px;border-radius:999px;font-size:12px;margin-bottom:12px;width:max-content}
.features{list-style:none;margin:14px 0;display:grid;gap:7px}
.features li{position:relative;padding-left:20px;color:var(--muted);font-size:14px}
.features li::before{content:"✓";position:absolute;left:0;color:var(--ok)}
.price{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-weight:600;color:var(--brand-2);font-size:14px}
.loading{color:var(--muted);grid-column:1/-1;text-align:center;padding:30px}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.step span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04122b;font-weight:800;margin-bottom:12px}
.step h3{font-size:17px;margin-bottom:6px}
.step p{color:var(--muted);font-size:14px}

/* FORMS */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:44px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
.form{display:grid;gap:14px;margin-top:22px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.form .row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
input,select,textarea{background:#0e1530;border:1px solid var(--line);border-radius:11px;
  padding:12px 13px;color:var(--fg);font:inherit;font-size:14.5px;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,124,255,.18)}
.form-msg{font-size:14px;min-height:20px}
.form-msg.ok{color:var(--ok)}
.form-msg.err{color:#f87171}

/* FOOTER */
.footer{border-top:1px solid var(--line);padding:44px 0 26px;background:var(--bg-alt)}
.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.footer-links{display:flex;gap:20px;align-items:flex-start}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--fg)}
.muted{color:var(--muted)}
.small{font-size:13px;margin-top:6px}
/* Phone field with country dial code */
.phone-field{display:flex;gap:8px;align-items:stretch}
.phone-field select.cc{
  flex:0 0 auto;min-width:104px;max-width:128px;background:#0e1530;color:var(--fg);
  border:1px solid var(--line);border-radius:11px;padding:12px 10px;font:inherit;font-size:14px;
  outline:none;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%23a5b0d0'/></svg>");
  background-repeat:no-repeat;background-position:right 8px center;padding-right:24px;
}
.phone-field select.cc:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,124,255,.18)}
.phone-field input{flex:1 1 auto;min-width:0}

/* Calculator CTA banner */
.calc-banner{
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  margin-top:30px;padding:24px 26px;border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(79,124,255,.16),rgba(34,211,238,.13));
  border:1px solid var(--line);
}
.calc-banner h3{font-size:19px}
.calc-banner .btn{white-space:nowrap}
@media(max-width:640px){.calc-banner{flex-direction:column;align-items:flex-start}}

/* Clickable product cards */
.card.product.clickable{cursor:pointer;position:relative}
.card.product.clickable:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card.product.clickable:focus{outline:2px solid var(--brand);outline-offset:2px}
.card.product .card-cta{margin-top:14px;font-size:13.5px;font-weight:600;color:var(--brand-2);
  display:flex;align-items:center;gap:6px;transition:.2s}
.card.product.clickable:hover .card-cta{gap:10px}

/* Card CTA refinement */
.card.product .card-cta{justify-content:space-between}
.card.product .card-cta .arr{transition:transform .2s}
.card.product.clickable:hover .card-cta .arr{transform:translateX(4px)}

/* Language switcher */
.lang-switch{display:inline-flex;flex-wrap:nowrap;flex:0 0 auto;white-space:nowrap;
  gap:3px;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:9px;padding:3px}
.lang-btn{font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
  background:transparent;border:none;color:var(--muted);padding:5px 9px;border-radius:6px;transition:.15s}
.lang-btn:hover{color:var(--fg)}
.lang-btn.active{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#04122b}
.lang-switch-mobile{margin:14px 22px;align-self:flex-start;display:inline-flex}
