/* ============================================================
   DigitalMed — "Сигнал"
   Дизайн-система. Один файл на все страницы.
   ============================================================ */

:root{
  /* base */
  --bg:        #07100E;
  --bg-2:      #0A1713;
  --surface:   #0E211B;
  --surface-2: #123028;
  --line:      rgba(150, 224, 200, .12);
  --line-soft: rgba(150, 224, 200, .07);

  /* text */
  --text:  #EAF3EF;
  --muted: #9BB3AB;
  --dim:   #6C877E;

  /* duotone: сигнал (холодный) + человек (тёплый) */
  --mint:      #6FE7C6;
  --mint-deep: #2FBF9C;
  --coral:     #FF8C6B;
  --coral-deep:#F2603E;

  --grad-signal: linear-gradient(115deg, var(--mint) 0%, #8CF0D9 50%, var(--coral) 130%);

  /* geometry */
  --r-sm: 10px;
  --r:    16px;
  --r-lg: 26px;
  --maxw: 1400px;
  --gutter: clamp(20px, 5vw, 64px);

  /* type */
  --f-display: "Unbounded", system-ui, sans-serif;
  --f-body: "Manrope", system-ui, -apple-system, sans-serif;

  --ease: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- reset ---------- */
*{ box-sizing: border-box; margin: 0; padding: 0; }
html{ scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body{
  background: var(--bg);
  color: var(--text);
  font-family: var(--f-body);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: .01em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
::selection{ background: var(--mint); color: #05100D; }

/* ambient grain / vignette so pure-dark never feels flat */
body::before{
  content:"";
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(120% 90% at 82% -10%, rgba(111,231,198,.10), transparent 55%),
    radial-gradient(90% 70% at 8% 108%, rgba(255,140,107,.08), transparent 60%);
}

/* ---------- layout ---------- */
.wrap{ width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); position: relative; z-index: 1; }
.section{ padding-block: clamp(72px, 11vw, 150px); position: relative; z-index: 1; }
.section--tight{ padding-block: clamp(48px, 7vw, 90px); }

/* ---------- type ---------- */
h1,h2,h3{ font-family: var(--f-display); font-weight: 400; line-height: 1.02; letter-spacing: -.02em; }
.display{
  font-size: clamp(2.7rem, 7.2vw, 6rem);
  font-weight: 400;
}
h2, .h2{ font-size: clamp(2rem, 4.4vw, 3.35rem); letter-spacing: -.025em; }
h3, .h3{ font-family: var(--f-display); font-weight: 400; font-size: clamp(1.2rem, 2.1vw, 1.5rem); letter-spacing: -.01em; line-height: 1.15; }
.lede{ font-size: clamp(1.05rem, 1.8vw, 1.3rem); color: var(--muted); line-height: 1.6; font-weight: 400; max-width: 60ch; }
p{ max-width: 68ch; }
.muted{ color: var(--muted); }
.text-signal{ color: var(--mint); }
.text-human{ color: var(--coral); }

.kicker{
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-body); font-size: .82rem; font-weight: 600;
  letter-spacing: .04em; color: var(--mint);
}
.kicker::before{
  content:""; width: 26px; height: 1px; background: var(--mint); opacity: .6;
}

/* gradient ink for select words */
.ink{
  background: var(--grad-signal);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

/* ---------- buttons ---------- */
.btn{
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 26px; border-radius: 999px;
  font-weight: 600; font-size: .98rem; letter-spacing: .01em;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), background .35s var(--ease);
  will-change: transform;
}
.btn--primary{
  background: var(--grad-signal); color: #05130F;
  box-shadow: 0 10px 34px -12px rgba(111,231,198,.55);
}
.btn--primary:hover{ transform: translateY(-3px); box-shadow: 0 18px 44px -12px rgba(111,231,198,.7); }
.btn--ghost{
  border: 1px solid var(--line); color: var(--text); background: rgba(255,255,255,.02);
}
.btn--ghost:hover{ border-color: var(--mint); transform: translateY(-3px); background: rgba(111,231,198,.06); }
.btn .dot{ width: 7px; height: 7px; border-radius: 50%; background: currentColor; }

/* ---------- header ---------- */
.nav{
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(14px);
  background: rgba(7,16,14,.6);
  border-bottom: 1px solid transparent;
  transition: border-color .4s var(--ease), background .4s var(--ease);
}
.nav.is-stuck{ border-bottom-color: var(--line-soft); background: rgba(7,16,14,.82); }
.nav__inner{ display: flex; align-items: center; justify-content: space-between; height: 74px; }
.brand{ display: flex; align-items: center; gap: 11px; font-family: var(--f-display); font-weight: 500; font-size: 1.12rem; letter-spacing: -.01em; }
.brand__mark{ width: 30px; height: 30px; flex: none; }
.nav__links{ display: flex; align-items: center; gap: 30px; }
.nav__links ul, .nav__links .menu{ list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; align-items: center; gap: 30px; }
.nav__links li{ margin: 0 !important; padding: 0 !important; list-style: none !important; position: relative; }
.nav__links li::marker{ content: "" !important; }
.nav__links a{ font-size: .93rem; font-weight: 500; color: var(--muted); position: relative; transition: color .3s; white-space: nowrap; }
.nav__links a:hover,
.nav__links a[aria-current="page"],
.nav__links .current-menu-item > a,
.nav__links .current_page_item > a{ color: var(--text); }
.nav__links a::after{
  content:""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px;
  background: var(--grad-signal); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
}
.nav__links a:hover::after,
.nav__links a[aria-current="page"]::after,
.nav__links .current-menu-item > a::after,
.nav__links .current_page_item > a::after{ transform: scaleX(1); }

/* «Демо» — акцентная кнопка шапки */
.btn--demo{ background: var(--grad-signal); color: #05130F; border: none; box-shadow: 0 8px 26px -12px rgba(111,231,198,.55); }
.btn--demo:hover{ transform: translateY(-2px); box-shadow: 0 14px 34px -12px rgba(111,231,198,.7); }
.btn--demo .live{ width: 7px; height: 7px; border-radius: 50%; background: #05130F; opacity: .8; box-shadow: 0 0 0 0 rgba(5,19,15,.5); animation: pulseDark 2.2s infinite; }
@keyframes pulseDark{ 0%{ box-shadow:0 0 0 0 rgba(5,19,15,.5);} 70%{ box-shadow:0 0 0 7px rgba(5,19,15,0);} 100%{ box-shadow:0 0 0 0 rgba(5,19,15,0);} }
.nav__cta{ display: flex; align-items: center; gap: 14px; }
.nav__toggle{ display: none; width: 42px; height: 42px; border-radius: 10px; border: 1px solid var(--line); align-items: center; justify-content: center; }
.nav__toggle span{ display: block; width: 18px; height: 2px; background: var(--text); position: relative; }
.nav__toggle span::before, .nav__toggle span::after{ content:""; position: absolute; left: 0; width: 18px; height: 2px; background: var(--text); transition: transform .3s; }
.nav__toggle span::before{ top: -6px; } .nav__toggle span::after{ top: 6px; }

/* ---------- footer ---------- */
.foot{ border-top: 1px solid var(--line-soft); padding-block: 64px 40px; position: relative; z-index: 1; }
.foot__grid{ display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; }
.foot h4{ font-family: var(--f-body); font-size: .8rem; font-weight: 700; letter-spacing: .06em; color: var(--dim); margin-bottom: 16px; }
.foot ul{ list-style: none; display: flex; flex-direction: column; gap: 11px; }
.foot a{ color: var(--muted); font-size: .95rem; transition: color .25s; }
.foot a:hover{ color: var(--mint); }
.foot__brand p{ color: var(--muted); font-size: .95rem; margin-top: 14px; max-width: 34ch; }
.foot__bottom{ display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 54px; padding-top: 26px; border-top: 1px solid var(--line-soft); color: var(--dim); font-size: .85rem; }

/* ---------- reveal animation ---------- */
[data-reveal]{ opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].in{ opacity: 1; transform: none; }
[data-reveal][data-delay="1"]{ transition-delay: .08s; }
[data-reveal][data-delay="2"]{ transition-delay: .16s; }
[data-reveal][data-delay="3"]{ transition-delay: .24s; }
[data-reveal][data-delay="4"]{ transition-delay: .32s; }

/* ---------- generic surface card ---------- */
.card{
  background: linear-gradient(180deg, var(--surface), var(--bg-2));
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  padding: 34px;
  position: relative; overflow: hidden;
}

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .nav__links{ display: none; }
  .nav__toggle{ display: inline-flex; }
  .nav__links.open{
    display: flex; position: absolute; top: 74px; left: 0; right: 0;
    flex-direction: column; gap: 4px; padding: 18px var(--gutter) 26px;
    background: rgba(9,20,17,.97); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px);
  }
  .nav__links.open ul, .nav__links.open .menu{ flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; }
  .nav__links.open li{ width: 100%; }
  .nav__links.open a{ display: block; padding: 10px 0; font-size: 1.05rem; }
  .foot__grid{ grid-template-columns: 1fr 1fr; gap: 32px 24px; }
  .foot__brand{ grid-column: 1 / -1; }
  .nav__cta .btn--demo{ display: none; }
}
@media (max-width: 540px){
  .foot__grid{ grid-template-columns: 1fr; }
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  [data-reveal]{ opacity: 1; transform: none; }
}

/* ---------- live waveform (voice signal) ---------- */
.wave{ display: flex; align-items: center; gap: 3px; height: 46px; }
.wbar{
  width: 3px; height: 22%;
  background: var(--grad-signal);
  border-radius: 3px;
  animation: wbar 1s ease-in-out infinite alternate;
  transform-origin: center;
}
@keyframes wbar{ from{ height: 14%; opacity: .55; } to{ height: 100%; opacity: 1; } }
@media (prefers-reduced-motion: reduce){ .wbar{ height: 50%; animation: none; } }

/* ---------- pill / tag ---------- */
.pill{
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px; border-radius: 999px;
  border: 1px solid var(--line); background: rgba(255,255,255,.02);
  font-size: .82rem; font-weight: 600; color: var(--muted);
}
.pill .live{
  width: 7px; height: 7px; border-radius: 50%; background: var(--mint);
  box-shadow: 0 0 0 0 rgba(111,231,198,.6); animation: pulse 2s infinite;
}
@keyframes pulse{ 0%{ box-shadow: 0 0 0 0 rgba(111,231,198,.55);} 70%{ box-shadow: 0 0 0 9px rgba(111,231,198,0);} 100%{ box-shadow: 0 0 0 0 rgba(111,231,198,0);} }

/* ============================================================
   WordPress content — posts, pages, archives, comments
   ============================================================ */

/* page/post hero */
.page-head{ position: relative; padding-top: clamp(48px,8vw,104px); padding-bottom: clamp(20px,3vw,36px); overflow: hidden; }
.page-head__aura{ position:absolute; inset:-30% -10% auto -10%; height:460px; z-index:0; pointer-events:none; background: radial-gradient(closest-side, rgba(111,231,198,.14), transparent 70%) 72% 15% /55% 90% no-repeat; filter:blur(6px); }
.page-head h1{ font-size: clamp(2.4rem,5.4vw,4.4rem); margin-top: 18px; max-width: 18ch; }
.page-head .meta{ color: var(--dim); font-size: .9rem; margin-top: 16px; display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.page-head .meta a{ color: var(--muted); }
.page-head .meta a:hover{ color: var(--mint); }

/* prose (the_content) */
.prose{ max-width: 74ch; }
.prose > *{ margin-bottom: 1.15em; }
.prose h2{ font-size: clamp(1.6rem,3vw,2.2rem); margin-top: 1.6em; }
.prose h3{ font-size: clamp(1.3rem,2.3vw,1.7rem); margin-top: 1.4em; }
.prose p, .prose li{ color: #D3E0DB; }
.prose a{ color: var(--mint); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(111,231,198,.4); }
.prose a:hover{ text-decoration-color: var(--mint); }
.prose ul, .prose ol{ padding-left: 1.3em; display: grid; gap: .5em; }
.prose li{ padding-left: .2em; }
.prose img{ border-radius: var(--r); border: 1px solid var(--line-soft); margin-inline: auto; }
.prose blockquote{ border-left: 2px solid var(--mint); padding: 4px 0 4px 22px; color: var(--muted); font-style: italic; }
.prose code{ background: rgba(111,231,198,.08); border: 1px solid var(--line-soft); border-radius: 6px; padding: 2px 7px; font-size: .9em; }
.prose pre{ background: var(--bg-2); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 20px; overflow-x: auto; }
.prose hr{ border: none; border-top: 1px solid var(--line-soft); }
.prose table{ width: 100%; border-collapse: collapse; }
.prose th, .prose td{ border: 1px solid var(--line-soft); padding: 12px 14px; text-align: left; }
.prose th{ background: rgba(255,255,255,.03); }
.prose figcaption{ color: var(--dim); font-size: .85rem; text-align: center; margin-top: 8px; }

/* featured image */
.post-cover{ border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--line-soft); margin-bottom: 40px; }
.post-cover img{ width: 100%; height: auto; }

/* blog grid / archive */
.postgrid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pcard{ display: flex; flex-direction: column; background: linear-gradient(180deg, var(--surface), var(--bg-2)); border: 1px solid var(--line-soft); border-radius: var(--r-lg); overflow: hidden; transition: border-color .4s var(--ease), transform .4s var(--ease); }
.pcard:hover{ border-color: rgba(111,231,198,.28); transform: translateY(-4px); }
.pcard__media{ aspect-ratio: 16/10; overflow: hidden; background: var(--bg-2); }
.pcard__media img{ width:100%; height:100%; object-fit: cover; transition: transform .6s var(--ease); }
.pcard:hover .pcard__media img{ transform: scale(1.05); }
.pcard__body{ padding: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pcard__cat{ font-size: .78rem; font-weight: 700; letter-spacing: .04em; color: var(--mint); }
.pcard h3{ font-size: 1.2rem; line-height: 1.2; }
.pcard h3 a:hover{ color: var(--mint); }
.pcard__ex{ color: var(--muted); font-size: .93rem; }
.pcard__date{ margin-top: auto; color: var(--dim); font-size: .82rem; padding-top: 8px; }

/* pagination */
.pagination{ display:flex; gap:8px; flex-wrap:wrap; margin-top: 48px; justify-content: center; }
.pagination .page-numbers{ display:inline-grid; place-items:center; min-width:44px; height:44px; padding:0 14px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-weight:600; transition:border-color .3s,color .3s; }
.pagination .page-numbers:hover{ border-color: var(--mint); color: var(--mint); }
.pagination .page-numbers.current{ background: var(--grad-signal); color:#05130F; border-color: transparent; }

/* comments */
.comments{ max-width: 74ch; margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line-soft); }
.comments h2{ font-size: 1.5rem; margin-bottom: 24px; }
.comment-list{ list-style: none; display: grid; gap: 20px; }
.comment-body{ background: rgba(255,255,255,.02); border: 1px solid var(--line-soft); border-radius: var(--r); padding: 20px 22px; }
.comment-author{ font-weight: 600; }
.comment-meta{ color: var(--dim); font-size: .82rem; margin-bottom: 8px; }
.comment-form input, .comment-form textarea{ width:100%; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:12px; padding:13px 15px; color:var(--text); font-family:inherit; margin-bottom: 14px; }
.comment-form input:focus, .comment-form textarea:focus{ outline:none; border-color: var(--mint); }
.comment-reply-title{ font-family: var(--f-display); font-weight: 400; margin-bottom: 16px; }

/* single post footer nav */
.postnav{ display:flex; justify-content:space-between; gap:20px; margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line-soft); flex-wrap: wrap; }
.postnav a{ color: var(--muted); } .postnav a:hover{ color: var(--mint); }

/* 404 / empty */
.empty{ text-align:center; padding: clamp(60px,10vw,120px) 0; }
.empty .code{ font-family: var(--f-display); font-weight: 500; font-size: clamp(4rem,14vw,9rem); background: var(--grad-signal); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:-.04em; }

/* skip link */
.skip-link{ position:absolute; left:-9999px; top:0; z-index:100; background: var(--mint); color:#05130F; padding:10px 16px; border-radius:0 0 10px 0; font-weight:600; }
.skip-link:focus{ left:0; }

/* keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline: 2px solid var(--mint); outline-offset: 2px; border-radius: 4px;
}

@media (max-width: 900px){ .postgrid{ grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px){ .postgrid{ grid-template-columns: 1fr; } }

/* ============================================================
   Page components (home / about / products / contacts)
   Переносится из прежних inline <style> в единый файл темы.
   ============================================================ */

/* shared section head */
.shead{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:46px; flex-wrap:wrap; }
.shead p{ color:var(--muted); max-width:46ch; }

/* shared CTA */
.cta{ position:relative; border-radius:var(--r-lg); padding:clamp(40px,6vw,72px); text-align:center; overflow:hidden; border:1px solid var(--line); background: radial-gradient(120% 140% at 50% -20%, rgba(111,231,198,.14), transparent 60%), linear-gradient(180deg, var(--surface), var(--bg-2)); }
.cta .wave{ justify-content:center; height:40px; margin-bottom:24px; }
.cta h2{ margin-bottom:16px; }
.cta__actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:28px; }

/* shared metric band */
.metrics{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; }
.metric{ background:var(--bg-2); padding:34px 28px; }
.metric b{ font-family:var(--f-display); font-weight:500; font-size:clamp(2.2rem,4vw,3.1rem); letter-spacing:-.03em; display:block; }
.metric span{ color:var(--muted); font-size:.92rem; }
.metric--warm b{ color:var(--coral); }

/* shared inner-page hero */
.phero{ position:relative; padding-top:clamp(52px,8vw,110px); padding-bottom:clamp(30px,5vw,60px); overflow:hidden; }
.phero__aura{ position:absolute; inset:-30% -10% auto -10%; height:520px; z-index:0; pointer-events:none; background: radial-gradient(closest-side, rgba(111,231,198,.16), transparent 70%) 70% 20% /55% 90% no-repeat; filter:blur(6px); }
.phero h1{ font-size:clamp(2.6rem,6vw,5rem); margin:20px 0 22px; max-width:16ch; }

/* ---------- HOME ---------- */
.hero{ position:relative; padding-top:clamp(40px,8vw,96px); padding-bottom:clamp(48px,8vw,110px); overflow:hidden; }
.hero__aura{ position:absolute; inset:-20% -10% auto -10%; height:620px; z-index:0; pointer-events:none; background: radial-gradient(closest-side, rgba(111,231,198,.20), transparent 70%) 18% 30% /55% 90% no-repeat, radial-gradient(closest-side, rgba(255,140,107,.16), transparent 70%) 84% 12% /50% 80% no-repeat; filter:blur(8px); animation:drift 18s ease-in-out infinite alternate; }
@keyframes drift{ from{ transform:translate3d(0,0,0);} to{ transform:translate3d(-24px,18px,0);} }
.hero__grid{ position:relative; z-index:1; display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(30px,5vw,72px); align-items:center; }
.hero h1{ margin:20px 0 26px; }
.hero__actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:12px; }
.hero__stats{ display:flex; gap:34px; margin-top:44px; flex-wrap:wrap; }
.hero__stat b{ font-family:var(--f-display); font-weight:500; font-size:1.9rem; display:block; letter-spacing:-.02em; }
.hero__stat span{ font-size:.86rem; color:var(--muted); }

.callcard{ position:relative; border-radius:28px; padding:26px; background:linear-gradient(180deg, rgba(19,48,40,.9), rgba(10,23,19,.9)); border:1px solid var(--line); box-shadow:0 40px 90px -50px rgba(0,0,0,.9), inset 0 1px 0 rgba(255,255,255,.04); backdrop-filter:blur(6px); }
.callcard__top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.callcard__who{ display:flex; align-items:center; gap:12px; }
.callcard__av{ width:42px; height:42px; border-radius:50%; background:var(--grad-signal); display:grid; place-items:center; color:#05130F; font-weight:700; }
.callcard__who small{ display:block; color:var(--dim); font-size:.78rem; }
.callcard .wave{ height:62px; } .callcard .wbar{ width:4px; }
.bubble{ font-size:.95rem; line-height:1.5; padding:13px 16px; border-radius:14px; margin-top:14px; max-width:84%; }
.bubble--bot{ background:rgba(111,231,198,.1); border:1px solid rgba(111,231,198,.18); }
.bubble--pat{ background:rgba(255,255,255,.04); border:1px solid var(--line-soft); margin-left:auto; color:var(--muted); }
.callcard__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:20px; padding-top:16px; border-top:1px solid var(--line-soft); font-size:.82rem; color:var(--dim); }

.strip{ border-block:1px solid var(--line-soft); }
.strip__row{ display:flex; align-items:center; gap:40px; flex-wrap:wrap; justify-content:space-between; }
.strip__row p{ color:var(--dim); font-size:.82rem; font-weight:600; letter-spacing:.04em; }
.strip__items{ display:flex; gap:clamp(24px,4vw,54px); flex-wrap:wrap; color:var(--muted); font-family:var(--f-display); font-weight:400; font-size:1.05rem; }

.loss{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(28px,5vw,64px); align-items:center; }
.loss__num{ font-family:var(--f-display); font-weight:500; line-height:.9; letter-spacing:-.04em; font-size:clamp(5rem,16vw,12rem); background:linear-gradient(160deg, var(--coral), var(--coral-deep)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.loss__num sup{ font-size:.32em; vertical-align:super; }
.loss ul{ list-style:none; display:grid; gap:14px; margin-top:24px; }
.loss li{ display:flex; gap:12px; align-items:flex-start; color:var(--muted); }
.loss li::before{ content:""; margin-top:9px; width:6px; height:6px; flex:none; border-radius:50%; background:var(--coral); }

.sol{ display:grid; grid-template-columns:1.25fr 1fr; grid-auto-rows:1fr; gap:18px; }
.feature{ background:linear-gradient(180deg, var(--surface), var(--bg-2)); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:34px; position:relative; overflow:hidden; transition:border-color .4s var(--ease), transform .4s var(--ease); }
.feature:hover{ border-color:rgba(111,231,198,.3); transform:translateY(-4px); }
.feature--hero{ grid-row:span 2; display:flex; flex-direction:column; justify-content:space-between; min-height:380px; }
.feature__ico{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center; background:rgba(111,231,198,.1); border:1px solid rgba(111,231,198,.2); margin-bottom:22px; }
.feature__ico svg{ width:26px; height:26px; stroke:var(--mint); }
.feature h3{ margin-bottom:10px; } .feature p{ color:var(--muted); font-size:.96rem; }
.feature__list{ list-style:none; margin-top:18px; display:grid; gap:10px; }
.feature__list li{ display:flex; gap:10px; font-size:.9rem; color:var(--muted); align-items:center; }
.feature__list li svg{ width:15px; height:15px; stroke:var(--mint); flex:none; }
.feature--hero .wave{ height:80px; margin-top:26px; }

.values{ display:grid; gap:0; }
.value{ display:grid; grid-template-columns:90px 1fr 1.4fr; gap:30px; align-items:start; padding:40px 0; border-top:1px solid var(--line-soft); }
.value:last-child{ border-bottom:1px solid var(--line-soft); }
.value__ix{ font-family:var(--f-display); font-weight:400; color:var(--dim); font-size:1.1rem; padding-top:6px; }
.value h3{ font-size:clamp(1.4rem,2.6vw,2rem); } .value p{ color:var(--muted); }

.tl{ position:relative; margin-top:20px; }
.tl::before{ content:""; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:linear-gradient(var(--mint), transparent); }
.tl__item{ position:relative; padding:0 0 42px 44px; } .tl__item:last-child{ padding-bottom:0; }
.tl__dot{ position:absolute; left:0; top:4px; width:16px; height:16px; border-radius:50%; background:var(--bg); border:2px solid var(--mint); }
.tl__dot::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--mint); }
.tl__year{ font-family:var(--f-display); color:var(--mint); font-size:.95rem; margin-bottom:4px; }
.tl__item h3{ font-size:1.25rem; margin-bottom:8px; } .tl__item p{ color:var(--muted); font-size:.96rem; }

/* ---------- ABOUT ---------- */
.manifesto{ position:relative; z-index:1; font-family:var(--f-display); font-weight:400; font-size:clamp(1.9rem,4.6vw,3.4rem); line-height:1.16; letter-spacing:-.02em; max-width:20ch; }
.pintro{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,70px); align-items:start; }
.pintro p + p{ margin-top:18px; } .pintro .muted{ font-size:1.05rem; }
.astats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; }
.astat{ background:var(--bg-2); padding:32px 28px; }
.astat b{ font-family:var(--f-display); font-weight:500; font-size:clamp(2rem,4vw,2.8rem); letter-spacing:-.03em; display:block; }
.astat span{ color:var(--muted); font-size:.92rem; }
.mblock{ display:grid; grid-template-columns:.5fr 1.5fr; gap:clamp(24px,5vw,60px); align-items:start; padding:clamp(36px,5vw,56px) 0; border-top:1px solid var(--line-soft); }
.mblock:last-child{ border-bottom:1px solid var(--line-soft); }
.mblock__k{ font-family:var(--f-display); color:var(--mint); font-size:1rem; }
.mblock h3{ font-size:clamp(1.5rem,3vw,2.1rem); margin-bottom:16px; } .mblock p{ color:var(--muted); font-size:1.02rem; }
.ethos{ background:linear-gradient(180deg, var(--surface), var(--bg-2)); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:clamp(34px,5vw,60px); position:relative; overflow:hidden; }
.ethos .wave{ height:60px; margin-bottom:26px; } .ethos h2{ max-width:22ch; }

/* ---------- PRODUCTS ---------- */
.scen{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.scard{ background:linear-gradient(180deg, var(--surface), var(--bg-2)); border:1px solid var(--line-soft); border-radius:var(--r-lg); padding:30px; position:relative; overflow:hidden; transition:border-color .4s var(--ease), transform .4s var(--ease); }
.scard:hover{ border-color:rgba(111,231,198,.28); transform:translateY(-4px); }
.scard.w4{ grid-column:span 4; } .scard.w3{ grid-column:span 3; } .scard.w2{ grid-column:span 2; }
.scard__ico{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center; background:rgba(111,231,198,.09); border:1px solid rgba(111,231,198,.18); margin-bottom:20px; }
.scard__ico svg{ width:24px; height:24px; stroke:var(--mint); }
.scard h3{ margin-bottom:8px; } .scard p{ color:var(--muted); font-size:.95rem; }
.scard.feat{ background:linear-gradient(150deg, rgba(19,48,40,.85), rgba(10,23,19,.9)); }
.scard.feat .wave{ height:56px; margin-top:22px; }
.flow{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; counter-reset:step; }
.step{ position:relative; padding-top:30px; }
.step::before{ counter-increment:step; content:"0" counter(step); font-family:var(--f-display); font-weight:500; font-size:1rem; color:var(--mint); }
.step h3{ font-size:1.25rem; margin:12px 0 8px; } .step p{ color:var(--muted); font-size:.96rem; }
.step__line{ height:2px; background:linear-gradient(90deg, var(--mint), transparent); margin-top:16px; border-radius:2px; }

/* ---------- CONTACTS ---------- */
.cgrid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,64px); align-items:start; }
.form{ background:linear-gradient(180deg, var(--surface), var(--bg-2)); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(28px,4vw,42px); }
.field{ margin-bottom:20px; }
.field label{ display:block; font-size:.85rem; font-weight:600; color:var(--muted); margin-bottom:9px; }
.field input, .field textarea, .field select{ width:100%; background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:12px; padding:14px 16px; color:var(--text); font-family:inherit; font-size:1rem; transition:border-color .3s, background .3s; }
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--mint); background:rgba(111,231,198,.05); }
.field textarea{ resize:vertical; min-height:96px; }
.form .btn--primary{ width:100%; justify-content:center; margin-top:6px; }
.formnote{ font-size:.82rem; color:var(--dim); margin-top:14px; text-align:center; }
.success{ display:none; text-align:center; padding:20px 0; } .success.on{ display:block; }
.success .wave{ justify-content:center; height:44px; margin-bottom:18px; }
.infocard{ border:1px solid var(--line-soft); border-radius:var(--r); padding:24px 26px; margin-bottom:16px; background:rgba(255,255,255,.015); }
.infocard h4{ font-family:var(--f-body); font-size:.82rem; font-weight:700; letter-spacing:.05em; color:var(--dim); margin-bottom:8px; }
.infocard a, .infocard p{ font-size:1.05rem; color:var(--text); } .infocard a:hover{ color:var(--mint); }
.socline{ display:flex; gap:12px; margin-top:6px; }
.socline a{ flex:1; text-align:center; padding:12px; border:1px solid var(--line); border-radius:12px; font-size:.9rem; color:var(--muted); transition:border-color .3s,color .3s; }
.socline a:hover{ border-color:var(--mint); color:var(--mint); }
.demo{ margin-top:16px; border:1px solid var(--line); border-radius:var(--r); padding:22px 24px; background:linear-gradient(150deg, rgba(19,48,40,.7), rgba(10,23,19,.8)); display:flex; align-items:center; gap:16px; }
.demo .wave{ height:40px; flex:none; width:90px; } .demo p{ font-size:.92rem; color:var(--muted); }

/* ---------- page responsive ---------- */
@media (max-width:900px){
  .hero__grid{ grid-template-columns:1fr; }
  .loss{ grid-template-columns:1fr; }
  .sol{ grid-template-columns:1fr; }
  .feature--hero{ grid-row:auto; min-height:auto; }
  .metrics{ grid-template-columns:1fr 1fr; }
  .value{ grid-template-columns:40px 1fr; } .value p{ grid-column:1 / -1; }
  .scen{ grid-template-columns:1fr 1fr; }
  .scard.w4,.scard.w3,.scard.w2{ grid-column:span 1; }
  .flow{ grid-template-columns:1fr; }
}
@media (max-width:820px){
  .pintro{ grid-template-columns:1fr; }
  .astats{ grid-template-columns:1fr; }
  .mblock{ grid-template-columns:1fr; }
  .cgrid{ grid-template-columns:1fr; }
}
@media (max-width:560px){ .metrics{ grid-template-columns:1fr; } .scen{ grid-template-columns:1fr; } }

/* ---------- FAQ accordion ---------- */
.faq{ display:grid; gap:12px; }
.faq__item{ border:1px solid var(--line-soft); border-radius:var(--r); background:linear-gradient(180deg, var(--surface), var(--bg-2)); overflow:hidden; transition:border-color .3s var(--ease); }
.faq__item.open{ border-color:rgba(111,231,198,.3); }
.faq__h{ margin:0; font-family:var(--f-body); }
.faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 24px; text-align:left; font-family:var(--f-body); font-size:1.06rem; font-weight:600; color:var(--text); }
.faq__q:hover{ color:var(--mint); }
.faq__ico{ position:relative; width:18px; height:18px; flex:none; }
.faq__ico::before, .faq__ico::after{ content:""; position:absolute; background:var(--mint); border-radius:2px; transition:transform .3s var(--ease), opacity .3s; }
.faq__ico::before{ top:8px; left:0; width:18px; height:2px; }
.faq__ico::after{ left:8px; top:0; width:2px; height:18px; }
.faq__item.open .faq__ico::after{ transform:scaleY(0); opacity:0; }
.faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .34s var(--ease); }
.faq__item.open .faq__a{ grid-template-rows:1fr; }
.faq__a-in{ overflow:hidden; }
.faq__a-in p{ padding:0 24px 24px; color:var(--muted); margin:0; max-width:70ch; }
@media (prefers-reduced-motion: reduce){ .faq__a{ transition:none; } }

/* honeypot */
.dm-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* form error text */
#formErr{ color:var(--coral); min-height:0; }
#formErr:empty{ display:none; }

/* ============================================================
   Nav polish — фирменные микро-детали (v1.2)
   ============================================================ */
/* анимированное подчёркивание пунктов (градиент слева направо) */
.nav__links a{ padding-bottom: 3px; }
.nav__links a::after{
  content:""; position:absolute; left:0; right:auto; bottom:-4px;
  width:100%; height:2px; border-radius:2px; background:var(--grad-signal);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .32s var(--ease);
}
.nav__links a:hover::after,
.nav__links a[aria-current="page"]::after,
.nav__links .current-menu-item > a::after,
.nav__links .current_page_item > a::after{ transform:scaleX(1); }

/* «Демо» — живая точка-пульс (эхо плашки «в эфире») */
.nav__cta .btn--ghost{ position:relative; }
.nav__cta .btn--ghost::before{
  content:""; width:7px; height:7px; border-radius:50%; background:var(--mint);
  box-shadow:0 0 0 0 rgba(111,231,198,.55); animation:pulse 2s infinite;
}

/* тонкая сигнальная линия под шапкой при скролле */
.nav.is-stuck{ border-bottom-color:transparent; }
.nav::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(111,231,198,.5), rgba(255,140,107,.4), transparent);
  opacity:0; transition:opacity .4s var(--ease);
}
.nav.is-stuck::after{ opacity:1; }
@media (prefers-reduced-motion: reduce){
  .nav__links a::after{ transition:none; }
  .nav__cta .btn--ghost::before{ animation:none; }
}
