
:root{
  --bg:#071020;
  --bg-soft:#0d1830;
  --card:#101d39;
  --card-2:#12244a;
  --text:#eef4ff;
  --muted:#b7c5e0;
  --line:rgba(255,255,255,.12);
  --primary:#142675;
  --primary-2:#1d35a0;
  --accent:#b8ca8a;
  --success:#8fd18c;
  --shadow:0 18px 50px rgba(5,10,25,.28);
  --radius:22px;
  --container:min(1180px, calc(100vw - 32px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:
    radial-gradient(circle at top left, rgba(29,53,160,.22), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(184,202,138,.13), transparent 18%),
    linear-gradient(180deg,#071020 0%,#081225 100%);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:var(--container);margin:0 auto}
.section{padding:88px 0}
.section.compact{padding:64px 0}
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  backdrop-filter: blur(10px);
}
.badge{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 14px;border-radius:999px;
  background:rgba(184,202,138,.12);
  border:1px solid rgba(184,202,138,.28);
  color:#e7f1cf;font-weight:700;font-size:.86rem;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 20px;border-radius:14px;font-weight:700;
  transition:transform .24s ease, box-shadow .24s ease, background .24s ease, border-color .24s ease;
  border:1px solid transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg,var(--primary),var(--primary-2));
  box-shadow:0 14px 30px rgba(20,38,117,.35);
}
.btn-secondary{
  background:rgba(255,255,255,.03);
  border-color:var(--line);
}
.btn-light{
  background:#fff;color:#081225;
}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:800}
h1,h2,h3,h4{line-height:1.1;margin:0 0 14px}
h1{font-size:clamp(2.4rem,4vw,4.9rem)}
h2{font-size:clamp(1.9rem,3vw,3rem)}
h3{font-size:1.2rem}
p{margin:0 0 16px;color:var(--muted)}
ul{margin:0;padding-left:20px;color:var(--muted)}
header.site-header{
  position:sticky;top:0;z-index:30;
  backdrop-filter: blur(14px);
  background:rgba(7,16,32,.72);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.nav-wrap{
  display:flex;align-items:center;justify-content:space-between;
  min-height:82px;gap:18px;
}
.brand{display:flex;align-items:center;gap:14px;font-weight:800;}
.brand img{height:42px;width:auto}
.brand span{font-size:1.08rem}
.desktop-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.desktop-nav a{
  padding:12px 14px;border-radius:12px;color:#dce7fb;font-size:.96rem
}
.desktop-nav a:hover,.desktop-nav a.active{background:var(--accent)}
.mobile-toggle{
  display:none;background:none;border:1px solid var(--line);color:#fff;
  width:46px;height:46px;border-radius:12px;font-size:1.2rem;
}
.mobile-panel{
  display:none;padding:0 0 18px;
}
.mobile-panel nav{display:grid;gap:10px}
.mobile-panel a{
  padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line)
}
.hero{
  position:relative;overflow:hidden;
  padding:88px 0 54px;
}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center}
.hero-copy .lead{font-size:1.08rem;max-width:62ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.stat{padding:20px}
.stat strong{display:block;font-size:1.6rem}
.hero-panel{
  padding:24px;position:relative;min-height:470px;
  background:
    radial-gradient(circle at top right, rgba(184,202,138,.18), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}
.hero-orb{
  position:absolute;border-radius:50%;filter:blur(10px);opacity:.6;pointer-events:none;
}
.orb-a{width:140px;height:140px;background:rgba(184,202,138,.20);top:34px;right:40px}
.orb-b{width:180px;height:180px;background:rgba(29,53,160,.24);bottom:50px;left:10px}
.stack-card{position:relative;z-index:1;padding:22px;margin-bottom:16px}
.stack-card small{display:block;color:var(--accent);font-weight:700;margin-bottom:8px}
.stack-card ul{padding-left:18px}
.logo-badge{
  position:absolute;right:20px;bottom:20px;width:min(280px,58%);
  padding:16px;border-radius:20px;background:rgba(7,16,32,.7);border:1px solid var(--line)
}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}
.kpi-card,.service-card,.process-card,.pricing-card,.contact-card,.feature-card,.news-card,.value-card,.construction-card{
  padding:26px
}
.service-card,.feature-card,.process-card,.value-card{height:100%}
.icon-dot{
  width:44px;height:44px;border-radius:14px;margin-bottom:18px;
  display:grid;place-items:center;background:rgba(184,202,138,.14);border:1px solid rgba(184,202,138,.2);color:#edf4dc;font-weight:800
}
.check-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.check-list li{position:relative;padding-left:28px}
.check-list li:before{
  content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800
}
.band{
  padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.02)
}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.band-item{padding:18px 20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.02)}
.band-item strong{display:block}
.cta{
  padding:36px;border-radius:30px;
  background:
    radial-gradient(circle at 90% 10%, rgba(184,202,138,.16), transparent 20%),
    linear-gradient(135deg, rgba(20,38,117,.96), rgba(9,20,50,.96));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:var(--shadow);
}
.cta p{max-width:65ch;color:#dce6fa}
.pricing-card .price{font-size:2rem;font-weight:800;color:#fff}
.page-hero{padding:72px 0 34px}
.page-hero .card{padding:34px}
.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;color:#b8c7e7;font-size:.94rem;margin-bottom:10px}
.notice{
  padding:18px 20px;border-radius:16px;background:rgba(184,202,138,.10);
  border:1px solid rgba(184,202,138,.24);color:#e6efd0
}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:grid;gap:8px}
label{font-weight:700;color:#f0f5ff}
input,select,textarea{
  width:100%;padding:14px 16px;border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);color:#fff;font:inherit
}
textarea{min-height:150px;resize:vertical}
input::placeholder,textarea::placeholder{color:#9fb0d3}
.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.form-status{font-size:.95rem;color:#cfdaf1}
footer{
  margin-top:30px;
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(4,11,24,.84);
}
.footer-top{padding:56px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1fr;gap:28px}
.footer-col h4{margin-bottom:16px}
.footer-col a{display:block;color:#c4d2ed;padding:7px 0}
.footer-col a:hover{color:#fff}
.footer-note{
  border-top:1px solid rgba(255,255,255,.07);
  padding:16px 0;color:#9cafcf;font-size:.92rem
}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.center{text-align:center}
.muted{color:var(--muted)}
.mb-0{margin-bottom:0}
.mt-2{margin-top:10px}
.mt-3{margin-top:16px}
.mt-4{margin-top:24px}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease}
.reveal.visible{opacity:1;transform:none}
.floaty{animation:floaty 6s ease-in-out infinite}
@keyframes floaty{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@media (max-width: 1040px){
  .hero-grid,.footer-grid,.grid-4{grid-template-columns:1fr 1fr}
  .band-grid{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .desktop-nav,.nav-cta{display:none}
  .mobile-toggle{display:grid;place-items:center}
  .mobile-panel.open{display:block}
  .hero{padding-top:58px}
  .hero-grid,.grid-2,.grid-3,.grid-4,.band-grid,.footer-grid,.form-grid,.hero-stats{grid-template-columns:1fr}
  .section{padding:72px 0}
  .page-hero{padding:50px 0 24px}
  .section-head{align-items:start;flex-direction:column}
  .logo-badge{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}
}
