/* Share with Agent — design system. Light+dark, teal brand, fast, no deps. */
:root {
  --teal: #0db5a4; --teal-dark: #0a9487; --teal-soft: rgba(13,181,164,.12);
  --indigo: #6366f1; --amber: #f59e0b;
  --brand-grad: linear-gradient(96deg, #0db5a4, #6366f1 55%, #f59e0b);
  --btn-grad: linear-gradient(96deg, #0db5a4, #0d9e90 55%, #12a3bd);
  --bg: #fbfcfe; --bg-2: #ffffff; --bg-3: #f4f8fd;
  /* muted ink + link hold WCAG 4.5:1 on every light surface (bg…bg-3) */
  --ink: #131f30; --ink-2: #5a6a7d; --ink-3: #5f7186;
  --line: #e8edf4; --link: #096e63;
  --teal-deep: #096e63; --tld: #5457e0;
  --ok: #189a5c; --warn: #c98a12; --bad: #cf3f45;
  --shadow: 0 2px 8px rgba(19,31,48,.05), 0 20px 50px rgba(19,31,48,.08);
  --shadow-lift: 0 30px 70px rgba(13,158,144,.22);
  --glass: rgba(255,255,255,.78); --glass-bd: rgba(255,255,255,.9);
  --radius: 18px; --radius-sm: 12px;
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b1622; --bg-2: #12202f; --bg-3: #1a2b3d;
    --ink: #eaf1f8; --ink-2: #b0c1d1; --ink-3: #8093a6;
    --line: #24384e; --link: #3fd0c0; --tld: #9fa8ff; --teal-soft: rgba(13,181,164,.16);
    --bad: #ff8087; --warn: #e8a83a;
    --shadow: 0 2px 8px rgba(0,0,0,.34), 0 20px 50px rgba(0,0,0,.42);
    --shadow-lift: 0 30px 70px rgba(0,0,0,.5);
    --glass: rgba(18,32,47,.72); --glass-bd: rgba(255,255,255,.08);
  }
}
:root[data-theme="light"] {
  --bg: #fbfcfe; --bg-2: #ffffff; --bg-3: #f4f8fd;
  --ink: #131f30; --ink-2: #5a6a7d; --ink-3: #5f7186;
  --line: #e8edf4; --link: #096e63; --tld: #5457e0; --teal-soft: rgba(13,181,164,.12);
  --shadow: 0 2px 8px rgba(19,31,48,.05), 0 20px 50px rgba(19,31,48,.08);
  --shadow-lift: 0 30px 70px rgba(13,158,144,.22);
  --glass: rgba(255,255,255,.78); --glass-bd: rgba(255,255,255,.9);
}
:root[data-theme="dark"] {
  --bg: #0b1622; --bg-2: #12202f; --bg-3: #1a2b3d;
  --ink: #eaf1f8; --ink-2: #b0c1d1; --ink-3: #8093a6;
  --line: #24384e; --link: #3fd0c0; --tld: #9fa8ff; --teal-soft: rgba(13,181,164,.16);
  --bad: #ff8087; --warn: #e8a83a;
  --shadow: 0 2px 8px rgba(0,0,0,.34), 0 20px 50px rgba(0,0,0,.42);
  --shadow-lift: 0 30px 70px rgba(0,0,0,.5);
  --glass: rgba(18,32,47,.72); --glass-bd: rgba(255,255,255,.08);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
/* Prism: three soft brand washes anchored to the viewport, never tiling on long pages. */
/* overflow-x: clip (not hidden) — hidden turns body into a scroll container,
   which silently disables the sticky header on every page */
html, body { overflow-x: clip; max-width: 100%; }
body { margin: 0; font-family: var(--font); color: var(--ink);
  background:
    radial-gradient(900px 520px at 12% -5%, rgba(13,181,164,.15), transparent 62%),
    radial-gradient(760px 460px at 88% 6%, rgba(99,102,241,.12), transparent 62%),
    radial-gradient(700px 500px at 62% 98%, rgba(245,158,11,.09), transparent 64%),
    var(--bg);
  background-attachment: fixed;
  line-height: 1.62; font-size: 16.5px; -webkit-font-smoothing: antialiased; }
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] body {
    background:
      radial-gradient(900px 520px at 12% -5%, rgba(13,181,164,.10), transparent 62%),
      radial-gradient(760px 460px at 88% 6%, rgba(99,102,241,.10), transparent 62%),
      radial-gradient(700px 500px at 62% 98%, rgba(245,158,11,.06), transparent 64%),
      var(--bg);
    background-attachment: fixed; }
}
:root[data-theme="dark"] body {
  background:
    radial-gradient(900px 520px at 12% -5%, rgba(13,181,164,.10), transparent 62%),
    radial-gradient(760px 460px at 88% 6%, rgba(99,102,241,.10), transparent 62%),
    radial-gradient(700px 500px at 62% 98%, rgba(245,158,11,.06), transparent 64%),
    var(--bg);
  background-attachment: fixed; }
a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; }
code, pre { font-family: var(--mono); }
pre { background: var(--bg-3); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 14px 16px; overflow-x: auto; font-size: 13px; line-height: 1.5; }
:not(pre) > code { background: var(--bg-3); border: 1px solid var(--line);
  border-radius: 5px; padding: 1px 6px; font-size: .88em; }
h1,h2,h3,h4 { line-height: 1.18; color: var(--ink); }
h1 { font-size: clamp(2.1rem, 4.8vw, 3.4rem); font-weight: 780; letter-spacing: -.03em;
  line-height: 1.08; }
h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 750; letter-spacing: -.022em;
  margin-top: 2.2em; line-height: 1.14; }
h3 { font-size: 1.14rem; font-weight: 700; letter-spacing: -.01em; }
p, li { color: var(--ink-2); }
.container { max-width: 1120px; margin: 0 auto; padding: 0 20px; }
/* the header nav needs more room than the 1120 content column (brand + links +
   actions ~1450px); give it up to 1480 so it never spills past the viewport. */
.site-header .container { max-width: 1600px; }
.narrow { max-width: 780px; }

/* ── header ── */
.site-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 82%, transparent);
  backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.nav { display: flex; align-items: center; gap: 14px; height: 62px; }
.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-weight: 700;
  font-size: 1.02rem; white-space: nowrap; }
.brand:hover { text-decoration: none; }
.brand em { color: var(--teal); font-style: normal; font-weight: 500; }
/* Domain wordmark: the name on screen is the name in the address bar. */
.brand-domain { letter-spacing: -.01em; }
.brand-domain em { font-weight: 700; }
.brand-domain .tld { color: var(--tld); }
.brand-mark { width: 26px; height: 26px; display: inline-block; flex: none; }
.nav-links { display: flex; gap: 2px; margin-left: 0; margin-inline-start: 10px; flex: 1; }
.nav-links a { color: var(--ink-2); padding: 7px 12px; border-radius: 8px; font-size: .92rem;
  white-space: nowrap; }
.nav-links a:hover { background: var(--bg-3); text-decoration: none; color: var(--ink); }
.nav-links a.active { color: var(--teal); font-weight: 600; }
/* Examples entry rendered as a colorized chip (owner: stands out, second in menu) */
.nav-links a.nav-chip { align-self: center; padding: 5px 14px; border-radius: 999px;
  border: 1px solid var(--teal); font-weight: 600; color: var(--teal);
  background: linear-gradient(140deg, rgba(13,181,164,.14), rgba(99,102,241,.12)); }
.nav-links a.nav-chip:hover { background: linear-gradient(140deg, rgba(13,181,164,.24), rgba(99,102,241,.2)); color: var(--teal); }
.nav-actions { display: flex; align-items: center; gap: 9px; margin-left: 0;
  margin-inline-start: auto; flex: none; }
.nav-actions .btn { white-space: nowrap; }
.nav-signin { color: var(--ink-2); font-size: .93rem; padding: 6px 8px; white-space: nowrap; }
.nav-drop { position: relative; }
.nav-drop-btn { display: inline-flex; align-items: center; gap: 5px; background: none; border: 0;
  cursor: pointer; color: var(--ink-2); padding: 7px 12px; border-radius: 8px; font-size: .92rem;
  font-family: inherit; white-space: nowrap; }
.nav-drop-btn:hover { background: var(--bg-3); color: var(--ink); }
.nav-drop-btn.active { color: var(--teal); font-weight: 600; }
.nav-drop-btn svg { transition: transform .16s; }
.nav-drop.open .nav-drop-btn svg { transform: rotate(180deg); }
.nav-drop-menu { display: none; position: absolute; top: 100%; inset-inline-start: 0; z-index: 60;
  flex-direction: column; min-width: 185px; padding: 8px; background: var(--bg-2);
  border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 34px rgba(0,0,0,.14); }
.nav-drop-menu a { color: var(--ink-2); padding: 8px 12px; border-radius: 8px; font-size: .92rem;
  white-space: nowrap; }
.nav-drop-menu a:hover { background: var(--bg-3); color: var(--ink); text-decoration: none; }
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu,
.nav-drop.open .nav-drop-menu { display: flex; }
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
.nav-toggle span { display: block; width: 20px; height: 2px; background: var(--ink); margin: 4px 0;
  border-radius: 2px; transition: .2s; }

/* ── buttons ── */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 999px; padding: 13px 24px; font-weight: 700; font-size: .96rem;
  border: 1px solid transparent; cursor: pointer; transition: .16s; }
.btn:hover { text-decoration: none; transform: translateY(-2px); }
.btn-teal { background: var(--btn-grad); color: #fff;
  box-shadow: 0 10px 26px rgba(13,158,144,.32); }
.btn-teal:hover { box-shadow: 0 14px 32px rgba(13,158,144,.4); }
.btn-outline { border-color: var(--line); color: var(--ink); background: var(--bg-2); }
.btn-outline:hover { border-color: var(--teal); color: var(--teal); }
.btn-ghost { color: var(--ink-2); }
.btn-ghost:hover { background: var(--bg-3); }
.btn-lg { padding: 16px 32px; font-size: 1.05rem; }
.btn-sm { padding: 8px 16px; font-size: .87rem; }

.theme-toggle { background: none; border: 1px solid var(--line); border-radius: 8px;
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; color: var(--ink-2); }
.theme-toggle:hover { color: var(--teal); border-color: var(--teal); }
:root[data-theme="dark"] .ic-moon, .ic-moon { display: none; }
:root[data-theme="dark"] .ic-sun { display: none; }
:root[data-theme="dark"] .ic-moon { display: block; }
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .ic-sun { display: none; }
  :root[data-theme="auto"] .ic-moon { display: block; }
}

/* ── share control (the teal square + menu, "Your AI Agent" first) ── */
.share-square { width: 15px; height: 15px; border-radius: 4px; background: var(--teal);
  display: inline-block; flex: none; }
.share-square.lg { width: 26px; height: 26px; border-radius: 7px; }
.share-wrap { position: relative; }
.share-btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  font-weight: 700; font-size: .87rem; color: var(--ink); font-family: var(--font);
  white-space: nowrap; border-radius: 10px; padding: 7px 13px;
  border: 2px solid transparent;
  background: linear-gradient(var(--bg-2), var(--bg-2)) padding-box,
              linear-gradient(135deg, #0db5a4, #6366f1, #f59e0b) border-box; }
.share-btn:hover { box-shadow: 0 2px 14px rgba(99, 102, 241, .35); transform: translateY(-1px); }
.share-mark { flex: none; }
/* This control IS the product — it should read as a real floating panel, not a
   dropdown: brand-tinted border and a deep shadow that lifts it off the page. */
.share-menu { position: absolute; right: 0; top: calc(100% + 10px); width: min(340px, 92vw);
  background: var(--bg-2); border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 18px; padding: 16px; z-index: 60;
  box-shadow: 0 24px 60px -12px rgba(4, 10, 20, .55),
              0 8px 24px -8px rgba(4, 10, 20, .4),
              0 0 0 1px rgba(255, 255, 255, .03) inset; }
.share-agent-head { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; }
.share-agent-head small { display: block; color: var(--ink-3); font-size: .78rem; line-height: 1.35; }
.share-code { display: block; background: var(--bg-3); border: 1px dashed var(--teal);
  border-radius: 8px; padding: 9px 11px; font-size: .74rem; word-break: break-all;
  margin-bottom: 9px; color: var(--ink); max-height: 74px; overflow: auto; }
/* PRIMARY action: open the visitor's own AI assistant, prefilled */
.share-heading { font-size: .74rem; font-weight: 700; letter-spacing: .04em;
  text-transform: uppercase; color: var(--ink-3); margin: 0 0 9px; }
.share-heading-2 { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.share-agents { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 10px; }
.share-agent-chip { display: inline-flex; align-items: center; gap: 7px;
  padding: 8px 13px 8px 11px; border-radius: 999px; font-size: .84rem; font-weight: 600;
  color: var(--ink); background: var(--bg-3); border: 1px solid var(--line);
  transition: border-color .14s, background .14s, transform .14s; }
.share-agent-chip svg { width: 15px; height: 15px; fill: currentColor; flex: none; }
.share-agent-chip:hover { text-decoration: none; border-color: var(--teal);
  background: var(--teal-soft); color: var(--teal); transform: translateY(-1px); }
/* the action line reads at FULL contrast (owner 0722): white in dark mode,
   full ink in light — this is the thing we want users to do */
.share-heading-hi { color: var(--ink); font-size: .8rem; }

/* messaging icons share the "Share with others" heading row (owner 0722):
   icons only, original brand colors */
.share-others-row { display: flex; align-items: center; justify-content: space-between;
  gap: 10px; }
.share-msg-icons { display: inline-flex; gap: 7px; }
.share-msg-ic { display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 50%; color: #fff; text-decoration: none; }
.share-msg-ic svg { width: 15px; height: 15px; fill: #fff; }
.share-msg-ic:hover { color: #fff; text-decoration: none; filter: brightness(1.08);
  transform: translateY(-1px); }
.msg-wa { background: #25d366; }
.msg-tg { background: #2aabee; }
.msg-dc { background: #5865f2; }
@media (prefers-reduced-motion: reduce) { .share-msg-ic:hover { transform: none; } }

/* footer row: widget invite left, the copy control in the corner right.
   Hover/focus shows WHAT it copies as a tooltip — no permanent text box. */
.share-foot { display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.share-foot-link { font-size: .78rem; color: var(--link); }
.share-copy-corner { position: relative; display: inline-flex; align-items: center;
  justify-content: center; width: 32px; height: 32px; padding: 0; flex: none;
  border: 1px solid var(--line); border-radius: 9px; background: var(--bg-3);
  color: var(--ink-2); cursor: pointer; font-family: inherit; }
.share-copy-corner:hover, .share-copy-corner:focus-visible { border-color: var(--teal);
  color: var(--teal); background: var(--teal-soft); }
.share-copy-corner .ic-ok { display: none; }
.share-copy-corner.copied .ic-copy { display: none; }
.share-copy-corner.copied .ic-ok { display: block; }
.share-copy-corner::after { content: attr(data-line); position: absolute;
  bottom: calc(100% + 8px); inset-inline-end: 0; width: max-content;
  max-width: 250px; padding: 8px 10px; border-radius: 9px;
  background: var(--bg-2); border: 1px solid var(--line); color: var(--ink-2);
  font: 400 .72rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  text-align: start; unicode-bidi: plaintext; overflow-wrap: anywhere;
  box-shadow: 0 10px 26px -8px rgba(4, 10, 20, .4);
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .15s; z-index: 5; }
.share-copy-corner:hover::after, .share-copy-corner:focus-visible::after {
  opacity: 1; visibility: visible; }
.share-or { font-size: .76rem; color: var(--ink-3); margin: 0 0 8px; }
/* Copy-post is a corner icon on the box, matching the line box above it —
   not a button hanging underneath. */
.share-post-wrap { position: relative; }
.share-post-wrap .share-prompt { padding-inline-end: 42px; }
.share-post-copy { top: 8px; }
@media (prefers-reduced-motion: reduce) { .share-agent-chip:hover { transform: none; } }

/* a plain share bar: brand glyphs, no labels */
.share-socials { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.share-socials a { display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line);
  color: var(--ink-2); background: var(--bg-3); cursor: pointer;
  transition: color .15s, border-color .15s, background .15s, transform .15s; }
.share-socials a svg { width: 17px; height: 17px; fill: currentColor; }
.share-socials a:hover { text-decoration: none; transform: translateY(-1px); color: #fff; }
/* each network's own colour on hover — recognisable without labels */
.share-socials a[data-net="x"]:hover        { background: #000;    border-color: #000; }
.share-socials a[data-net="reddit"]:hover   { background: #ff4500; border-color: #ff4500; }
.share-socials a[data-net="linkedin"]:hover { background: #0a66c2; border-color: #0a66c2; }
.share-socials a[data-net="whatsapp"]:hover { background: #25d366; border-color: #25d366; }
.share-socials a[data-net="telegram"]:hover { background: #2aabee; border-color: #2aabee; }
.share-socials a[data-net="facebook"]:hover { background: #1877f2; border-color: #1877f2; }
@media (prefers-reduced-motion: reduce) { .share-socials a:hover { transform: none; } }
.share-post { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.share-post > strong, .share-post > small { display: block; }
.share-post > small { margin: 3px 0 9px; color: var(--ink-3); font-size: .76rem; line-height: 1.35; }
.share-post .share-socials { border-top: 0; padding-top: 9px; }
#shareSocialsLegacy, #shareSocialsLegacy + div { display: none !important; }
.share-post { padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.share-post > strong, .share-post > small { display: block; }
.share-post > small { margin: 3px 0 9px; color: var(--ink-3); font-size: .76rem; line-height: 1.35; }
.share-post .share-socials { border-top: 0; padding-top: 9px; }
.share-intents { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 10px; }
.share-intents button { border: 1px solid var(--line); background: var(--bg-3); color: var(--ink-2);
  border-radius: 999px; padding: 5px 9px; font: 600 .72rem/1.2 var(--font); cursor: pointer; }
.share-intents button:hover, .share-intents button.active { border-color: var(--teal); color: var(--teal);
  background: var(--teal-soft); }
.share-prompt-label, .share-token-label { display: block; font-size: .7rem; font-weight: 700;
  color: var(--ink-3); margin: 7px 0 4px; text-transform: uppercase; letter-spacing: .06em; }
.share-prompt { display: block; width: 100%; box-sizing: border-box; resize: vertical; min-height: 72px;
  padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg);
  color: var(--ink); font: 400 .76rem/1.4 var(--font); }
.share-help { display: inline-block; margin-left: 8px; font-size: .72rem; }
.share-more { display: inline-block; margin-top: 12px; font-size: .78rem; }
.share-note { margin: 9px 0 0; padding: 7px 9px; border-radius: 8px;
  background: var(--teal-soft); color: var(--ink-2); font-size: .74rem; line-height: 1.4; }
.share-note[hidden] { display: none; }
.share-test-note { margin-top: 10px; padding: 9px 10px; border-radius: 8px; background: var(--amber-soft); color: var(--ink-2); font-size: .72rem; line-height: 1.4; }
.share-test-note strong { color: var(--ink); }

/* ── /examples ── */
/* The floating brand box (owner 0722): bigger, branded, and it FOLLOWS the
   visitor down the page (sticky) so their name + link + the agent chips are
   always in reach. Once it actually sticks (.stuck via JS sentinel) it lifts
   with a shadow and sheds its header/note so it reads as a compact bar. */
.ex-setup { position: sticky; top: 58px; z-index: 30;
  display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px;
  border: 2px solid transparent; border-radius: 18px; padding: 20px 22px 18px;
  background-image: linear-gradient(var(--bg-2), var(--bg-2)),
    linear-gradient(120deg, var(--teal), #6366f1, var(--amber));
  background-origin: border-box; background-clip: padding-box, border-box;
  transition: box-shadow .22s, padding .22s; }
.ex-setup.stuck { padding: 12px 18px 12px;
  box-shadow: 0 18px 44px -14px rgba(4, 10, 20, .5), 0 6px 18px -8px rgba(4, 10, 20, .35); }
.ex-setup-brand { display: flex; align-items: center; gap: 12px; flex: 1 1 100%; }
.ex-setup-brand strong { font-size: 1.12rem; }
.ex-setup-brand img { border-radius: 10px; flex: none; }
.ex-setup-fields { display: flex; flex-wrap: wrap; gap: 12px; flex: 1 1 100%; }
.ex-setup-fields .field { flex: 1 1 280px; margin: 0; }
.ex-setup-fields .field input { width: 100%; box-sizing: border-box;
  font-size: .98rem; padding: 12px 14px; }
.ex-setup-note { flex: 1 1 100%; margin: 0; font-size: .82rem; color: var(--ink-3); }
.ex-setup-try { flex: 1 1 100%; }
.ex-setup-try .share-agents { margin: 6px 0 0; }
.ex-setup.stuck .ex-setup-note, .ex-setup.stuck .ex-setup-brand { display: none; }
#exAgents .share-agent-chip.locked { opacity: .55; }
/* small screens: a tall sticky box would eat the viewport — let it scroll away */
@media (max-width: 720px) { .ex-setup { position: static; } }
.demo-chips .share-agents { justify-content: center; }

/* ── /add-to-your-website: the live widget playground ── */
.aw-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.aw-chip { border: 1px solid var(--line); background: var(--bg-3); color: var(--ink-2);
  border-radius: 999px; padding: 7px 15px; font: 600 .84rem/1.2 inherit;
  cursor: pointer; font-family: inherit; }
.aw-chip.on { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.aw-chip.on::before { content: "✓ "; }
.aw-frame { border: 1px solid var(--line); border-radius: 16px; background: var(--bg-2);
  padding: 0 26px 26px; overflow: hidden; }
.aw-bar-note { display: flex; align-items: center; gap: 6px; margin: 0 -26px 20px;
  padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--bg-3); }
.aw-bar-note i { width: 10px; height: 10px; border-radius: 50%; background: var(--line); }
.aw-bar-note span { margin-inline-start: 10px; font-size: .78rem; color: var(--ink-3);
  direction: ltr; unicode-bidi: isolate; }
.aw-place { margin: 22px 0; }
.aw-place[hidden] { display: none; }
.aw-tag { display: inline-block; margin-bottom: 8px; padding: 3px 10px;
  border-radius: 999px; background: var(--teal-soft); color: var(--teal-dark, var(--teal));
  font-size: .72rem; font-weight: 700; }
.aw-fake-h2 { margin: 8px 0 6px; }
.aw-fake-p { color: var(--ink-2); max-width: 760px; }
.ex-grid { display: grid; gap: 16px; margin-top: 6px;
  grid-template-columns: repeat(auto-fill, minmax(min(360px, 100%), 1fr)); }
.ex-box { display: flex; flex-direction: column; margin: 0; }
/* MUST outrank .ex-box's display:flex — a class selector beats the browser's
   [hidden]{display:none}, so without this the filter sets the attribute and
   nothing disappears. */
.ex-box[hidden] { display: none; }
.ex-title { margin: 0 0 4px; font-size: 1.02rem; }
.ex-pre { white-space: pre-wrap; margin: 0; }
.ex-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ex-note { font-size: .82rem; color: var(--ink-3); margin-top: 26px; }

/* the filter row — no longer sticky: the floating brand box above owns the
   sticky slot now (owner 0722), and two stacked sticky bars fight for space */
.ex-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 34px 0 10px;
  padding: 10px 0; }
.ex-warn { margin: 10px 0 0; flex: 1 1 100%; font-size: .82rem; color: var(--amber);
  opacity: 0; max-height: 0; overflow: hidden; transition: opacity .18s, max-height .18s; }
.ex-warn.on { opacity: 1; max-height: 60px; }
.ex-copy.locked, .ex-icon.locked { opacity: .55; }
.ex-chip { border: 1px solid var(--line); background: var(--bg-3); color: var(--ink-2);
  border-radius: 999px; padding: 7px 15px; font: 600 .84rem/1.2 var(--font); cursor: pointer;
  font-family: inherit; }
.ex-chip:hover { border-color: var(--teal); color: var(--teal); }
.ex-chip.active { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.ex-where { margin: 0 0 8px; font-size: .78rem; color: var(--ink-3); }
/* the sentence the READER pastes — its own copy area inside the posted block */
.ex-inner { position: relative; margin-top: 10px; padding: 11px 46px 11px 13px;
  border: 1px solid var(--line); border-radius: 10px; background: var(--bg); }
.ex-inner .ex-line { display: block; white-space: pre-wrap; overflow-wrap: anywhere;
  font: 400 .82rem/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--ink); }
/* Bidi: each line picks its own direction from its first strong character, so a
   Hebrew/Arabic question reads RTL while the swa:1: code stays one intact LTR
   run — same behavior the widget gets from <bdi>. No effect on LTR locales. */
.ex-inner .ex-line, .ex-outer { unicode-bidi: plaintext; }
.ex-icon { position: absolute; top: 7px; inset-inline-end: 7px; display: inline-flex;
  align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0;
  border: 1px solid var(--line); border-radius: 8px; background: var(--bg-3);
  color: var(--ink-2); cursor: pointer; font-family: inherit; }
.ex-icon:hover { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.ex-icon .ic-ok { display: none; }
.ex-icon.copied { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.ex-icon.copied .ic-copy { display: none; }
.ex-icon.copied .ic-ok { display: block; }

/* ── "now paste it" step, shown right after a copy ── */
.paste-modal { position: fixed; inset: 0; z-index: 95; display: flex;
  align-items: center; justify-content: center; padding: 20px; }
.paste-modal[hidden] { display: none; }
.paste-back { position: absolute; inset: 0; background: rgba(4, 10, 20, .62); backdrop-filter: blur(3px); }
.paste-card { position: relative; width: min(400px, 100%); text-align: center;
  background: var(--bg-2); border: 1px solid color-mix(in srgb, var(--teal) 38%, var(--line));
  border-radius: 18px; padding: 26px 22px 22px;
  box-shadow: 0 24px 60px -12px rgba(4, 10, 20, .55), 0 8px 24px -8px rgba(4, 10, 20, .4); }
.paste-card strong { display: block; font-size: 1.02rem; margin-bottom: 8px; }
.paste-card p { margin: 0 0 16px; font-size: .86rem; color: var(--ink-2); line-height: 1.5; }
.paste-x { position: absolute; top: 8px; inset-inline-end: 10px; background: none; border: 0;
  color: var(--ink-3); font-size: 1.5rem; line-height: 1; cursor: pointer; font-family: inherit; padding: 0 4px; }
.paste-x:hover { color: var(--ink); }
.paste-tick { width: 42px; height: 42px; margin: 0 auto 12px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--teal-soft); color: var(--teal); }
.paste-links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 16px; }
.paste-links a { display: inline-flex; align-items: center; gap: 7px;
  padding: 7px 14px 7px 11px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--bg-3); color: var(--ink-2); font-size: .82rem; font-weight: 600; }
.paste-links a svg { width: 15px; height: 15px; fill: currentColor; flex: none; }
.paste-links a:hover { border-color: var(--teal); color: var(--teal);
  background: var(--teal-soft); text-decoration: none; }

.paste-ask { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); text-align: start; }
.paste-ask[hidden] { display: none; }
.paste-ask strong { font-size: .92rem; margin-bottom: 4px; }
.paste-ask p { font-size: .82rem; margin-bottom: 10px; }
.paste-ask textarea { display: block; width: 100%; box-sizing: border-box; resize: vertical;
  min-height: 62px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px;
  background: var(--bg); color: var(--ink); font: 400 .8rem/1.45 var(--font); margin-bottom: 9px; }
.paste-file { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px;
  font-size: .78rem; color: var(--ink-3); }
.paste-file input { font-size: .74rem; max-width: 190px; }
.paste-thanks { margin: 6px 0 0; font-size: .82rem; color: var(--teal); }
.paste-thanks[hidden] { display: none; }

/* ── back to top ── */

.to-top { position: fixed; bottom: 22px; inset-inline-end: 22px; z-index: 60;
  width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line);
  background: var(--bg-2); color: var(--ink-2); cursor: pointer; font-family: inherit;
  display: inline-flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s, transform .2s, visibility .2s; }
.to-top.on { opacity: 1; visibility: visible; transform: none; }
.to-top:hover { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
@media (prefers-reduced-motion: reduce) { .to-top { transition: none; } }

/* ── preview modal: the same post as it lands on each channel ── */
.ex-modal { position: fixed; inset: 0; z-index: 90; display: flex;
  align-items: center; justify-content: center; padding: 20px; }
.ex-modal[hidden] { display: none; }
.ex-modal-back { position: absolute; inset: 0; background: rgba(4, 10, 20, .62); backdrop-filter: blur(3px); }
.ex-modal-card { position: relative; width: min(560px, 100%); max-height: 88vh; overflow: auto;
  background: var(--bg-2); border: 1px solid var(--line); border-radius: 18px; padding: 18px; }
.ex-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ex-modal-x { background: none; border: 0; color: var(--ink-3); font-size: 1.5rem;
  line-height: 1; cursor: pointer; padding: 0 4px; font-family: inherit; }
.ex-modal-x:hover { color: var(--ink); }
.ex-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 16px; }
.ex-tab { border: 1px solid var(--line); background: var(--bg-3); color: var(--ink-2);
  border-radius: 999px; padding: 5px 12px; font: 600 .78rem/1.2 var(--font); cursor: pointer; font-family: inherit; }
.ex-tab:hover { border-color: var(--teal); color: var(--teal); }
.ex-tab.active { border-color: var(--teal); color: var(--teal); background: var(--teal-soft); }
.pv { border: 1px solid var(--line); border-radius: 12px; background: var(--bg);
  padding: 14px; font-size: .84rem; line-height: 1.55; color: var(--ink); }
.pv-link { color: var(--teal); text-decoration: underline; overflow-wrap: anywhere; }
.pv-userrow, .pv-mailhead { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.pv-userrow small, .pv-mailhead small { display: block; color: var(--ink-3); font-size: .74rem; }
.pv-avatar { flex: none; width: 34px; height: 34px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--btn-grad); color: #fff; font-weight: 700; font-size: .9rem; }
.pv-subject { font-weight: 700; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.pv-post, .pv-mailbody { overflow-wrap: anywhere; }
.pv-x { border-radius: 14px; }
.pv-avatar-rd { background: #ff4500; font-size: .78rem; }
.pv-rd-title { font-weight: 700; margin-bottom: 8px; }
/* one-to-one channels read as a chat, not a post */
.pv-chat { background: var(--bg-3); padding: 18px 14px; }
.pv-bubble { position: relative; max-width: 92%; margin-inline-start: auto;
  padding: 10px 13px 20px; border-radius: 12px; overflow-wrap: anywhere; }
.pv-bubble-wa { background: color-mix(in srgb, #25d366 22%, var(--bg)); }
.pv-bubble-tg { background: color-mix(in srgb, #2aabee 22%, var(--bg)); }
.pv-tick { position: absolute; bottom: 5px; inset-inline-end: 10px;
  font-size: .66rem; color: var(--ink-3); }
.pv-site { padding: 0; overflow: hidden; }
.pv-bar { display: flex; gap: 6px; padding: 10px 12px; background: var(--bg-3); border-bottom: 1px solid var(--line); }
.pv-bar span { width: 9px; height: 9px; border-radius: 50%; background: var(--line); }
.pv-callout { margin: 14px; padding: 13px; border-radius: 10px;
  border: 1px solid var(--teal); background: var(--teal-soft); overflow-wrap: anywhere; }

/* ── hero & sections ── */
.hero { padding: 72px 0 60px; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: -40% -20% auto; height: 130%;
  background: radial-gradient(600px 320px at 50% 0%, var(--teal-soft), transparent 70%);
  pointer-events: none; }
.hero > * { position: relative; }
.hero .kicker { color: var(--teal); font-weight: 700; letter-spacing: .12em; font-size: .78rem;
  text-transform: uppercase; }
.hero h1 { margin: 14px auto 18px; max-width: 850px; }
.hero .sub { max-width: 760px; margin: 0 auto 30px; font-size: 1.08rem; }
.hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.section { padding: 56px 0; }
.section-alt { background: var(--bg-2); border-block: 1px solid var(--line); }
.section h2 { margin-top: 0; }
.section .lead { max-width: 720px; }
.center { text-align: center; }
.center .lead { margin-inline: auto; }

/* evolution strip */
.evolution { display: flex; gap: 0; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
.evo-step { padding: 16px 20px; border: 1px solid var(--line); background: var(--bg-2);
  min-width: 150px; text-align: left; position: relative; }
.evo-step:first-child { border-radius: var(--radius) 0 0 var(--radius); }
.evo-step:last-child { border-radius: 0 var(--radius) var(--radius) 0; }
.evo-step strong { display: block; font-size: 1rem; }
.evo-step small { color: var(--ink-3); font-size: .8rem; }
.evo-step.evo-us { background: var(--teal); border-color: var(--teal); }
.evo-step.evo-us strong, .evo-step.evo-us small { color: #fff; }

/* cards */
.grid { display: grid; gap: 20px; margin-top: 34px; }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.card { background: var(--glass); border: 1px solid var(--glass-bd); border-radius: var(--radius);
  padding: 28px; box-shadow: var(--shadow); backdrop-filter: blur(14px); }
.card h3 { margin-top: 0; }
.card.hover:hover { border-color: var(--teal); box-shadow: var(--shadow); }
a.card { color: inherit; display: block; }
a.card:hover { text-decoration: none; }

/* side-by-side compare (the /why moment) */
.compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px;
  margin-top: 34px; }
.compare .pane { border-radius: var(--radius); border: 1px solid var(--line); padding: 24px;
  background: var(--bg-2); }
.pane-bad { border-top: 4px solid var(--bad); }
.pane-good { border-top: 4px solid var(--teal); }
.pane ul { padding-left: 20px; }
.pane .tag { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pane-bad .tag { color: var(--bad); }
.pane-good .tag { color: var(--link); }

/* packs */
.pack-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 22px;
  margin-top: 34px; align-items: stretch; }
.pack { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 28px; display: flex; flex-direction: column; position: relative; }
.pack.featured { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal), var(--shadow); }
.pack .flag { position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--teal); color: #fff; font-size: .72rem; font-weight: 700; padding: 3px 12px;
  border-radius: 999px; letter-spacing: .06em; }
.pack .price { font-size: 2rem; font-weight: 800; margin: 8px 0 2px; }
.pack .price small { font-size: .95rem; color: var(--ink-3); font-weight: 500; }
.pack ul { padding-left: 0; list-style: none; margin: 18px 0 22px; flex: 1; }
.pack li { padding: 6px 0 6px 26px; position: relative; font-size: .93rem; }
.pack li::before { content: "✓"; position: absolute; left: 2px; color: var(--teal); font-weight: 700; }

/* article/prose */
.prose { max-width: 780px; margin: 0 auto; }
.prose h1 { margin-bottom: 8px; }
.prose .meta { color: var(--ink-3); font-size: .88rem; margin-bottom: 26px; }
.prose h2 { border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.prose blockquote { border-left: 3px solid var(--teal); margin-left: 0; padding-left: 18px;
  color: var(--ink-2); }
.prose table { border-collapse: collapse; width: 100%; font-size: .92rem; }
.prose th, .prose td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
.prose th { background: var(--bg-3); }

/* article list */
.article-list { display: grid; gap: 14px; margin-top: 30px; }
.article-item { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 24px; display: block; color: inherit; }
.article-item:hover { border-color: var(--teal); text-decoration: none; }
.article-item h3 { margin: 0 0 6px; }
.article-item p { margin: 0; font-size: .92rem; }
.article-item .tags { margin-top: 8px; }
.tag-chip { display: inline-block; font-size: .72rem; background: var(--teal-soft); color: var(--teal-dark);
  border-radius: 999px; padding: 2px 10px; margin-right: 6px; }
:root[data-theme="dark"] .tag-chip { color: var(--link); }

/* demo code block */
.demo-code { background: var(--bg-2); border: 2px dashed var(--teal); border-radius: var(--radius);
  padding: 22px; max-width: 720px; margin: 30px auto; text-align: left; }
.demo-code code { display: block; word-break: break-all; font-size: .82rem; background: var(--bg-3);
  padding: 12px 14px; border-radius: 8px; margin: 12px 0; }
/* hero try-box: the centerpiece — solid card, teal glow, centered */
.hero-try { border: 1px solid var(--line); border-top: 3px solid var(--teal);
  text-align: center; box-shadow: 0 0 0 1px var(--teal-soft), var(--shadow); }
.hero-try code { font-size: .88rem; max-width: 540px; margin-inline: auto; }

/* forms */
.form { max-width: 420px; margin: 48px auto; background: var(--bg-2); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 30px; }
.form h1 { font-size: 1.5rem; margin-top: 0; }
.field { margin-bottom: 16px; }
.field label { display: block; font-size: .86rem; font-weight: 600; margin-bottom: 6px; }
.field input, .field textarea, .field select { width: 100%; padding: 10px 12px; border-radius: 8px;
  border: 1px solid var(--line); background: var(--bg); color: var(--ink); font-size: .95rem;
  font-family: var(--font); }
.field input:focus, .field textarea:focus { outline: 2px solid var(--teal); border-color: transparent; }
.form-msg { padding: 10px 14px; border-radius: 8px; font-size: .88rem; margin-bottom: 14px; display: none; }
.form-msg.err { display: block; background: color-mix(in srgb, var(--bad) 12%, transparent); color: var(--bad); }
.form-msg.ok { display: block; background: var(--teal-soft); color: var(--teal-dark); }

/* footer */
.site-footer { border-top: 1px solid var(--line); background: var(--bg-2); margin-top: 70px;
  padding: 48px 0 30px; font-size: .9rem; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 30px; }
.footer-col h4 { margin: 0 0 12px; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em;
  color: var(--ink-3); }
.footer-col a { display: block; color: var(--ink-2); padding: 3px 0; }
.footer-company { color: var(--ink-3); font-size: .82rem; }
.footer-agent-line { border-top: 1px solid var(--line); margin-top: 34px; padding-top: 18px;
  color: var(--ink-3); font-size: .82rem; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* Links inside running fine print need a non-color cue (WCAG link-in-text-block). */
.footer-fine a, .footer-agent-line a { text-decoration: underline; text-underline-offset: 2px; }

/* stats + tables (admin/account) */
.stat-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
.stat { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius-sm);
  padding: 16px 18px; }
.stat b { display: block; font-size: 1.5rem; }
.stat span { color: var(--ink-3); font-size: .8rem; }
.table { width: 100%; border-collapse: collapse; font-size: .87rem; background: var(--bg-2);
  border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.table th { text-align: left; padding: 9px 12px; background: var(--bg-3); font-size: .76rem;
  text-transform: uppercase; letter-spacing: .05em; color: var(--ink-3); }
.table td { padding: 9px 12px; border-top: 1px solid var(--line); }
.badge { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: .72rem; font-weight: 600; }
.badge.ok { background: color-mix(in srgb, var(--ok) 14%, transparent); color: var(--ok); }
.badge.warn { background: color-mix(in srgb, var(--warn) 16%, transparent); color: var(--warn); }
.badge.bad { background: color-mix(in srgb, var(--bad) 13%, transparent); color: var(--bad); }
.badge.mut { background: var(--bg-3); color: var(--ink-3); }

/* admin layout */
.admin-wrap { display: flex; min-height: calc(100vh - 60px); }
.admin-side { width: 210px; flex: none; border-right: 1px solid var(--line); padding: 22px 12px;
  background: var(--bg-2); }
.admin-side a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--ink-2);
  font-size: .92rem; margin-bottom: 2px; }
.admin-side a:hover { background: var(--bg-3); text-decoration: none; }
.admin-side a.active { background: var(--teal-soft); color: var(--teal-dark); font-weight: 600; }
:root[data-theme="dark"] .admin-side a.active { color: var(--link); }
.admin-main { flex: 1; padding: 26px 30px; min-width: 0; }
.admin-main h1 { font-size: 1.4rem; margin-top: 0; }
.toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 18px; flex-wrap: wrap; }
.toolbar input, .toolbar select { padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px;
  background: var(--bg); color: var(--ink); }
.modal-bg { position: fixed; inset: 0; background: rgba(10,16,20,.55); z-index: 80; display: flex;
  align-items: center; justify-content: center; padding: 20px; }
.modal { background: var(--bg-2); border-radius: var(--radius); border: 1px solid var(--line);
  max-width: 720px; width: 100%; max-height: 88vh; overflow: auto; padding: 26px; }

/* bars (funnels) */
.funnel-step { margin-bottom: 10px; }
.funnel-step .fs-label { display: flex; justify-content: space-between; font-size: .85rem;
  margin-bottom: 4px; }
.funnel-bar { height: 22px; background: var(--bg-3); border-radius: 6px; overflow: hidden; }
.funnel-bar i { display: block; height: 100%; background: var(--teal); border-radius: 6px;
  min-width: 2px; }

/* responsive */
/* Collapse the nav links into the hamburger whenever the full inline nav
   would not fit. Measured needs (container padding included): en ~1305,
   he ~1360, ar ~1290, zh ~1155 — collapse ≤1459. Verbose locales
   (de ~1545, ru ~1571, es ~1515, pt/fr ~1480, it 1440, ja 1427) get an
   extra scoped collapse band up to 1639. */
@media (max-width: 1459px) {
  .nav-links { position: absolute; top: 62px; left: 0; right: 0; background: var(--bg-2);
    border-bottom: 1px solid var(--line); flex-direction: column; padding: 12px 20px; display: none; }
  .nav-links.open { display: flex; }
  .nav-toggle { display: block; }
  .nav-signin { display: none; }
  .nav-drop-menu { position: static; border: 0; box-shadow: none; padding: 0 0 4px;
    background: none; min-width: 0; margin-inline-start: 14px; }
  .nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu { display: none; }
  .nav-drop.open .nav-drop-menu { display: flex; }
  .nav-drop-btn { width: 100%; }
}
@media (min-width: 1460px) and (max-width: 1639px) {
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-links {
    position: absolute; top: 62px; left: 0; right: 0; background: var(--bg-2);
    border-bottom: 1px solid var(--line); flex-direction: column; padding: 12px 20px; display: none; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-links.open { display: flex; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-toggle { display: block; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-signin { display: none; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-drop-menu {
    position: static; border: 0; box-shadow: none; padding: 0 0 4px;
    background: none; min-width: 0; margin-inline-start: 14px; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-drop:hover .nav-drop-menu,
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-drop:focus-within .nav-drop-menu { display: none; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-drop.open .nav-drop-menu { display: flex; }
  html:is([lang="de"],[lang="ru"],[lang="es"],[lang="pt"],[lang="fr"],[lang="it"],[lang="ja"]) .nav-drop-btn { width: 100%; }
}
@media (max-width: 1280px) {
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .admin-wrap { flex-direction: column; }
  .admin-side { width: 100%; display: flex; overflow-x: auto; padding: 8px; border-right: 0;
    border-bottom: 1px solid var(--line); }
  .admin-side a { white-space: nowrap; }
  .evo-step { min-width: 120px; }
}

@media (max-width: 760px) {
  .nav-signin, .nav-actions .theme-toggle, .nav-actions .lang-switch,
  .nav-actions > .btn { display: none; }
}

/* .grid-2 (auto-fit minmax(300px,1fr), 20px gap, 20px page padding) drops to a single
   column below ~660px viewport — only then may the banner stop spanning two tracks,
   otherwise it gets squeezed into half a row while the grid still shows two columns. */
@media (max-width: 660px) {
  .promo-banner { grid-column: auto !important; }
}
@media (max-width: 430px) {
  .container { padding-left: 12px; padding-right: 12px; }
  h1, h2, h3, h4, p, li, .btn { overflow-wrap: anywhere; }
  .nav { gap: 6px; }
  .brand { gap: 6px; font-size: .82rem; }
  .brand-mark { width: 22px; height: 22px; }
  .nav-actions { gap: 5px; }
  .nav-actions .theme-toggle, .nav-actions .lang-switch, .nav-actions > .btn { display: none; }
  /* The brand share control DOCKS on mobile (owner 0722): a floating branded
     button at the bottom edge, label restored — always reachable while the
     page scrolls. The menu opens upward from the dock. */
  .share-wrap { position: fixed; bottom: 16px; inset-inline-end: 14px; z-index: 90; }
  .share-btn { padding: 11px 16px;
    box-shadow: 0 10px 28px -6px rgba(4, 10, 20, .45), 0 4px 12px -4px rgba(4, 10, 20, .3); }
  .share-label { display: inline; }
  .share-menu, [dir="rtl"] .share-menu { position: fixed; top: auto; bottom: 72px;
    left: 12px; right: 12px; width: auto;
    max-height: calc(100vh - 96px); overflow-y: auto; }
  /* the back-to-top round button yields the corner to the share dock */
  .to-top { bottom: 16px; inset-inline-end: auto; inset-inline-start: 14px; }
  .grid-2, .grid-3, .compare, .pack-grid, .persons, .post-grid { grid-template-columns: minmax(0, 1fr); }
  .pack-row .pr-main { min-width: 0; }
  .table { display: block; max-width: 100%; overflow-x: auto; }
  .btn-lg { padding: 14px 22px; }
  pre, code { max-width: 100%; overflow-wrap: anywhere; }
  .share-help { display: block; margin: 8px 0 0; }
  .prompt-guide-grid { grid-template-columns: 1fr; }
  .scanbox { flex-direction: column; border-radius: 18px; }
  .scanbox input, .scanbox .btn { width: 100%; }
}


/* -- RTL (he/ar): flex/grid flip automatically with dir; fix the explicit bits -- */
[dir="rtl"] body { text-align: right; }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] h4,
[dir="rtl"] p, [dir="rtl"] label, [dir="rtl"] .field, [dir="rtl"] .form-msg,
[dir="rtl"] .breadcrumbs, [dir="rtl"] .card { text-align: right; }
[dir="rtl"] input:not([type="email"]):not([type="url"]):not([type="tel"]),
[dir="rtl"] textarea { direction: rtl; text-align: right; }
[dir="rtl"] input[type="email"], [dir="rtl"] input[type="url"],
[dir="rtl"] input[type="tel"], [dir="rtl"] code, [dir="rtl"] pre,
[dir="rtl"] .brand-domain { direction: ltr; unicode-bidi: isolate; text-align: left; }
[dir="rtl"] table { direction: rtl; text-align: right; }
[dir="rtl"] th, [dir="rtl"] td { text-align: right; }
[dir="rtl"] .breadcrumbs .sep, [dir="rtl"] .badge { unicode-bidi: isolate; }
.lang-switch { max-width: 168px; }
.lang-switch option { unicode-bidi: plaintext; }
[dir="rtl"] .share-menu { right: auto; left: 0; }
[dir="rtl"] .evo-step:first-child { border-radius: 0 var(--radius) var(--radius) 0; }
[dir="rtl"] .evo-step:last-child { border-radius: var(--radius) 0 0 var(--radius); }
[dir="rtl"] .pack li { padding: 6px 26px 6px 0; }
[dir="rtl"] .pack li::before { left: auto; right: 2px; }
[dir="rtl"] .prose blockquote { border-left: 0; border-right: 3px solid var(--teal);
  padding-left: 0; padding-right: 18px; margin-right: 0; }
@media (max-width: 430px) {
  [dir="rtl"] .share-menu { left: 12px; right: 12px; }
}

/* -- home marketing additions: steps, chat mockups, chart colors -- */
:root { --chart-a: #0a9487; --chart-b: #c2660a; }
@media (prefers-color-scheme: dark) { :root { --chart-a: #0c9c8d; --chart-b: #cf7d04; } }
:root[data-theme="light"] { --chart-a: #0a9487; --chart-b: #c2660a; }
:root[data-theme="dark"] { --chart-a: #0c9c8d; --chart-b: #cf7d04; }
/* The number IS the visual (owner): a big gradient numeral leads each step card. */
.step-num { width: 74px; height: 74px; border-radius: 50%; background: var(--btn-grad);
  color: #fff; font-weight: 800; font-size: 2.3rem; display: inline-flex;
  align-items: center; justify-content: center; margin-bottom: 14px;
  box-shadow: 0 10px 26px rgba(13,158,144,.35); }
.step-link { font-weight: 600; font-size: .9rem; }
.chat-mock { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.chat-msg { max-width: 92%; padding: 10px 14px; border-radius: 14px; font-size: .9rem;
  line-height: 1.5; }
.chat-user { align-self: flex-end; background: var(--teal-soft); color: var(--ink);
  border-bottom-right-radius: 4px; }
.chat-agent { align-self: flex-start; background: var(--bg-3); color: var(--ink-2);
  border-bottom-left-radius: 4px; }

/* -- breadcrumbs -- */
.breadcrumbs { font-size: .8rem; color: var(--ink-3); padding: 12px 0 0; }
.breadcrumbs a { color: var(--ink-3); }
.breadcrumbs a:hover { color: var(--teal); }
.breadcrumbs .sep { margin: 0 6px; opacity: .6; }

/* -- full-width plan rows (Free above the grid, Enterprise below) -- */
.pack-row { display: flex; align-items: center; justify-content: space-between; gap: 22px;
  background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 26px; flex-wrap: wrap; }
.pack-row .pr-main { flex: 1; min-width: 260px; }
.pack-row .pr-side { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }

/* ══════════════════════════════════════════════════════════════
   PRISM — split hero + product-forward home layout.
   Built on the brand mark's teal→indigo→amber gradient.
   ══════════════════════════════════════════════════════════════ */

/* translucent so the page washes read through the alternating bands */
.section-alt { background: color-mix(in srgb, var(--bg-2) 55%, transparent);
  border-block: 1px solid var(--line); }

.hero .kicker { background: linear-gradient(96deg, #0d9e90, #6366f1);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  display: inline-block; }
.hero-split { padding: 52px 0 86px; text-align: left; }
.hero-split::before { display: none; }
.hgrid { display: grid; grid-template-columns: 1.04fr .96fr; gap: 62px; align-items: center; }
.hgrid h1 { margin: 14px 0 0; max-width: none; }
.hgrid .sub { font-size: 1.12rem; max-width: 540px; margin: 22px 0 0; }
/* teal→indigo only: the full brand gradient runs through pink on a multi-line headline */
.hgrid h1 mark, .hero h1 mark { background: linear-gradient(96deg, #0db5a4, #4f7ce8 70%, #6366f1);
  -webkit-background-clip: text; background-clip: text; color: transparent; }

/* hero help "?": opens the AGENTS-ONLY share popup, dropped from the mark;
   the "?" reads ✕ while open and closes it */
.h1-help-wrap { position: relative; display: inline-flex; vertical-align: super; }
.h1-help { display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; margin-inline-start: 8px;
  font-size: .95rem; font-weight: 700; line-height: 1; border-radius: 50%;
  border: 1.5px solid var(--line); background: var(--bg-2); color: var(--ink-2);
  cursor: pointer; font-family: var(--font); padding: 0; }
.h1-help:hover, .h1-help:focus-visible { color: var(--link); border-color: var(--link); }
/* agents-only variant: heading + agent chips (+ the copied-line note), nothing else */
.share-menu.agents-only .share-others-row, .share-menu.agents-only .share-socials,
.share-menu.agents-only .share-foot { display: none; }
/* dropped from the "?" itself, centered under it */
.h1-help-wrap .share-menu, [dir="rtl"] .h1-help-wrap .share-menu {
  left: 50%; right: auto; transform: translateX(-50%); text-align: start; }
@media (max-width: 740px) {
  /* narrow screens: the mark sits close to the edges — pin the popup to the
     viewport instead so it can never clip (wins over the ≤430 bottom dock) */
  .h1-help-wrap .share-menu, [dir="rtl"] .h1-help-wrap .share-menu {
    position: fixed; top: 120px; bottom: auto; transform: translateX(-50%); }
}

/* the free-scan box — the hero's main action */
.scanbox { display: flex; gap: 9px; background: var(--bg-2); border: 1px solid var(--line);
  border-radius: 999px; padding: 7px; box-shadow: var(--shadow); max-width: 500px;
  margin-top: 32px; }

/* home hero column (owner 0722): centered inner elements, URL box as wide as
   the H1 — the tick bullets keep their start alignment */
.hero-inner { max-width: 860px; margin-inline: auto; text-align: center; }
.hero-inner .sub { margin-inline: auto; }
.hero-inner .scanbox { max-width: none; width: 100%; }
.hero-inner .proofrow { justify-content: center; text-align: start; }
.hero-inner .proofrow-ticks { justify-content: flex-start; }
.scanbox input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent;
  padding: 13px 20px; font-size: 1rem; font-family: var(--font); color: var(--ink); }
.scanbox input::placeholder { color: var(--ink-3); }

/* the share action, secondary to the scan — code lives behind the button */
.micro { display: flex; align-items: center; gap: 11px; margin-top: 17px; font-size: .93rem;
  color: var(--ink-2); flex-wrap: wrap; }
.micro button { background: none; border: 0; padding: 0; color: var(--link); font-weight: 700;
  cursor: pointer; font-size: .93rem; font-family: var(--font); display: inline-flex;
  align-items: center; gap: 8px; text-align: left; }
.micro button:hover { text-decoration: underline; }
.micro .glyph { width: 22px; height: 22px; border-radius: 7px; flex: none;
  background: var(--brand-grad); }

/* proof row — agents first, Grok leading */
.proofrow { margin-top: 38px; display: flex; gap: 11px 20px; align-items: center; flex-wrap: wrap; }
/* the tick bullets sit on their OWN row under the chips (owner 0722) */
.proofrow-ticks { margin-top: 14px; }
/* real brand marks in the hero chips + the dashboard mock pills (owner 0722) */
.chip svg { width: 13px; height: 13px; flex: none; fill: currentColor; }
.dm-pill svg { width: 12px; height: 12px; fill: currentColor;
  vertical-align: -2px; margin-inline-end: 5px; }
.hero-scan-link { margin: 10px 0 0; font-size: .84rem; }
.hero-scan-link a { color: var(--link); text-decoration: underline; }
.chip { display: inline-flex; align-items: center; gap: 8px; background: var(--glass);
  border: 1px solid var(--line); border-radius: 999px; padding: 7px 15px; font-size: .86rem;
  font-weight: 700; color: var(--ink); backdrop-filter: blur(10px); }
.chip .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--teal); flex: none; }
.tick { width: 19px; height: 19px; border-radius: 50%; background: var(--teal); flex: none;
  position: relative; }
.tick::after { content: ""; position: absolute; left: 6px; top: 4px; width: 5px; height: 9px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(42deg); }
.proof-item { display: flex; align-items: center; gap: 9px; font-size: .9rem; color: var(--ink-2);
  font-weight: 600; }

/* right-hand product stack: conversation + dashboard card */
.stack { position: relative; }
/* the extra bottom padding is the landing zone for the overlapping dashboard card —
   without it the card covers the last message in the conversation */
.phone { background: var(--bg-2); border-radius: var(--radius); padding: 16px 14px 168px;
  border: 1px solid var(--line); box-shadow: var(--shadow-lift); max-width: 392px;
  margin-left: auto; position: relative; z-index: 2; }
.phone-top { display: flex; align-items: center; gap: 9px; padding: 5px 9px 14px;
  border-bottom: 1px solid var(--line); }
.phone-top b { font-size: .88rem; }
.phone .chat-mock { padding: 15px 9px 6px; margin-top: 0; }
.dash { position: absolute; left: -34px; bottom: -46px; z-index: 3; background: var(--bg-2);
  border-radius: var(--radius-sm); padding: 19px 21px; border: 1px solid var(--line);
  box-shadow: var(--shadow-lift); width: 252px; }
[dir="rtl"] .dash { left: auto; right: -34px; }
.dash .dl { font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: 12px; }
.dash .big { font-size: 2.05rem; font-weight: 800; line-height: 1; color: var(--ink); }
.dash .big span { font-size: .83rem; color: var(--link); font-weight: 800; margin-left: 8px; }
.dash p { font-size: .83rem; margin: 6px 0 0; }
.bars { display: flex; align-items: flex-end; gap: 5px; height: 52px; margin-top: 15px; }
.bars i { flex: 1; background: var(--bg-3); border-radius: 3px 3px 0 0; }
.bars i.on { background: var(--teal); }
.livebadge { position: absolute; right: -4px; top: 20px; z-index: 4; background: var(--amber);
  color: #131f30; font-weight: 800; font-size: .77rem; padding: 7px 15px; border-radius: 999px;
  box-shadow: var(--shadow); }

/* alternating feature rows */
.feat { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center;
  margin-bottom: 84px; }
.feat:last-child { margin-bottom: 0; }
.feat.flip > div:first-child { order: 2; }
.ticks { list-style: none; padding: 0; margin: 24px 0 0; }
.ticks li { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 13px;
  font-size: .97rem; color: var(--ink-2); }
.feat-img { border-radius: var(--radius); box-shadow: var(--shadow); border: 1px solid var(--line);
  width: 100%; display: block; }

/* Prism chat bubbles (reuses the existing .chat-mock markup) */
.chat-msg { border-radius: 16px; }
.chat-user { background: var(--teal-deep); color: #fff; border-bottom-right-radius: 5px; }
.chat-agent { background: var(--bg-3); color: var(--ink); border-bottom-left-radius: 5px; }
.chat-agent b { color: var(--ink); }
.chat-user-quiet { align-self: flex-end; background: var(--bg-3); color: var(--ink);
  border: 1px solid var(--line); border-bottom-right-radius: 5px; }

/* the four-question cards on /ask */
.qcard { background: var(--glass); border: 1px solid var(--glass-bd); border-left: 4px solid var(--teal);
  border-radius: var(--radius-sm); padding: 22px 24px; box-shadow: var(--shadow);
  margin-bottom: 16px; display: flex; gap: 20px; align-items: flex-start;
  backdrop-filter: blur(14px); }
.qcard:nth-of-type(even) { border-left-color: var(--amber); }
.qcard .qt { flex: 1; }
.qcard .qt p { font-size: 1.05rem; color: var(--ink); font-weight: 600; line-height: 1.5; }
.qcard .qt small { display: block; color: var(--ink-3); font-size: .86rem; margin-top: 9px; }
[dir="rtl"] .qcard { border-left: 1px solid var(--glass-bd); border-right: 4px solid var(--teal); }
[dir="rtl"] .qcard:nth-of-type(even) { border-right-color: var(--amber); }

/* the honest "we are not printing the answers" block */
.honest { background: linear-gradient(120deg, #10263a, #1e4a63); color: #fff;
  border-radius: 26px; padding: 48px 44px; text-align: center; max-width: 880px; margin: 0 auto; }
.honest h2 { color: #fff; max-width: 620px; margin: 0 auto 16px; }
.honest p { color: #bcd4e0; max-width: 640px; margin: 0 auto 14px; }
.honest .glass-note { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px; padding: 20px 24px; margin-top: 26px; text-align: left; color: #d5e5ef; }
.honest .glass-note b { color: #4ee0cf; }

@media (max-width: 940px) {
  .hgrid { grid-template-columns: 1fr; gap: 74px; }
  .dash { left: 0; bottom: -30px; width: 220px; }
  [dir="rtl"] .dash { left: auto; right: 0; }
  .feat { grid-template-columns: 1fr; gap: 34px; }
  .feat.flip > div:first-child { order: 0; }
  .qcard { flex-direction: column; gap: 14px; }
}

/* ══════════════════════════════════════════════════════════════
   Product mockups built in HTML — no images. Themeable, crisp on
   every screen, and every string stays translatable.
   ══════════════════════════════════════════════════════════════ */
.mock { background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); overflow: hidden; }
.mock-bar { display: flex; gap: 6px; padding: 12px 16px; background: var(--bg-3);
  border-bottom: 1px solid var(--line); }
.mock-bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--line); flex: none; }
.mock-body { padding: 26px 24px; }
.mock-title { font-weight: 750; font-size: 1.02rem; color: var(--ink); margin-bottom: 20px;
  text-align: center; }

/* the editing screen */
.field-row { margin-bottom: 15px; }
.field-row label { display: block; font-size: .78rem; font-weight: 700; color: var(--ink-3);
  margin-bottom: 5px; }
.field-box { border: 1px solid var(--line); background: var(--bg); border-radius: 9px;
  padding: 9px 12px; font-size: .87rem; color: var(--ink); line-height: 1.45; }
.mock-publish { display: block; width: 100%; text-align: center; background: var(--btn-grad);
  color: #fff; font-weight: 700; font-size: .92rem; border-radius: 999px; padding: 11px;
  margin-top: 20px; }
a.mock-publish { color: #fff; }
a.mock-publish:hover { text-decoration: none; transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(13,158,144,.32); }
.autofill-step { display: flex; align-items: center; gap: 11px; padding: 13px 12px; margin-top: 10px;
  border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.autofill-step > span { display: grid; place-items: center; width: 28px; height: 28px; flex: none;
  border-radius: 50%; background: var(--bg-3); color: var(--ink-3); font-size: .78rem; font-weight: 800; }
.autofill-step > div { min-width: 0; flex: 1; }
.autofill-step b, .autofill-step small { display: block; }
.autofill-step small { margin-top: 3px; color: var(--ink-3); font-size: .75rem; overflow-wrap: anywhere; }
.autofill-step > i { color: var(--link); font-style: normal; font-weight: 900; }
.autofill-step.done > span { background: var(--teal-soft); color: var(--link); }
.autofill-step.current { border-color: var(--teal); box-shadow: 0 0 0 2px var(--teal-soft); }
.prompt-guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.prompt-guide-grid > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); }
.prompt-guide-grid b, .prompt-guide-grid span { display: block; }
.prompt-guide-grid span { margin-top: 4px; color: var(--ink-3); font-size: .82rem; }

/* the dashboard */
.dm-head { text-align: center; margin-bottom: 20px; }
.dm-num { font-size: 2.6rem; font-weight: 800; color: var(--ink); line-height: 1;
  letter-spacing: -.03em; }
.dm-num span { font-size: 1rem; color: var(--ok); font-weight: 800; margin-left: 9px;
  letter-spacing: 0; }
.dm-cap { font-size: .92rem; color: var(--ink-2); margin-top: 7px; }
.dm-bars { display: flex; align-items: flex-end; gap: 8px; height: 130px;
  border-bottom: 1px solid var(--line); padding-bottom: 1px; }
.dm-bars i { flex: 1; background: var(--teal); border-radius: 4px 4px 0 0; opacity: .45; }
.dm-bars i.on { opacity: 1; }
/* six bars, one per agent, each labelled by its logo */
.dm-agents { display: flex; gap: 14px; margin-top: 6px; }
.dm-agent { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 9px;
  color: var(--ink-2); }
.dm-agent .dm-track { display: flex; align-items: flex-end; height: 120px; width: 100%;
  border-bottom: 1px solid var(--line); }
.dm-agent .dm-track i { width: 100%; background: var(--teal); border-radius: 4px 4px 0 0; }
.dm-agent svg { flex: none; }
.dm-pills { display: flex; gap: 7px; flex-wrap: wrap; justify-content: center; margin-top: 18px; }
.dm-pill { font-size: .8rem; font-weight: 700; color: var(--ink-2); background: var(--bg-3);
  border: 1px solid var(--line); border-radius: 999px; padding: 5px 13px; }

/* ── Person A / B / C: one link, three different conversations ── */
.one-link { display: inline-flex; align-items: center; gap: 11px; background: var(--bg-2);
  border: 1px solid var(--line); border-radius: 13px; padding: 13px 20px; font-weight: 700;
  color: var(--ink); box-shadow: var(--shadow); }
.one-link .glyph { width: 24px; height: 24px; border-radius: 8px; flex: none;
  background: var(--brand-grad); }
.fan-down { width: 2px; height: 34px; margin: 0 auto; background: linear-gradient(var(--teal), transparent); }
.persons { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px;
  margin-top: 8px; text-align: left; }
.person { background: var(--glass); border: 1px solid var(--glass-bd); border-radius: var(--radius);
  padding: 24px; box-shadow: var(--shadow); backdrop-filter: blur(14px);
  border-top: 3px solid var(--teal); }
.person:nth-child(2) { border-top-color: var(--indigo); }
.person:nth-child(3) { border-top-color: var(--amber); }
.person-who { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  color: var(--teal); }
.person:nth-child(2) .person-who { color: var(--indigo); }
.person:nth-child(3) .person-who { color: var(--amber); }
.person-desc { font-size: .88rem; color: var(--ink-3); margin: 4px 0 14px; }
.person .chat-mock { margin-top: 0; }
.person .chat-msg { font-size: .87rem; max-width: 96%; }
.person-out { font-size: .86rem; color: var(--ink-2); margin-top: 14px; padding-top: 13px;
  border-top: 1px solid var(--line); }
.person-out b { color: var(--ink); }

/* ── hero conversation rotator: one sample dissolves into the next ── */
.chat-rotator { position: relative; }
.chat-slide { opacity: 0; transition: opacity .55s ease; pointer-events: none; }
.chat-slide.on { opacity: 1; pointer-events: auto; }
/* slides after the first are stacked on top of the first, which holds the height */
.chat-rotator > .chat-slide:not(:first-child) { position: absolute; inset: 0; }
.chat-slide.measuring { position: static !important; }
.rotator-dots { margin-left: auto; display: flex; gap: 5px; align-items: center; }
.rotator-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--line);
  display: block; transition: background .3s, width .3s; }
.rotator-dots i.on { background: var(--teal); width: 16px; border-radius: 3px; }
/* countdown to the next sample: the fill IS the timer (animationend advances) */
.phone-top { position: relative; }
.rotator-bar { position: absolute; left: 9px; right: 9px; bottom: -1px; height: 2px;
  border-radius: 2px; background: linear-gradient(90deg, var(--teal), #6366f1);
  transform: scaleX(0); transform-origin: 0 50%; opacity: .85; pointer-events: none; }
.rotator-bar.run { animation: swa-rotbar 8s linear forwards; }
@keyframes swa-rotbar { from { transform: scaleX(0); } to { transform: scaleX(1); } }
[dir="rtl"] .rotator-bar { transform-origin: 100% 50%; }
@media (prefers-reduced-motion: reduce) {
  .chat-slide { transition: none; }
  .rotator-bar { display: none; }
}

/* ── blog: WordPress-style lead post + card grid ── */
.post-lead { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; background: var(--glass);
  border: 1px solid var(--glass-bd); border-radius: var(--radius); overflow: hidden;
  box-shadow: var(--shadow); backdrop-filter: blur(14px); color: inherit; margin-bottom: 30px; }
.post-lead:hover { text-decoration: none; transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.post-lead, .post-card { transition: transform .18s, box-shadow .18s; }
.post-lead-img { position: relative; min-height: 260px; background: var(--bg-3); }
.post-lead-img img, .post-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-lead-body { padding: 34px; display: flex; flex-direction: column; justify-content: center; }
.post-lead-body h2 { margin: 10px 0 0; font-size: clamp(1.4rem, 2.4vw, 1.95rem); }
.post-lead-body p { margin-top: 12px; font-size: 1rem; }

.post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(310px, 100%), 1fr)); gap: 26px; }
.post-card { background: var(--glass); border: 1px solid var(--glass-bd); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow); backdrop-filter: blur(14px); color: inherit;
  display: flex; flex-direction: column; }
.post-card:hover { text-decoration: none; transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.post-card-img { aspect-ratio: 16 / 9; background: var(--bg-3); overflow: hidden; }
.post-card-body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.post-card-body h3 { margin: 10px 0 0; font-size: 1.12rem; line-height: 1.32; }
.post-card-body p { margin-top: 10px; font-size: .93rem; flex: 1; }
.post-meta { display: flex; gap: 6px; flex-wrap: wrap; min-height: 22px; }
.post-more { margin-top: 16px; font-weight: 700; font-size: .9rem; color: var(--link); }

/* article hero artwork */
.article-hero { border-radius: var(--radius); overflow: hidden; margin: 0 0 30px;
  box-shadow: var(--shadow); border: 1px solid var(--line); aspect-ratio: 16 / 7; background: var(--bg-3); }
.article-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 780px) {
  .post-lead { grid-template-columns: 1fr; }
  .post-lead-img { aspect-ratio: 16 / 9; min-height: 0; }
  .post-lead-body { padding: 24px; }
}

