@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/static/landing-assets/fonts/dm-sans-regular.ttf") format("truetype");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/static/landing-assets/fonts/dm-sans-medium.ttf") format("truetype");
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("/static/landing-assets/fonts/dm-sans-semibold.ttf") format("truetype");
}

:root {
  color-scheme: light;
  --paper: #f8f5f4;
  --ink: #080809;
  --blue: #1014ff;
  --muted: #68666b;
  --line: #c9c4c6;
  font-family: "DM Sans", Arial, sans-serif;
  font-synthesis: none;
  color: var(--ink);
  background: var(--paper);
  scroll-behavior: smooth;
}
* { box-sizing: border-box; }
body { margin: 0; min-width: 280px; background: var(--paper); }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.32' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 5px;
}
[hidden] { display: none !important; }
.wrap { width: 90%; max-width: 1440px; margin-inline: auto; }
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: -80px;
  left: 20px;
  z-index: 20;
  padding: 12px 18px;
  background: var(--blue);
  color: white;
}
.skip-link:focus { top: 12px; }

.site-header {
  height: 92px;
  padding: 20px 6px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.wordmark { font-size: 28px; font-weight: 600; letter-spacing: -.75px; translate: 0 1px; white-space: nowrap; }
.site-nav { display: flex; align-items: center; gap: 49px; font-size: 19px; line-height: 1.4; margin-right: 2px; translate: 0 -2px; }
.site-nav a { white-space: nowrap; }
.site-nav a:hover { color: var(--blue); }
.site-nav a:last-child span { display: inline-block; margin-left: 3px; }

.hero { --engine-index: 0; --reel-duration: 700ms; position: relative; height: 695px; }
.hero-copy { position: relative; z-index: 2; padding-top: 130px; margin-left: 8px; width: 650px; pointer-events: none; }
.hero-copy a { pointer-events: auto; }
h1 {
  margin: 0;
  font-size: 59px;
  line-height: 68px;
  font-weight: 400;
  letter-spacing: -1.9px;
}
.headline-first, .headline-second { display: block; }
.headline-first { white-space: nowrap; letter-spacing: 0; }
.headline-second { letter-spacing: -1px; }
.engine-window {
  display: inline-block;
  height: 1.16em;
  width: 4.85em;
  overflow: hidden;
  vertical-align: bottom;
  color: var(--blue);
}
.slot-track {
  display: block;
  transform: translate3d(0, calc(var(--engine-index) * var(--slot-height) * -1), 0);
  transition: transform var(--reel-duration) cubic-bezier(.22, 1, .36, 1);
}
.engine-track { --slot-height: 1.16em; }
.engine-track > span { display: block; height: var(--slot-height); line-height: 1.16; }
.reel-reset .slot-track { transition: none; }

/* Each reel row owns its palette, so outgoing and incoming names retain
   their own colours during the shared roll. The hero palette also themes
   the currently displayed phone answer. */
[data-engine] {
  --ai-name-background: none;
  --ai-text-fill: currentColor;
}
[data-engine="gemini"] {
  --ai-name-color: #3186ff;
  --ai-accent: #1967d2;
}
[data-engine="chatgpt"] {
  --ai-name-color: #141414;
  --ai-accent: #141414;
}
[data-engine="claude"] {
  --ai-name-color: #c96442;
  --ai-accent: #b75432;
}
[data-engine="perplexity"] {
  --ai-name-color: #20808d;
  --ai-accent: #1c7480;
}
[data-engine="copilot"] {
  --ai-name-color: #6750c8;
  --ai-accent: #6750c8;
  --ai-name-background: linear-gradient(100deg, #0588f7 0%, #8c48ff 55%, #f2598a 100%);
  --ai-text-fill: transparent;
}
.engine-track > [data-engine],
.phone-engine-row > span {
  color: var(--ai-name-color);
  background-image: var(--ai-name-background);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: var(--ai-text-fill);
}
.engine-track > [data-engine] { width: max-content; max-width: 100%; }

.hero-description { margin: 25px 0 0; font-size: 26.6px; line-height: 35px; letter-spacing: 0; }
.hero-actions { margin-top: 49px; display: flex; align-items: center; gap: 42px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 60px;
  min-width: 244px;
  padding: 0 27px;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 500;
}
.primary { color: #fff; background: linear-gradient(105deg, #0027ff, #1800ff); }
.primary:hover { background: #2523eb; }
.text-link { font-size: 22px; line-height: 1.2; border-bottom: 1px solid #a9a4a7; padding-bottom: 2px; }
.text-link:hover { color: var(--blue); border-color: var(--blue); }
.coverage { margin: 36px 0 0; font-size: 18px; line-height: 1.4; color: var(--muted); }

.phone-scene {
  position: absolute;
  container-type: inline-size;
  left: 40.7%;
  top: 36px;
  width: 47.4%;
  aspect-ratio: 655 / 630;
  margin: 0;
}
.phone-assembly {
  --u: calc(100cqw / 655);
  position: absolute;
  inset: 0;
  transform-origin: 62% 72%;
  animation: phone-float 12s ease-in-out infinite;
}
.ascii-art { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.phone-screen {
  position: absolute;
  left: calc(var(--u) * 315);
  top: calc(var(--u) * 25);
  width: calc(var(--u) * 259);
  height: calc(var(--u) * 463);
  border-radius: calc(var(--u) * 31);
  overflow: hidden;
  background: #f9f7f6;
  color: #080809;
  font-family: Arial, sans-serif;
}
.phone-status {
  position: absolute;
  top: calc(var(--u) * 12);
  left: calc(var(--u) * 24);
  right: calc(var(--u) * 19);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: calc(var(--u) * 12);
  line-height: 1.2;
  font-weight: 600;
}
.status-symbols { display: flex; align-items: center; gap: calc(var(--u) * 4); }
.status-symbols svg { display: block; width: calc(var(--u) * 14); height: calc(var(--u) * 11); fill: currentColor; }
.status-symbols .battery { width: calc(var(--u) * 21); }
.assistant-header {
  position: absolute;
  left: calc(var(--u) * 17);
  right: calc(var(--u) * 17);
  top: calc(var(--u) * 51);
  height: calc(var(--u) * 31);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.assistant-switch {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--u) * 10);
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-size: calc(var(--u) * 24);
  line-height: 1.15;
}
.phone-name-window {
  display: block;
  width: 7.15em;
  height: 1.3em;
  overflow: hidden;
  text-align: left;
}
.phone-engine-track { --slot-height: 1.3em; }
.phone-engine-row {
  display: flex;
  height: var(--slot-height);
  align-items: center;
  gap: calc(var(--u) * 10);
  white-space: nowrap;
}
.assistant-symbol {
  display: block;
  flex-shrink: 0;
  width: calc(var(--u) * 25);
  height: calc(var(--u) * 25);
  object-fit: contain;
}
.phone-menu {
  padding: calc(var(--u) * 4);
  border: 0;
  background: none;
  color: #55545a;
  font-size: calc(var(--u) * 13);
  letter-spacing: calc(var(--u) * 2);
  line-height: 1;
}
.example-note {
  position: absolute;
  z-index: 3;
  left: calc(var(--u) * 15);
  right: calc(var(--u) * 15);
  top: calc(var(--u) * 83);
  padding: calc(var(--u) * 12);
  margin: 0;
  border: 1px solid #d1ccce;
  border-radius: calc(var(--u) * 12);
  background: #f9f7f6;
  font-size: calc(var(--u) * 13);
  line-height: 1.45;
  box-shadow: 0 5px 20px #0000000c;
}
.phone-question {
  position: absolute;
  top: calc(var(--u) * 103);
  right: calc(var(--u) * 14);
  width: calc(var(--u) * 198);
  min-height: calc(var(--u) * 67);
  max-height: calc(var(--u) * 79);
  overflow: auto;
  margin: 0;
  padding: calc(var(--u) * 12) calc(var(--u) * 15);
  border-radius: calc(var(--u) * 18);
  background: #eeecec;
  font-size: calc(var(--u) * 18);
  line-height: 1.34;
  letter-spacing: calc(var(--u) * -.25);
}
.reply-symbol {
  position: absolute;
  left: calc(var(--u) * 14);
  top: calc(var(--u) * 202);
  width: calc(var(--u) * 21);
  height: calc(var(--u) * 21);
  object-fit: contain;
}
.answer-bubble {
  position: absolute;
  left: calc(var(--u) * 35);
  right: calc(var(--u) * 13);
  top: calc(var(--u) * 191);
  min-height: calc(var(--u) * 96);
  max-height: calc(var(--u) * 112);
  margin: 0;
  padding: calc(var(--u) * 12) calc(var(--u) * 13);
  overflow: auto;
  border-radius: calc(var(--u) * 18);
  background: #f1efef7a;
  font-size: calc(var(--u) * 18);
  line-height: 1.34;
  letter-spacing: calc(var(--u) * -.25);
  scrollbar-width: thin;
}
.answer-bubble strong { color: var(--blue); font-weight: 600; }
.example-caption {
  position: absolute;
  left: calc(var(--u) * 48);
  top: calc(var(--u) * 297);
  font-size: calc(var(--u) * 14);
  line-height: 1.4;
  color: #656268;
}
.phone-followup {
  position: absolute;
  left: calc(var(--u) * 14);
  right: calc(var(--u) * 14);
  top: calc(var(--u) * 394);
  height: calc(var(--u) * 44);
  display: flex;
  align-items: center;
  border: 1px solid #cbc6c9;
  border-radius: calc(var(--u) * 17);
  padding-left: calc(var(--u) * 15);
}
.phone-followup input {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #302e33;
  font-size: calc(var(--u) * 14.5);
  outline: none;
}
.phone-followup input::placeholder { color: #747078; opacity: 1; }
.phone-followup:focus-within { outline: 2px solid color-mix(in srgb, var(--ai-accent) 50%, transparent); outline-offset: 3px; }
.phone-followup button {
  width: calc(var(--u) * 42);
  height: 100%;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: none;
  color: var(--ai-accent);
}
.phone-followup button:disabled { color: #78747b; }
.phone-followup button svg { width: calc(var(--u) * 20); height: calc(var(--u) * 20); }
.phone-screen.has-followup .answer-bubble { max-height: calc(var(--u) * 158); }
.phone-screen.has-followup .example-caption { top: calc(var(--u) * 357); }
.art-error { position: absolute; bottom: 0; color: #913e3e; font-size: 14px; background: var(--paper); }

.motion-toggle {
  position: absolute;
  right: 5px;
  bottom: 105px;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 36px;
  padding: 7px 6px;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.4;
}
.motion-toggle svg { width: 15px; height: 18px; color: var(--ink); }
.motion-toggle:hover { color: var(--ink); }
.motion-toggle:disabled { opacity: .75; }
.motion-paused .phone-assembly { animation-play-state: paused; }
.motion-paused .slot-track { transition: none; }

.overview {
  display: grid;
  grid-template-columns: 46.4% minmax(0, 1fr);
  border-top: 1px solid var(--line);
  padding: 31px 0 69px;
  scroll-margin-top: 28px;
}
.overview-heading { padding: 7px 35px 0 8px; }
.eyebrow { margin: 0; color: #56535a; font-size: 15px; font-weight: 400; line-height: 1.4; letter-spacing: 2px; }
.overview h2 { margin: 20px 0 0; font-size: 42px; line-height: 1.2; font-weight: 500; letter-spacing: -.2px; }
.overview-details { min-width: 0; margin: 0; padding: 0 8px 0 70px; border-left: 1px solid #bcb7ba; scroll-margin-top: 28px; }
.detail-row { display: flex; align-items: baseline; gap: 9px; padding: 12px 0; font-size: 19.6px; line-height: 29px; letter-spacing: -.3px; }
.detail-row + .detail-row { border-top: 1px solid #d0cbce; }
.detail-row dt { flex-shrink: 0; font-weight: 600; }
.detail-row dd { margin: 0; }
.detail-row dd > span { margin-right: 6px; }

/* The product story uses live HTML throughout. Only the approved hero hand
   is an image; previews, charts, tabs, briefs and questions remain editable. */
.page-section { padding: 88px 8px 96px; border-top: 1px solid var(--line); scroll-margin-top: 28px; }
.section-heading { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 64px; }
.section-index { color: var(--blue); margin-right: 10px; }
.page-section h2 { margin: 20px 0 0; font-size: clamp(36px, 3.5vw, 54px); line-height: 1.1; letter-spacing: -1.65px; font-weight: 400; }
.section-heading > p, .action-copy > p:not(.eyebrow) { max-width: 430px; margin: 0; font-size: 19px; line-height: 1.6; color: #55525a; }
.section-heading > p { padding-bottom: 3px; }
.product-section { padding-top: 75px; }
.tour-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 49px; }
.tour-tabs button { display: flex; align-items: center; gap: 17px; padding: 22px 20px; border: 0; border-bottom: 1px solid var(--line); background: transparent; text-align: left; font-size: 21px; color: #68646a; }
.tour-tabs button + button { border-left: 1px solid var(--line); }
.tour-tabs button[aria-selected="true"] { color: var(--blue); border-bottom: 2px solid var(--blue); padding-bottom: 21px; }
.tour-tabs button:hover { background: #efedee; }
.tab-number { font-family: ui-monospace, monospace; font-size: 12px; color: #777179; }
.tab-arrow { margin-left: auto; font-size: 23px; opacity: 0; }
[aria-selected="true"] .tab-arrow { opacity: 1; }
.tour-stage { padding: 36px 38px 18px; background: #eeecee; border: 1px solid #d8d3d6; border-top: 0; }
.workspace-preview { max-width: 1130px; margin-inline: auto; border: 1px solid #d8d4d7; border-radius: 4px; background: #fffefd; box-shadow: 0 10px 25px #24202806; overflow: hidden; }
.preview-chrome { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; padding: 16px 30px; border-bottom: 1px solid #e5e0e3; }
.preview-wordmark { font-size: 18px; font-weight: 600; letter-spacing: -.5px; }
.preview-wordmark > span:first-child { margin-inline: 14px; font-weight: 400; color: #c8c2c8; }
.preview-project { color: #66616a; font-size: 14px; font-weight: 400; letter-spacing: 0; }
.sample-label { font-size: 10px; letter-spacing: 1.2px; color: #77717a; }
.tour-panel { min-height: 555px; padding: 30px 36px; animation: panel-enter 220ms ease-out; }
.tour-panel:focus-visible { outline: 2px solid var(--blue); outline-offset: -3px; }
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.preview-kicker { display: block; margin: 0; font-size: 10px; letter-spacing: 1.5px; line-height: 1.5; color: #77717b; }
.preview-heading h3 { margin: 8px 0 0; font-size: 25px; letter-spacing: -.6px; font-weight: 500; line-height: 1.2; }
.preview-period { border: 1px solid #e1dce0; padding: 8px 11px; font-size: 12px; color: #68616b; white-space: nowrap; }
.visibility-summary { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 24px; }
.preview-metric > strong { display: block; font-size: 59px; line-height: 1; letter-spacing: -2px; font-weight: 500; }
.preview-metric > strong > span { font-size: 33px; letter-spacing: -1px; margin-left: 3px; }
.preview-metric > p { margin: 9px 0 0; font-size: 13px; color: #756e78; }
.brand-highlight { color: var(--blue); }
.metric-context { display: flex; flex-direction: column; gap: 8px; font-size: 13px; color: #6b6570; }
.metric-context > span { display: flex; align-items: center; gap: 7px; }
.metric-context b { color: var(--ink); font-weight: 500; }
.metric-context img { object-fit: contain; }
.metric-context > span:last-child { margin-top: 2px; font-size: 11px; }
.chart-wrap { margin: 19px 0 23px; }
.visibility-chart { display: block; width: 100%; height: auto; max-height: 185px; overflow: visible; }
.chart-grid { fill: none; stroke: #eae6e9; stroke-width: 1; }
.chart-labels { fill: #857d88; font-size: 11px; font-family: "DM Sans", Arial, sans-serif; }
.mobile-chart-labels { display: none; fill: #857d88; font-family: "DM Sans", Arial, sans-serif; }
.chart-line { fill: none; stroke: var(--blue); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.answer-table-head, .sample-answer-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px 120px; gap: 22px; align-items: center; }
.answer-table-head { padding-bottom: 10px; color: #827a86; font-size: 9px; letter-spacing: 1px; }
.sample-answer-row { padding: 12px 0; border-top: 1px solid #eae6e9; font-size: 13px; line-height: 1.4; }
.provider-cell { display: flex; align-items: center; gap: 7px; }
.provider-cell img { flex-shrink: 0; object-fit: contain; }
.mention-state { color: #363496; font-size: 12px; }
.mention-state > span { margin-right: 4px; }
.missing-state { color: #847e88; font-size: 12px; }
.tour-caption { margin: 16px auto 0; max-width: 1130px; color: #78717c; font-size: 12px; line-height: 1.5; }
.tour-caption > span { margin-right: 6px; }
.comparison-layout, .source-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; min-height: 350px; margin-top: 26px; }
.comparison-row + .comparison-row { margin-top: 28px; }
.comparison-row > div:first-child { display: flex; justify-content: space-between; gap: 16px; font-size: 17px; }
.comparison-row strong { font-weight: 500; }
.comparison-track { height: 8px; margin-top: 12px; background: #eeebef; }
.comparison-track > span { display: block; width: var(--bar-size); height: 100%; background: var(--blue); }
.comparison-track.neutral-bar > span { background: #7c7888; }
.comparison-track.light-bar > span { background: #b4aebe; }
.comparison-row small { display: block; margin-top: 8px; color: #817985; font-size: 12px; }
.answer-excerpt { padding: 26px; background: #f5f3f5; }
.excerpt-label { display: flex; align-items: center; gap: 11px; color: #77707c; font-size: 10px; letter-spacing: 1px; }
.excerpt-question { margin: 22px 0 18px; font-size: 17px; line-height: 1.45; font-weight: 500; }
.answer-excerpt blockquote { margin: 0; padding-left: 15px; border-left: 2px solid #c3bcd4; font-size: 16px; line-height: 1.65; }
.answer-excerpt blockquote > strong { font-weight: 500; color: var(--blue); background: #e8e6ff; }
.competitor-highlight { background: #e7e2ed; }
.excerpt-caption { margin: 20px 0 0; font-size: 11px; line-height: 1.5; color: #827988; }
.preview-footnote { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #eae6e9; color: #756d7c; font-size: 12px; line-height: 1.6; }
.source-list-heading { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 16px; font-size: 9px; letter-spacing: 1px; color: #847b8a; }
.source-item { display: flex; align-items: center; gap: 14px; padding: 19px 0; border-top: 1px solid #e6e0e9; }
.source-monogram { display: grid; place-items: center; width: 33px; height: 33px; background: #eeeaf0; color: #78707f; font-size: 13px; }
.owned-source { background: #eeebff; color: var(--blue); }
.source-item > div { flex: 1; }
.source-item strong { font-size: 15px; font-weight: 500; }
.source-item small { display: block; margin-top: 4px; color: #8a818e; font-size: 11px; }
.source-item > b { font-size: 17px; font-weight: 400; }
.source-list-note { margin-top: 20px; font-size: 12px; line-height: 1.6; color: #83798a; }
.source-document { align-self: stretch; padding: 30px; border: 1px solid #e3dce9; border-top: 3px solid var(--blue); background: #f8f6fa; }
.document-path { display: block; margin-top: 20px; color: #8e8496; font-size: 11px; overflow-wrap: anywhere; }
.source-document h4 { margin: 17px 0 0; font-size: 28px; line-height: 1.14; letter-spacing: -.8px; font-weight: 400; }
.source-document > p { margin: 16px 0 0; font-size: 14px; line-height: 1.65; color: #766b80; }
.document-lines { display: grid; gap: 9px; margin-top: 21px; }
.document-lines > i { display: block; height: 3px; background: #e5dfeb; }
.document-lines > i:last-child { width: 62%; }
.citation-tag { display: flex; gap: 9px; margin-top: 26px; color: #51459c; font-size: 11px; }
.workflow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 54px 0 0; padding: 0; list-style: none; }
.workflow-steps > li { padding: 0 35px; border-left: 1px solid var(--line); }
.workflow-steps > li:first-child { padding-left: 0; border-left: 0; }
.workflow-steps > li:last-child { padding-right: 0; }
.step-number { display: block; color: var(--blue); font-family: ui-monospace, monospace; font-size: 14px; }
.step-motif { display: flex; align-items: center; min-height: 78px; margin-top: 13px; font-size: 15px; }
.prompt-motif > span { padding-bottom: 10px; border-bottom: 1px solid #c7c2cb; white-space: nowrap; }
.prompt-motif > i { width: 1px; height: 18px; margin: 0 0 10px -1px; background: var(--blue); }
.provider-motif { gap: 18px; }
.provider-motif > span { color: #b9b1bf; font-size: 16px; }
.provider-motif > img { object-fit: contain; }
.evidence-motif { gap: 12px; }
.evidence-motif > i { color: var(--blue); font-style: normal; }
.workflow-steps h3 { margin: 16px 0 0; font-size: 25px; line-height: 1.2; font-weight: 500; letter-spacing: -.7px; }
.workflow-steps p { max-width: 340px; margin: 16px 0 0; color: #6b656e; font-size: 17px; line-height: 1.65; }
.action-section { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.action-copy > p:not(.eyebrow) { margin-top: 24px; }
.action-copy > .text-link { display: inline-block; margin-top: 31px; font-size: 18px; }
.brief-stage { position: relative; display: flex; justify-content: center; padding: 26px 30px; background: #eeedf5; }
.brief-stage::before { content: ""; position: absolute; inset: 15px; background-image: radial-gradient(#5b4bb145 .7px, transparent .7px); background-size: 7px 7px; mask-image: linear-gradient(90deg, transparent 68%, #000 100%); pointer-events: none; }
.brief-preview { position: relative; width: 100%; max-width: 365px; padding: 30px 32px 22px; border: 1px solid #d6cfdc; background: #fffefd; transform: rotate(-2deg); box-shadow: 7px 9px 0 #d9d4e338; }
.brief-topline { display: flex; align-items: center; justify-content: space-between; }
.brief-topline > span:last-child { color: var(--blue); font-size: 20px; }
.brief-preview h3 { margin: 23px 0 0; font-size: 37px; font-weight: 400; letter-spacing: -1.2px; line-height: 1.1; }
.brief-intro { margin: 17px 0 0; font-size: 14px; line-height: 1.65; color: #796f80; }
.brief-subheading { margin: 23px 0 13px; font-size: 9px; letter-spacing: 1.4px; color: #82768c; }
.brief-preview ol { margin: 0; padding-left: 22px; color: #49424f; font-size: 14px; line-height: 1.8; }
.brief-preview li { padding: 6px 0 6px 3px; border-top: 1px solid #eee8f0; }
.brief-preview li::marker { color: var(--blue); font-size: 11px; }
.brief-references { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 22px; }
.brief-references > span { padding: 5px 7px; color: #635381; border: 1px solid #e2daeb; font-size: 9px; }
.brief-caption { margin: 19px 0 0; font-size: 10px; color: #908597; }
.faq-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 90px; }
.faq-heading > p:last-child { margin: 24px 0 0; color: #776e7b; font-size: 18px; line-height: 1.6; }
.faq-list > details { border-bottom: 1px solid var(--line); }
.faq-list > details:first-child { border-top: 1px solid var(--line); }
.faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 25px 0; list-style: none; cursor: pointer; font-size: 21px; line-height: 1.4; letter-spacing: -.3px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:hover { color: var(--blue); }
.faq-list summary:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.faq-plus { position: relative; flex-shrink: 0; width: 15px; height: 15px; }
.faq-plus::before, .faq-plus::after { content: ""; position: absolute; top: 7px; left: 1px; width: 13px; height: 1px; background: currentColor; }
.faq-plus::after { transform: rotate(90deg); transition: transform 180ms; }
details[open] .faq-plus::after { transform: rotate(0); }
.faq-list details > p { max-width: 52ch; margin: 0; padding: 0 35px 26px 0; color: #6c626f; font-size: 16px; line-height: 1.7; }
.closing-section { position: relative; display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: end; margin-bottom: 67px; padding: 57px 56px 64px; border-top: 1px solid #a7a1f1; background: #eeedfc; overflow: hidden; }
.closing-section .eyebrow { font-size: 11px; letter-spacing: 1.6px; }
.closing-section h2 { margin: 23px 0 0; font-size: clamp(58px, 6.2vw, 94px); line-height: .98; font-weight: 400; letter-spacing: -3.7px; }
.closing-section h2 > span { color: var(--blue); }
.closing-action { position: relative; z-index: 1; padding-bottom: 4px; }
.closing-action > p { margin: 0 0 30px; font-size: 22px; line-height: 1.5; letter-spacing: -.4px; }
.closing-action > .button { font-size: 20px; min-width: 240px; }
.closing-pixels { position: absolute; right: 30px; top: 17px; display: grid; font-family: ui-monospace, monospace; color: #9186e1; opacity: .23; font-size: 18px; line-height: 1.1; letter-spacing: 6px; transform: rotate(90deg); }
.site-footer { display: grid; grid-template-columns: 1fr auto; column-gap: 50px; padding: 0 8px 33px; }
.site-footer > div > p { margin: 12px 0 0; color: #777078; font-size: 14px; }
.site-footer nav { display: flex; gap: 29px; align-items: start; padding-top: 8px; font-size: 14px; }
.site-footer nav > a:hover { color: var(--blue); }
.footer-note { grid-column: 1 / -1; margin: 39px 0 0; padding-top: 23px; border-top: 1px solid var(--line); font-size: 12px; color: #8b828d; }
.motion-paused .tour-panel { animation: none; }

.entry-error {
  position: fixed;
  bottom: 24px;
  left: 50%;
  z-index: 10;
  transform: translateX(-50%);
  max-width: min(90vw, 540px);
  padding: 15px 20px;
  border: 1px solid #b47878;
  background: var(--paper);
  color: #7c3030;
  font-size: 15px;
  line-height: 1.5;
  box-shadow: 0 8px 30px #00000010;
}

@keyframes phone-float {
  0%, 100% { transform: translateY(0) rotate(0); }
  50% { transform: translateY(-3px) rotate(.15deg); }
}
@keyframes panel-enter {
  from { opacity: .3; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (min-width: 1680px) {
  .hero-copy { padding-top: 130px; }
  .phone-scene { left: 41%; width: 47%; }
}
@media (max-width: 1280px) and (min-width: 901px) {
  .site-nav { font-size: 16px; gap: 34px; }
  .hero { height: 610px; }
  .hero-copy { padding-top: 111px; width: 54%; }
  h1 { font-size: clamp(40px, 3.78vw, 50px); line-height: 1.16; letter-spacing: -1.6px; }
  .hero-description { font-size: clamp(20px, 1.7vw, 23px); }
  .hero-actions { gap: 30px; margin-top: 35px; }
  .button { font-size: 19px; min-width: 207px; height: 54px; padding-inline: 23px; }
  .text-link { font-size: 19px; }
  .coverage { font-size: 16px; margin-top: 30px; }
  .motion-toggle { bottom: 95px; font-size: 13px; }
  .overview-details { padding-left: 36px; }
  .detail-row { font-size: 17px; }
  .overview h2 { font-size: 34px; }
  .eyebrow { font-size: 12px; letter-spacing: 1.7px; }
}
@media (max-width: 900px) {
  .site-header { height: 84px; padding-inline: 2px; }
  .wordmark { font-size: 26px; }
  .site-nav { gap: 24px; font-size: 15px; }
  .hero { height: auto; display: flex; flex-direction: column; overflow: clip; }
  .hero-copy { padding-top: 58px; width: 100%; margin-left: 4px; padding-right: 8px; }
  h1 { font-size: clamp(40px, 6.5vw, 56px); line-height: 1.16; letter-spacing: -1.6px; }
  .hero-description { font-size: clamp(20px, 3vw, 24px); }
  .desktop-break { display: none; }
  .hero-actions { margin-top: 32px; gap: 32px; flex-wrap: wrap; }
  .button { min-width: 220px; font-size: 20px; height: 57px; }
  .text-link { font-size: 20px; }
  .coverage { font-size: 16px; margin-top: 28px; }
  .phone-scene { position: relative; left: auto; top: auto; width: 600px; max-width: 100%; align-self: center; margin-top: 15px; }
  .motion-toggle { position: relative; right: auto; bottom: auto; margin: -65px 0 40px; align-self: flex-end; }
  .overview { grid-template-columns: 1fr; gap: 28px; padding-block: 30px 45px; }
  .overview-heading { padding: 0 4px; }
  .overview h2 { font-size: 35px; margin-top: 17px; }
  .overview-details { border-left: 0; padding: 0 4px; }
  .detail-row { font-size: 19px; }
  .eyebrow { font-size: 13px; letter-spacing: 1.8px; }
  .page-section { padding: 62px 4px 68px; }
  .section-heading { grid-template-columns: 1fr 1fr; gap: 36px; }
  .page-section h2 { font-size: 38px; letter-spacing: -1.3px; }
  .section-heading > p, .action-copy > p:not(.eyebrow) { font-size: 17px; }
  .tour-tabs { margin-top: 35px; }
  .tour-tabs button { padding-inline: 13px; gap: 11px; font-size: 17px; }
  .tab-number { font-size: 10px; }
  .tab-arrow { font-size: 19px; }
  .tour-stage { padding: 22px 20px 16px; }
  .preview-chrome { padding-inline: 22px; }
  .tour-panel { padding: 25px 25px 27px; min-height: 545px; }
  .preview-heading h3 { font-size: 23px; }
  .preview-metric > strong { font-size: 50px; }
  .answer-table-head, .sample-answer-row { grid-template-columns: minmax(0, 1fr) 95px 100px; gap: 14px; }
  .sample-answer-row { font-size: 12px; }
  .provider-cell { gap: 5px; }
  .comparison-layout, .source-layout { gap: 25px; }
  .comparison-row > div:first-child { font-size: 15px; }
  .answer-excerpt { padding: 20px; }
  .answer-excerpt blockquote { font-size: 14px; }
  .excerpt-question { font-size: 15px; }
  .source-document { padding: 24px 22px; }
  .source-document h4 { font-size: 25px; }
  .source-item { gap: 10px; }
  .source-item strong { font-size: 13px; }
  .source-list-heading { letter-spacing: .5px; font-size: 8px; }
  .workflow-steps { margin-top: 37px; }
  .workflow-steps > li { padding-inline: 20px; }
  .workflow-steps h3 { font-size: 22px; }
  .workflow-steps p { font-size: 15px; }
  .step-motif { font-size: 12px; }
  .provider-motif { gap: 13px; }
  .evidence-motif { gap: 7px; }
  .action-section { gap: 36px; }
  .brief-stage { padding-inline: 23px; }
  .brief-preview { padding: 25px 24px 22px; }
  .brief-preview h3 { font-size: 31px; }
  .faq-section { grid-template-columns: .8fr 1.2fr; gap: 36px; }
  .faq-list summary { font-size: 18px; padding-block: 22px; }
  .faq-list details > p { font-size: 15px; }
  .closing-section { padding: 43px 38px 48px; gap: 35px; margin-bottom: 48px; }
  .closing-section h2 { font-size: 66px; letter-spacing: -2.8px; }
  .closing-action > p { font-size: 19px; }
  .closing-action > .button { font-size: 18px; min-width: 210px; }
  .site-footer { column-gap: 25px; }
  .site-footer nav { gap: 20px; font-size: 12px; }
}
@media (max-width: 600px) {
  .site-header { height: auto; min-height: 78px; flex-wrap: wrap; gap: 14px 20px; padding-bottom: 16px; }
  .wordmark { font-size: 24px; }
  .site-nav { font-size: 13px; gap: 18px; margin-left: auto; }
  .site-nav a:nth-child(2) { display: none; }
  .hero-copy { padding-top: 43px; margin-left: 0; padding-right: 0; }
  h1 { font-size: clamp(30px, 9.2vw, 44px); line-height: 1.17; letter-spacing: -1.35px; }
  .headline-first { white-space: normal; }
  .engine-window { width: 4.85em; }
  .headline-second { max-width: 100%; }
  .hero-description { margin-top: 25px; font-size: 19px; line-height: 1.5; letter-spacing: -.15px; }
  .hero-actions { gap: 23px; margin-top: 29px; }
  .button { min-width: 193px; height: 52px; padding-inline: 21px; font-size: 18px; }
  .text-link { font-size: 18px; }
  .coverage { margin-top: 25px; font-size: 15px; }
  .phone-scene { width: 470px; max-width: 145vw; flex-shrink: 0; align-self: flex-start; margin-top: 17px; margin-left: calc(50% - 320px); }
  .motion-toggle { margin: -55px 0 32px; font-size: 13px; }
  .overview { padding-top: 27px; gap: 25px; }
  .overview-heading { padding-left: 0; }
  .eyebrow { font-size: 11px; letter-spacing: 1.7px; }
  .overview h2 { margin-top: 15px; font-size: 31px; }
  .overview-details { padding: 0; }
  .detail-row { font-size: 16px; }
  .detail-row dd > span { margin-right: 3px; }
  .page-section { padding: 46px 0 49px; }
  .section-heading { grid-template-columns: 1fr; gap: 23px; }
  .page-section h2 { font-size: 35px; letter-spacing: -1.2px; margin-top: 18px; }
  .section-heading > p, .action-copy > p:not(.eyebrow) { max-width: 37ch; font-size: 17px; line-height: 1.65; }
  .tour-tabs { margin-top: 29px; }
  .tour-tabs button { font-size: 13px; gap: 5px; padding: 17px 7px; }
  .tour-tabs button[aria-selected="true"] { padding-bottom: 16px; }
  .tab-number { display: none; }
  .tab-arrow { font-size: 16px; }
  .tour-stage { padding: 13px 10px 12px; }
  .preview-chrome { gap: 10px; min-height: 49px; padding: 13px 15px; }
  .preview-wordmark { font-size: 16px; }
  .preview-wordmark > span:first-child { margin-inline: 7px; }
  .preview-project { font-size: 11px; }
  .sample-label { max-width: 78px; font-size: 7px; letter-spacing: .8px; line-height: 1.5; text-align: right; }
  .tour-panel { min-height: 0; padding: 24px 16px 20px; }
  .preview-heading { align-items: flex-start; gap: 10px; }
  .preview-heading h3 { font-size: 21px; }
  .preview-kicker { font-size: 8px; letter-spacing: 1.1px; }
  .preview-period { max-width: 83px; white-space: normal; font-size: 9px; padding: 6px 7px; line-height: 1.4; }
  .visibility-summary { margin-top: 26px; gap: 20px; align-items: start; flex-direction: column; }
  .preview-metric > strong { font-size: 51px; }
  .preview-metric > p { font-size: 11px; }
  .metric-context { display: grid; grid-template-columns: 1fr 1fr; width: 100%; font-size: 10px; gap: 10px 8px; }
  .metric-context > span:last-child { grid-column: 1 / -1; margin-top: 2px; font-size: 9px; }
  .metric-context img { width: 15px; height: 15px; }
  .chart-wrap { margin-block: 20px 21px; }
  .visibility-chart { min-height: 85px; }
  .chart-labels { display: none; }
  .mobile-chart-labels { display: block; font-size: 34px; }
  .chart-line { stroke-width: 5; }
  .answer-table-head, .sample-answer-row { grid-template-columns: minmax(0, 1fr) 86px; column-gap: 10px; }
  .answer-table-head { font-size: 8px; letter-spacing: .6px; }
  .answer-table-head > span:nth-child(2) { display: none; }
  .sample-answer-row { row-gap: 7px; padding-block: 12px; font-size: 12px; }
  .sample-answer-row > span:first-child { grid-column: 1 / -1; }
  .provider-cell { grid-row: 2; font-size: 10px; }
  .mention-state, .missing-state { grid-row: 2; grid-column: 2; font-size: 10px; }
  .tour-caption { margin-top: 12px; font-size: 10px; }
  .comparison-layout, .source-layout { grid-template-columns: 1fr; min-height: 0; margin-top: 30px; gap: 30px; }
  .comparison-row > div:first-child { font-size: 15px; }
  .comparison-row + .comparison-row { margin-top: 23px; }
  .comparison-row small { font-size: 11px; }
  .answer-excerpt { padding: 21px 18px; }
  .excerpt-label { font-size: 8px; }
  .answer-excerpt blockquote { font-size: 15px; }
  .preview-footnote { font-size: 10px; }
  .source-list-heading { font-size: 8px; }
  .source-item strong { font-size: 14px; }
  .source-item small { font-size: 10px; }
  .source-item { padding-block: 16px; }
  .source-list-note { font-size: 11px; margin-bottom: 0; }
  .source-document { padding: 25px 23px; }
  .source-document h4 { max-width: 14ch; font-size: 29px; }
  .workflow-steps { grid-template-columns: 1fr; margin-top: 32px; }
  .workflow-steps > li, .workflow-steps > li:first-child, .workflow-steps > li:last-child { position: relative; border-left: 0; border-top: 1px solid var(--line); padding: 25px 0 29px 43px; }
  .step-number { position: absolute; left: 0; top: 27px; font-size: 12px; }
  .step-motif { min-height: 43px; margin-top: 0; font-size: 13px; }
  .workflow-steps h3 { margin-top: 14px; font-size: 24px; }
  .workflow-steps p { margin-top: 12px; max-width: 36ch; font-size: 16px; }
  .action-section { grid-template-columns: 1fr; gap: 38px; }
  .action-copy > p:not(.eyebrow) { margin-top: 22px; }
  .action-copy > .text-link { margin-top: 25px; font-size: 17px; }
  .brief-stage { padding: 29px 20px; }
  .brief-preview { padding: 27px 21px 23px; }
  .brief-preview h3 { font-size: clamp(26px, 7.5vw, 32px); }
  .faq-section { grid-template-columns: 1fr; gap: 28px; }
  .faq-heading > p:last-child { margin-top: 18px; font-size: 17px; }
  .faq-heading > p:last-child > br { display: none; }
  .faq-list summary { font-size: 18px; gap: 18px; padding-block: 22px; }
  .faq-list details > p { padding-right: 13px; font-size: 16px; }
  .closing-section { grid-template-columns: 1fr; gap: 30px; margin-bottom: 39px; padding: 37px 26px 39px; }
  .closing-section .eyebrow { max-width: 24ch; font-size: 9px; line-height: 1.6; }
  .closing-section h2 { margin-top: 20px; font-size: clamp(49px, 13.5vw, 70px); letter-spacing: -2.5px; }
  .closing-action > p { margin-bottom: 23px; font-size: 18px; }
  .closing-action > .button { min-width: 204px; font-size: 17px; }
  .closing-pixels { right: 14px; top: 16px; font-size: 13px; }
  .site-footer { grid-template-columns: 1fr; padding-inline: 0; }
  .site-footer > div > p { font-size: 13px; }
  .site-footer nav { display: grid; grid-template-columns: auto auto; justify-content: start; gap: 18px 30px; padding-top: 27px; font-size: 14px; }
  .footer-note { margin-top: 28px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
