@import url("fonts/fonts.css");

/* ============================================================
   LEOCOOL — дизайн-система (сдержанная редакция)
   Граффити-бренд тонкими акцентами, воздух и читаемость.
   ============================================================ */

:root {
  /* --- Палитра (из логотипа) --- */
  --cyan:   #2FB6D4;   /* COOL */
  --gold:   #FBB711;   /* LEO  */
  --red:    #F0414E;
  --pink:   #E5318A;
  --green:  #2BC56B;
  --blue:   #2E6FE0;
  --ink:    #15193D;   /* NIGHT BLUE */
  --ink-2:  #232a57;
  --cream:  #FBF7F0;   /* светлый фон */
  --paper:  #FFFFFF;

  --text:        #20243f;
  --text-soft:   #5d6280;
  --text-onDark: #e8e9fb;
  --hair:        #eae5d8;   /* тонкая светлая линия */

  /* --- Типографика --- */
  --f-display: "Bungee", system-ui, sans-serif;   /* только редкие акценты */
  --f-head:    "Manrope", system-ui, sans-serif;
  --f-body:    "Manrope", system-ui, sans-serif;
  --f-mono:    ui-monospace, "JetBrains Mono", Menlo, monospace;

  /* --- Форма (мягкая) --- */
  --r:    16px;
  --r-sm: 10px;
  --shadow:    0 14px 30px rgba(21,25,61,.08);
  --shadow-lg: 0 26px 56px rgba(21,25,61,.12);
  --maxw: 1080px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; font-family: var(--f-body); color: var(--text);
  background: var(--cream); line-height: 1.65; font-size: 17px;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }

h1, h2, h3, h4 { font-family: var(--f-head); font-weight: 800; line-height: 1.08; letter-spacing: -0.02em; margin: 0 0 .45em; }
h1 { font-size: clamp(2.3rem, 5.2vw, 4rem); }
h2 { font-size: clamp(1.7rem, 3.4vw, 2.6rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.4rem); }
p  { margin: 0 0 1em; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.section { padding: 104px 0; }
.center { text-align: center; }

.bg-paper { background: var(--cream); }
.bg-soft  { background: var(--paper); }
.bg-ink   { background-color: var(--ink); color: var(--text-onDark); position: relative; }
.bg-ink h1,.bg-ink h2,.bg-ink h3 { color: #fff; }

/* ====================== БЕЙДЖ (плоский, без наклона) ====================== */
.sticker {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--f-head); font-weight: 800;
  font-size: .74rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ink); background: transparent;
  border: 2px solid currentColor; border-radius: 999px;
  padding: .42em 1em;
}
.sticker.solid { background: var(--gold); border-color: var(--gold); }
.sticker.cyan  { color: #14808f; }
.sticker.pink  { color: var(--pink); }
.sticker.red   { color: var(--red); }
.sticker.onDark{ color: var(--cyan); }

/* ====================== КНОПКИ ====================== */
.btn {
  --bg: var(--gold);
  display: inline-flex; align-items: center; gap: .5em;
  font-family: var(--f-head); font-weight: 800; font-size: 1rem;
  text-decoration: none; cursor: pointer; color: var(--ink); background: var(--bg);
  border: 0; border-radius: 999px; padding: .82em 1.6em;
  box-shadow: 0 8px 20px rgba(21,25,61,.16);
  transition: transform .14s ease, box-shadow .14s ease, opacity .14s;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(21,25,61,.22); }
.btn.cyan { --bg: var(--cyan); }
.btn.pink { --bg: var(--pink); color:#fff; }
.btn.dark { --bg: var(--ink); color:#fff; }
.btn.ghost { background: transparent; color: var(--text-onDark); border: 2px solid rgba(255,255,255,.35); box-shadow:none; }
.btn.ghost:hover { background: rgba(255,255,255,.08); transform: none; box-shadow:none; }
.btn.outline { background: transparent; color: var(--ink); border: 2px solid var(--ink); box-shadow:none; }
.btn.outline:hover { background: var(--ink); color:#fff; transform: none; box-shadow:none; }

/* ====================== НАВБАР ====================== */
.nav { position: sticky; top: 0; z-index: 50; background: rgba(251,247,240,.86); backdrop-filter: blur(10px); border-bottom: 1px solid var(--hair); }
.nav.on-ink { background: rgba(21,25,61,.86); border-bottom: 1px solid rgba(255,255,255,.08); }
.nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 72px; }
.nav .brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.nav .brand img { height: 42px; }
.nav .brand b { font-family: var(--f-head); font-weight: 800; font-size: 1.15rem; letter-spacing: -.01em; }
.nav.on-ink .brand b { color: #fff; }
.nav .links { display: flex; gap: 30px; align-items: center; }
.nav .links a { text-decoration: none; font-weight: 700; font-size: .96rem; color: var(--text-soft); transition: color .15s; }
.nav.on-ink .links a { color: #c7cae6; }
.nav .links a:hover { color: var(--ink); }
.nav.on-ink .links a:hover { color: #fff; }
@media (max-width: 760px) { .nav .links a:not(.btn) { display:none; } }

/* ====================== РАЗДЕЛИТЕЛЬ-ПОТЁК (тонкий) ====================== */
.drip { display:block; width:100%; height:26px; }

/* ====================== КАРТОЧКИ ====================== */
.card { background: var(--paper); border: 1px solid var(--hair); border-radius: var(--r); box-shadow: var(--shadow); padding: 32px; }
.card h3 { margin-bottom: .35em; }
.grid { display: grid; gap: 24px; }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 860px){ .grid-3,.grid-2 { grid-template-columns: 1fr; } }

.step-n { font-family: var(--f-head); font-weight: 800; font-size: 1.2rem;
  width: 46px; height: 46px; display:grid; place-items:center;
  background: var(--cream); color: var(--ink); border: 2px solid var(--ink); border-radius: 50%; margin-bottom: 18px; }

code, .mono { font-family: var(--f-mono); font-size: .92em; }
.codeblock { background: #11142f; color: #cdd9ff; border-radius: var(--r-sm); padding: 16px 18px; overflow:auto; font-family: var(--f-mono); font-size:.9rem; line-height:1.55; }

/* ====================== ФУТЕР ====================== */
.footer { background: var(--ink); color: var(--text-onDark); padding: 56px 0 44px; }
.footer .brand { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.footer .brand img { height: 40px; }
.footer small { color: #9095bd; }

/* декоративные акценты — деликатно */
.blob { position:absolute; pointer-events:none; z-index:0; }
.relyer { position: relative; z-index: 1; }

/* hero */
.hero { position: relative; overflow: hidden; }
.hero .logo-main { width: min(370px, 70%); margin: 4px auto 30px; filter: drop-shadow(0 16px 26px rgba(0,0,0,.35)); }
.hero .lead { font-size: 1.16rem; max-width: 590px; color: #c9ccec; }
.tags { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin: 22px 0; }
.cta-row { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top: 32px; }

.eyebrow { font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; color: var(--text-soft); }

/* ====================== ДЕКОР: кляксы, объекты, значки ====================== */
.deco { position:absolute; pointer-events:none; z-index:0; user-select:none; }
.hero .wrap, .section .wrap { position:relative; z-index:1; }   /* контент над декором */

/* значок-иконка категории в карточке */
.cat-ico { width:54px; height:54px; object-fit:contain; margin-bottom:14px;
  filter: drop-shadow(0 5px 9px rgba(21,25,61,.14)); }

/* объект (баллон/маркер/банка) в углу карточки-шага */
.card { position:relative; overflow:hidden; }
.step-obj { position:absolute; top:14px; right:14px; width:62px; opacity:.95; pointer-events:none;
  filter: drop-shadow(0 4px 8px rgba(21,25,61,.16)); }

/* бейдж-картинка (готовые граффити-надписи COOL/NEW/…) */
.badge-img { height:56px; width:auto; display:inline-block; vertical-align:middle;
  filter: drop-shadow(0 4px 9px rgba(21,25,61,.18)); }

/* ====================== СТРАНИЦА ПУБЛИКАЦИИ (классы для агентов) ====================== */
/* Брендовая шапка с крупным, отчётливо видимым логотипом */
.pub-hero { background: var(--ink); text-align: center; padding: 38px 20px 30px; position: relative; overflow: hidden; }
.pub-hero .pub-logo { height: 104px; width: auto; margin: 0 auto 16px; display: block;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.45)); position: relative; z-index: 1; }
.pub-hero .sticker { position: relative; z-index: 1; }
@media (max-width: 600px){ .pub-hero .pub-logo { height: 78px; } }

.topbar { background: var(--ink); }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; height:60px; }
.topbar .brand { display:flex; align-items:center; gap:10px; text-decoration:none; }
.topbar .brand img { height:34px; }
.topbar .brand b { color:#fff; font-weight:800; font-size:1rem; }
.privnote { background:#FFF8E6; color:#6b5413; text-align:center; font-weight:600; font-size:.9rem; padding:10px 16px; border-bottom:1px solid #f0e2bd; }
.pub { max-width:780px; margin:0 auto; padding:0 24px; }
.pubhead { padding:52px 0 28px; }
.pubhead .meta { display:flex; gap:9px; flex-wrap:wrap; align-items:center; color:var(--text-soft); font-size:.9rem; margin-top:18px; }
.chip { display:inline-flex; align-items:center; gap:6px; background:var(--paper); border:1px solid var(--hair); border-radius:999px; padding:.3em .85em; font-weight:600; font-size:.84rem; }
.paper { background:var(--paper); border:1px solid var(--hair); border-radius:var(--r); box-shadow:var(--shadow-lg); padding:46px clamp(22px,5vw,58px); margin-bottom:70px; position:relative; overflow:hidden; }
.paper::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:var(--cyan); }
.prose h2 { margin:1.5em 0 .5em; font-size:1.5rem; }
.prose h2:first-child { margin-top:.2em; }
.prose h3 { margin:1.4em 0 .4em; font-size:1.18rem; color:var(--ink-2); }
.prose p,.prose li { font-size:1.05rem; }
.prose ul,.prose ol { padding-left:1.2em; }
.prose a { color:#1488a1; text-decoration:underline; text-underline-offset:3px; }
.prose table { width:100%; border-collapse:collapse; margin:1.3em 0; font-size:.96rem; }
.prose th { background:var(--cream); color:var(--ink); text-align:left; padding:11px 13px; border-bottom:2px solid var(--hair); }
.prose td { padding:11px 13px; border-bottom:1px solid #f0ece1; }
.prose tr:nth-child(even) td { background:#fcfaf4; }
.prose blockquote { margin:1.3em 0; padding:.7em 1.15em; border-left:4px solid var(--cyan); background:#f3fbfd; border-radius:0 var(--r-sm) var(--r-sm) 0; color:#234; }
.tag-pill { display:inline-block; font-weight:700; font-size:.78rem; padding:.18em .7em; border-radius:999px; }
.tag-pill.ok { background:#e3f7ec; color:#127a40; }
.tag-pill.bad { background:#fde7e9; color:#c5222f; }
.tag-pill.warn { background:#fef1d6; color:#946100; }

/* ====================== HERO-ФОНЫ + ДОСТУПНОСТЬ ====================== */
/* Верхний hero на граффити-фоне (Подложка2) с тёмным оверлеем для читаемости */
.hero.hero-bg {
  background: linear-gradient(rgba(17,20,46,.50), rgba(17,20,46,.66)), url("/assets/hero-top.jpg?4") center/cover no-repeat;
  color: var(--text-onDark);
}
.hero.hero-bg .eyebrow { color: #bcd9ff; }
.hero.hero-bg h1 { color: #fff; }
.hero.hero-bg .lead b { color: #fff; }
.hero.hero-bg .logo-main { filter: drop-shadow(0 16px 30px rgba(0,0,0,.55)); }

/* Нижний баннер-полоса (граффити LEO COOL) перед футером */
.banner-bottom { background: var(--ink); text-align: center; padding: 30px 20px 6px; line-height: 0; }
.banner-bottom img { max-width: 660px; width: 100%; height: auto; margin: 0 auto; display: inline-block; }

/* Доступность: видимый фокус клавиатуры + уважение к reduced-motion */
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 2px; border-radius: 4px; }
.btn:focus-visible, .nav .links a:focus-visible { outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; animation: none !important; }
}
