/* Aatox site: sections shared by the home page and the KnowWhere page.
   Builds on style.css (tokens, nav, buttons, bands, phone frame, notification mock, faq, footer). */

/* ---------- chat bubbles (words are the real app replies) ---------- */
.chat { display: grid; gap: var(--s75); margin-top: var(--s300); }
.bub { max-width: 88%; padding: var(--s100) var(--s200); border-radius: var(--r-2xl); font-size: 16px; line-height: 24px; font-weight: 600; }
.bub.me { justify-self: end; background: var(--accent); color: var(--accent-ink); border-bottom-right-radius: var(--r-sm); }
.bub.kw { justify-self: start; background: #ffffff; color: var(--ink); border-bottom-left-radius: var(--r-sm); }

/* ---------- facts as rows: icon, title, text ---------- */
.fact-list { list-style: none; display: grid; }
.fact { display: grid; grid-template-columns: 32px 1fr; gap: var(--s200); padding-block: var(--s300); border-top: 1px solid var(--line); }
.fact:last-child { border-bottom: 1px solid var(--line); }
.fact .ico { width: 32px; height: 32px; color: var(--accent); }
.fact h3 { font-size: 18px; line-height: 28px; letter-spacing: -0.01em; margin-bottom: var(--s50); }
.fact p { color: var(--muted); max-width: 600px; }
.fact p + p { margin-top: var(--s75); }

/* ---------- reminders band (flat indigo) ---------- */
.rem { display: grid; gap: var(--s600); align-items: center; }
.rem .eyebrow { color: #ffffff; }
.rem .h2 { margin-bottom: var(--s200); }
.rem .lead { color: rgba(255, 255, 255, 0.92); max-width: 560px; }
.rem-list { list-style: none; display: grid; gap: var(--s200); margin-top: var(--s400); }
.rem-list li { display: grid; grid-template-columns: 24px 1fr; gap: var(--s100); }
.rem-list .ico { width: 24px; height: 24px; color: #ffffff; }
.rem-list b { display: block; font-weight: 700; }
.rem-list span { color: rgba(255, 255, 255, 0.9); }
.rem-visual { position: relative; display: grid; justify-items: center; gap: var(--s200); }
.rem-visual .phone { --pw: 240px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08), 0 24px 48px rgba(23, 20, 31, 0.35); }
.rem-visual .ntf { position: relative; z-index: 2; }
.rem-visual .ntf-a { margin-top: calc(-1 * var(--s800)); }
@media (min-width: 960px) {
  .rem { grid-template-columns: 1fr 1fr; gap: var(--s700); }
  .rem-visual { display: block; height: 600px; }
  .rem-visual .phone { --pw: 264px; position: absolute; right: var(--s300); top: 0; }
  .rem-visual .ntf { position: absolute; width: 340px; max-width: none; }
  .rem-visual .ntf-a { margin-top: 0; left: 0; top: var(--s800); }
  .rem-visual .ntf-b { left: var(--s400); bottom: var(--s300); }
}

.rem-note { margin-top: var(--s300); font-size: 14px; line-height: 20px; color: rgba(255, 255, 255, 0.9); }

/* ---------- smart voice: where each thing goes ---------- */
.leaves { display: grid; gap: var(--s100); }
.leave { display: grid; gap: var(--s200); align-items: start; background: var(--surface); border-radius: var(--r-3xl); padding: var(--s300); }
.leave .head { display: flex; align-items: center; gap: var(--s100); }
.leave .ico { width: 32px; height: 32px; color: var(--accent); }
.leave h3 { font-size: 20px; line-height: 28px; letter-spacing: -0.01em; }
.leave ul { padding-left: var(--s300); color: var(--muted); }
.leave li { margin-bottom: var(--s50); }
.leaves-note { margin-top: var(--s300); color: var(--muted); max-width: 800px; }
@media (min-width: 900px) { .leave { grid-template-columns: 280px 1fr; gap: var(--s300); } }
