/* HERO */
.hero { padding:48px 0 20px; }
.hero-top { max-width:760px; margin:0 auto; text-align:center; }
.hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; text-transform:uppercase;
  letter-spacing:0.1em; color:var(--teal); margin-bottom:18px;
}
.hero-tag-dot {
  width:8px; height:8px; border-radius:50%; background:var(--accent);
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0%,100% { box-shadow:0 0 0 0 rgba(53,161,255,0.4); }
  50% { box-shadow:0 0 0 6px rgba(53,161,255,0); }
}
.hero h1 {
  font-family:'Geologica',sans-serif; font-weight:500;
  font-size:clamp(34px,4.5vw,54px); line-height:1.08;
  letter-spacing:-0.025em; margin-bottom:16px;
}
.hero h1 em {  color:var(--accent); }
.hero-sub {
  font-size:17px; line-height:1.55; color:var(--ink-soft);
  max-width:620px; margin:0 auto 12px;
}
.hero-fine {
  font-size:14px; color:var(--ink-muted);
}

/* THREE ENTRIES */
.entries { padding:28px 0 72px; }
.entries-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }

.entry {
  background:var(--bg); border:1.5px solid var(--line); border-radius:20px;
  padding:28px 24px 24px; display:flex; flex-direction:column; gap:14px;
  transition:all 0.25s cubic-bezier(0.2,0.8,0.2,1);
}
.entry:hover { transform:translateY(-3px); box-shadow:var(--shadow-lift); border-color:var(--line-strong); }
.entry.main { background:var(--accent); color:white; border-color:var(--accent); }

.entry-top { display:flex; align-items:center; justify-content:space-between; }
.entry-icon {
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:26px;
}
.entry .entry-icon { background:var(--bg-deep); }
.entry.main .entry-icon { background:var(--accent); }
.entry-badge {
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em;
  background:var(--accent); color:white; padding:4px 10px; border-radius:100px;
}

.entry h3 {
  font-family:'Geologica',sans-serif; font-weight:600; font-size:22px;
  line-height:1.15; letter-spacing:-0.01em;
}
.entry-desc { font-size:15px; line-height:1.5; color:var(--ink-soft); flex:1; }
.entry.main .entry-desc { color:rgba(255,255,255,0.85); }

.entry-examples {
  font-size:13px; color:var(--ink-muted); line-height:1.45;
  padding:10px 0 0; border-top:1px solid var(--line);
}
.entry.main .entry-examples { color:rgba(255,255,255,0.5); border-top-color:rgba(255,255,255,0.2); }

.entry-btn {
  display:flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 20px; border-radius:100px; border:none;
  font-family:inherit; font-size:15px; font-weight:600;
  cursor:pointer; transition:all 0.2s; width:100%;
}
.entry .entry-btn { background:var(--accent); color:white; }
.entry .entry-btn:hover { background:var(--accent-deep); }
.entry.main .entry-btn { background:white; color:var(--accent); }
.entry.main .entry-btn:hover { background:var(--bg-deep); color:var(--accent-deep); }
.entry-btn:hover .arrow { transform:translateX(3px); }
.entry-btn .arrow { transition:transform 0.2s; }

/* EXPLAINER — без diff-карточек */
.explainer {
  padding:64px clamp(16px, 4vw, 32px) 72px;
  background:var(--bg-warm);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.explainer-inner { max-width:780px; margin:0 auto; }

.explainer-inner h2 {
  font-family:'Geologica',sans-serif; font-weight:500;
  font-size:clamp(28px,3vw,40px); line-height:1.1;
  letter-spacing:-0.02em; margin-bottom:20px;
  text-align:center;
}
.explainer-inner h2 em {  color:var(--teal); }

.explainer-text {
  font-size:17px; line-height:1.65; color:var(--ink-soft);
  text-align:center; max-width:680px; margin:0 auto;
  padding: 0 8px;
}

/* DEMO */
.demo { padding:72px 0 88px; }
.demo-header { text-align:center; margin-bottom:40px; }
.demo-header h2 {
  font-family:'Geologica',sans-serif; font-weight:500;
  font-size:clamp(28px,3vw,40px); line-height:1.1; letter-spacing:-0.02em; margin-bottom:10px;
}
.demo-header h2 em {  color:var(--accent); }
.demo-header p { font-size:15px; color:var(--ink-muted); }

.demo-phone {
  max-width:400px; margin:0 auto;
  background:#2A2A2A; border-radius:32px; padding:14px;
  box-shadow:var(--shadow-lift);
}
.demo-screen { background:var(--bg); border-radius:20px; overflow:hidden; }
.demo-bar {
  background:var(--bg-deep); padding:12px 18px;
  display:flex; align-items:center; gap:10px;
  border-bottom:1px solid var(--line);
}
.demo-bar-dot { width:9px; height:9px; border-radius:50%; background:var(--green); }
.demo-bar-text { font-size:12px; font-weight:600; color:var(--ink-soft); }
.demo-species {
  display:flex; gap:8px; padding:14px 18px;
  border-bottom:1px solid var(--line);
}
.demo-species-btn {
  flex:1; padding:9px; border-radius:10px; border:1.5px solid var(--line);
  background:var(--bg); font-family:inherit; font-size:13px; font-weight:600;
  cursor:pointer; text-align:center; transition:all 0.15s;
}
.demo-species-btn.active { background:var(--accent); color:white; border-color:var(--accent); }
.demo-chat { padding:18px; display:flex; flex-direction:column; gap:10px; min-height:260px; }

.msg { padding:11px 15px; border-radius:14px; font-size:13.5px; line-height:1.45; max-width:85%; animation:msgIn 0.4s ease-out backwards; }
.msg-user { background:var(--accent); color:white; align-self:flex-end; border-bottom-right-radius:4px; animation-delay:0.2s; }
.msg-bot { background:var(--bg-deep); align-self:flex-start; border-bottom-left-radius:4px; animation-delay:0.6s; }
.msg-result { align-self:flex-start; animation-delay:1s; padding:0; max-width:92%; }
@keyframes msgIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

.result-card { border-radius:12px; overflow:hidden; }
.result-top { padding:10px 14px; font-size:13px; font-weight:700; display:flex; align-items:center; gap:8px; }
.result-top.amber { background:var(--accent); color:white; }
.result-body { background:rgba(216,155,60,0.1); padding:12px 14px; font-size:13px; line-height:1.45; color:var(--ink-soft); }
.result-action {
  display:block; width:100%; padding:11px; background:var(--accent); color:white;
  border:none; font-family:inherit; font-size:13px; font-weight:600;
  cursor:pointer; text-align:center;
}

.demo-input {
  padding:10px 18px; border-top:1px solid var(--line);
  display:flex; align-items:center; gap:8px;
}
.demo-field {
  flex:1; padding:9px 14px; border-radius:100px; border:1.5px solid var(--line);
  background:var(--bg); font-family:inherit; font-size:13px; color:var(--ink-muted); outline:none;
}
.demo-send {
  width:36px; height:36px; border-radius:50%; background:var(--accent); color:white;
  border:none; display:flex; align-items:center; justify-content:center; font-size:15px; cursor:pointer;
}

/* TRIAGE */
.triage {
  padding:64px clamp(16px, 4vw, 32px) 72px;
  background:var(--bg-warm);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
}
.triage-inner { max-width:1180px; margin:0 auto; }
.sh { margin-bottom:36px; }
.sh h2 {
  font-family:'Geologica',sans-serif; font-weight:500;
  font-size:clamp(28px,3vw,40px); line-height:1.1; letter-spacing:-0.02em; max-width:720px;
}
.sh h2 em {  color:var(--accent); }
.sh-sub { font-size:15px; color:var(--ink-muted); margin-top:10px; max-width:520px; }

.triage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.tc { background:var(--bg); border-radius:18px; padding:24px 22px; border-top:5px solid; }
.tc.red { border-color:var(--accent); }
.tc.amber { border-color:var(--amber); }
.tc.green { border-color:var(--green); }
.tc-label {
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; margin-bottom:12px;
}
.tc.red .tc-label { color:var(--accent-deep); }
.tc.amber .tc-label { color:#a77422; }
.tc.green .tc-label { color:#3d5528; }
.tc-dot { width:9px; height:9px; border-radius:50%; }
.tc.red .tc-dot { background:var(--accent); animation:pRed 1.5s infinite; }
.tc.amber .tc-dot { background:var(--amber); }
.tc.green .tc-dot { background:var(--green); }
@keyframes pRed { 0%,100%{box-shadow:0 0 0 0 rgba(53,161,255,0.5)} 50%{box-shadow:0 0 0 6px rgba(53,161,255,0)} }

.tc h4 { font-family:'Geologica',sans-serif; font-size:20px; font-weight:500; line-height:1.15; margin-bottom:8px; }
.tc p { font-size:13.5px; line-height:1.5; color:var(--ink-soft); margin-bottom:12px; }
.tc-action { font-size:13px; font-weight:600; color:var(--ink); padding-top:10px; border-top:1px dashed var(--line-strong); }

/* TRUST */
.trust { padding:64px 0; }
.trust-inner { max-width:800px; margin:0 auto; }
.trust-header { text-align:center; margin-bottom:36px; }
.trust-header h2 { font-family:'Geologica',sans-serif; font-weight:500; font-size:clamp(28px,3vw,40px); line-height:1.1; letter-spacing:-0.02em; }
.trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ti { padding:22px; border:1px solid var(--line); border-radius:14px; background:var(--bg); }
.ti-icon { font-size:26px; margin-bottom:10px; }
.ti h4 { font-family:'Geologica',sans-serif; font-weight:600; font-size:17px; margin-bottom:5px; line-height:1.2; }
.ti p { font-size:13.5px; line-height:1.5; color:var(--ink-soft); }

/* FINAL CTA */
.final {
  padding:72px clamp(16px, 4vw, 32px) 88px;
  background:var(--ink); color:var(--bg);
  position:relative; overflow:hidden;
}
.final::before {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:500px; height:500px;
  background:radial-gradient(circle,var(--accent) 0%,transparent 70%);
  opacity:0.18; border-radius:50%; pointer-events:none;
}
.final-inner { max-width:640px; margin:0 auto; text-align:center; position:relative; z-index:1; }
.final h2 {
  font-family:'Geologica',sans-serif; font-weight:500;
  font-size:clamp(30px,3.8vw,48px); line-height:1.08;
  letter-spacing:-0.025em; margin-bottom:18px;
}
.final h2 em {  color:var(--accent); }
.final p { font-size:16px; line-height:1.5; color:rgba(255,255,255,0.7); margin-bottom:32px; max-width:460px; margin-left:auto; margin-right:auto; }
.final-btns { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.bf {
  padding:15px 26px; border-radius:100px; border:none;
  font-family:inherit; font-size:15px; font-weight:600;
  cursor:pointer; transition:all 0.2s; display:inline-flex; align-items:center; gap:8px;
}
.bf.p { background:var(--bg); color:var(--ink); }
.bf.p:hover { background:var(--accent); color:var(--bg); }
.bf.s { background:rgba(255,255,255,0.12); color:white; border:1px solid rgba(255,255,255,0.2); }
.bf.s:hover { background:rgba(255,255,255,0.2); }

/* FOOTER */
.site-footer { padding:28px 0; font-size:13px; color:var(--ink-muted); text-align:center; line-height:1.6; }
.site-footer a { color:var(--ink-soft); text-decoration:none; border-bottom:1px solid var(--line); }
.footer-disc { margin-top:6px; font-size:12px; opacity:0.7; }

/* Усилить серый текст в карточках входов */
.landing-page .entry-desc,
.landing-page .entry-examples {
  color: rgba(51, 51, 51, 0.72);
}

/* Для синей главной карточки — чуть плотнее белый второстепенный текст */
.landing-page .entry.main .entry-desc {
  color: rgba(255, 255, 255, 0.92);
}

.landing-page .entry.main .entry-examples {
  color: rgba(255, 255, 255, 0.78);
}

/* Усилить серый текст внутри демо-телефона */
.landing-page .msg-bot,
.landing-page .result-body {
  color: rgba(51, 51, 51, 0.78);
}

/* Сделать верхнюю плашку результата в телефоне чёрной */
.landing-page .result-top,
.landing-page .result-top.amber,
 .landing-page .result-action{
  background: #333333;
  color: #ffffff;
}

/* Общий мягкий текст сделать менее бледным */
.landing-page {
  --ink-soft: #565c64;
  --ink-muted: #8a9098;
}