/* ============================================================
   Daimo — общий CSS портала daimo.life
   Источник правды: Daimo/brand/brand-book.md (v1.0, июль 2026)
   Регистры: Голос (синее поле) · День (белый воздух) · Ночь (#050814)
   Шрифты self-hosted, вариативные: Unbounded 300–900, Golos Text 400–600
   ============================================================ */

/* ---------- шрифты (вариативные, кириллица + латиница) ---------- */
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/assets/fonts/unbounded-var-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/assets/fonts/unbounded-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-var-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url('/assets/fonts/golos-text-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- палитра ---------- */
:root {
  --electric: #0038FF;  /* главный */
  --klein:    #002FA7;  /* глубина */
  --fire:     #FFD500;  /* акцент, ≤15%, точка — не поле */
  --ink:      #0A0A0A;  /* текст / тёмное */
  --white:    #FFFFFF;
  --night:    #050814;  /* ночной фон */
  --night-panel: #0B1231;
  --night-line:  #17204A;
  --night-text:  #B9C0D6;
  --night-cap:   #4A5578;
  --grey-text: #3C3C3C;
  --grey-line: #E5E5E5;
  --grey-bg:   #F7F7F7;
}

/* ---------- база ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Golos Text', 'Segoe UI', sans-serif;
  background: var(--white);
  color: var(--ink);
  line-height: 1.65;
  -webkit-text-size-adjust: 100%;
}
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 20px; }
a { color: inherit; }
img { max-width: 100%; display: block; }

/* ---------- навигация ---------- */
nav { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,0.94); backdrop-filter: blur(10px); border-bottom: 1px solid #ECECEC; }
nav .wrap { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; gap: 12px; }
nav .logo { color: var(--electric); display: inline-flex; align-items: center; text-decoration: none; }
nav .logo svg { height: 15px; width: auto; display: block; }
nav .links { display: flex; gap: 22px; align-items: center; }
nav .links a { font-size: 14px; color: var(--grey-text); text-decoration: none; font-weight: 500; white-space: nowrap; }
nav .links a:hover { color: var(--electric); }
nav .cta { background: var(--electric); color: #fff !important; font-weight: 700; font-size: 13.5px; padding: 10px 18px; text-decoration: none; }
nav .cta:hover { background: var(--klein); }
nav .lang { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; color: var(--grey-text); text-decoration: none; border: 1px solid var(--grey-line); padding: 6px 10px; }
nav .lang:hover { color: var(--electric); border-color: var(--electric); }
@media (max-width: 820px) { nav .links a:not(.cta):not(.lang) { display: none; } }

/* ---------- hero: регистр «Голос» (синее поле) ---------- */
.hero-voice { background: var(--electric); color: #fff; padding: clamp(72px, 11vw, 130px) 0 clamp(64px, 9vw, 104px); }
.hero-voice .kicker { font-size: clamp(12px, 1.4vw, 14px); letter-spacing: 0.22em; text-transform: uppercase; color: var(--fire); font-weight: 600; }
.hero-voice h1 { font-family: 'Unbounded'; font-weight: 900; font-size: clamp(28px, 5.6vw, 58px); text-transform: uppercase; line-height: 1.08; margin-top: 24px; max-width: 900px; }
.hero-voice h1 em { font-style: normal; color: var(--fire); }
.hero-voice .sub { margin-top: 24px; font-size: clamp(16px, 1.9vw, 19px); color: rgba(255,255,255,0.88); max-width: 580px; }
.hero-voice .sub b { color: #fff; }

/* ---------- hero: регистр «День» (белый воздух) ---------- */
.hero-day { padding: clamp(64px, 10vw, 120px) 0 clamp(40px, 6vw, 72px); }
.hero-day .kicker { font-size: clamp(12px, 1.4vw, 14px); letter-spacing: 0.22em; text-transform: uppercase; color: var(--electric); font-weight: 700; }
.hero-day h1 { font-family: 'Unbounded'; font-weight: 900; font-size: clamp(27px, 5.4vw, 56px); text-transform: uppercase; line-height: 1.08; margin-top: 24px; max-width: 900px; color: var(--ink); }
.hero-day h1 .y { background: linear-gradient(0deg, var(--fire), var(--fire)); background-size: 100% 34%; background-position: 0 88%; background-repeat: no-repeat; }
.hero-day .sub { margin-top: 24px; font-size: clamp(16px, 1.9vw, 19px); color: var(--grey-text); max-width: 620px; }
.hero-day .sub b { color: var(--ink); }

.hero-row { display: flex; gap: 16px; margin-top: 36px; flex-wrap: wrap; align-items: center; }

/* ---------- кнопки ---------- */
.btn { display: inline-block; background: var(--electric); color: #fff; font-weight: 700; font-size: 16px; padding: 16px 32px; text-decoration: none; border: none; cursor: pointer; font-family: inherit; }
.btn:hover { background: var(--klein); }
.btn-fire { background: var(--fire); color: var(--ink); }
.btn-fire:hover { background: #ffdf33; }
.link2 { color: inherit; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- секции ---------- */
section { padding: clamp(56px, 8vw, 100px) 0; }
.alt { background: var(--grey-bg); }
.kick { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--electric); font-weight: 700; }
h2 { font-family: 'Unbounded'; font-weight: 700; font-size: clamp(22px, 3.3vw, 34px); text-transform: uppercase; line-height: 1.16; margin-top: 14px; }
h2 .y { background: linear-gradient(0deg, var(--fire), var(--fire)); background-size: 100% 38%; background-position: 0 86%; background-repeat: no-repeat; }
.lead { margin-top: 18px; font-size: clamp(15.5px, 1.8vw, 17.5px); color: var(--grey-text); max-width: 680px; }
.lead b { color: var(--ink); }

/* ---------- карточки 3-в-ряд ---------- */
.three { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 40px; }
@media (min-width: 861px) { .three { grid-template-columns: repeat(3, 1fr); } }
.card { border: 1px solid var(--grey-line); background: var(--white); padding: 28px 26px; }
.card .n { font-family: 'Unbounded'; font-weight: 900; font-size: 15px; color: var(--electric); }
.card h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 17px; margin: 14px 0 10px; line-height: 1.3; }
.card p { font-size: 14.5px; color: var(--grey-text); }
.card p + p { margin-top: 10px; }
.card p b { color: var(--ink); }

/* ---------- сто дней: список дня + чётки ---------- */
.days { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 40px; align-items: center; }
@media (min-width: 861px) { .days { grid-template-columns: 1.1fr 1fr; } }
.day-list { list-style: none; }
.day-list li { display: flex; gap: 16px; padding: 15px 0; border-bottom: 1px solid var(--grey-line); align-items: baseline; }
.day-list li:last-child { border-bottom: none; }
.day-list .t { font-family: 'Unbounded'; font-weight: 700; font-size: 12.5px; color: var(--electric); flex: 0 0 96px; }
.day-list .d { font-size: 15px; color: var(--grey-text); }
.day-list .d b { color: var(--ink); }
.rosary { background: var(--ink); padding: 36px 30px; }
.rosary h4 { font-family: 'Unbounded'; font-weight: 700; font-size: 16px; color: #fff; margin-bottom: 14px; }
.rosary p { font-size: 14.5px; color: #C4C4C4; margin-bottom: 20px; }
.rosary p b { color: var(--fire); }
.beads { display: flex; gap: 7px; flex-wrap: wrap; }
.bead { width: 13px; height: 13px; border-radius: 50%; background: #2A2A2A; }
.bead.lit { background: var(--fire); box-shadow: 0 0 9px 2px rgba(255,213,0,0.55); }
.bead.today { background: var(--electric); box-shadow: 0 0 9px 2px rgba(0,56,255,0.6); }
.rosary .cap { font-size: 12px; color: #6E6E6E; margin-top: 14px; margin-bottom: 0; }

/* ---------- ночной регистр ---------- */
.night { background: var(--night); color: #E8EAF2; }
.night .kick { color: var(--fire); }
.night h2 { color: #E8EAF2; font-weight: 300; text-transform: none; font-size: clamp(22px, 3.2vw, 34px); }
.night h2 b { font-weight: 700; }
.night .lead { color: var(--night-text); }
.night .lead b { color: #E8EAF2; }
.night-grid { display: grid; grid-template-columns: 1fr; gap: 40px; margin-top: 40px; align-items: start; }
@media (min-width: 861px) { .night-grid { grid-template-columns: 1fr 1fr; } }
.chat .msg { background: var(--night-panel); border: 1px solid var(--night-line); padding: 18px 20px; margin-bottom: 14px; max-width: 480px; }
.chat .msg .from { font-size: 11.5px; color: var(--fire); letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 7px; }
.chat .msg.user { background: transparent; border: 1px solid var(--night-line); margin-left: 30px; }
.chat .msg.user .from { color: var(--night-cap); }
.chat .msg p { font-size: 14.5px; color: var(--night-text); }
.ai-points { list-style: none; }
.ai-points li { padding: 15px 0; border-bottom: 1px solid var(--night-line); font-size: 15px; color: var(--night-text); }
.ai-points li:last-child { border-bottom: none; }
.ai-points b { color: #E8EAF2; display: block; margin-bottom: 3px; font-family: 'Unbounded'; font-weight: 400; font-size: 14px; }

/* ---------- позиционирование ---------- */
.poles { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 40px; }
@media (min-width: 861px) { .poles { grid-template-columns: 1fr 1fr 1fr; } }
.pole { border: 1px solid var(--grey-line); background: var(--white); padding: 26px; }
.pole.us { border: 2px solid var(--electric); position: relative; }
.pole.us::before { content: 'DAIMO'; position: absolute; top: -11px; left: 24px; background: var(--electric); color: #fff; font-family: 'Unbounded'; font-weight: 700; font-size: 11px; padding: 3px 10px; letter-spacing: 0.08em; }
.pole h4 { font-family: 'Unbounded'; font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.pole.us h4 { color: var(--electric); }
.pole p { font-size: 14px; color: var(--grey-text); }
.pole .tag { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #9A9A9A; margin-bottom: 8px; }

/* ---------- таймлайн статуса ---------- */
.timeline { margin-top: 40px; list-style: none; max-width: 760px; }
.timeline li { display: flex; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--grey-line); }
.timeline li:last-child { border-bottom: none; }
.timeline .dot { flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--fire); margin-top: 9px; }
.timeline .dot.now { background: var(--electric); }
.timeline p { font-size: 15px; color: var(--grey-text); }
.timeline p b { color: var(--ink); }

/* ---------- основатель ---------- */
.founder { display: grid; grid-template-columns: 1fr; gap: 36px; margin-top: 40px; align-items: start; }
@media (min-width: 861px) { .founder { grid-template-columns: 300px 1fr; gap: 48px; } }
.fphoto { aspect-ratio: 4/5; overflow: hidden; background: var(--grey-bg); }
.fphoto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; }
.fbody h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 21px; }
.fbody .role { font-size: 14px; color: var(--electric); font-weight: 600; margin-top: 4px; }
.fbody p { font-size: 15.5px; color: var(--grey-text); margin-top: 16px; max-width: 560px; }
.fbody p b { color: var(--ink); }
.fquote { border-left: 3px solid var(--fire); padding-left: 20px; font-size: 17px; color: var(--ink); margin-top: 22px; max-width: 560px; font-style: italic; }
.more-link { display: inline-block; margin-top: 18px; font-weight: 600; color: var(--electric); text-decoration: none; }
.more-link:hover { text-decoration: underline; }

/* ---------- список текстов ---------- */
.texts-list { margin-top: 36px; max-width: 720px; }
.texts-list a.item { display: block; padding: 20px 0; border-bottom: 1px solid var(--grey-line); text-decoration: none; }
.texts-list a.item:hover h3 { color: var(--electric); }
.texts-list .meta { font-size: 13px; color: #9A9A9A; }
.texts-list h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 17px; margin: 6px 0; line-height: 1.35; }
.texts-list p { font-size: 14.5px; color: var(--grey-text); }

/* ---------- финальный CTA (Голос) ---------- */
.final { background: var(--electric); color: #fff; }
.final .kick { color: var(--fire); }
.final h2 { color: #fff; max-width: 760px; }
.final h2 em { font-style: normal; color: var(--fire); }
.final .lead { color: rgba(255,255,255,0.85); }
.final .lead b { color: #fff; }
.final .row { display: flex; gap: 16px; margin-top: 34px; flex-wrap: wrap; align-items: center; }
.final .mail { color: #fff; font-size: 15px; }
.final .mail a { color: #fff; }

/* ---------- футер ---------- */
footer { background: var(--ink); color: #6E6E6E; padding: 40px 0; }
footer .cols { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 20px; }
footer .logo { color: #fff; display: inline-flex; }
footer .logo svg { height: 14px; width: auto; }
footer nav.flinks { position: static; background: none; border: none; backdrop-filter: none; }
footer .flinks { display: flex; flex-wrap: wrap; gap: 8px 20px; }
footer .flinks a { color: #A8A8A8; font-size: 13.5px; text-decoration: none; }
footer .flinks a:hover { color: #fff; }
footer p { font-size: 13px; margin-top: 4px; }
footer a { color: #A8A8A8; }

/* ---------- аккордеон (программа по неделям, FAQ) ---------- */
details { border: 1px solid var(--grey-line); background: var(--white); margin-top: 10px; }
details summary { cursor: pointer; padding: 16px 20px; font-weight: 600; font-size: 15px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: '+'; font-family: 'Unbounded'; font-weight: 700; color: var(--electric); flex-shrink: 0; }
details[open] summary::after { content: '–'; }
details .body { padding: 0 20px 18px; font-size: 14.5px; color: var(--grey-text); }
details .body p + p { margin-top: 10px; }

/* недели программы внутри аккордеона */
.weeks { list-style: none; }
.weeks li { padding: 12px 0; border-bottom: 1px solid var(--grey-line); font-size: 14.5px; color: var(--grey-text); }
.weeks li:last-child { border-bottom: none; }
.weeks .wn { font-family: 'Unbounded'; font-weight: 700; font-size: 12px; color: var(--electric); display: block; }
.weeks b { color: var(--ink); }

/* ---------- этапы программы (3 больших блока) ---------- */
.stages { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 36px; }
@media (min-width: 861px) { .stages { grid-template-columns: 1fr 1fr 1fr; } }
.stage { border-top: 3px solid var(--electric); background: var(--white); border-left: 1px solid var(--grey-line); border-right: 1px solid var(--grey-line); border-bottom: 1px solid var(--grey-line); padding: 24px 22px; }
.stage .sn { font-family: 'Unbounded'; font-weight: 900; font-size: 13px; color: var(--electric); letter-spacing: 0.04em; }
.stage h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 17px; margin: 10px 0 8px; }
.stage p { font-size: 14.5px; color: var(--grey-text); }

/* ---------- форма заявки ---------- */
.form-card { background: var(--white); border: 2px solid var(--electric); padding: 32px 28px; max-width: 560px; margin-top: 36px; }
.form-card h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 19px; margin-bottom: 6px; }
.form-card .hint { font-size: 14px; color: var(--grey-text); margin-bottom: 20px; }
.form-card label { display: block; font-size: 13.5px; font-weight: 600; margin: 16px 0 6px; }
.form-card label .opt { color: #9A9A9A; font-weight: 400; }
.form-card input[type="text"] { width: 100%; padding: 12px 14px; border: 1px solid #CFCFCF; font-family: inherit; font-size: 15px; background: var(--white); }
.form-card input[type="text"]:focus { outline: 2px solid var(--electric); outline-offset: -1px; border-color: var(--electric); }
.form-card .consent { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; font-size: 13px; color: var(--grey-text); font-weight: 400; }
.form-card .consent input { margin-top: 3px; accent-color: var(--electric); }
.form-card .btn { width: 100%; margin-top: 22px; }
.form-card .status { margin-top: 14px; font-size: 14px; display: none; }
.form-card .status.ok { display: block; color: #0A7A2F; }
.form-card .status.err { display: block; color: #C21807; }
.form-card .status a { font-weight: 600; }
/* honeypot: скрытое поле против спама */
.form-card .hp { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }

/* ---------- страница текста (статья) ---------- */
.article { padding: clamp(48px, 7vw, 80px) 0; }
.article .inner { max-width: 680px; margin: 0 auto; }
.article .meta { font-size: 13.5px; color: #9A9A9A; }
.article h1 { font-family: 'Unbounded'; font-weight: 700; font-size: clamp(24px, 4vw, 38px); line-height: 1.2; margin: 14px 0 28px; }
.article .body { font-size: 17px; font-weight: 400; color: var(--ink); }
.article .body p { margin-bottom: 1.2em; }
.article .body h2 { font-size: 21px; text-transform: none; margin: 1.6em 0 0.6em; }
.article .body blockquote { border-left: 3px solid var(--fire); padding-left: 20px; font-style: italic; margin: 1.4em 0; color: var(--grey-text); }
.author-box { display: flex; gap: 16px; align-items: center; border-top: 1px solid var(--grey-line); border-bottom: 1px solid var(--grey-line); padding: 20px 0; margin: 40px 0 24px; }
.author-box img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; object-position: 50% 12%; }
.author-box .n { font-weight: 600; font-size: 15px; }
.author-box .r { font-size: 13.5px; color: var(--grey-text); }
.author-box a { color: var(--electric); text-decoration: none; font-weight: 600; }

/* ---------- инфоплашки (место/дата/цена холотропа) ---------- */
.facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 32px; max-width: 640px; }
@media (min-width: 640px) { .facts { grid-template-columns: 1fr 1fr; } }
.fact { border: 1px solid var(--grey-line); padding: 16px 18px; background: var(--white); }
.fact .fl { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #9A9A9A; }
.fact .fv { font-weight: 600; font-size: 15px; margin-top: 4px; }
.fact .fv small { display: block; font-weight: 400; font-size: 13px; color: var(--grey-text); }

/* ---------- плашка-предупреждение (противопоказания) ---------- */
.warn { border: 2px solid var(--ink); background: var(--white); padding: 26px 24px; margin-top: 32px; max-width: 760px; }
.warn h3 { font-family: 'Unbounded'; font-weight: 700; font-size: 16px; margin-bottom: 12px; }
.warn p, .warn li { font-size: 14.5px; color: var(--grey-text); }
.warn ul { padding-left: 20px; margin: 10px 0; }
.warn b { color: var(--ink); }

/* ---------- разное ---------- */
.center { text-align: center; }
.mt0 { margin-top: 0; }
hr.sep { border: none; border-top: 1px solid var(--grey-line); margin: 0; }
.crosslink { background: var(--grey-bg); padding: 36px 0; }
.crosslink p { font-size: 15.5px; }
.crosslink a { color: var(--electric); font-weight: 600; }
