
:root{
  --blue:#1f6fff;
  --deep:#0f57d8;
  --bg:#ffffff;
  --card:#ffffff;
  --border:rgba(15,87,216,.10);
  --text:#0b1b2b;
  --muted:#5b779d;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:#ffffff;
  color:#0b1b2b;
  overflow-x:hidden;
}

.container{max-width:1150px;margin:0 auto;padding:0 20px}

header{
  position:sticky;top:0;z-index:10;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,.98);
  border-bottom:1px solid rgba(15,87,216,.08);
  box-shadow:0 8px 24px rgba(15,87,216,.05);
}

.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:18px}

.logo{display:flex;align-items:center;gap:12px;font-weight:800}

.logo img{width:48px;height:48px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04)}

.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-name{font-size:20px;letter-spacing:.2px}
.logo-tag{font-size:12px;color:#54709a;font-weight:600;opacity:.95}

.hero{
  position:relative;
  padding:136px 0 102px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(7,22,43,.42) 0%, rgba(7,22,43,.18) 34%, rgba(7,22,43,.04) 72%),
    radial-gradient(circle at 14% 18%, rgba(54,129,255,.12) 0, rgba(54,129,255,0) 36%),
    url("hero-bg.png") center center / cover no-repeat;
  border-bottom:1px solid rgba(15,87,216,.06);
}

.hero-content{position:relative;z-index:1;max-width:760px;padding:34px 36px;border-radius:28px;background:linear-gradient(135deg, rgba(8,20,36,.34) 0%, rgba(8,20,36,.16) 100%);backdrop-filter:blur(6px);box-shadow:0 28px 70px rgba(7,22,43,.18);border:1px solid rgba(255,255,255,.16)}
.hero-kicker{margin-top:18px;display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#ffffff;font-size:13px;font-weight:700;letter-spacing:.2px}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.03) 35%, rgba(0,0,0,0) 72%);
  pointer-events:none;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.06);
  pointer-events:none;
}


.hero h1{
  font-size:64px;
  line-height:1.02;
  margin:0;
  color:#ffffff;
  max-width:920px;
  text-shadow:0 8px 28px rgba(0,0,0,.28);
}

.hero p{
  margin-top:20px;
  color:#3f5f82;
  font-size:19px;
  max-width:670px;
  text-shadow:0 2px 10px rgba(255,255,255,.16);
}

.btns{margin-top:30px;display:flex;gap:15px;flex-wrap:wrap}

.btn{
  padding:15px 24px;
  border-radius:14px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, border-color .18s ease;
  user-select:none;
  -webkit-tap-highlight-color: transparent;
}

.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(17,71,150,.16);
  filter:brightness(1.03);
}
.btn:active{
  transform:translateY(0);
  box-shadow:0 8px 18px rgba(17,71,150,.14);
  filter:brightness(.98);
}

.btn.primary{
  background:linear-gradient(135deg,#39a0ff,#1767ec);
  color:white;
  box-shadow:0 18px 40px rgba(43,124,255,.34);
}
.btn.primary:hover{box-shadow:0 16px 34px rgba(43,124,255,.34)}

.btn.secondary{
  background:rgba(255,255,255,.94);
  border-color:rgba(255,255,255,.28);
  color:#123b73;
  box-shadow:0 14px 30px rgba(7,22,43,.10);
}
.btn.secondary:hover{box-shadow:0 14px 28px rgba(17,71,150,.12)}


.section{padding:60px 0}

.section h2{
  font-size:28px;
  margin-bottom:20px;
}

.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}

.card{
  background:#ffffff;
  padding:28px;
  border-radius:20px;
  border:1px solid rgba(15,87,216,.08);
  box-shadow:0 18px 36px rgba(15,87,216,.07);
  transition:transform .25s ease, box-shadow .25s ease;
}

.card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 38px rgba(17,71,150,.14);
}

.gallery{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;padding:8px 2px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}

.gallery img{
  flex:0 0 calc((100% - 48px)/4);
  scroll-snap-align:start;
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:18px;
  transition:0.4s;
}

.gallery::-webkit-scrollbar{height:10px}
.gallery::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);border-radius:999px}
.gallery::-webkit-scrollbar-track{background:transparent}

@media (max-width: 980px){
  .gallery img{flex-basis:calc((100% - 16px)/2)}
}
@media (max-width: 560px){
  .gallery img{flex-basis:85%}
}

.gallery img:hover{
  transform:scale(1.05);
}

footer{
  padding:40px 0;
  border-top:1px solid rgba(17,71,150,.10);
  text-align:center;
  color:#54709a;
  font-size:14px;
}

@keyframes fadeInUp{
  from{opacity:0;transform:translateY(40px)}
  to{opacity:1;transform:translateY(0)}
}


/* --- Business hero additions --- */
.menu{display:flex;gap:18px;align-items:center}
.menu a{color:#123b73;text-decoration:none;font-weight:700;font-size:14px}
.menu a:hover{color:#1f6fd6}

.nav-cta{display:flex;gap:10px;align-items:center}

.btn.ghost{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.20);
  color:#ffffff;
  box-shadow:none;
}
.btn.ghost:hover{box-shadow:0 14px 28px rgba(7,22,43,.12)}

.btn.small{padding:10px 15px;border-radius:12px;font-weight:800}

.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.badges span{
  font-size:13px;color:#ffffff;
  border:1px solid rgba(255,255,255,.18);
  padding:8px 12px;border-radius:999px;
  background:rgba(255,255,255,.12);
  box-shadow:none;
}

.stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  margin-top:24px;
  max-width:860px;
}
.stat{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:20px 20px;
  box-shadow:0 18px 38px rgba(7,22,43,.12);
  backdrop-filter: blur(8px);
}
.stat-num{font-size:36px;font-weight:900;line-height:1.05;color:#ffffff}
.stat-label{margin-top:6px;color:rgba(255,255,255,.88);font-size:13px;line-height:1.35}

.hero-actions{margin-top:22px}

.section.dark{background:#ffffff}

.services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:20px;
  margin-top:30px;
}
.service-card{
  background:#ffffff;
  padding:24px;
  border-radius:16px;
  border:1px solid rgba(17,71,150,.10);
  box-shadow:0 14px 30px rgba(17,71,150,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px rgba(17,71,150,.14)}
.service-card p{margin:10px 0 0;color:#436082;line-height:1.4}

.steps{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:20px;
  margin-top:30px;
}
.step{
  background:#ffffff;
  padding:24px;
  border-radius:16px;
  text-align:center;
  border:1px solid rgba(17,71,150,.10);
  box-shadow:0 14px 30px rgba(17,71,150,.08);
}
.step span{
  display:inline-block;
  width:40px;
  height:40px;
  line-height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue),var(--deep));
  margin-bottom:10px;
  font-weight:900;
}

#contacts a{color:#114aa8;text-decoration:none}
#contacts a:hover{text-decoration:underline}

@media (max-width:820px){
  .menu{display:none}
  .stats{grid-template-columns:1fr;max-width:420px}
}


/* Trust block */
.trust{
  padding:84px 0 60px;
  background:#ffffff;
  color:#0b1b2b;
}
.trust h2{
  margin:0 0 38px;
  font-size:28px;
  letter-spacing:.2px;
  color:#114aa8;
  text-align:center;
}
.trust-grid-logos{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:40px 54px;
  align-items:center;
  justify-items:center;
  max-width:1150px;
  margin:0 auto;
}
.trust-grid-logos .trust-logo-full{
  display:block;
  width:auto;
  max-width:240px;
  height:94px;
  object-fit:contain;
  object-position:center;
  transition:transform .2s ease, opacity .2s ease, filter .2s ease;
  filter:drop-shadow(0 6px 14px rgba(15,38,74,.08));
}
.trust-grid-logos .trust-logo-full:hover{
  transform:scale(1.05);
  filter:drop-shadow(0 10px 18px rgba(15,38,74,.12));
}
@media (max-width: 1100px){
  .trust-grid-logos{grid-template-columns:repeat(3,1fr);gap:28px 34px}
  .trust-grid-logos .trust-logo-full{height:84px;max-width:210px}
}
@media (max-width: 680px){
  .trust{padding:48px 0 32px}
  .trust-grid-logos{grid-template-columns:repeat(2,1fr);gap:22px 18px}
  .trust-grid-logos .trust-logo-full{height:66px;max-width:160px}
}
body, .section, .card, .service-card, .step, footer{color:#0b1b2b;}
.menu a{color:#123b73;font-weight:700;}
.menu a:hover{color:#1f6fd6;}
.nav-cta .btn.small{box-shadow:none;}
.trust-grid-logos img[alt="Magnum"]{height:140px;max-width:320px;}
.stat{background:#ffffff;border:1px solid rgba(17,71,150,.10);box-shadow:0 14px 30px rgba(17,71,150,.08);}
.stat-num{color:#114aa8;}
.stat-label{color:#436082;}

.hero .btn.primary{min-width:220px;}
.hero .btn.secondary,.hero .btn.ghost{min-width:170px;}
@media (max-width: 640px){
  .hero{padding:104px 0 74px; background: linear-gradient(180deg, rgba(7,22,43,.50) 0%, rgba(7,22,43,.20) 42%, rgba(7,22,43,.10) 100%), url("hero-bg.png") center center / cover no-repeat;} 
  .hero-content{padding:24px 22px;border-radius:22px;}
  .hero h1{font-size:40px;}
  .hero .btn.primary,.hero .btn.secondary,.hero .btn.ghost{min-width:unset;width:100%;}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:12px;}
}

.hero{border-bottom:1px solid rgba(15,87,216,.06);}
.section h2{color:#0e2440;}
.stats{margin-top:30px;}
.stat{background:#ffffff;border:1px solid rgba(15,87,216,.08);box-shadow:0 18px 36px rgba(15,87,216,.07);}
.stat-num{font-size:36px;}
.services-grid,.cards,.steps{margin-top:26px;}
.service-card,.step{background:#ffffff;border:1px solid rgba(15,87,216,.08);box-shadow:0 18px 36px rgba(15,87,216,.07);}
footer{background:#ffffff;}
@media (max-width: 640px){.hero h1{font-size:42px}.hero p{font-size:16px}}


.section-cases{padding-top:18px;padding-bottom:6px;}
.cases-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;}
.case-card{background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);border:1px solid rgba(15,87,216,.08);border-radius:22px;padding:24px;box-shadow:0 18px 40px rgba(15,87,216,.08);}
.case-card strong{display:block;font-size:22px;color:#0e2440;margin-top:10px;}
.case-card p{margin:10px 0 0;color:#54709a;line-height:1.5;}
.case-badge{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(43,124,255,.10);color:#145ddf;font-size:12px;font-weight:800;letter-spacing:.2px;}
@media (max-width: 900px){.cases-grid{grid-template-columns:1fr;}}


.hero img,.hero-media img,.hero-image img{filter:brightness(1.14) contrast(1.12) saturate(1.04);}


/* v36 lively homepage */
.hero{padding:118px 0 88px;background:
  linear-gradient(90deg, rgba(7,22,43,.28) 0%, rgba(7,22,43,.10) 34%, rgba(7,22,43,.02) 72%),
  radial-gradient(circle at 14% 18%, rgba(54,129,255,.14) 0, rgba(54,129,255,0) 36%),
  url("hero-bg.png") center center / cover no-repeat;}
.hero::after{background:linear-gradient(90deg, rgba(0,0,0,.04) 0%, rgba(0,0,0,.015) 35%, rgba(0,0,0,0) 72%)}
.hero::before{background:rgba(0,0,0,.04)}
.hero-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:24px;align-items:stretch}
.hero-copy{position:relative;z-index:1;max-width:760px;padding:34px 36px;border-radius:28px;background:linear-gradient(135deg, rgba(8,20,36,.30) 0%, rgba(8,20,36,.12) 100%);backdrop-filter:blur(6px);box-shadow:0 28px 70px rgba(7,22,43,.18);border:1px solid rgba(255,255,255,.16)}
.hero-content{max-width:none;padding:0;background:none;border:none;box-shadow:none;backdrop-filter:none}
.hero h1{font-size:58px}
.hero p{color:#e7f1ff;text-shadow:0 3px 18px rgba(0,0,0,.25)}
.hero-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-chip{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13px;font-weight:700}
.hero-config{position:relative;z-index:1;padding:20px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(244,248,255,.92) 100%);border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 60px rgba(10,31,59,.18);display:flex;flex-direction:column;min-height:100%}
.hero-config-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.hero-config-title h3{margin:0;font-size:24px;color:#0f2747}
.hero-config-title p{margin:6px 0 0;color:#557092;font-size:14px;max-width:320px;text-shadow:none}
.hero-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hero-field label{display:block;margin:0 0 7px;color:#436082;font-size:12px;font-weight:700}
.hero-field input,.hero-field select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(17,71,150,.14);background:#fff;color:#0b1b2b;outline:none;box-shadow:0 8px 16px rgba(17,71,150,.06);font:inherit}
.hero-preview{margin-top:16px;padding:18px;border-radius:22px;background:linear-gradient(135deg,#f7fbff 0%,#eef5ff 100%);border:1px solid rgba(31,111,255,.10)}
.hero-preview-top{display:grid;grid-template-columns:128px 1fr;gap:16px;align-items:center}
.hero-preview-media{height:128px;border-radius:22px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(17,71,150,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.hero-preview-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease, filter .35s ease;filter:saturate(1.05) contrast(1.02)}
.hero-config:hover .hero-preview-media img{transform:scale(1.04)}
.hero-preview-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.hero-kpi{padding:12px 14px;border-radius:16px;background:#fff;border:1px solid rgba(17,71,150,.08)}
.hero-kpi-label{display:block;font-size:12px;color:#6580a4;margin-bottom:6px}
.hero-kpi-value{display:block;font-size:18px;font-weight:800;color:#0d2444}
.hero-config-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-config-note{margin-top:12px;color:#6280a3;font-size:12px}
.stats{margin-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stat{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(4px)}
.stat-num{font-size:34px;font-weight:900;color:#fff;line-height:1}
.stat-label{margin-top:6px;color:#dfe9f7;font-size:13px}
.trust-marquee{position:relative;overflow:hidden;padding:14px 0 6px}
.trust-marquee::before,.trust-marquee::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
.trust-marquee::before{left:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 100%)}
.trust-marquee::after{right:0;background:linear-gradient(270deg,#fff 0%,rgba(255,255,255,0) 100%)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:marquee-scroll 26s linear infinite}
.marquee-item{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:160px;height:68px;padding:12px 18px;border-radius:18px;background:#fff;border:1px solid rgba(17,71,150,.08);box-shadow:0 10px 24px rgba(17,71,150,.05)}
.marquee-item img{max-width:120px;max-height:34px;object-fit:contain;opacity:.9;filter:grayscale(100%)}
.marquee-item:hover img{opacity:1;filter:none}
@keyframes marquee-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (hover:hover){.trust-marquee:hover .marquee-track{animation-play-state:paused}}
.reveal-up{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease}
.reveal-up.is-visible{opacity:1;transform:none}
@media (max-width: 980px){
  .hero-shell{grid-template-columns:1fr}
  .hero h1{font-size:44px}
  .hero-copy,.hero-config{padding:24px}
}
@media (max-width: 640px){
  .hero{padding:100px 0 68px}
  .hero-config-grid,.hero-preview-kpis,.stats{grid-template-columns:1fr}
  .hero-preview-top{grid-template-columns:1fr}
  .hero h1{font-size:36px}
  .marquee-item{min-width:132px;height:60px}
}


/* v38 cleanup */
.hero-shell{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.hero-copy{max-width:820px!important}
.brands-marquee-section{padding-top:18px}
.brands-marquee-section h2{text-align:center;margin:0 0 22px;color:#123b73;font-size:34px}
.trust-marquee{padding:6px 0 8px}
.trust-marquee::before,.trust-marquee::after{width:36px}
.marquee-track{gap:22px;animation:marquee-scroll 28s linear infinite}
.marquee-item{min-width:170px;height:76px;padding:12px 20px;border-radius:20px;background:#ffffff;border:1px solid rgba(17,71,150,.08);box-shadow:0 10px 24px rgba(17,71,150,.05)}
.marquee-item img{max-width:132px;max-height:42px;object-fit:contain;opacity:1!important;filter:none!important}
@media (max-width: 980px){.brands-marquee-section h2{font-size:28px}.marquee-item{min-width:150px;height:68px}.marquee-item img{max-width:116px;max-height:36px}}

.whatsapp-float{
position:fixed;
right:20px;
bottom:20px;
width:60px;
height:60px;
background:#25D366;
color:#fff;
font-size:28px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
box-shadow:0 8px 20px rgba(0,0,0,.2);
z-index:999;
text-decoration:none;
transition:.3s;
}
.whatsapp-float:hover{transform:scale(1.1);}

.reveal{opacity:0;transform:translateY(40px);transition:all .8s ease;}
.reveal.active{opacity:1;transform:translateY(0);}

.nav-price-btn{
  margin-left:12px;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
}

.hero{
  background-attachment: fixed;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 0;
}


/* v42 technological refresh */
:root{
  --tech-glow: rgba(50,128,255,.18);
}
body{
  background:
    radial-gradient(circle at top right, rgba(66,139,255,.08), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 36%, #f7fbff 100%);
}
header{
  backdrop-filter: blur(14px);
  box-shadow:0 14px 40px rgba(15,87,216,.08);
}
header::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(43,124,255,.45), transparent);
}
.hero{
  background:
    linear-gradient(90deg, rgba(7,22,43,.28) 0%, rgba(7,22,43,.12) 30%, rgba(7,22,43,0) 62%),
    radial-gradient(circle at 10% 20%, rgba(54,129,255,.20) 0, rgba(54,129,255,0) 35%),
    radial-gradient(circle at 80% 10%, rgba(17,99,255,.10) 0, rgba(17,99,255,0) 28%),
    url("hero-bg.png") center center / cover no-repeat;
}
.hero::before{
  background:
    linear-gradient(rgba(255,255,255,.03), rgba(255,255,255,.03)),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:auto, 34px 34px, 34px 34px;
  opacity:.35;
}
.hero-content{
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 30px 70px rgba(7,22,43,.16), inset 0 1px 0 rgba(255,255,255,.35);
}
.hero h1{
  letter-spacing:-1.4px;
}
.tech-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.tech-points span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  color:#0f3f77;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.52);
  box-shadow:0 10px 24px rgba(15,87,216,.08);
}
.service-card,.card,.case-card,.step{
  position:relative;
  overflow:hidden;
}
.service-card::before,.card::before,.case-card::before,.step::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,#43a1ff,#1f6fff,#8dc3ff);
}
.service-card:hover,.card:hover,.case-card:hover,.step:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 50px rgba(17,71,150,.14);
}
.brands-marquee-section h2,
.works-marquee-section h2{
  margin:0 0 16px;
}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.section-head p{
  margin:0;
  max-width:560px;
  color:#54709a;
}
.trust-marquee, .works-marquee{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid rgba(15,87,216,.08);
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  box-shadow:0 18px 44px rgba(15,87,216,.08);
}
.trust-marquee::before,.works-marquee::before,
.trust-marquee::after,.works-marquee::after{
  content:"";
  position:absolute;
  top:0; bottom:0; width:100px; z-index:2; pointer-events:none;
}
.trust-marquee::before,.works-marquee::before{
  left:0;
  background:linear-gradient(90deg, #fff 0%, rgba(255,255,255,0) 100%);
}
.trust-marquee::after,.works-marquee::after{
  right:0;
  background:linear-gradient(270deg, #fff 0%, rgba(255,255,255,0) 100%);
}
.marquee-track,.works-track{
  display:flex;
  align-items:center;
  width:max-content;
  animation:marqueeScroll 34s linear infinite;
}
.works-track{ animation-duration: 42s; }
.trust-marquee:hover .marquee-track,
.works-marquee:hover .works-track{
  animation-play-state:paused;
}
.marquee-item,.works-item{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.marquee-item{
  width:220px;
  height:108px;
  padding:18px 24px;
}
.marquee-item img{
  max-width:100%;
  max-height:72px;
  object-fit:contain;
  filter:none;
}
.works-item{
  width:330px;
  padding:16px 10px 18px;
}
.works-item img{
  width:100%;
  height:240px;
  object-fit:cover;
  border-radius:20px;
  display:block;
  box-shadow:0 16px 34px rgba(15,87,216,.12);
  transition:transform .3s ease, box-shadow .3s ease;
}
.works-item img:hover{
  transform:translateY(-6px) scale(1.01);
  box-shadow:0 22px 48px rgba(15,87,216,.18);
}
@keyframes marqueeScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.nav-cta,.nav-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.mobile-price-btn{
  display:none !important;
}
.nav-price-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:10px 15px;
  border-radius:12px;
  font-weight:800;
  color:#fff !important;
  background:linear-gradient(135deg,#39a0ff,#1767ec);
  box-shadow:0 16px 34px rgba(43,124,255,.28);
}
@media (max-width:820px){
  .menu{display:none}
  .nav{align-items:flex-start}
  .nav-cta,.nav-actions{justify-content:flex-end}
  .mobile-price-btn{
    display:inline-flex !important;
  }
  .hero{
    padding:110px 0 80px;
    background-attachment:scroll;
  }
  .hero-content{
    padding:24px 22px;
    border-radius:22px;
  }
  .hero h1{
    font-size:42px;
    line-height:1.04;
  }
  .hero p{font-size:16px}
  .stats{grid-template-columns:1fr;max-width:100%}
  .section-head{
    display:block;
  }
  .works-item{ width:270px; }
  .works-item img{ height:200px; }
}
@media (max-width:560px){
  .container{padding:0 16px}
  .logo img{width:42px;height:42px}
  .logo-name,.logo-title{font-size:18px}
  .logo-tag,.logo-subtitle{font-size:11px}
  .hero h1{font-size:34px}
  .btn.small,.nav-price-btn,.mobile-price-btn{
    padding:10px 12px;
    font-size:13px;
  }
  .nav-cta,.nav-actions{
    width:100%;
    justify-content:flex-start;
  }
  .marquee-item{width:180px;height:96px;padding:14px 18px}
  .marquee-item img{max-height:60px}
  .works-item{width:230px}
  .works-item img{height:170px}
  .whatsapp-float{right:14px; bottom:14px; width:56px; height:56px;}
}

/* v43 fixes */
#contacts{color:#304a67}
#contacts strong{color:#0e2440}
#contacts a{color:#114aa8 !important; font-weight:600}


/* v44 технологичный апгрейд */
:root{
  --tech-blue:#3ca8ff;
  --tech-deep:#0e2440;
  --soft-grid:rgba(17,71,150,.06);
}

body{
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbff 54%, #ffffff 100%);
}

.hero{
  background-image:
    linear-gradient(90deg, rgba(7,22,43,.50) 0%, rgba(7,22,43,.24) 34%, rgba(7,22,43,.06) 76%),
    linear-gradient(var(--soft-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--soft-grid) 1px, transparent 1px),
    radial-gradient(circle at 12% 18%, rgba(54,129,255,.12) 0, rgba(54,129,255,0) 34%),
    url("hero-bg.png");
  background-size: cover, 26px 26px, 26px 26px, cover, cover;
  background-position: center, center, center, center, center;
}

.hero-content{
  max-width: 840px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 64px rgba(7,22,43,.22);
}

.hero h1{
  letter-spacing:-1.4px;
}

.hero p{
  color:#dbe9ff;
  max-width:720px;
}

.section-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:22px;
}
.section-head p{
  max-width:560px;
  color:#59779f;
  margin:0;
}

.services-grid,.cards,.cases-grid,.process-grid,.type-grid,.featured-grid{
  display:grid;
  gap:20px;
}

.type-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.type-card{
  position:relative;
  padding:26px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%);
  border:1px solid rgba(17,71,150,.10);
  box-shadow:0 20px 40px rgba(15,87,216,.08);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.type-card:before{
  content:"";
  position:absolute;
  inset:auto -40px -40px auto;
  width:120px;height:120px;
  background:radial-gradient(circle, rgba(60,168,255,.18) 0%, rgba(60,168,255,0) 72%);
}
.type-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 56px rgba(15,87,216,.14);
  border-color:rgba(23,103,236,.22);
}
.type-icon{
  width:54px;height:54px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#ebf4ff,#dbeaff);
  font-size:24px;margin-bottom:14px;
}
.type-card h3{margin:0 0 8px;font-size:21px;color:#0e2440}
.type-range{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:#eef5ff;
  color:#1767ec;
  font-weight:800;
  font-size:13px;
  margin-bottom:12px;
}
.type-card p{color:#557292;line-height:1.6;min-height:96px}
.type-link{
  display:inline-flex;
  margin-top:4px;
  text-decoration:none;
  color:#1767ec;
  font-weight:800;
}

.process-tech{
  position:relative;
}
.process-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.process-card{
  border-radius:22px;
  padding:24px;
  background:#0d1c31;
  color:#ffffff;
  box-shadow:0 20px 44px rgba(7,22,43,.16);
  border:1px solid rgba(255,255,255,.08);
}
.process-card span{
  display:inline-flex;
  margin-bottom:14px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  color:#79bbff;
}
.process-card strong{
  display:block;
  font-size:18px;
  margin-bottom:10px;
}
.process-card p{
  color:#b8cae6;
  line-height:1.6;
  margin:0;
}

.featured-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.featured-card{
  border-radius:24px;
  overflow:hidden;
  background:#ffffff;
  border:1px solid rgba(17,71,150,.10);
  box-shadow:0 20px 44px rgba(15,87,216,.10);
  transition:transform .22s ease, box-shadow .22s ease;
}
.featured-card:hover{
  transform:translateY(-6px);
  box-shadow:0 28px 60px rgba(15,87,216,.16);
}
.featured-card img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}
.featured-copy{
  padding:20px 20px 22px;
}
.case-tag{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:#eef5ff;
  color:#1767ec;
  font-size:12px;
  font-weight:800;
  margin-bottom:12px;
}
.featured-copy h3{
  margin:0 0 12px;
  font-size:20px;
  color:#0e2440;
}
.featured-copy ul{
  padding-left:18px;
  margin:0;
  color:#5b779d;
  line-height:1.7;
}

.service-card,.card,.case-card{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-card:hover,.card:hover,.case-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 44px rgba(15,87,216,.12);
  border-color:rgba(23,103,236,.18);
}

.whatsapp-float{
  width:66px;
  height:66px;
  font-size:30px;
  box-shadow:0 16px 36px rgba(0,0,0,.22);
}

.mobile-price-btn{
  display:none !important;
}

@media (max-width: 980px){
  .type-grid,.process-grid,.featured-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .section-head{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 820px){
  .mobile-price-btn{
    display:inline-flex !important;
  }
  .nav-cta{
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  .nav-cta .btn.small{
    padding:9px 12px;
  }
}

@media (max-width: 640px){
  .type-grid,.process-grid,.featured-grid{
    grid-template-columns:1fr;
  }
  .hero h1{
    font-size:40px;
  }
  .featured-card img{
    height:210px;
  }
  .hero-content{
    padding:22px 18px;
  }
  .type-card p{
    min-height:auto;
  }
}


/* v46 mobile header fix */
@media (max-width: 768px){
a[href="/price.html"]{
display:none !important;
}
}


/* v47 WhatsApp calc */
#whatsappCalcBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,211,102,.24);
}
#whatsappCalcBtn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(37,211,102,.32);
}
@media (max-width: 768px){
  #whatsappCalcBtn{
    width:100%;
    margin-left:0 !important;
    margin-top:10px;
  }
}


/* v48 mobile header cleanup */
@media (max-width: 768px){
  header .btn[href="/price.html"],
  .nav a[href="/price.html"],
  .nav-cta a[href="/price.html"],
  a[href="/price.html"]{
    display:none !important;
  }

  header,
  .site-header,
  .topbar{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  .nav,
  .navbar,
  .topbar-inner,
  .site-header .container,
  header .container{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:10px !important;
    flex-wrap:nowrap !important;
  }

  .brand,
  .logo-wrap,
  .site-logo{
    display:flex !important;
    align-items:flex-start !important;
    gap:10px !important;
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .brand img,
  .logo-wrap img,
  .site-logo img,
  .logo img{
    width:52px !important;
    height:auto !important;
    flex:0 0 52px !important;
  }

  .brand .text,
  .brand-text,
  .logo-text{
    min-width:0 !important;
  }

  .brand .text strong,
  .brand-text strong,
  .logo-text strong{
    display:block !important;
    font-size:16px !important;
    line-height:1.05 !important;
  }

  .brand .text span,
  .brand-text span,
  .logo-text span{
    display:block !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }

  .nav-cta,
  .header-actions,
  .top-actions{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    gap:8px !important;
    flex:0 0 auto !important;
  }

  .nav-cta .btn,
  .header-actions .btn,
  .top-actions .btn,
  header .btn{
    padding:10px 14px !important;
    font-size:14px !important;
    border-radius:14px !important;
    white-space:nowrap !important;
  }

  /* hide text nav links in mobile header */
  .nav-links,
  .main-nav,
  nav ul,
  .top-menu{
    display:none !important;
  }
}


/* v49 unified header + larger brand */
.unified-header{padding-top:14px;padding-bottom:14px}
.logo img{width:64px;height:64px;object-fit:cover;border-radius:16px;border:1px solid rgba(17,71,150,.10);background:#fff;box-shadow:0 10px 24px rgba(15,87,216,.08)}
.logo-name,.logo-title{font-size:32px;font-weight:900;letter-spacing:.2px;color:#0f3f86}
.logo-tag,.logo-subtitle{font-size:13px;color:#54709a;font-weight:700;opacity:1}
.menu{display:flex;align-items:center;gap:18px}
.menu a{font-weight:700}
.nav-cta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nav-cta .btn.small{padding:11px 16px;border-radius:14px;font-size:14px}
@media (max-width:768px){
  .logo img{width:58px !important;height:58px !important;flex:0 0 58px !important}
  .logo-name,.logo-title,.logo-text strong{font-size:28px !important;line-height:1 !important}
  .logo-tag,.logo-subtitle,.logo-text span{font-size:12px !important;line-height:1.15 !important}
}
