/* Business Consultant — clean adaptive template */

/* ===== Theme ===== */
:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --accent:#2563eb;
  --accent-600:#1d4ed8;
  --link:#111827;
  --border:#e5e7eb;
  --shadow:0 8px 20px rgba(2,6,23,.06);

  /* бренды */
  --wa:#25D366;
  --tg:#229ED9;
}

/* ===== Base ===== */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 16px}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:1000;
  background:#fff; border-bottom:1px solid var(--border);
  backdrop-filter:saturate(180%) blur(6px);
}

/* full-bleed контейнер только в шапке */
.site-header .container{
  max-width:none;
  width:100%;
  padding-left:clamp(12px, 2vw, 24px);
  padding-right:clamp(12px, 2vw, 24px);
}

/* сетка шапки — не даём колонке с логотипом схлопываться */
.header-inner{
  display:grid;
  /* колонки: логотип / меню / соц.иконки */
  grid-template-columns: minmax(140px,auto) 1fr auto;
  grid-template-areas: "logo nav social";
  align-items:center; gap:24px; padding:14px 0;
}

/* логотип */
.logo{ grid-area:logo; justify-self:start; min-width:140px; }
.logo img{
  /* логотип резиновый по ширине */
  width: clamp(160px, 22vw, 360px) !important;
  height: auto !important;
  display:block;
  object-fit:contain;
  image-rendering:-webkit-optimize-contrast;
}

/* ===== Навигация ===== */
.main-nav{
  grid-area:nav;
  justify-self:stretch;
  width:100%;
  background:linear-gradient(180deg,#f7f8fc 0%, #ffffff 100%);
  border:1px solid var(--border);
  border-radius:14px;
  padding:8px clamp(12px, 2vw, 24px);
  box-shadow:0 2px 8px rgba(15,23,42,.04);
}
.main-nav ul{
  list-style:none;margin:0;padding:0;
  display:flex; flex-wrap:nowrap;
  justify-content:space-between;
  align-items:center; gap:0;
}
.main-nav li{
  margin:0;padding:0;
  background:transparent !important;border:0 !important;box-shadow:none !important
}
/* глушим возможные табличные обёртки из старых шаблонов */
.main-nav table,.main-nav tbody,.main-nav tr,.main-nav td{all:unset}

.main-nav a,
.main-nav .root-item,
.main-nav .root-item-selected{
  position:relative;
  display:inline-block;
  padding:12px 8px;
  border-radius:8px;
  background:transparent !important;
  border:0 !important;
  color:var(--link) !important;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  transition:color .2s, background .2s;
}
.main-nav a:hover,
.main-nav .root-item:hover{ background:#f1f5f9; color:var(--link) !important; }

.main-nav .selected > a,
.main-nav .item-selected > a,
.main-nav .root-item-selected{ color:var(--link) !important; }

.main-nav a::after,
.main-nav .root-item::after{
  content:"";
  position:absolute; left:8px; right:8px; bottom:6px; height:2px;
  background:var(--accent); opacity:0; transform:scaleX(.2); transform-origin:left;
  transition:opacity .2s, transform .2s;
}
.main-nav a:hover::after,
.main-nav .root-item:hover::after{opacity:.5; transform:scaleX(1)}
.main-nav .selected > a::after,
.main-nav .item-selected > a::after,
.main-nav .root-item-selected::after{opacity:1; transform:scaleX(1)}

/* ===== Социальные иконки ===== */
.social{
  grid-area:social;
  display:flex; align-items:center; gap:10px;
  justify-self:end;
}
.soc-link{
  width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  box-shadow:var(--shadow);
  transition:transform .06s ease, background .2s ease, border-color .2s ease;
}
.soc-link i{ font-size:18px; line-height:1; }
.soc-link.wa i{ color:var(--wa); }
.soc-link.tg i{ color:var(--tg); }
.soc-link:hover{ background:#f8fafc; border-color:#dbe2ea; }
.soc-link:active{ transform:translateY(1px); }

/* ===== Burger (mobile) — SVG иконки ===== */
.nav-toggle{
  grid-area:burger;
  display:none;             /* включаем в media */
  width:42px;height:42px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  align-items:center; justify-content:center;
}
.nav-toggle .icon{
  width:22px; height:22px;
  stroke:#111827; stroke-width:2; stroke-linecap:round;
  fill:none; display:block;
}
.nav-toggle .icon-close{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-bars{ display:none; }
.nav-toggle[aria-expanded="true"] .icon-close{ display:block; }

/* backdrop */
.nav-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(2px)}
.no-scroll{overflow:hidden}

/* ===== Footer ===== */
.site-footer{border-top:1px solid var(--border);margin-top:40px;padding:24px 0;color:var(--muted);font-size:14px}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* ===== Common blocks ===== */
.hero{padding:40px 0 10px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}

/* заголовок: более «резиновый» на узких экранах */
.hero h1{
  font-size:clamp(22px,3.6vw,40px);
  line-height:1.2;
  margin:0 0 10px;
  overflow-wrap:anywhere;
  hyphens:auto;
}
.lead{color:var(--muted);margin:0 0 16px}
.btn{display:inline-block;padding:12px 16px;border-radius:10px;border:1px solid var(--border);text-decoration:none;color:#fff;background:var(--accent)}
.section{padding:26px 0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{border:1px solid var(--border);border-radius:12px;padding:16px}
.card h3{margin:0 0 8px;font-size:18px}
.contact{display:grid;gap:8px;margin-top:10px}
input,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font:inherit}
button{padding:12px 16px;border:1px solid var(--border);border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}

/* ===== Responsive ===== */
@media (max-width:980px){
  /* сетка: логотип / соц.иконки / бургер */
  .header-inner{
    grid-template-columns:auto 1fr auto;
    grid-template-areas:"logo social burger";
  }
  .nav-toggle{display:inline-flex}

  /* мобильная панель меню */
  .main-nav{
    position:fixed; left:0; right:0; top:56px; display:none;
    background:#fff; border-bottom:1px solid var(--border); box-shadow:var(--shadow);
    padding:0; border-radius:0;
    z-index:1000;
  }
  .main-nav.open{display:block}
  .main-nav ul{
    flex-direction:column; align-items:stretch;
    justify-content:flex-start; gap:0;
  }
  .main-nav a{padding:14px 18px; border-radius:0}
  .main-nav a::after{left:18px; right:18px; bottom:8px}
  .nav-backdrop[hidden]{display:none}
}
@media (max-width:720px){
  .cards{grid-template-columns:1fr 1fr}
  .hero{grid-template-columns:1fr}
}
@media (max-width:560px){
  /* логотип компактнее на узких экранах */
  .logo img{ width: clamp(140px, 36vw, 220px) !important; }
}
@media (max-width:520px){
  .cards{grid-template-columns:1fr}
}

/* Чуть ужмём меню на пределе ширины */
@media (max-width:1200px){
  .main-nav a{ font-size:14px; }
}


.photo-rounded{
  border-radius:10px;
  display:block;         /* убирает «пробел» снизу */
}