:root{
  --bg:#fff;--text:#102033;--muted:#637083;--primary:#1e5eff;--primary-dark:#1646be;
  --soft:#f3f7fb;--card:#fff;--border:#e1e8f0;--shadow:0 18px 50px rgba(16,32,51,.11)
}
body.dark{--bg:#0b1220;--text:#f3f7fb;--muted:#a9b6c8;--primary:#6ea8ff;--primary-dark:#4d8ae6;--soft:#111b2d;--card:#121d31;--border:#25344d;--shadow:0 18px 50px rgba(0,0,0,.32)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;transition:background .25s,color .25s}a{text-decoration:none;color:inherit}.container{width:min(1120px,92%);margin:auto}
/* =========================
   HEADER
   ========================= */
.header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
}

body.dark .header {
  background: rgba(11, 18, 32, 0.9);
}

.header__inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.logo {
  flex: 0 0 auto;
  font-size: 23px;
  font-weight: 800;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.logo span {
  color: var(--primary);
}

.nav {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: auto;
  color: var(--muted);
  font-weight: 700;
}

.nav a:hover {
  color: var(--primary);
}

/* Header controls stay aligned and never shrink. */
.header__controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  flex: 0 0 auto;
}

.lang-select,
.theme-button,
.header__phone,
.burger {
  height: 40px;
  box-sizing: border-box;
}

.lang-select {
  width: 72px;
  min-width: 72px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
  flex: 0 0 72px;
}

.theme-button {
  width: 52px;
  min-width: 52px;
  max-width: 52px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--card);
  color: var(--text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  flex: 0 0 52px;
}

.theme-button:hover {
  background: var(--soft);
}

.header__phone {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  color: var(--primary);
  flex: 0 0 auto;
}

.burger {
  height: 40px;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--card);
  color: var(--text);
}

.lang-select{
    width:70px;
    height:40px;
    padding:0 12px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
}

.theme-button{
    width:40px;
    height:40px;
    padding:0 12px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}

.theme-button:hover {
  background: var(--soft);
}

.header__phone{
    height:40px;
    display:flex;
    align-items:center;
    font-weight:700;
    white-space:nowrap;
}

.burger {
  display: none;
  width: 40px;
  padding: 0;
  cursor: pointer;
}

.burger span {
  display: block;
  width: 19px;
  height: 2px;
  margin: 4px auto;
  background: var(--text);
}

.hero{padding:76px 0 68px;background:linear-gradient(135deg,#f7fbff,#fff 58%,#edf5ff)}body.dark .hero{background:linear-gradient(135deg,#0b1220,#101b2d 58%,#111f36)}.hero__content{max-width:850px;margin:auto;text-align:center}.badge,.eyebrow{display:inline-flex;color:var(--primary);background:#eaf1ff;border:1px solid #d5e3ff;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:800;margin-bottom:16px}body.dark .badge,body.dark .eyebrow{background:rgba(110,168,255,.12);border-color:rgba(110,168,255,.25)}h1{font-size:clamp(38px,6vw,66px);line-height:1.02;letter-spacing:-.055em;margin-bottom:20px}.hero__text{font-size:18px;color:var(--muted);max-width:760px;margin:0 auto 26px}.hero__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:26px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:14px;padding:14px 21px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.2s}.btn--primary{background:var(--primary);color:#fff;box-shadow:0 12px 26px rgba(30,94,255,.25)}.btn--primary:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn--ghost{background:var(--card);border-color:var(--border)}.hero__highlights{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.hero__highlights span{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:9px 13px;font-weight:700}.hero__highlights span:before{content:'✓';color:var(--primary);margin-right:7px}
.section{padding:68px 0}.section--soft{background:var(--soft)}.section__head{text-align:center;max-width:690px;margin:0 auto 32px}.section__head h2,.about h2,.request h2{font-size:clamp(29px,4vw,43px);line-height:1.1;letter-spacing:-.04em}.section__head p,.about p,.request p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card,.form{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:0 10px 30px rgba(16,32,51,.055)}.service-card>span{color:var(--primary);font-weight:800}.service-card h3{margin:9px 0 5px;font-size:19px}.service-card p{color:var(--muted);font-size:15px}
.about{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}.about__content p:last-child{margin-top:13px}.features{display:grid;gap:12px}.feature{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:17px;display:flex;gap:13px}.feature b{color:var(--primary);font-size:21px}.feature strong{display:block;margin-bottom:3px}.feature span{display:block;color:var(--muted);font-size:14px}
.request{background:linear-gradient(135deg,#102033,#1e3a5f);color:#fff}.request__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:38px;align-items:start}.request .eyebrow{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2);color:#fff}.request__info>p{margin-top:13px;color:rgba(255,255,255,.76)}.contact-box{margin-top:23px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:18px}.contact-box p{margin:6px 0;color:#fff}.form{color:var(--text);display:grid;gap:13px}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form label{font-weight:700;font-size:14px}input,select,textarea{width:100%;margin-top:6px;border:1px solid var(--border);border-radius:12px;padding:12px 13px;font:inherit;background:var(--bg);color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(30,94,255,.12)}textarea{resize:vertical}.form__btn{width:100%;border:0}.form__note{font-size:12px!important;color:var(--muted)!important}
.footer{padding:22px 0;background:#0b1624;color:#fff}.footer__inner{display:flex;justify-content:space-between;gap:18px}.footer a{color:#9fc0ff}.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;border:0;border-radius:50%;background:var(--primary);color:#fff;font-size:20px;opacity:0;pointer-events:none;transition:.2s;box-shadow:var(--shadow)}.to-top.show{opacity:1;pointer-events:auto}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(25px);background:#102033;color:#fff;border-radius:14px;padding:13px 18px;opacity:0;pointer-events:none;transition:.25s;z-index:200;max-width:min(90vw,520px);text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.reveal{opacity:0;transform:translateY(18px);transition:.55s ease}.reveal.visible{opacity:1;transform:none}
/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 1120px) {
  .header__phone {
    display: none;
  }
}

@media (max-width: 960px) {
  .burger {
    display: block;
  }

  .nav {
    position: absolute;
    top: 72px;
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 4%;
    background: var(--card);
    border-bottom: 1px solid var(--border);
    box-shadow: var(--shadow);
  }

  .nav.open {
    display: flex;
  }

  .cards {
    grid-template-columns: repeat(2, 1fr);
  }

  .about,
  .request__grid {
    grid-template-columns: 1fr;
  }

  .about {
    gap: 28px;
  }
}

@media (max-width: 620px) {
  .container {
    width: min(calc(100% - 28px), 1120px);
  }

  .header__inner {
    min-height: 64px;
    gap: 8px;
  }

  .logo {
    font-size: 19px;
  }

  .lang-select {
    width: 64px;
    min-width: 64px;
    height: 38px;
    padding: 0 8px;
  }

  .theme-button {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 38px;
    flex-basis: 48px;
  }

  .burger {
    width: 38px;
    height: 38px;
  }

  .nav {
    top: 64px;
  }

  .hero {
    padding: 54px 0 48px;
  }

  h1 {
    font-size: 39px;
  }

  .hero__text {
    font-size: 16px;
  }

  .hero__actions {
    display: grid;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .section {
    padding: 50px 0;
  }

  .cards {
    grid-template-columns: 1fr;
  }

  .service-card {
    padding: 19px;
  }

  .form {
    padding: 18px;
  }

  .form__row {
    grid-template-columns: 1fr;
  }

  .footer__inner {
    flex-direction: column;
  }

  .hero__highlights {
    align-items: stretch;
  }

  .hero__highlights span {
    width: 100%;
    text-align: left;
  }
}

@media (max-width: 430px) {
  .logo {
    font-size: 17px;
  }

  .lang-select {
    width: 58px;
    min-width: 58px;
    padding: 0 5px;
  }

  .theme-button {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    flex-basis: 46px;
  }

  .burger {
    width: 36px;
  }

  h1 {
    font-size: 34px;
  }
}


/* Contact links */
.contact-box a {
  color: inherit;
  text-decoration: none;
}

.contact-box a:hover {
  text-decoration: underline;
}
