.zora-advisor {
  --zora-ink: #171715;
  --zora-muted: #77756f;
  --zora-line: #e9e6df;
  --zora-paper: #fff;
  --zora-accent: #176fba;
  --zora-soft: #edf6ff;
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 9000;
  color: var(--zora-ink);
  font-family: inherit;
}

.zora-advisor *,
.zora-advisor *::before,
.zora-advisor *::after { box-sizing: border-box; }

.zora-advisor .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.zora-advisor__launcher-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.zora-advisor__launcher-label {
  padding: 9px 12px;
  border: 1px solid var(--zora-line);
  border-radius: 999px;
  background: var(--zora-paper);
  box-shadow: 0 7px 24px rgb(20 20 18 / 12%);
  color: var(--zora-ink);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.zora-advisor__launcher {
  display: grid;
  width: 62px;
  height: 62px;
  padding: 4px;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--zora-accent);
  box-shadow: 0 8px 26px rgb(25 22 18 / 24%);
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.zora-advisor__launcher:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgb(25 22 18 / 28%); }
.zora-advisor__launcher:focus-visible,
.zora-advisor__close:focus-visible,
.zora-advisor__send:focus-visible,
.zora-advisor__suggestion:focus-visible,
.zora-advisor__input:focus-visible { outline: 3px solid #1774d1; outline-offset: 3px; }
.zora-advisor__launcher img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }

.zora-advisor__panel {
  position: absolute;
  right: 0;
  bottom: 78px;
  display: flex;
  width: min(390px, calc(100vw - 32px));
  height: min(590px, calc(100dvh - 128px));
  min-height: 380px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgb(23 23 21 / 10%);
  border-radius: 20px;
  background: var(--zora-paper);
  box-shadow: 0 20px 64px rgb(20 20 18 / 25%);
}

.zora-advisor__panel[hidden] { display: none; }
.zora-advisor__header { display: flex; align-items: center; gap: 12px; padding: 16px 17px; border-bottom: 1px solid var(--zora-line); background: #fff; color: var(--zora-ink); }
.zora-advisor__avatar { width: 46px; height: 46px; flex: 0 0 46px; border: 2px solid #d8ebfc; border-radius: 50%; object-fit: cover; }
.zora-advisor__identity { min-width: 0; flex: 1; }
.zora-advisor__name { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.2; }
.zora-advisor__role { margin-top: 4px; color: var(--zora-muted); font-size: 12px; }
.zora-advisor__close { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid var(--zora-line); border-radius: 50%; background: #fff; color: var(--zora-ink); cursor: pointer; font-size: 21px; }
.zora-advisor__close:hover { background: #f4f7fa; }
.zora-advisor__conversation { display: flex; min-height: 0; flex: 1; flex-direction: column; gap: 12px; overflow: auto; padding: 16px; overscroll-behavior: contain; }
.zora-advisor__message { max-width: 88%; padding: 11px 13px; border: 1px solid var(--zora-line); border-radius: 15px 15px 15px 4px; background: #f7f6f3; color: var(--zora-ink); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.zora-advisor__message--user { align-self: flex-end; border-color: var(--zora-accent); border-radius: 15px 15px 4px 15px; background: var(--zora-soft); }
.zora-advisor__suggestions { display: flex; flex-wrap: wrap; gap: 7px; }
.zora-advisor__suggestion { padding: 8px 10px; border: 1px solid #c7dff4; border-radius: 999px; background: #f7fbff; color: #155b92; cursor: pointer; font: inherit; font-size: 12px; }
.zora-advisor__suggestion:hover { border-color: var(--zora-accent); background: var(--zora-soft); }
.zora-advisor__privacy { margin: 0; color: var(--zora-muted); font-size: 11px; line-height: 1.4; }
.zora-advisor__privacy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.zora-advisor__form { display: flex; align-items: center; gap: 8px; padding: 12px; border-top: 1px solid var(--zora-line); background: #fff; }
.zora-advisor__input { min-width: 0; flex: 1; padding: 12px 13px; border: 1px solid #d8d5ce; border-radius: 999px; background: #fff; color: var(--zora-ink); font: inherit; font-size: 14px; }
.zora-advisor__input::placeholder { color: #85827b; }
.zora-advisor__send { width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 50%; background: var(--zora-accent); color: #fff; cursor: pointer; font-size: 18px; font-weight: 800; }
.zora-advisor__send:disabled { cursor: wait; opacity: .55; }
.zora-advisor__fallback { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.zora-advisor__fallback a { display: inline-flex; padding: 8px 10px; border-radius: 999px; background: var(--zora-ink); color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
.zora-advisor__trial-cta { display: inline-flex; align-items: center; justify-content: center; margin-top: 10px; padding: 10px 14px; border-radius: 999px; background: #176fba; color: #fff; font-size: 13px; font-weight: 800; line-height: 1.35; text-decoration: none; }
.zora-advisor__trial-cta:hover { background: #105b9b; }
.zora-advisor__trial-cta:focus-visible { outline: 3px solid #1774d1; outline-offset: 3px; }

@media (max-width: 600px) {
  .zora-advisor { right: 10px; bottom: max(10px, env(safe-area-inset-bottom, 0px)); }
  .zora-advisor__launcher-label { display: none; }
  .zora-advisor__launcher { width: 48px; height: 48px; }
  .zora-advisor__panel { right: 0; bottom: 68px; width: min(390px, calc(100vw - 24px)); height: min(590px, calc(100dvh - 100px)); min-height: min(380px, calc(100dvh - 100px)); border-radius: 18px; }
}

/* Mobile: let long knowledge cards shrink to their grid track instead of forcing horizontal overflow. */
@media (max-width: 680px) {
  .topic-grid { grid-template-columns: minmax(0, 1fr); }
  .topic-grid > a { box-sizing: border-box; min-width: 0; max-width: 100%; padding: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .zora-advisor__launcher { transition: none; }
}

.ai-showcase .feature-catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ai-showcase .feature-link { display: block; color: inherit; text-decoration: none; }
.ai-showcase .feature-link h3 { color: #fff; }
.ai-showcase .feature-link p { color: #c4c4bf; }
.ai-showcase .feature-link:hover { background: #272725; }
.ai-showcase .cta-panel { color: #171715; }
.ai-showcase .cta-panel h3 { max-width: 790px; margin: 0; font-size: clamp(1.7rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -.05em; }
.ai-showcase .cta-panel p { margin-bottom: 0; }

@media (max-width: 980px) {
  .ai-showcase .feature-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .ai-showcase .feature-catalog { grid-template-columns: 1fr; }
}


/* Homepage hero: equal, uncropped columns for copy and actual product screen. */
.hero-shell{grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);gap:clamp(24px,3vw,48px);align-items:stretch}.hero-copy{max-width:620px;min-height:0;display:flex;flex-direction:column;justify-content:center}.hero h1{max-width:620px;font-size:clamp(3.4rem,4.4vw,4.4rem);line-height:.98}.hero-lede{max-width:620px}.product-stage{display:flex;flex-direction:column;min-height:0;transform:none}.product-window{display:flex;flex:1;flex-direction:column;min-height:0}.product-window img{flex:1;height:100%;min-height:0;object-fit:contain;object-position:center top}.stage-caption{flex:0 0 auto}@media(max-width:1120px){.hero-shell{grid-template-columns:1fr;align-items:start}.hero-copy{min-height:0}.product-stage{min-height:0}.product-window{flex:initial}.product-window img{height:auto;min-height:0;flex:initial;object-fit:contain}}@media(max-width:680px){.hero h1{font-size:clamp(2.75rem,10.5vw,4rem)}}
