:root{
  --bg:#07111f;
  --bg-soft:#0d1b2f;
  --card:#111f34;
  --text:#f7fbff;
  --muted:#b9c7d8;
  --blue:#32a8ff;
  --blue-dark:#0b69b3;
  --line:rgba(255,255,255,.12);
  --shadow:0 22px 70px rgba(0,0,0,.35);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1120px, calc(100% - 40px));margin:0 auto}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(7,17,31,.86);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.2px}
.brand img{width:48px;height:48px;object-fit:contain;border-radius:12px;background:#fff;padding:4px}
.nav-links{display:flex;align-items:center;gap:24px;color:var(--muted);font-weight:700}
.nav-links a:hover{color:var(--text)}
.menu-btn{display:none;background:transparent;border:1px solid var(--line);color:var(--text);border-radius:12px;padding:8px 12px;font-size:24px}

.hero{
  position:relative;
  min-height:680px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 28%, rgba(50,168,255,.36), transparent 32%),
    linear-gradient(180deg, rgba(7,17,31,.15), rgba(7,17,31,.96)),
    linear-gradient(135deg, #0c2543 0%, #07111f 55%, #02070f 100%);
}
.hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.8), transparent 80%);
}
.hero-bg::after{
  content:"3D";
  position:absolute;
  left:50%;
  top:52%;
  transform:translate(-50%,-50%);
  font-size:260px;
  font-weight:900;
  color:rgba(255,255,255,.035);
  letter-spacing:-14px;
}
.hero-content{
  position:relative;
  z-index:1;
  text-align:center;
  max-width:900px;
  padding:120px 20px;
}
.eyebrow,.section-kicker{
  color:var(--blue);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.82rem;
  font-weight:900;
  margin:0 0 14px;
}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(2.4rem, 6vw, 5rem);line-height:1.02;margin-bottom:22px;letter-spacing:-.06em}
h2{font-size:clamp(2rem, 4vw, 3.2rem);line-height:1.08;margin-bottom:18px;letter-spacing:-.04em}
h3{font-size:1.25rem;margin-bottom:10px}
.lead{font-size:clamp(1.12rem, 2vw, 1.35rem);color:var(--muted);max-width:720px;margin:0 auto 34px}
.hero-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 24px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(50,168,255,.24);
}
.btn:hover{transform:translateY(-1px)}
.btn-secondary{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid var(--line)}

.section{padding:92px 0}
.section-intro{max-width:760px;color:var(--muted);font-size:1.08rem;margin-bottom:34px}
.section-soft{background:var(--bg-soft);border-block:1px solid var(--line)}
.grid{display:grid;gap:22px}
.cards{grid-template-columns:repeat(4,1fr)}
.card,.project-card,.quality-list div,.quote-form,.thanks-card{
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.card{padding:26px}
.card p,.step p,.project-card p,.why-grid p,.quality-list span,.contact-copy p,.form-note{color:var(--muted)}
.icon{font-size:2rem;margin-bottom:18px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.step{padding:24px;border-left:1px solid var(--line)}
.step span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue);font-weight:900;margin-bottom:16px}

.projects{grid-template-columns:repeat(4,1fr)}
.project-card{overflow:hidden}
.project-visual{height:180px;display:grid;place-items:center;position:relative}
.project-visual span{font-size:3.2rem;filter:drop-shadow(0 14px 24px rgba(0,0,0,.35))}
.project-visual::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.16);border-radius:18px}
.visual-technical{background:radial-gradient(circle, rgba(50,168,255,.45), rgba(12,37,67,.4)), repeating-linear-gradient(45deg, rgba(255,255,255,.06) 0 2px, transparent 2px 15px)}
.visual-repair{background:radial-gradient(circle, rgba(77,255,185,.32), rgba(12,37,67,.4)), repeating-linear-gradient(-45deg, rgba(255,255,255,.06) 0 2px, transparent 2px 15px)}
.visual-custom{background:radial-gradient(circle, rgba(255,205,77,.32), rgba(12,37,67,.4)), repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 2px, transparent 2px 16px)}
.visual-prototype{background:radial-gradient(circle, rgba(190,130,255,.32), rgba(12,37,67,.4)), repeating-linear-gradient(0deg, rgba(255,255,255,.06) 0 2px, transparent 2px 15px)}
.project-body{padding:24px}

.why-section{background:linear-gradient(135deg, #081427, #0d1b2f)}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.quality-list{display:grid;gap:14px}
.quality-list div{padding:20px;display:grid;gap:4px}
.quality-list strong{font-size:1.08rem}

.contact-section{background:#06101e}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:start}
.ticks{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.ticks li{position:relative;padding-left:30px;color:var(--muted)}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.quote-form{padding:28px;display:grid;gap:18px}
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:grid;gap:8px;color:var(--text);font-weight:800}
input,textarea,select{
  width:100%;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:var(--text);
  padding:14px 16px;
  outline:none;
  font:inherit;
}
select option{color:#07111f}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus{border-color:rgba(50,168,255,.8);box-shadow:0 0 0 4px rgba(50,168,255,.12)}
.file-box{border:1px dashed rgba(255,255,255,.26);border-radius:18px;padding:16px;color:var(--muted)}
.hidden{display:none}
.form-note{font-size:.9rem;margin:0}
.site-footer{border-top:1px solid var(--line);padding:26px 0;background:#040a13;color:var(--muted)}
.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

.thanks-page{min-height:100vh;display:grid;place-items:center;padding:24px}
.thanks-card{width:min(520px,100%);padding:42px;text-align:center}
.thanks-card img{width:92px;height:92px;object-fit:contain;margin:0 auto 22px;background:#fff;border-radius:18px;padding:8px}

@media (max-width:900px){
  .menu-btn{display:block}
  .nav-links{
    position:absolute;left:20px;right:20px;top:84px;
    display:none;flex-direction:column;align-items:stretch;
    padding:18px;background:#081427;border:1px solid var(--line);border-radius:20px;
  }
  .nav-links.open{display:flex}
  .cards,.steps,.projects,.why-grid,.contact-grid{grid-template-columns:1fr}
  .hero{min-height:620px}
  .hero-bg::after{font-size:170px}
}
@media (max-width:620px){
  .container{width:min(100% - 28px,1120px)}
  .section{padding:68px 0}
  .two-cols{grid-template-columns:1fr}
  .brand span{font-size:.95rem}
  .hero-content{padding:90px 0}
  .btn{width:100%}
}
