:root{
  --bg:#15242b;
  --header:#030303;
  --text:#fff;
  --muted:rgba(255,255,255,.78);
  --accent:#58b9c7;
  --violet:#69558c;
  --container:1170px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);min-width:320px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}.header{height:86px;background:var(--header);position:fixed;inset:0 0 auto 0;z-index:100}.header__inner{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:20px}.brand__logo{width:61px;height:61px}.brand__name{font-size:14px}.nav{display:flex;align-items:center;gap:62px;font-size:14px;font-weight:300}.nav a{padding:13px 10px;border-radius:4px;transition:.2s}.nav a:hover{background:rgba(255,255,255,.08)}.burger{display:none;background:transparent;border:0;width:42px;height:42px;padding:8px}.burger span{display:block;height:2px;background:#fff;margin:7px 0;transition:.2s}.section{position:relative;overflow:hidden;background:var(--bg)}.section--decorated{background:linear-gradient(90deg,#14282d 0%,#15242b 47%,#1b2429 100%)}.hero{min-height:820px;padding-top:86px}.hero__inner{position:relative;z-index:2;padding-top:325px}.hero h1{margin:0 0 28px;font-size:88px;line-height:1.1;font-weight:300;letter-spacing:1px}.hero p{margin:0;font-size:34px;line-height:1.4;font-weight:400}.about{min-height:780px;padding:140px 0 165px}.about__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.about__image-wrap{display:flex;justify-content:center}.about__image{width:523px}.about__text{max-width:540px;font-size:22px;line-height:1.35;font-weight:700}.about__text h2{font-size:24px;margin:0 0 36px}.about__text p{margin:0 0 30px}.products{min-height:811px;padding:215px 0 170px}.products__inner{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:70px;align-items:end}.product-card{position:relative;min-height:365px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;cursor:pointer;text-align:center}.product-card__glow{position:absolute;top:0;left:50%;transform:translateX(-50%);width:275px;height:255px;border-radius:50%;filter:blur(16px);background:linear-gradient(181deg,rgba(36,50,63,1),rgba(44,33,57,1));z-index:-1}.product-card img{height:190px;width:auto;margin-bottom:85px;object-fit:contain}.product-card h3{font-size:20px;line-height:1.4;font-weight:400;margin:0;transition:.2s}.product-card:hover h3{color:#eeb43f}.product-card:hover img{transform:translateY(-6px);transition:.25s}.contacts{min-height:560px;padding:85px 0 105px;background:var(--bg)}.contacts__inner{max-width:1100px}.contacts__line{height:3px;background:#fff;opacity:.95;margin:0 0 45px}.contacts h2{text-align:center;font-size:32px;font-weight:400;margin:0 0 60px}.contacts__grid{display:grid;grid-template-columns:1fr 420px;gap:90px;align-items:start}.contacts__data h3,.contact-form h3{font-size:24px;font-weight:400;margin:0 0 45px}.contacts__data a{font-size:18px;font-weight:700}.contact-form{display:grid;gap:14px}.contact-form label{display:grid;gap:7px}.contact-form span{font-size:13px;color:var(--muted)}input{width:100%;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#fff;color:#111;padding:0 16px;font-size:15px}button{font-family:inherit}.contact-form button,.modal__form button{border:0;border-radius:30px;background:#6ea0fd;color:#fff;font-size:18px;font-weight:700;padding:14px 40px;cursor:pointer;transition:.2s}.contact-form button:hover,.modal__form button:hover{background:#5890f2}.form-note{font-size:12px;line-height:1.4;color:rgba(255,255,255,.65);margin:0}.scene{position:absolute;inset:0;z-index:1;pointer-events:none}.scene:before{content:"";position:absolute;right:0;top:0;width:44%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.55) 0 4px,transparent 5px);background-size:66px 66px;opacity:.65;mask-image:linear-gradient(90deg,transparent,black 22%,black 80%,transparent)}.scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 70% 55%,rgba(37,46,75,.35),transparent 30%),radial-gradient(ellipse at 48% 90%,rgba(33,38,70,.28),transparent 28%)}.section--decorated:before,.section--decorated:after{content:"";position:absolute;border:2px solid rgba(255,255,255,.13);border-radius:15px;width:125px;height:70px;z-index:1}.section--decorated:before{left:35px;top:190px;transform:rotate(-32deg)}.section--decorated:after{right:64px;top:250px;transform:rotate(-20deg);height:130px;width:78px}.scene .shape{position:absolute}.scene--hero{background:linear-gradient(135deg,rgba(18,42,48,.9),rgba(21,36,43,.25))}.scene--hero:before{top:50px}.scene--about:before,.scene--products:before{top:-20px}.scene--products:after{background:radial-gradient(ellipse at 35% 42%,rgba(60,34,82,.45),transparent 17%),radial-gradient(ellipse at 76% 42%,rgba(30,54,76,.35),transparent 20%)}
/* decorative arrows */
.hero .scene,.about .scene,.products .scene{--a:rgba(82,180,194,.7);--v:rgba(101,82,142,.7)}
.hero .scene::marker{display:none}.section--decorated .scene{background-image:linear-gradient(45deg,transparent 48%,var(--v) 49%,var(--v) 51%,transparent 52%),linear-gradient(45deg,transparent 48%,var(--a) 49%,var(--a) 51%,transparent 52%);background-size:110px 110px,120px 120px;background-position:82% 130px,86% 320px;background-repeat:no-repeat}.section--decorated .scene i{display:none}.modal{position:fixed;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s;z-index:200}.modal.is-open{opacity:1;visibility:visible}.modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.62)}.modal__window{position:relative;width:min(520px,calc(100% - 32px));background:#15242b;border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:42px;box-shadow:0 25px 80px rgba(0,0,0,.45)}.modal__close{position:absolute;right:18px;top:12px;background:transparent;border:0;color:#fff;font-size:36px;line-height:1;cursor:pointer}.modal__label{letter-spacing:.18em;color:var(--accent);font-weight:700;margin:0 0 14px}.modal h2{font-size:30px;line-height:1.2;margin:0 0 15px}.modal p{color:var(--muted)}.modal__form{display:grid;gap:14px;margin:25px 0 14px}.modal__form button{width:100%}
@media (max-width:900px){.header{height:74px}.brand__logo{width:50px;height:50px}.burger{display:block}.nav{position:absolute;right:20px;top:74px;display:none;flex-direction:column;gap:10px;align-items:flex-start;width:250px;background:#050505;border:1px solid rgba(255,255,255,.1);padding:18px;border-radius:0 0 16px 16px}.nav.is-open{display:flex}.hero{min-height:640px}.hero__inner{padding-top:245px}.hero h1{font-size:58px}.hero p{font-size:25px}.about{padding:90px 0}.about__inner{grid-template-columns:1fr;gap:35px}.about__text{font-size:19px}.products{padding:100px 0}.products__inner{grid-template-columns:1fr;gap:45px}.product-card{min-height:280px}.product-card img{margin-bottom:35px}.contacts__grid{grid-template-columns:1fr;gap:45px}.scene:before{width:70%;opacity:.35}.section--decorated:after{display:none}}
@media (max-width:520px){.container{width:min(370px,calc(100% - 24px))}.hero h1{font-size:46px}.hero p{font-size:21px}.about__text{font-size:17px}.contacts h2{font-size:25px}.modal__window{padding:32px 22px}.modal h2{font-size:25px}.section--decorated:before{opacity:.45;left:-40px}}

/* compliance/content sections */
.eyebrow{margin:0 0 14px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero .eyebrow{font-size:15px;margin-bottom:10px}.section-heading{position:relative;z-index:2;text-align:center;max-width:820px;margin:0 auto 70px}.section-heading h2{font-size:42px;line-height:1.2;margin:0 0 18px;font-weight:400}.section-heading p:not(.eyebrow){color:var(--muted);font-size:18px;line-height:1.55;margin:0}.section-heading--left{text-align:left;margin:0 0 45px;max-width:900px}.product-card p{max-width:300px;margin:18px auto 0;color:var(--muted);font-size:16px;line-height:1.45}.info{padding:110px 0;background:linear-gradient(180deg,#15242b 0%,#101d23 100%)}.info-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.info-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:30px;box-shadow:0 18px 50px rgba(0,0,0,.16)}.info-card--wide{grid-row:span 2}.info-card h3{font-size:24px;font-weight:500;margin:0 0 22px}.info-card p,.code-list{font-size:16px;line-height:1.58;color:var(--muted);margin:0}.info-card p+p{margin-top:16px}.details-list{display:grid;gap:16px;margin:0}.details-list div{display:grid;gap:5px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1)}.details-list dt{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55)}.details-list dd{margin:0;font-size:17px;line-height:1.45;color:#fff}.details-list a,.contacts__data a{color:#fff;text-decoration:underline;text-underline-offset:4px}.code-list{padding-left:18px}.code-list li{margin-bottom:13px}.code-list strong{color:#fff}.small-note,.price-note{color:rgba(255,255,255,.65)!important;font-size:14px!important}.prices{padding:110px 0;background:#13252c}.price-table-wrap{overflow-x:auto;border-radius:20px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.045)}.price-table{width:100%;border-collapse:collapse;min-width:720px}.price-table th,.price-table td{text-align:left;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.12);vertical-align:top}.price-table th{font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);font-weight:700}.price-table td{font-size:17px;line-height:1.5;color:#fff}.price-table tr:last-child td{border-bottom:0}.price-note{margin:18px 0 0}.contacts__data p{font-size:16px;line-height:1.55;color:var(--muted);margin:0 0 12px}.footer{padding:28px 0;background:#030303;color:rgba(255,255,255,.7)}.footer__inner{display:flex;justify-content:space-between;gap:30px;font-size:13px;line-height:1.4}.footer p{margin:0}.nav{gap:34px}
@media (max-width:900px){.section-heading h2{font-size:32px}.products{padding:90px 0}.info,.prices{padding:80px 0}.info-grid{grid-template-columns:1fr}.info-card--wide{grid-row:auto}.footer__inner{flex-direction:column;gap:12px}.nav{gap:10px}.contacts__data p{font-size:15px}}
@media (max-width:520px){.section-heading{margin-bottom:45px}.section-heading h2{font-size:28px}.info-card{padding:22px}.details-list dd,.price-table td{font-size:15px}.price-table{min-width:620px}.hero .eyebrow{font-size:12px}}


/* Real images restored from the original constructor layout */
.section--decorated{
  background-color:#15242b;
  background-image:url("../assets/bg-site.jpg");
  background-repeat:repeat-y;
  background-size:100% auto;
  background-position:center top;
}
.scene,.section--decorated:before,.section--decorated:after{display:none!important;}
.brand__logo{width:61px;height:61px;object-fit:contain;}
.about__image{width:min(523px,100%);height:auto;display:block;}
.product-card img{object-fit:contain;filter:none;}
.product-card[data-modal="mobile"] img{width:169px;height:auto;}
.product-card[data-modal="web"] img{width:266px;height:auto;}
.product-card[data-modal="tech"] img{width:158px;height:auto;}
.product-card:hover img{transform:translateY(-6px);transition:.25s;}
.modal__clock{display:block;width:72px;height:72px;object-fit:contain;margin:0 auto 18px;}
.modal__window{text-align:left;}
.modal__clock + .modal__label{text-align:center;}
@media (max-width:900px){
  .section--decorated{background-size:auto 820px;background-position:center top;}
  .brand__logo{width:50px;height:50px;}
  .product-card[data-modal="web"] img{width:min(266px,90%);}
}


/* Static single-page background fix
   One image is fixed behind the content. It is not repeated per section.
   Header and footer keep solid black backgrounds, so the image is not visible there. */
body{
  background:#15242b;
}
main{
  position:relative;
  isolation:isolate;
  background:#15242b;
}
main::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url("../assets/bg-site.jpg");
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  background-attachment:fixed;
}
main::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:rgba(21,36,43,.08);
}
.section,
.section--decorated,
.info,
.prices,
.contacts{
  background:transparent!important;
  background-image:none!important;
}
.header,
.footer{
  background:#030303!important;
}
.header{
  box-shadow:0 1px 0 rgba(255,255,255,.02);
}
.contacts{
  position:relative;
}
.contacts::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:#15242b;
}
.contacts > *{
  position:relative;
  z-index:1;
}
.footer{
  position:relative;
  z-index:5;
}
@media (max-width:900px){
  main::before{
    background-position:center top;
    background-size:auto 100vh;
  }
}
