/* ===== PearCMS — светлая тёплая тема (бумага + груша) ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  /* тёплая бумага вместо космоса */
  --space:#efe9d4;
  --space-1:#fdfaf0;
  --space-2:#f6f1e0;
  --space-3:#ece5cd;
  --line:#ddd3b4;
  --line-2:#c6bb94;

  --fg:#1c1d17;
  --fg-dim:#4a4d40;
  --fg-mute:#837e69;

  /* акценты */
  --pear:#e6d24a;
  --pear-deep:#a8861c;
  --pear-soft:#f4e88a;
  --leaf:#5a8a2e;
  --leaf-deep:#436b1f;
  --sky:#2f7fb0;
  --accent:#7a6a10;

  --radius:16px;
  --radius-sm:11px;
  --maxw:1240px;
  --shadow-md:0 14px 34px -16px rgba(90,80,30,.20), 0 4px 12px -6px rgba(90,80,30,.12);
  --shadow-lg:0 30px 70px -22px rgba(90,80,30,.26);
  --glow-pear:0 0 0 1px rgba(168,134,28,.4), 0 0 26px -8px rgba(230,210,74,.55);

  --f-sans:"Inter Tight", system-ui, sans-serif;
  --f-display:"Space Grotesk", system-ui, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, monospace;
}
*{box-sizing:border-box}
html{ scroll-behavior:smooth }
html,body{margin:0;padding:0}
body{
  background:var(--space); color:var(--fg);
  font-family:var(--f-sans); -webkit-font-smoothing:antialiased;
  line-height:1.55; overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
img{max-width:100%;display:block}
::selection{background:var(--pear); color:var(--space)}
.container{ width:min(var(--maxw), calc(100% - 40px)); margin:0 auto; position:relative; z-index:1 }

/* ===== Космический фон ===== */
.starfield{
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(86,180,230,.10), transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 8%, rgba(230,210,74,.08), transparent 55%);
}
.stars{ position:absolute; inset:0; }
.stars::before, .stars::after{
  content:""; position:absolute; inset:-50%;
  background-image:
    radial-gradient(1px 1px at 20% 30%, rgba(255,255,255,.8), transparent),
    radial-gradient(1px 1px at 60% 70%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.5px 1.5px at 80% 20%, rgba(255,255,255,.9), transparent),
    radial-gradient(1px 1px at 40% 80%, rgba(255,255,255,.5), transparent),
    radial-gradient(1px 1px at 90% 60%, rgba(255,255,255,.7), transparent),
    radial-gradient(1px 1px at 10% 50%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.5px 1.5px at 33% 15%, rgba(244,232,138,.8), transparent),
    radial-gradient(1px 1px at 70% 45%, rgba(255,255,255,.5), transparent);
  background-size:280px 280px;
  animation:drift 90s linear infinite;
}
.stars::after{ background-size:200px 200px; opacity:.5; animation-duration:140s; animation-direction:reverse }
@keyframes drift{ from{ transform:translateY(0) } to{ transform:translateY(280px) } }
@media (prefers-reduced-motion: reduce){ .stars::before,.stars::after{ animation:none } }

/* ===== Кнопки ===== */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:13px 22px; border-radius:11px; font-weight:600; font-size:14px; white-space:nowrap;
  border:1px solid transparent; transition:transform .15s, background .2s, color .2s, border-color .2s, box-shadow .2s;
}
.btn-primary{ background:var(--pear); color:var(--space) }
.btn-primary:hover{ background:var(--pear-soft); transform:translateY(-1px); box-shadow:var(--glow-pear) }
.btn-ghost{ border-color:var(--line-2); color:var(--fg) }
.btn-ghost:hover{ border-color:var(--pear); color:var(--pear) }
.btn-lg{ padding:16px 28px; font-size:15px }
.arr{ transition:transform .15s }
.btn:hover .arr{ transform:translateX(3px) }

/* ===== Topbar ===== */
.topbar{
  border-bottom:1px solid var(--line); font-size:13px; color:var(--fg-dim);
  background:rgba(12,14,20,.6);
}
.topbar-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 0 }
.topbar .tleft{ display:flex; align-items:center; gap:18px; flex-wrap:wrap }
.topbar .ti{ display:inline-flex; align-items:center; gap:7px }
.topbar .ti svg{ color:var(--pear); flex-shrink:0 }
.topbar a:hover{ color:var(--fg) }
@media (max-width:860px){ .topbar .tleft .addr{ display:none } }
/* На узких экранах скрываем подписи у contact-ссылок, оставляем иконки. */
@media (max-width:720px){
    .topbar .tleft .ti > span{ display:none }
    .topbar .tleft .ti{ gap:0; padding:6px; border-radius:8px }
    .topbar .tleft .ti:hover{ background:rgba(168,134,28,.12) }
    .topbar .tleft{ gap:6px }
    .brand .bt span{ display:none }
}

/* ===== Header / Nav ===== */
header.site{
  position:sticky; top:0; z-index:50;
  background:rgba(12,14,20,.82); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.nav{ display:flex; align-items:center; gap:22px; padding:14px 0 }
.brand{ display:flex; align-items:center; gap:12px; flex-shrink:0 }
.brand .mark{
  width:46px; height:46px; border-radius:13px; flex-shrink:0;
  background:radial-gradient(circle at 35% 30%, var(--space-3), var(--space-1));
  border:1px solid var(--line-2); display:grid; place-items:center; position:relative; overflow:hidden;
}
.brand .mark svg{ color:var(--pear) }
.brand .bt{ line-height:1.1 }
.brand .bt b{ font-family:var(--f-display); font-weight:600; font-size:18px; letter-spacing:.01em; display:block }
.brand .bt span{ font-family:var(--f-mono); font-size:10px; color:var(--fg-mute); letter-spacing:.18em; text-transform:uppercase }
.brand-logo{ display:flex; align-items:center; background:#fff; padding:8px 13px; border-radius:12px; border:1px solid var(--line-2); transition:box-shadow .2s }
.brand-logo:hover{ box-shadow:var(--glow-pear) }
.brand-logo img{ height:30px; width:auto; display:block }
@media (max-width:600px){ .brand-logo img{ height:26px } .brand-logo{ padding:7px 11px } }
footer.site .brand-logo img{ height:28px }
.mobile .brand-logo:hover{ box-shadow:none }

.menu{ display:flex; align-items:center; gap:4px; margin-left:8px }
.menu > li{ position:relative; list-style:none }
.menu > li > a{
  display:flex; align-items:center; gap:6px; padding:10px 14px; border-radius:9px;
  font-size:14.5px; font-weight:500; color:var(--fg-dim); transition:color .15s, background .15s;
}
.menu > li > a:hover, .menu > li.open > a{ color:var(--fg); background:var(--space-2) }
.menu .caret{ transition:transform .2s }
.menu > li.open .caret{ transform:rotate(180deg) }
.dropdown{
  position:absolute; top:calc(100% + 8px); left:0; min-width:280px;
  background:var(--space-1); border:1px solid var(--line-2); border-radius:14px;
  box-shadow:var(--shadow-lg); padding:8px; list-style:none; margin:0;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:all .18s; z-index:60;
}
.menu > li.open .dropdown{ opacity:1; visibility:visible; transform:none }
.dropdown li a{
  display:flex; align-items:center; gap:11px; padding:11px 13px; border-radius:9px;
  font-size:14px; color:var(--fg-dim); transition:background .15s, color .15s;
}
.dropdown li a:hover{ background:var(--space-2); color:var(--fg) }
.dropdown li a .di{ width:30px; height:30px; border-radius:8px; background:var(--space-3); border:1px solid var(--line); display:grid; place-items:center; color:var(--pear); flex-shrink:0 }

.nav-actions{ margin-left:auto; display:flex; align-items:center; gap:12px; flex-shrink:0 }
.nav-phone{ font-family:var(--f-display); font-weight:600; font-size:16px; white-space:nowrap }
.nav-phone:hover{ color:var(--pear) }

.burger{ display:none; width:44px; height:44px; border-radius:11px; border:1px solid var(--line-2); align-items:center; justify-content:center }
@media (max-width:1080px){
  .menu, .nav-phone{ display:none }
  .burger{ display:inline-flex }
}

/* ===== Mobile menu ===== */
.mobile{
  position:fixed; inset:0 0 0 auto; width:min(380px,86vw); z-index:80;
  background:var(--space-1); border-left:1px solid var(--line-2);
  transform:translateX(100%); transition:transform .3s ease; overflow-y:auto; padding:20px;
}
body.menu-open .mobile{ transform:none }
.mobile-overlay{ position:fixed; inset:0; z-index:79; background:rgba(0,0,0,.5); opacity:0; visibility:hidden; transition:.3s }
body.menu-open .mobile-overlay{ opacity:1; visibility:visible }
.mobile .mhead{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px }
.mobile .mclose{ width:40px; height:40px; border-radius:10px; border:1px solid var(--line-2); display:grid; place-items:center }
.macc{ border-bottom:1px solid var(--line) }
.macc > button, .macc > a{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  padding:15px 4px; font-size:16px; font-weight:500; color:var(--fg); text-align:left;
}
.macc .sub{ display:none; padding:0 0 12px 14px; flex-direction:column; gap:2px }
.macc.open .sub{ display:flex }
.macc.open > button .caret{ transform:rotate(180deg) }
.macc .sub a{ padding:9px 0; font-size:14px; color:var(--fg-dim) }
.macc .sub a:hover{ color:var(--pear) }
.mobile .btn{ width:100%; justify-content:center; margin-top:18px }

/* ===== HERO slider ===== */
.hero{ position:relative; padding:70px 0 76px; min-height:560px; display:flex; align-items:center }
.hero-orbit{
  position:absolute; right:-120px; top:50%; transform:translateY(-50%);
  width:620px; height:620px; pointer-events:none; opacity:.85;
}
@media (max-width:1080px){ .hero-orbit{ opacity:.3; right:-220px } }
.orbit-ring{ position:absolute; inset:0; border:1px solid var(--line-2); border-radius:50%; }
.orbit-ring.r2{ inset:80px; border-color:var(--line) }
.orbit-ring.r3{ inset:170px; border-style:dashed; border-color:rgba(230,210,74,.25) }
.planet{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:200px; height:200px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #2a3550, #0e1119 70%);
  box-shadow:inset -20px -20px 50px rgba(0,0,0,.6), 0 0 60px -10px rgba(86,180,230,.4);
  border:1px solid var(--line-2);
}
.sat{
  position:absolute; width:46px; height:46px; left:50%; top:50%; margin:-23px;
  color:var(--pear); filter:drop-shadow(0 0 10px rgba(230,210,74,.6));
  animation:orbit 18s linear infinite;
}
.sat.s2{ animation-duration:28s; animation-delay:-6s; color:var(--sky) }
@keyframes orbit{
  from{ transform:rotate(0deg) translateX(310px) rotate(0deg) }
  to{ transform:rotate(360deg) translateX(310px) rotate(-360deg) }
}
.sat.s2{ animation-name:orbit2 }
@keyframes orbit2{
  from{ transform:rotate(0deg) translateX(225px) rotate(0deg) }
  to{ transform:rotate(-360deg) translateX(225px) rotate(360deg) }
}
@media (prefers-reduced-motion: reduce){ .sat{ animation:none } }

.hero-slides{ position:relative; max-width:640px }
.slide{ display:none }
.slide.active{ display:block }
@media (prefers-reduced-motion: no-preference){
  .slide.active{ animation:slideUp .6s ease }
}
@keyframes slideUp{ from{ transform:translateY(16px) } to{ transform:none } }
.hero .eyebrow{
  font-family:var(--f-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--pear); display:inline-flex; align-items:center; gap:9px; margin-bottom:18px;
}
.hero .eyebrow::before{ content:""; width:26px; height:1px; background:var(--pear) }
.hero h1{
  font-family:var(--f-display); font-weight:600; font-size:clamp(36px,5.5vw,60px);
  line-height:1.05; letter-spacing:-.02em; margin:0 0 18px;
}
.hero h1 em{ font-style:normal; color:transparent; background:linear-gradient(110deg,var(--pear),var(--leaf)); -webkit-background-clip:text; background-clip:text }
.hero p.lead{ font-size:18px; color:var(--fg-dim); max-width:520px; margin:0 0 30px }
.hero-cta{ display:flex; gap:13px; flex-wrap:wrap }
.hero-dots{ display:flex; gap:9px; margin-top:40px }
.hero-dots button{ width:34px; height:5px; border-radius:3px; background:var(--line-2); transition:background .2s }
.hero-dots button.active{ background:var(--pear) }

/* ===== Section ===== */
section.block{ padding:90px 0; position:relative }
.sec-head{ max-width:720px; margin-bottom:48px }
.sec-head.center{ margin-inline:auto; text-align:center }
.eyebrow{ font-family:var(--f-mono); font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--fg-mute); display:inline-flex; align-items:center; gap:9px }
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--pear); box-shadow:0 0 10px var(--pear) }
.sec-head h2{ font-family:var(--f-display); font-weight:600; font-size:clamp(28px,4vw,44px); line-height:1.1; letter-spacing:-.02em; margin:14px 0 0 }
.sec-head p{ color:var(--fg-dim); font-size:16px; margin:14px 0 0 }

/* ===== About ===== */
.about-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center }
@media (max-width:920px){ .about-grid{ grid-template-columns:1fr; gap:32px } }
.about-text p{ color:var(--fg-dim); font-size:16px; margin:0 0 16px }
.about-text p strong{ color:var(--fg) }
.about-quote{
  border-left:2px solid var(--pear); padding:6px 0 6px 20px; margin:24px 0 0;
  font-family:var(--f-display); font-size:18px; font-style:italic; color:var(--fg);
}
.stats{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden }
.stat{ background:var(--space-1); padding:26px 24px }
.stat b{ font-family:var(--f-display); font-weight:600; font-size:38px; letter-spacing:-.02em; color:var(--pear); display:block; line-height:1 }
.stat span{ color:var(--fg-dim); font-size:14px; margin-top:8px; display:block }
.licenses{ display:flex; gap:12px; margin-top:24px; flex-wrap:wrap }
.lic{
  flex:1; min-width:130px; aspect-ratio:3/4; border-radius:11px;
  background:linear-gradient(160deg,var(--space-2),var(--space-1)); border:1px solid var(--line-2);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color:var(--fg-mute); font-size:12px; text-align:center; padding:14px; transition:border-color .2s, transform .2s;
}
.lic:hover{ border-color:var(--pear); transform:translateY(-3px) }
.lic svg{ color:var(--pear) }

/* ===== Services / cards grid ===== */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
@media (max-width:920px){ .cards{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .cards{ grid-template-columns:1fr } }
.scard{
  background:var(--space-1); border:1px solid var(--line); border-radius:var(--radius);
  padding:26px; transition:transform .2s, border-color .2s, box-shadow .2s; position:relative; overflow:hidden;
  display:flex; flex-direction:column;
}
.scard:hover{ transform:translateY(-4px); border-color:var(--line-2); box-shadow:var(--shadow-md) }
.scard .ic{
  width:52px; height:52px; border-radius:14px; margin-bottom:18px;
  background:var(--space-3); border:1px solid var(--line-2); display:grid; place-items:center; color:var(--pear);
}
.scard h3{ font-family:var(--f-display); font-weight:600; font-size:20px; margin:0 0 9px; letter-spacing:-.01em }
.scard p{ color:var(--fg-dim); font-size:14.5px; margin:0 0 18px; flex:1 }
.scard .more{ font-family:var(--f-mono); font-size:12px; color:var(--pear); display:inline-flex; align-items:center; gap:7px; letter-spacing:.04em }
.scard .tagline{ position:absolute; top:18px; right:18px; font-family:var(--f-mono); font-size:10px; color:var(--leaf); border:1px solid var(--leaf-deep); padding:3px 8px; border-radius:6px; text-transform:uppercase; letter-spacing:.08em }

/* ===== Solutions (industry) ===== */
.solutions{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden }
@media (max-width:920px){ .solutions{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .solutions{ grid-template-columns:1fr } }
.sol{
  background:var(--space-1); padding:30px 26px; transition:background .25s; position:relative; min-height:200px;
  display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
}
.sol:hover{ background:var(--space-2) }
.sol .sol-ic{ position:absolute; top:24px; left:26px; color:var(--pear); opacity:.9 }
.sol h4{ font-family:var(--f-display); font-weight:600; font-size:19px; margin:0 0 8px; letter-spacing:-.01em }
.sol p{ color:var(--fg-dim); font-size:13.5px; margin:0 }
.sol .glow{ position:absolute; right:-40px; top:-40px; width:150px; height:150px; border-radius:50%; background:radial-gradient(circle, rgba(230,210,74,.12), transparent 70%); opacity:0; transition:opacity .3s }
.sol:hover .glow{ opacity:1 }

/* ===== Tariffs ===== */
.tariff-tabs{ display:flex; gap:8px; margin-bottom:32px; flex-wrap:wrap }
.ttab{ padding:11px 20px; border-radius:11px; font-size:14px; font-weight:500; border:1px solid var(--line-2); color:var(--fg-dim); transition:all .15s }
.ttab:hover{ color:var(--fg) }
.ttab.active{ background:var(--pear); color:var(--space); border-color:var(--pear) }
.tariff-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
@media (max-width:920px){ .tariff-grid{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .tariff-grid{ grid-template-columns:1fr } }
.tariff-pane{ display:none }
.tariff-pane.active{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
@media (max-width:920px){ .tariff-pane.active{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .tariff-pane.active{ grid-template-columns:1fr } }
.plan{
  background:var(--space-1); border:1px solid var(--line); border-radius:var(--radius); padding:26px;
  display:flex; flex-direction:column; transition:border-color .2s, transform .2s; position:relative;
}
.plan:hover{ border-color:var(--line-2); transform:translateY(-3px) }
.plan.featured{ border-color:var(--pear); box-shadow:var(--glow-pear) }
.plan .pop{ position:absolute; top:-11px; left:26px; background:var(--pear); color:var(--space); font-size:11px; font-weight:700; padding:4px 11px; border-radius:7px; font-family:var(--f-mono); letter-spacing:.04em }
.plan .pname{ font-family:var(--f-display); font-weight:600; font-size:20px; margin:0 0 4px }
.plan .pdesc{ color:var(--fg-mute); font-size:13px; margin:0 0 18px }
.plan .pprice{ display:flex; align-items:baseline; gap:7px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--line) }
.plan .pprice b{ font-family:var(--f-display); font-weight:600; font-size:34px; letter-spacing:-.02em }
.plan .pprice span{ color:var(--fg-mute); font-size:13px; font-family:var(--f-mono) }
.plan ul{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:11px; flex:1 }
.plan ul li{ display:flex; gap:10px; font-size:14px; color:var(--fg-dim) }
.plan ul li svg{ color:var(--leaf); flex-shrink:0; margin-top:2px }
.plan .btn{ width:100%; justify-content:center }

/* ===== Features / coverage band ===== */
.band{ background:var(--space-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line) }
.feat-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:34px }
@media (max-width:920px){ .feat-grid{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .feat-grid{ grid-template-columns:1fr } }
.feat .fi{ width:48px; height:48px; border-radius:13px; background:var(--space-3); border:1px solid var(--line-2); display:grid; place-items:center; color:var(--pear); margin-bottom:16px }
.feat h4{ font-family:var(--f-display); font-weight:600; font-size:17px; margin:0 0 8px }
.feat p{ color:var(--fg-dim); font-size:14px; margin:0 }

/* ===== Hero editor mock (PearCMS) ===== */
.hero-grid2{ display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; width:100% }
@media (max-width:980px){ .hero-grid2{ grid-template-columns:1fr; gap:40px } }
@media (max-width:980px){ .hero-grid2 .hero-editor{ display:none } }
.hero-editor{
  background:var(--space-1); border:1px solid var(--line-2); border-radius:16px;
  box-shadow:var(--shadow-lg); overflow:hidden; width:100%; max-width:540px;
}
.he-bar{ display:flex; align-items:center; gap:7px; padding:11px 14px; border-bottom:1px solid var(--line); background:var(--space-2) }
.he-bar i{ width:10px; height:10px; border-radius:50%; background:var(--line-2) }
.he-bar .he-name{ margin-left:8px; font-family:var(--f-mono); font-size:11px; color:var(--fg-mute) }
.he-body{ display:grid; grid-template-columns:130px 1fr; min-height:280px }
.he-side{ border-right:1px solid var(--line); padding:12px 10px; display:flex; flex-direction:column; gap:3px }
.he-side .it{ display:flex; align-items:center; gap:8px; padding:7px 9px; border-radius:7px; font-size:12px; color:var(--fg-dim); font-family:var(--f-mono) }
.he-side .it.on{ background:var(--space-3); color:var(--fg) }
.he-side .it svg{ color:var(--pear); opacity:.85 }
.he-main{ padding:16px 18px }
.he-crumb{ font-family:var(--f-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-mute); margin-bottom:12px }
.he-blk{ background:var(--space-2); border:1px solid var(--line); border-radius:8px; padding:11px 13px; display:flex; align-items:center; gap:10px; margin-bottom:9px; font-size:12.5px; color:var(--fg-dim) }
.he-blk.hl{ border-color:var(--pear); box-shadow:0 0 0 3px rgba(230,210,74,.12) }
.he-blk .tg{ font-family:var(--f-mono); font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--pear); border:1px solid var(--line-2); padding:2px 6px; border-radius:4px }
.he-blk .bar{ height:6px; flex:1; background:var(--line); border-radius:3px; overflow:hidden }
.he-blk .bar i{ display:block; height:100%; width:62%; background:var(--pear) }
.he-add{ margin-top:12px; display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px dashed var(--line-2); border-radius:8px; font-family:var(--f-mono); font-size:11px; color:var(--fg-mute) }

/* ── Theme toggle (солнце / луна) ── */
.theme-toggle{
    width:42px; height:42px;
    border-radius:11px;
    border:1px solid var(--line-2);
    background:transparent;
    color:var(--fg-dim);
    display:inline-flex; align-items:center; justify-content:center;
    transition:border-color .15s, color .15s, background .15s;
    flex-shrink:0;
}
.theme-toggle:hover{ border-color:var(--pear-deep); color:var(--accent) }
.theme-toggle svg{ width:18px; height:18px }
/* компактный вариант в topbar — рядом с молнией/брендом */
.theme-toggle.theme-toggle--sm{
    width:26px; height:26px;
    border-radius:7px;
    margin-left:6px;
}
.theme-toggle.theme-toggle--sm svg{ width:13px; height:13px }

/* ── Lightbox (галерея картинок cmsmodules/cmsthemes/...) ──
 * Тёмная подложка независимо от темы сайта: фокус на картинке.
 */
.aurora-lb{
    position:fixed; inset:0; z-index:9999;
    background:rgba(8,10,15,.88);
    display:none;
    align-items:center; justify-content:center;
    backdrop-filter:blur(8px);
    padding:60px 70px;
    animation:aurora-lb-in .18s ease both;
}
.aurora-lb.is-open{ display:flex }
.aurora-lb__img{
    max-width:100%; max-height:100%;
    object-fit:contain;
    border-radius:10px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    user-select:none;
}
.aurora-lb__btn{
    position:absolute;
    width:46px; height:46px; border-radius:50%;
    background:rgba(255,255,255,.10);
    color:#fff;
    display:grid; place-items:center;
    border:1px solid rgba(255,255,255,.18);
    cursor:pointer;
    transition:background .15s, border-color .15s;
    z-index:2;
}
.aurora-lb__btn:hover{ background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.32) }
.aurora-lb__btn svg{ width:20px; height:20px }
.aurora-lb__close{ top:20px; right:20px }
.aurora-lb__prev{ left:20px; top:50%; transform:translateY(-50%) }
.aurora-lb__next{ right:20px; top:50%; transform:translateY(-50%) }
.aurora-lb__counter{
    position:absolute; bottom:22px; left:50%; transform:translateX(-50%);
    font-family:var(--f-mono); font-size:12px; color:rgba(255,255,255,.75);
    background:rgba(0,0,0,.45);
    padding:6px 14px; border-radius:999px;
    border:1px solid rgba(255,255,255,.10);
    letter-spacing:.08em;
}
@keyframes aurora-lb-in{ from{ opacity:0 } to{ opacity:1 } }
@media (max-width:640px){
    .aurora-lb{ padding:60px 12px }
    .aurora-lb__prev{ left:8px } .aurora-lb__next{ right:8px }
}
[data-lb-src]{ cursor:zoom-in }

/* ── Hero: ракета (правая колонка) ── */
.hero-rocket{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:420px;
}
.hero-rocket .hr-glow{
    position:absolute;
    left:50%; top:50%;
    width:520px; height:520px;
    transform:translate(-50%,-50%);
    background:radial-gradient(circle, rgba(168,134,28,.20), rgba(168,134,28,.05) 40%, transparent 70%);
    border-radius:50%;
    filter:blur(6px);
    pointer-events:none;
    z-index:0;
    animation:hr-pulse 6s ease-in-out infinite;
}
.hero-rocket .hr-glow.hr-glow-2{
    width:320px; height:320px;
    background:radial-gradient(circle, rgba(67,107,31,.18), transparent 70%);
    animation-duration:9s;
    animation-direction:alternate;
}
.hero-rocket .hr-img{
    position:relative;
    z-index:1;
    width:100%;
    max-width:460px;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 30px 50px rgba(90,80,30,.25)) drop-shadow(0 0 28px rgba(168,134,28,.22));
    animation:hr-float 7s ease-in-out infinite;
}
/* Light-тема (этот файл подключается только при aurora_theme=light) — прячем
 * dark-вариант (ракету), показываем грушу pearcms.png. */
.hero-rocket .hr-img--dark{ display:none }
@keyframes hr-float{
    0%,100%{ transform:translateY(0) rotate(0) }
    50%   { transform:translateY(-16px) rotate(-1.5deg) }
}
@keyframes hr-pulse{
    0%,100%{ opacity:.8; transform:translate(-50%,-50%) scale(1) }
    50%   { opacity:1;  transform:translate(-50%,-50%) scale(1.06) }
}
@media (max-width:980px){
    .hero-rocket{ min-height:300px }
    .hero-rocket .hr-img{ max-width:300px }
    .hero-rocket .hr-glow{ width:360px; height:360px }
}
@media (prefers-reduced-motion:reduce){
    .hero-rocket .hr-img,
    .hero-rocket .hr-glow{ animation:none }
}

/* ===== Showcase (templates / demos) ===== */
.showcase{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px }
@media (max-width:920px){ .showcase{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .showcase{ grid-template-columns:1fr } }
.shx{
  background:var(--space-1); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; transition:transform .2s, border-color .2s, box-shadow .2s;
}
.shx:hover{ transform:translateY(-4px); border-color:var(--line-2); box-shadow:var(--shadow-md) }
.shx .shx-prev{ height:160px; position:relative; overflow:hidden; border-bottom:1px solid var(--line); display:grid; place-items:center }
.shx .shx-tag{ position:absolute; top:12px; left:12px; font-family:var(--f-mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; background:rgba(12,14,20,.7); border:1px solid var(--line-2); color:var(--fg-dim); padding:4px 9px; border-radius:6px; backdrop-filter:blur(4px) }
.shx .shx-body{ padding:20px; display:flex; flex-direction:column; flex:1 }
.shx h4{ font-family:var(--f-display); font-weight:600; font-size:18px; margin:0 0 7px; letter-spacing:-.01em }
.shx p{ color:var(--fg-dim); font-size:14px; margin:0 0 16px; flex:1 }
.shx .shx-go{ font-family:var(--f-mono); font-size:12px; color:var(--pear); display:inline-flex; align-items:center; gap:7px; letter-spacing:.04em }
/* preview artwork */
.pv-dark{ background:#1c1d17; width:100%; height:100% }
.pv-dark .pvl{ position:absolute; left:8%; top:30%; right:30%; height:14px; border-radius:4px; background:linear-gradient(90deg,#e6d24a,#7bb443) }
.pv-light{ background:#f6f2e4; width:100%; height:100% }
.pv-docs{ background:linear-gradient(135deg,#11141d,#1e2430); width:100%; height:100% }
.pv-store{ background:linear-gradient(135deg,#5a8a2e,#11141d); width:100%; height:100% }
.pv-tel{ background:radial-gradient(circle at 60% 30%,#1a2740,#0c0e14); width:100%; height:100% }
.shx-prev .pvic{ position:relative; z-index:2; color:#fff; opacity:.92 }
.shx-prev .pvchip{ position:absolute; z-index:2; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:7px }

/* ===== News ===== */
.news{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px }
@media (max-width:920px){ .news{ grid-template-columns:1fr 1fr } }
@media (max-width:600px){ .news{ grid-template-columns:1fr } }
.ncard{ background:var(--space-1); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; transition:transform .2s, border-color .2s; display:flex; flex-direction:column }
.ncard:hover{ transform:translateY(-3px); border-color:var(--line-2) }
.ncard .nthumb{ height:160px; position:relative; overflow:hidden; border-bottom:1px solid var(--line) }
.ncard .nthumb .nart{ position:absolute; inset:0 }
.na1{ background:linear-gradient(135deg,#1a2740,#0e1119) }
.na2{ background:linear-gradient(135deg,#2a2415,#0e1119) }
.na3{ background:linear-gradient(135deg,#15281c,#0e1119) }
.ncard .nthumb .nart::after{ content:""; position:absolute; right:-30px; top:-30px; width:120px; height:120px; border-radius:50%; background:radial-gradient(circle,rgba(230,210,74,.35),transparent 70%) }
.ncard .nbody{ padding:20px; display:flex; flex-direction:column; flex:1 }
.ncard .ndate{ font-family:var(--f-mono); font-size:11px; color:var(--pear); letter-spacing:.06em; margin-bottom:10px }
.ncard h4{ font-family:var(--f-display); font-weight:600; font-size:16px; line-height:1.3; margin:0 0 14px; letter-spacing:-.01em }
.ncard .more{ font-family:var(--f-mono); font-size:12px; color:var(--fg-mute); display:inline-flex; gap:7px; align-items:center; margin-top:auto }
.ncard:hover .more{ color:var(--pear) }

/* ===== CTA / Contact ===== */
.contact-wrap{
  background:linear-gradient(150deg,var(--space-2),var(--space-1));
  border:1px solid var(--line-2); border-radius:24px; padding:52px; overflow:hidden; position:relative;
}
@media (max-width:680px){ .contact-wrap{ padding:32px 22px } }
.contact-wrap::before{ content:""; position:absolute; right:-80px; top:-80px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(230,210,74,.12),transparent 70%) }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:start; position:relative }
@media (max-width:880px){ .contact-grid{ grid-template-columns:1fr } }
.contact-info h2{ font-family:var(--f-display); font-weight:600; font-size:clamp(26px,3.4vw,38px); line-height:1.1; letter-spacing:-.02em; margin:14px 0 14px }
.contact-info > p{ color:var(--fg-dim); max-width:420px; margin:0 0 26px }
.cch{ display:flex; flex-direction:column; gap:12px }
.cch a{ display:flex; gap:14px; align-items:center; padding:14px 16px; border-radius:12px; border:1px solid var(--line); background:var(--space-1); transition:border-color .2s }
.cch a:hover{ border-color:var(--pear) }
.cch .cci{ width:42px; height:42px; border-radius:11px; background:var(--space-3); border:1px solid var(--line-2); display:grid; place-items:center; color:var(--pear); flex-shrink:0 }
.cch b{ display:block; font-family:var(--f-display); font-size:15px; font-weight:600 }
.cch span{ color:var(--fg-mute); font-size:13px; font-family:var(--f-mono) }

/* ===== Forms ===== */
form.lead-form{ display:flex; flex-direction:column; gap:14px }
.field label{ font-family:var(--f-mono); font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--fg-mute); display:block; margin-bottom:6px }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px }
@media (max-width:460px){ .field-row{ grid-template-columns:1fr } }
.lead-form input, .lead-form textarea, .lead-form select{
  width:100%; background:var(--space-2); border:1px solid var(--line-2); border-radius:10px;
  padding:13px 15px; color:var(--fg); font:inherit; font-size:14px; transition:border-color .15s, box-shadow .15s;
}
.lead-form input::placeholder, .lead-form textarea::placeholder{ color:var(--fg-mute) }
.lead-form input:focus, .lead-form textarea:focus, .lead-form select:focus{ outline:none; border-color:var(--pear); box-shadow:0 0 0 3px rgba(230,210,74,.15) }
.lead-form textarea{ min-height:96px; resize:vertical }
.lead-form .consent{ display:flex; gap:10px; align-items:flex-start; font-size:12px; color:var(--fg-mute) }
.lead-form .consent input{ width:auto; margin-top:2px; accent-color:var(--pear) }
.lead-form .consent a{ color:var(--pear) }
.lead-form .btn{ justify-content:center; margin-top:4px }
.field.err input, .field.err textarea{ border-color:#c0492b }

/* ===== Modal ===== */
.modal-bg{ position:fixed; inset:0; z-index:120; background:rgba(8,10,15,.72); backdrop-filter:blur(8px); display:none; align-items:center; justify-content:center; padding:16px }
.modal-bg.open{ display:flex }
.modal{
  background:var(--space-1); border:1px solid var(--line-2); border-radius:20px; padding:32px;
  max-width:520px; width:100%; box-shadow:var(--shadow-lg); animation:slideUp .25s ease; max-height:92vh; overflow-y:auto;
}
.modal h3{ font-family:var(--f-display); font-weight:600; font-size:24px; margin:0 0 6px; letter-spacing:-.01em }
.modal .msub{ color:var(--fg-dim); font-size:14px; margin:0 0 22px }
.modal .mclose-x{ float:right; width:36px; height:36px; border-radius:10px; border:1px solid var(--line-2); display:grid; place-items:center; color:var(--fg-mute); margin:-8px -8px 0 0 }
.modal .mclose-x:hover{ color:var(--pear); border-color:var(--pear) }
.modal-success{ text-align:center; padding:14px 0 }
.modal-success .ms-ic{ width:64px; height:64px; border-radius:50%; background:var(--space-3); border:1px solid var(--leaf); display:grid; place-items:center; color:var(--leaf); margin:0 auto 18px }

/* ===== География / карта ===== */
.geo-grid{ display:grid; grid-template-columns:1.55fr .85fr; gap:36px; align-items:center }
@media (max-width:920px){ .geo-grid{ grid-template-columns:1fr; gap:28px } }
.geo-map-wrap{
  position:relative; background:linear-gradient(160deg,var(--space-2),var(--space-1));
  border:1px solid var(--line-2); border-radius:20px; padding:22px; overflow:hidden;
}
.geo-map-wrap::before{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px; opacity:.18;
  mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 50%,#000,transparent 75%);
}
.geo-map{ width:100%; height:auto; display:block; position:relative; z-index:1 }
.geo-land{ fill:rgba(86,180,230,.06); stroke:var(--line-2); stroke-width:1.6; stroke-linejoin:round; transition:fill .3s }
.geo-island{ fill:rgba(86,180,230,.06); stroke:var(--line-2); stroke-width:1.6; stroke-linejoin:round }

.geo-link{ stroke:rgba(230,210,74,.35); stroke-width:1.2; stroke-dasharray:3 4; fill:none; opacity:0; transition:opacity .3s }
.geo-link.on{ opacity:1 }

.geo-dot{ cursor:pointer }
.geo-dot .halo{ fill:rgba(230,210,74,.18); opacity:0; transform-box:fill-box; transform-origin:center; transition:opacity .25s }
.geo-dot .core{ fill:var(--pear); stroke:var(--space); stroke-width:1.5; transition:r .2s, fill .2s }
.geo-dot.hub .core{ fill:var(--pear-soft) }
.geo-dot .ping{ fill:none; stroke:var(--pear); stroke-width:1.5; transform-box:fill-box; transform-origin:center; opacity:0 }
@media (prefers-reduced-motion: no-preference){
  .geo-dot.hub .ping{ animation:ping 2.6s ease-out infinite }
}
@keyframes ping{ 0%{ transform:scale(.6); opacity:.7 } 80%,100%{ transform:scale(3.4); opacity:0 } }
.geo-dot:hover .halo, .geo-dot.active .halo{ opacity:1 }
.geo-dot:hover .core, .geo-dot.active .core{ r:7 }
.geo-dot.active .core{ fill:#fff }
.geo-label{
  font-family:var(--f-mono); font-size:12.5px; fill:var(--fg); paint-order:stroke;
  stroke:var(--space); stroke-width:3.5px; stroke-linejoin:round;
  opacity:0; transition:opacity .2s; pointer-events:none;
}
.geo-dot:hover .geo-label, .geo-dot.active .geo-label{ opacity:1 }

.geo-side .eyebrow{ margin-bottom:14px }
.geo-side h2{ font-family:var(--f-display); font-weight:600; font-size:clamp(24px,3vw,34px); line-height:1.1; letter-spacing:-.02em; margin:0 0 12px }
.geo-side > p{ color:var(--fg-dim); font-size:15px; margin:0 0 22px }
.geo-stats{ display:flex; gap:22px; margin-bottom:22px }
.geo-stats .gs b{ font-family:var(--f-display); font-weight:600; font-size:30px; color:var(--pear); display:block; line-height:1 }
.geo-stats .gs span{ font-size:12px; color:var(--fg-mute); margin-top:5px; display:block }
.geo-list{ display:flex; flex-wrap:wrap; gap:8px; max-height:none }
.geo-city{
  display:inline-flex; align-items:center; gap:8px; padding:8px 13px; border-radius:999px;
  border:1px solid var(--line-2); background:var(--space-1); color:var(--fg-dim);
  font-size:13.5px; cursor:pointer; transition:all .15s;
}
.geo-city:hover, .geo-city.active{ border-color:var(--pear); color:var(--fg); background:var(--space-2) }
.geo-city .cdot{ width:7px; height:7px; border-radius:50%; background:var(--pear); flex-shrink:0 }
.geo-city.hub .cdot{ box-shadow:0 0 8px var(--pear) }
.geo-info{
  margin-top:20px; padding:18px; border-radius:14px; border:1px solid var(--line);
  background:var(--space-1); min-height:92px; transition:border-color .2s;
}
.geo-info.show{ border-color:var(--pear) }
.geo-info .gi-city{ font-family:var(--f-display); font-weight:600; font-size:18px; display:flex; align-items:center; gap:9px }
.geo-info .gi-tag{ font-family:var(--f-mono); font-size:10px; text-transform:uppercase; letter-spacing:.1em; color:var(--space); background:var(--pear); padding:2px 7px; border-radius:5px }
.geo-info .gi-region{ font-family:var(--f-mono); font-size:12px; color:var(--pear); margin:6px 0 8px }
.geo-info p{ color:var(--fg-dim); font-size:13.5px; margin:0 }
.geo-info .gi-empty{ color:var(--fg-mute); font-size:14px }

/* ===== Footer ===== */
footer.site{ border-top:1px solid var(--line); padding:60px 0 30px; margin-top:40px; background:var(--space-1) }
.foot-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px }
@media (max-width:880px){ .foot-top{ grid-template-columns:1fr 1fr } }
@media (max-width:520px){ .foot-top{ grid-template-columns:1fr } }
.foot-about p{ color:var(--fg-dim); font-size:14px; margin:16px 0; max-width:320px }
.foot-col h5{ font-family:var(--f-mono); font-size:11px; text-transform:uppercase; letter-spacing:.14em; color:var(--fg-mute); margin:0 0 16px }
.foot-col ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px }
.foot-col li a{ color:var(--fg-dim); font-size:14px; transition:color .15s }
.foot-col li a:hover{ color:var(--pear) }
.foot-bottom{ margin-top:44px; padding-top:24px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-family:var(--f-mono); font-size:12px; color:var(--fg-mute) }

/* ===== Reveal (transform-only — never hides content) ===== */
@media (prefers-reduced-motion: no-preference){
  [data-reveal]{ animation:reveal-in .55s ease both }
}
@keyframes reveal-in{ from{ transform:translateY(16px) } to{ transform:none } }

/* ===== Scroll-to-top / support ===== */
.cta-fab{
  position:fixed; bottom:22px; right:22px; z-index:90;
  display:inline-flex; align-items:center; gap:9px;
  background:var(--pear); color:var(--space); font-weight:600; font-size:14px;
  padding:13px 19px; border-radius:999px; box-shadow:var(--shadow-md); transition:transform .15s, box-shadow .2s;
}
.cta-fab:hover{ transform:translateY(-2px); box-shadow:var(--glow-pear) }
@media (max-width:600px){ .cta-fab span{ display:none } .cta-fab{ padding:14px } }

/* =====================================================================
   СВЕТЛАЯ ТЕМА — переопределения поверх тёмной базы
   ===================================================================== */

/* фон страницы + панели */
body{ background:var(--space); color:var(--fg) }
.starfield{
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(168,134,28,.10), transparent 60%),
    radial-gradient(ellipse 60% 40% at 85% 8%, rgba(90,138,46,.08), transparent 55%);
}
.stars{ display:none }
.topbar{ background:rgba(253,250,240,.7) }
header.site{ background:rgba(246,242,228,.85) }
.modal-bg{ background:rgba(40,35,15,.45) }

/* тёмный текст на «грушёвых» заливках (кнопки, бейджи) */
.btn-primary{ color:#1c1d17 }
.cta-fab{ color:#1c1d17 }
.plan .pop{ color:#1c1d17 }
.ttab.active{ color:#1c1d17 }
.geo-info .gi-tag{ color:#1c1d17 }

/* читаемый грушёвый текст/иконки на светлом фоне */
.topbar .ti svg,
.dropdown li a .di,
.scard .ic,
.sol .sol-ic,
.feat .fi,
.he-side .it svg,
.he-blk .tg,
.cch .cci,
.geo-info .gi-region,
.geo-stats .gs b,
.stat b{ color:var(--accent) }

.hero .eyebrow{ color:var(--accent) }
.hero .eyebrow::before{ background:var(--accent) }
.scard .more,
.shx .shx-go,
.ncard .ndate,
.ncard:hover .more,
.nav-phone:hover,
.macc .sub a:hover,
.foot-col li a:hover,
.dropdown li a:hover .di{ color:var(--accent) }
.he-blk .tg{ border-color:var(--line-2) }

/* акцентная заливка-полоска и точки остаются грушёвыми, но насыщеннее */
.eyebrow .dot{ background:var(--pear-deep); box-shadow:0 0 10px rgba(168,134,28,.5) }
.he-blk .bar i{ background:var(--pear-deep) }
.pv-dark .pvl{ background:linear-gradient(90deg,#e6d24a,#7bb443) }

/* hero-заголовок: зелёно-золотой градиент читается на бумаге */
.hero h1 em{ background:linear-gradient(110deg,var(--leaf-deep),var(--pear-deep)); -webkit-background-clip:text; background-clip:text; color:transparent }

/* видимые рамки при наведении */
.btn-ghost:hover{ border-color:var(--pear-deep); color:var(--accent) }
.lic:hover, .cch a:hover, .plan.featured, .modal .mclose-x:hover,
.geo-city:hover, .geo-city.active, .geo-info.show{ border-color:var(--pear-deep) }
.modal .mclose-x:hover{ color:var(--accent) }

/* редактор-мок: светлые плашки */
.he-bar i{ filter:saturate(1.1) }

/* шапка-логотип: грушёвая плашка на светлом */
.brand .mark{ background:radial-gradient(circle at 35% 30%, #fff, #f0ead6) !important; border-color:var(--line-2) }
