/* /app, /privacy (Privacy & Terms), /support, /terms — decision of 30.09 (APP-И-УСЛОВИЯ-30-сен/РЕШЕНИЕ.md).
   Kept apart from site.css on purpose: site.css is edited by the About/footer work at the same time. */

/* ---------- /app: first screen ---------- */
.ah {
  display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  grid-template-areas: "copy shot" "meta shot"; align-items: end; column-gap: 56px; row-gap: 26px;
  max-width: 1180px; margin-inline: auto; padding: 90px 0 40px; text-align: left;
}
.ah-copy { grid-area: copy; display: flex; flex-direction: column; gap: 22px; }
.ah-copy > *, .ah-meta > * { margin-inline: 0; }
.ah-shot { grid-area: shot; align-self: center; }
.ah-meta { grid-area: meta; align-self: start; display: flex; flex-direction: column; gap: 14px; }
.ah h1 {
  max-width: 16ch; font-size: clamp(2.3rem, 4.6vw, 4.1rem); font-weight: 900; line-height: 1.06; letter-spacing: -.03em;
  background-image: linear-gradient(135deg, var(--blue), var(--purple) 25%, var(--pink) 50%, var(--blue) 75%, var(--purple));
  background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: shimmer 6s ease infinite;
}
.ah .hero-what { max-width: 40ch; margin-top: 0; font-weight: 600; color: #e4e4ee; }
.trust { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.trust li {
  padding: 8px 14px; border-radius: 50px; font-weight: 700; font-size: .98rem; line-height: 1.3; white-space: nowrap;
  border: 1px solid rgb(78 205 196 / .45); background: rgb(78 205 196 / .1);
}
.trust li:first-child { border-color: rgb(240 147 251 / .55); background: rgb(240 147 251 / .12); }
.price-local { color: var(--muted); font-size: .95rem; line-height: 1.5; }
.soon { color: #c8c8d2; font-weight: 600; line-height: 1.5; }
.soon::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 10px; border-radius: 50%; background: var(--teal); vertical-align: .12em; }

/* ---------- /app: three blocks with store screens ---------- */
.ab h2 { font-size: clamp(1.9rem, 3.6vw, 3.1rem); }
.ab .sub { max-width: 44ch; }
.example {
  display: grid; gap: 10px; max-width: 460px; margin-top: 4px; padding: 20px 22px; border-radius: 18px; text-align: left;
  border: 1px solid rgb(102 126 234 / .4); background: var(--surf, rgb(38 22 72 / .6));
}
.example p { line-height: 1.5; color: var(--text); }
.example small { display: block; margin-bottom: 2px; color: var(--muted); font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.example .ex-h { color: var(--pink); font-size: .9rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.example .ex-you { padding: 10px 14px; border-radius: 14px 14px 14px 4px; background: rgb(255 255 255 / .06); }
.example .ex-agent { padding: 10px 14px; border-radius: 14px 14px 4px 14px; background: rgb(102 126 234 / .16); }
.ex-yes { display: inline-block; margin-left: 6px; padding: 2px 14px; border-radius: 50px; background: var(--grad); color: #fff; font-weight: 700; }
.example .ex-done { padding: 10px 14px; border-radius: 14px; border: 1px solid rgb(78 205 196 / .45); background: rgb(78 205 196 / .1); }
.extras { display: grid; gap: 12px; max-width: 480px; list-style: none; margin: 0; padding: 0; text-align: left; }
.extras li { display: flex; gap: 12px; align-items: baseline; color: #d6d6e0; line-height: 1.5; }
.extras .tag { flex: none; padding: 3px 12px; border-radius: 50px; font-size: .85rem; border: 1px solid rgb(240 147 251 / .5); background: rgb(240 147 251 / .12); color: var(--text); }

/* ---------- /app: quotes ---------- */
.quotes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; max-width: 980px; margin-inline: auto; text-align: left; }
.quote { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 26px 26px 22px; border-radius: 20px; border: 1px solid var(--line); background: var(--surf, rgb(38 22 72 / .6)); }
.quote blockquote p { font-size: 1.12rem; line-height: 1.6; color: var(--text); }
.quote figcaption { display: flex; align-items: center; gap: 12px; }
.quote figcaption img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.quote figcaption b { display: block; }
.quote figcaption small { color: var(--muted); }
.quote figcaption .tr-orig { display: block; margin-top: 0; padding: 4px 0; min-height: 0; }
.q-links { margin-top: 26px; color: var(--muted); }
.q-links a { display: inline-block; padding-block: 12px; color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.ad .roles-note a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.ac .maker { color: var(--muted); font-size: .95rem; }

@media (max-width: 992px) {
  .ah { grid-template-columns: minmax(0, 1fr); grid-template-areas: "copy" "shot" "meta"; max-width: 640px; padding-top: 56px; }
  .ah-shot { justify-self: center; }
}
@media (max-width: 768px) {
  .quotes { grid-template-columns: minmax(0, 1fr); }
  .l-split.ab .example, .l-split.ab .extras { margin-inline: auto; }
}
@media (max-width: 576px) {
  .ah { padding-top: 36px; row-gap: 22px; }
  .ah-copy { gap: 16px; }
  .ah h1 { font-size: 2.2rem; }
  .trust { gap: 6px; }
  .trust li { padding: 6px 11px; font-size: .9rem; }
  .example { padding: 16px; }
  .quote { padding: 22px 18px 18px; }
}
@media (prefers-reduced-motion: reduce) { .ah h1 { animation: none; } }

/* ---------- Privacy & Terms, Support, /terms pointer ---------- */
.prose h2.part { margin-top: 64px; padding-top: 30px; border-top: 1px solid var(--line); font-size: 1.9em; }
.prose h2.part.first { margin-top: 10px; padding-top: 0; border-top: 0; }
.page .prose .tldr h3 { margin: 0 0 10px; font-size: 1.15em; color: var(--text); }
.prose .helpnav + h2.part.first { margin-top: 0; }
.prose.moved { min-height: 40vh; }
.prose.moved .btn { margin-top: 10px; }
