/* ============================================================
   НАШЕ РУССКОЕ — современный B2B-дизайн
   ============================================================ */

:root{
  --bg:#ffffff;
  --bg-soft:#f5f7fb;
  --bg-light:#fafbfd;

  --text:#0b1220;
  --text-soft:#2a3342;
  --muted:#5b6473;
  --line:#e6eaf2;
  --line-strong:#d4dbe6;

  --brand:#3b6dff;
  --brand-2:#22d3ee;
  --brand-deep:#1a2cff;
  --brand-soft:#eaf0ff;
  --brand-glow:rgba(59,109,255,.35);

  --accent:#f97316;
  --accent-soft:#fff3e6;

  --success:#10b981;
  --danger:#ef4444;

  --radius:18px;
  --radius-sm:12px;
  --radius-lg:24px;

  --shadow-sm:0 2px 8px rgba(11,18,32,.06);
  --shadow:0 10px 30px rgba(11,18,32,.08), 0 2px 6px rgba(11,18,32,.04);
  --shadow-lg:0 30px 60px rgba(11,18,32,.14), 0 8px 20px rgba(11,18,32,.06);
  --shadow-glow:0 20px 60px -20px var(--brand-glow);

  --font:'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:16px/1.55 var(--font);
  color:var(--text);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .15s ease, opacity .15s ease}
button{font-family:inherit}

h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;color:var(--text)}
h1{font-size:clamp(32px,5vw,64px);font-weight:800}
h2{font-size:clamp(24px,3vw,40px);font-weight:800}
h3{font-size:20px;font-weight:700}
p{margin:0 0 1em;color:var(--muted)}
.muted{color:var(--muted)}
.center{text-align:center}

.container{max-width:1240px;margin:0 auto;padding:0 24px}

/* ============================ HEADER ============================ */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.75);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(11,18,32,.06);
}
.nav{
  height:76px;
  display:flex;align-items:center;gap:36px;
}
.logo{
  display:flex;align-items:center;gap:12px;
  font-weight:800;letter-spacing:-.01em;
}
.logo-mark{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:12px;
  background:linear-gradient(135deg, var(--brand) 0%, var(--brand-2) 100%);
  color:#fff;font-size:16px;font-weight:800;
  box-shadow:0 8px 20px -6px var(--brand-glow), inset 0 0 0 1px rgba(255,255,255,.15);
}
.logo-text{
  font-size:11px;line-height:1.15;color:var(--muted);
  text-transform:uppercase;letter-spacing:.1em;font-weight:700;
}
.logo-text b{color:var(--text);font-size:14px;letter-spacing:-.01em}

.nav nav{
  display:flex;gap:28px;font-size:15px;font-weight:600;
  margin-left:auto;color:var(--text-soft);
}
.nav nav a{position:relative}
.nav nav a:hover{color:var(--brand)}
.nav nav a::after{
  content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;
  background:var(--brand);border-radius:2px;transition:width .2s ease;
}
.nav nav a:hover::after{width:100%}

.nav-actions{display:flex;gap:10px;margin-left:auto}

/* ============================ BUTTONS ============================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:var(--radius-sm);
  font:700 15px/1 var(--font);
  cursor:pointer;border:1px solid transparent;
  transition:transform .12s ease, background .2s ease, box-shadow .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px)}
.btn-primary{
  background:linear-gradient(135deg,var(--brand) 0%, #6a8bff 100%);
  color:#fff;
  box-shadow:0 8px 22px -8px var(--brand-glow), inset 0 0 0 1px rgba(255,255,255,.15);
}
.btn-primary:hover{
  background:linear-gradient(135deg,var(--brand-deep) 0%, var(--brand) 100%);
  box-shadow:0 14px 30px -8px var(--brand-glow), inset 0 0 0 1px rgba(255,255,255,.2);
  transform:translateY(-1px);
}
.btn-accent{
  background:linear-gradient(135deg,var(--accent) 0%, #ffb066 100%);
  color:#fff;
  box-shadow:0 8px 22px -8px rgba(249,115,22,.5), inset 0 0 0 1px rgba(255,255,255,.15);
}
.btn-accent:hover{transform:translateY(-1px);box-shadow:0 14px 30px -8px rgba(249,115,22,.55)}
.btn-ghost{
  background:transparent;color:var(--text);border-color:var(--line-strong);
}
.btn-ghost:hover{background:var(--bg-soft);border-color:var(--brand);color:var(--brand)}
.btn-light{
  background:#fff;color:var(--text);border-color:rgba(255,255,255,.4);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
}
.btn-light:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,0,0,.25)}
.btn-lg{padding:15px 26px;font-size:16px;border-radius:14px}
.btn-block{width:100%}
.btn-icon{width:42px;padding:0;height:42px;border-radius:12px}

/* ============================ HERO ============================ */
.hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(900px 500px at 15% 10%, rgba(59,109,255,.55), transparent 60%),
    radial-gradient(700px 500px at 90% 20%, rgba(34,211,238,.35), transparent 55%),
    radial-gradient(900px 600px at 50% 100%, rgba(26,44,255,.4), transparent 60%),
    linear-gradient(135deg, #0a1024 0%, #111838 55%, #0a1024 100%);
  padding:90px 0 110px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 50% 40%, black 0%, transparent 75%);
  -webkit-mask-image:radial-gradient(circle at 50% 40%, black 0%, transparent 75%);
  pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;
}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.14em;
  color:#bcd0ff;
  background:rgba(59,109,255,.18);
  border:1px solid rgba(120,160,255,.25);
  padding:7px 14px;border-radius:999px;
  margin-bottom:24px;text-transform:uppercase;
  backdrop-filter:blur(8px);
}
.eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:#22d3ee;box-shadow:0 0 12px #22d3ee;
}
.hero h1{
  color:#fff;
  font-size:clamp(36px,5.2vw,68px);
  margin-bottom:20px;
  letter-spacing:-.03em;
}
.hero h1 .grad{
  background:linear-gradient(135deg, #7ea1ff 0%, #22d3ee 100%);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
}
.hero p{
  font-size:clamp(16px,1.25vw,20px);
  color:#b7c0d6;
  max-width:640px;
}

/* Search на тёмном фоне */
.search{
  display:flex;align-items:center;gap:0;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:16px;
  padding:6px;
  backdrop-filter:blur(14px);
  box-shadow:0 20px 60px -20px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.08);
  max-width:660px;margin:32px 0 18px;
  transition:box-shadow .2s ease, border-color .2s ease;
}
.search:focus-within{
  border-color:rgba(126,161,255,.5);
  box-shadow:0 20px 60px -20px var(--brand-glow), inset 0 1px 0 rgba(255,255,255,.12);
}
.search input{
  flex:1;border:0;outline:0;background:transparent;
  padding:16px 18px;font:400 17px var(--font);
  color:#fff;min-width:0;
}
.search input::placeholder{color:rgba(255,255,255,.55)}
.search button{
  border:0;cursor:pointer;
  padding:0 26px;height:52px;border-radius:12px;
  background:linear-gradient(135deg,var(--brand) 0%, #6a8bff 100%);
  color:#fff;font:700 16px var(--font);
  box-shadow:0 8px 22px -8px var(--brand-glow);
  transition:transform .12s ease, box-shadow .2s ease;
}
.search button:hover{transform:translateY(-1px);box-shadow:0 14px 30px -8px var(--brand-glow)}
.search-lg{margin-top:36px}

.quick{font-size:14px;color:#8f9ab8}
.quick a{
  color:#bcd0ff;margin-left:8px;
  border-bottom:1px dashed rgba(188,208,255,.35);
  padding-bottom:1px;
}
.quick a:hover{color:#fff;border-bottom-color:#fff}

/* Стеклянная карточка со счётчиками */
.hero-card{
  position:relative;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-lg);
  padding:30px;
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  box-shadow:0 30px 60px -20px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.1);
}
.hero-card::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg, rgba(126,161,255,.35), transparent 40%, rgba(34,211,238,.25));
  mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude;-webkit-mask-composite:xor;
  padding:1px;
}
.hero-card-title{
  font-size:12px;font-weight:800;color:#bcd0ff;
  text-transform:uppercase;letter-spacing:.14em;margin-bottom:20px;
  display:flex;align-items:center;gap:8px;
}
.hero-card-title::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--success);box-shadow:0 0 10px var(--success);
}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.stats>div{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:16px 18px;
  transition:background .2s ease, transform .2s ease;
}
.stats>div:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}
.stats b{
  display:block;font-size:30px;font-weight:800;color:#fff;
  letter-spacing:-.02em;line-height:1;
}
.stats span{display:block;margin-top:6px;font-size:13px;color:#a8b3cd}
.hero-hint{
  font-size:13px;color:#8f9ab8;text-align:center;margin:14px 0 0;
  display:flex;align-items:center;justify-content:center;gap:6px;
}
.hero-hint::before{content:"✓";color:var(--success);font-weight:800}

/* ============================ SECTIONS ============================ */
.section{padding:88px 0}
.section.light{background:var(--bg-soft)}
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:16px;
  margin-bottom:40px;
}
.section-head h2{margin-bottom:0}
.link-more{
  color:var(--brand);font-weight:700;font-size:15px;
  display:inline-flex;align-items:center;gap:6px;
  transition:gap .15s ease;
}
.link-more:hover{gap:10px}

/* ============================ CTA STRIP ============================ */
.cta-strip{
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(249,115,22,.25), transparent 60%),
    linear-gradient(135deg, #0b1220 0%, #171c38 100%);
  color:#fff;padding:52px 0;
  position:relative;overflow:hidden;
}
.cta-strip::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg, transparent, black 30%, black 70%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, black 30%, black 70%, transparent);
  pointer-events:none;
}
.cta-strip-inner{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:32px;
}
.cta-strip h2{color:#fff;margin:0 0 6px;font-size:clamp(22px,2.4vw,32px)}
.cta-strip p{color:#a8b3cd;margin:0;max-width:560px}

/* ============================ GRIDS ============================ */
.grid{display:grid;gap:18px}

.grid-cats{grid-template-columns:repeat(4,1fr)}
.cat-card{
  position:relative;
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:130px;padding:22px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(135deg, transparent 40%, rgba(59,109,255,.06));
  opacity:0;transition:opacity .25s ease;
}
.cat-card:hover{
  transform:translateY(-3px);
  border-color:rgba(59,109,255,.35);
  box-shadow:0 20px 40px -20px var(--brand-glow), var(--shadow-sm);
}
.cat-card:hover::before{opacity:1}
.cat-name{
  position:relative;font-size:17px;font-weight:800;color:var(--text);
  letter-spacing:-.01em;
}
.cat-count{
  position:relative;font-size:13px;color:var(--muted);
  display:inline-flex;align-items:center;gap:6px;margin-top:12px;
}
.cat-count::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--brand);box-shadow:0 0 8px var(--brand-glow);
}

/* ============================ COMPANY CARDS ============================ */
.grid-companies{grid-template-columns:repeat(3,1fr)}
.company-card{
  display:flex;gap:16px;align-items:center;
  padding:20px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.company-card:hover{
  transform:translateY(-3px);
  border-color:rgba(59,109,255,.35);
  box-shadow:0 20px 40px -20px var(--brand-glow), var(--shadow-sm);
}
.company-logo{
  width:56px;height:56px;border-radius:14px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--brand-soft), #e6f2ff);
  color:var(--brand);font-weight:800;font-size:22px;
  box-shadow:inset 0 0 0 1px rgba(59,109,255,.12);
}
.company-name{font-weight:800;font-size:16px;margin-bottom:3px;letter-spacing:-.01em}
.company-meta{font-size:13px;color:var(--muted)}

/* ============================ FEATURES ============================ */
.columns-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature{
  padding:32px 28px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;overflow:hidden;
}
.feature:hover{
  transform:translateY(-3px);border-color:rgba(59,109,255,.3);
  box-shadow:var(--shadow);
}
.feature-ico{
  width:56px;height:56px;border-radius:16px;margin-bottom:18px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--brand-soft), #f0f6ff);
  font-size:26px;
  box-shadow:inset 0 0 0 1px rgba(59,109,255,.1);
}
.feature h3{font-size:19px;margin-bottom:8px}

/* ============================ STEPS ============================ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.step{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
}
.step:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.step span{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:14px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;font-weight:800;font-size:16px;margin-bottom:16px;
  box-shadow:0 10px 24px -10px var(--brand-glow);
}
.step b{display:block;font-size:17px;margin-bottom:6px;letter-spacing:-.01em}

/* ============================ FOOTER ============================ */
.footer{
  background:#0b1220;color:#a8b3cd;padding:64px 0 40px;
  position:relative;overflow:hidden;
}
.footer::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(700px 300px at 10% 0%, rgba(59,109,255,.18), transparent 60%);
  pointer-events:none;
}
.footer .logo{color:#fff;margin-bottom:12px}
.footer .logo-text b{color:#fff}
.footer-inner{
  position:relative;
  display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:start;
}
.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.footer-cols b{
  display:block;color:#fff;margin-bottom:14px;font-size:14px;
  text-transform:uppercase;letter-spacing:.08em;
}
.footer-cols a{
  display:block;padding:5px 0;color:#8f9ab8;font-size:14px;
  transition:color .15s ease, transform .15s ease;
}
.footer-cols a:hover{color:#fff;transform:translateX(3px)}

/* ============================ CRUMBS / CATEGORIES ============================ */
.crumbs{font-size:14px;color:var(--muted);margin-bottom:16px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--brand)}

.cat-tree{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
.cat-block{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-block:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(59,109,255,.25)}
.cat-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.cat-block-title{font-size:18px;font-weight:800;letter-spacing:-.01em}
.cat-block-title:hover{color:var(--brand)}
.cat-block-count{
  font-size:12px;font-weight:800;color:var(--brand);
  background:var(--brand-soft);padding:4px 10px;border-radius:999px;
}
.cat-children{list-style:none;margin:0;padding:0}
.cat-children li{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 0;border-top:1px dashed var(--line);font-size:15px;
}
.cat-children li:first-child{border-top:0}
.cat-children a{color:var(--muted)}
.cat-children a:hover{color:var(--brand)}
.pill{
  font-size:11px;font-weight:700;color:var(--muted);
  background:var(--bg-soft);padding:2px 8px;border-radius:999px;
}

/* ============================ MISC ============================ */
.empty{
  padding:48px 32px;text-align:center;color:var(--muted);
  background:var(--bg-soft);border:1px dashed var(--line-strong);
  border-radius:var(--radius);
}

/* ============================ RESPONSIVE ============================ */
@media (max-width:1100px){
  .grid-cats{grid-template-columns:repeat(3,1fr)}
  .grid-companies{grid-template-columns:1fr 1fr}
  .cat-tree{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .hero{padding:64px 0 80px}
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .columns-3,.steps{grid-template-columns:1fr}
  .cta-strip-inner{flex-direction:column;align-items:flex-start}
  .footer-inner{grid-template-columns:1fr;gap:40px}
  .footer-cols{grid-template-columns:1fr 1fr;gap:32px}
  .nav nav{display:none}
}
@media (max-width:640px){
  .container{padding:0 18px}
  .section{padding:56px 0}
  .grid-cats,.grid-companies,.cat-tree{grid-template-columns:1fr}
  .search{flex-direction:column;padding:8px;gap:8px}
  .search input{padding:12px 14px}
  .search button{height:48px;width:100%}
  .stats b{font-size:24px}
  .footer-cols{grid-template-columns:1fr}
}
/* ============================ COMPANY PAGE ============================ */
.company-hero{
  background:
    radial-gradient(900px 400px at 15% 10%, rgba(59,109,255,.18), transparent 60%),
    radial-gradient(700px 400px at 90% 30%, rgba(34,211,238,.12), transparent 55%),
    var(--bg-soft);
  padding:40px 0 56px;
  border-bottom:1px solid var(--line);
}
.company-hero-inner{
  display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:center;
  margin-top:22px;
}
.company-cover{
  width:180px;height:180px;border-radius:24px;overflow:hidden;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 20px 50px -20px var(--brand-glow), inset 0 0 0 1px rgba(255,255,255,.15);
}
.company-cover-logo{
  color:#fff;font-weight:800;font-size:84px;line-height:1;
  letter-spacing:-.04em;
}
.company-hero-info h1{margin:14px 0 8px}
.company-short{margin:0 0 8px;font-size:15px}
.company-location{
  color:var(--muted);font-size:15px;
  display:flex;flex-wrap:wrap;gap:6px 12px;margin-bottom:20px;
}
.company-badges{display:flex;gap:8px;flex-wrap:wrap}
.badge{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;
  letter-spacing:.02em;text-transform:uppercase;
}
.badge-type{background:var(--brand-soft);color:var(--brand)}
.badge-verified{background:#eaf7ec;color:#1f7a3a}
.badge-soft{background:var(--bg-soft);color:var(--muted);text-transform:none;font-weight:600}

.company-actions{display:flex;flex-wrap:wrap;gap:10px}

/* Layout карточки компании */
.company-layout{
  display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start;
}
.company-main{display:flex;flex-direction:column;gap:22px}
.company-side{display:flex;flex-direction:column;gap:22px;position:sticky;top:100px}

.panel-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;
}
.panel-card h2{font-size:22px;margin-bottom:16px}
.panel-card h3{font-size:16px;margin-bottom:14px}

.company-description{color:var(--text-soft);font-size:16px;line-height:1.7}

/* Товары */
.product-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
}
.product-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.product-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(59,109,255,.3)}
.product-thumb{
  aspect-ratio:4/3;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg, var(--brand-soft), #f0f6ff);
  color:var(--brand);font-weight:800;font-size:48px;
}
.product-body{padding:14px 16px}
.product-name{font-weight:700;font-size:15px;margin-bottom:6px;line-height:1.3}
.product-meta{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px}
.product-price{color:var(--text);font-weight:700}

/* Услуги */
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.service-card{
  padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:rgba(59,109,255,.3)}
.service-name{font-weight:700;font-size:15px;margin-bottom:6px}
.service-desc{color:var(--muted);font-size:13px;margin-bottom:10px;line-height:1.5}
.service-meta{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* Чипы категорий */
.chip-list{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  display:inline-block;padding:7px 14px;border-radius:999px;
  background:var(--bg-soft);color:var(--text-soft);
  font-size:13px;font-weight:600;
  transition:background .15s,color .15s;
}
.chip:hover{background:var(--brand-soft);color:var(--brand)}

/* Контакты */
.contacts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.contacts li{display:flex;flex-direction:column;gap:2px;font-size:15px}
.contacts li>span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.contacts li a{color:var(--text);font-weight:600}
.contacts li a:hover{color:var(--brand)}

/* Адаптив */
@media (max-width:960px){
  .company-hero-inner{grid-template-columns:120px 1fr;gap:20px}
  .company-cover{width:120px;height:120px;border-radius:20px}
  .company-cover-logo{font-size:56px}
  .company-layout{grid-template-columns:1fr}
  .company-side{position:static}
  .product-grid{grid-template-columns:1fr 1fr}
  .service-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .company-hero-inner{grid-template-columns:1fr;gap:16px;text-align:left}
  .company-cover{width:96px;height:96px}
  .company-cover-logo{font-size:44px}
  .product-grid{grid-template-columns:1fr}
  .company-actions .btn{width:100%}
}