
:root {
  --bg:#ffffff;
  --ink:#0f172a;
  --muted:#475569;
  --brand:#22c55e;
  --brand2:#06b6d4;
  --radius:18px;
  --max:1200px;
  --shadow:0 10px 30px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}

/* NAV (desktop) */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid rgba(15,23,42,.06)}
.nav{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:16px;padding:10px 16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;letter-spacing:.3px}
.brand-logo{width:36px;height:36px;object-fit:contain;border-radius:8px;box-shadow:var(--shadow);background:#fff;display:block}
.spacer{flex:1}
.menu{display:flex;gap:12px;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600}
.menu a:hover{background:#f1f5f9}
.burger{display:none}

/* HERO */
.hero{position:relative;display:grid;place-items:center;min-height:72vh;text-align:center;color:#0b1220;overflow:clip}
.hero::before{content:"";position:absolute;inset:-10% -10% 0 -10%;background:
  radial-gradient(60% 70% at 10% 20%, rgba(34,197,94,.20), transparent 60%),
  radial-gradient(60% 70% at 90% 10%, rgba(6,182,212,.18), transparent 60%),
  linear-gradient(180deg,#ffffff 0%, #f8fafc 100%);
  z-index:-1}
.hero-inner{max-width:900px;padding:88px 24px}
.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px solid rgba(15,23,42,.08);border-radius:999px;background:#fff;box-shadow:var(--shadow);font-size:12px;color:var(--muted);margin-bottom:14px}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 10px}
.hero p{font-size:18px;color:var(--muted);margin:0 0 24px}
.cta{display:inline-flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:800}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:var(--shadow)}
.btn.ghost{background:#fff;color:var(--ink);border:1px solid rgba(15,23,42,.12)}

/* Sections */
.section{max-width:var(--max);margin:0 auto;padding:72px 24px}
.section h2{margin:0 0 12px;font-size:28px}
.muted{color:var(--muted)}

/* Services */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.card h3{margin:6px 0 8px;font-size:18px}
.card p{margin:0;color:var(--muted)}

/* Documents */
.docs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.doc{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid rgba(15,23,42,.08);text-decoration:none;color:var(--ink)}
.doc:hover{background:#f8fafc}

/* Contact */
.contact-row{display:flex;flex-wrap:wrap;gap:12px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid rgba(15,23,42,.12);background:#fff;color:var(--ink);text-decoration:none}

/* Footer */
.site-footer{border-top:1px solid rgba(15,23,42,.08);padding:28px 18px;text-align:center;color:var(--muted)}

/* Back to top */
#toTop{position:fixed;right:24px;bottom:30px;display:none;background:#fff;border:1px solid rgba(15,23,42,.12);border-radius:12px;box-shadow:var(--shadow);cursor:pointer}
#toTop span{display:block;padding:10px 12px}

/* UX */
:where(a,button){-webkit-tap-highlight-color:transparent}
:where(a,button):focus{outline:none}
:where(a,button):focus-visible{outline:3px solid #22c55e;outline-offset:3px;border-radius:10px}
@media (prefers-reduced-motion: reduce){ *{scroll-behavior:auto} *{transition:none!important} }

/* ==== Overrides: remove backgrounds for logo & back button; discourage image downloads ==== */
#toTop{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
#toTop img{ display:block; }

.site-header, .nav, .brand, .brand-logo{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.nav{ backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
.brand:hover, .brand:focus{ background: transparent !important; }

img, svg, picture, figure {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}

#toTop.btn{ background: transparent !important; }



/* === Language chip (premium, fixed width, no background) === */
:root{
  --ring: rgba(14,163,90,.35);
  --chip-border: rgba(15,23,42,.14);
}
.nav .chip.lang{
  display:inline-flex; align-items:center; justify-content:center;
  width:44px; height:34px; padding:0;
  border-radius:9999px;
  background:transparent; border:1px solid var(--chip-border);
  font-weight:800; letter-spacing:.2px; text-transform:uppercase; line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
}
.nav .chip.lang:hover{ transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.06); }
.nav .chip.lang:active{ transform:translateY(0); }
.nav .chip.lang:focus{ outline:none; box-shadow:0 0 0 3px var(--ring); }



/* === Language chip (full text + flag, fixed width, no background) === */
.nav .chip.lang{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:128px; height:34px; padding:0 10px;
  border-radius:9999px;
  background:transparent; border:1px solid var(--chip-border, rgba(15,23,42,.14));
  font-weight:800; letter-spacing:.2px; text-transform:none; line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
  transition: transform .12s ease, box-shadow .2s ease, border-color .2s ease;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nav .chip.lang .flag{ font-size:16px; line-height:1; }
.nav .chip.lang .label{ display:inline-block; transform:translateY(0.5px); }
.nav .chip.lang:hover{ transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.06); }
.nav .chip.lang:active{ transform:translateY(0); }
.nav .chip.lang:focus{ outline:none; box-shadow:0 0 0 3px var(--ring, rgba(14,163,90,.35)); }



/* === Language chip: micro-gradient border (premium), transparent fill === */
.nav .chip.lang{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  width:128px; height:34px; padding:0 12px;
  border:1px solid transparent;
  border-radius:9999px;
  background:
    linear-gradient(transparent, transparent) padding-box,
    linear-gradient(135deg, rgba(14,163,90,.55), rgba(13,187,106,.45), rgba(6,182,212,.45)) border-box;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  color:inherit; text-decoration:none; font-weight:800; letter-spacing:.2px;
  transition: transform .12s ease, box-shadow .2s ease, filter .2s ease;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.nav .chip.lang .flag{ width:16px; height:12px; display:inline-block; border-radius:2px; overflow:hidden; }
.nav .chip.lang .label{ display:inline-block; line-height:1; transform:translateY(0.3px); }
.nav .chip.lang:hover{ transform:translateY(-1px); box-shadow:0 4px 10px rgba(0,0,0,.08); filter:saturate(1.05); }
.nav .chip.lang:active{ transform:translateY(0); }
.nav .chip.lang:focus{ outline:none; box-shadow:0 0 0 3px rgba(14,163,90,.28); }


/* === PATCH v3: remove rogue square (burger) + no backgrounds for logo & BackToHome === */

/* Burger: fixed touch size, fully transparent */
.nav .burger,
.nav .burger:hover,
.nav .burger:active{
  width:44px; height:44px; flex:0 0 44px;
  display:inline-flex; align-items:center; justify-content:center;
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0;
}
.nav .burger:focus{ outline: none; box-shadow: 0 0 0 3px rgba(14,163,90,.28); }

/* Header/brand/logo: absolutely no backgrounds/shadows/borders */
.site-header, .nav, .brand, .brand-logo, .brand img{
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.site-header::before, .site-header::after,
.nav::before, .nav::after,
.brand::before, .brand::after{
  content: none !important;
}

/* BackToHome button: image only, no podlozhka */
#toTop, #toTop:hover, #toTop:active, #toTop:focus,
#toTop::before, #toTop::after{
  background: none !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#toTop span{ display:none !important; } /* hide arrow fallback if present */

/* Keep language chip sizing and flags intact (from previous patch) */
.nav .chip.lang{
  width:168px; height:40px; padding:0 16px; box-sizing:border-box;
}
.nav .chip.lang .flag{
  width:22px; height:22px; flex:0 0 22px; border-radius:50%; object-fit:contain;
}

/* Keep nav spacing sane */
.nav{ gap:12px; }
/* Language chip — normal text weight */
.nav .chip.lang{ 
  font-weight: 400 !important;   /* было жирным → делаем normal */
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.nav .chip.lang .label{
  font-weight: 400 !important;
}
/* Freeze layout inside the language chip: flag & text never shift */
.nav .chip.lang{
  justify-content: center;                 /* сама «пилюля» центрируется как и раньше */
}

.nav .chip.lang .flag{
  width:22px; height:22px; flex:0 0 22px;  /* фиксированный слот для флага */
  border-radius:50%; object-fit:contain; display:inline-block;
}

/* фиксированный слот для текста — одна ширина для обоих языков */
.nav .chip.lang .label{
  flex:0 0 92px;            /* можно 88–100px; это «замораживает» позицию текста */
  text-align:center;
  white-space:nowrap; 
  overflow:hidden; 
  text-overflow:ellipsis;
}
/* Fix: no clipping of descenders in the language chip */
.nav .chip.lang{
  /* не даём контейнеру резать текст по вертикали */
  overflow: visible !important;
  line-height: 1.15 !important;  /* вместо 1 — чуть больше воздуха */
}
.nav .chip.lang .label{
  /* перенос/обрезка управляются на самом тексте, а не на контейнере */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.15 !important;
  padding-bottom: 1px;            /* лёгкий подъём, чтобы 'g' гарантированно не касалась низа */
}

