:root {
  --ink: #122542;
  --muted: #56667d;
  --blue: #0878c9;
  --brand-blue: #1ca0f2;
  --brand-green: #59d96a;
  --purple: #8b5dde;
  /* The two full-bleed section surfaces every public page shares. The homepage,
     product pages, pricing, tools and guide directories each carried their own
     copy of these four hexes, so a palette change meant five files and silent
     drift between them. Values unchanged — only their home moved. */
  --mu-paper: #f1eadb;
  --mu-paper-line: #ded4c0;
  --mu-blue: #e0eff8;
  --mu-blue-line: #c5dce9;
  /* The cool side of the public pages is one hue (~202) at five lightnesses:
     the pale band, the two navies, their border, and the glow behind the phone.
     Kept as literal hexes so nothing shifts; the palette lab overrides them. */
  --mu-tint: #f5f9fc;
  --mu-tint-line: #dfeaf1;
  --mu-white: #fff;
  --mu-dark: #102a3a;
  --mu-dark-deep: #0a1c28;
  --mu-dark-line: #213643;
  --mu-dark-glow: #1d526b28;
  --mu-dark-light: #376e8950;
  --mu-dark-light-soft: #28576e24;
  --blue-dark: #0d4bc1;
  --ice: #f0f6ff;
  --line: #dce5f1;
  --green: #d9f5e6;
  --radius: 20px;
  --site-header-height: 77px;
  font-family: 'Nunito', system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  font-synthesis: none;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--site-header-height);
}
body {
  margin: 0;
}
button,
input,
select {
  font: inherit;
}
button,
a,
input,
select,
summary {
  -webkit-tap-highlight-color: transparent;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ff971a;
  outline-offset: 5px;
}
p {
  line-height: 1.65;
  margin: 0 0 1em;
}
h1,
h2,
h3 {
  font-family: 'Manrope', system-ui, sans-serif;
  letter-spacing: -0.045em;
  line-height: 1.12;
  margin: 0;
  font-weight: 800;
}
h1 {
  font-size: clamp(2.9rem, 5.4vw, 5.15rem);
}
h2 {
  font-size: clamp(2.2rem, 3.6vw, 3.4rem);
}
h3 {
  font-size: 1.55rem;
}
h1 span {
  color: var(--blue);
}
.wrap {
  width: min(1600px, calc(100% - 112px));
  margin-inline: auto;
}
.section {
  padding-block: 100px;
}
.eyebrow {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  color: var(--blue);
  margin-bottom: 22px;
  line-height: 1.5;
}
.label {
  font-size: 0.73rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  color: var(--muted);
  margin-bottom: 10px;
}
.text-link {
  font-weight: 700;
  color: var(--blue);
  display: inline-block;
  line-height: 1.5;
}
.text-link:hover,
a:hover .text-link {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  min-height: 52px;
  padding: 15px 22px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 0.96rem;
  line-height: 1.3;
  border: 1px solid transparent;
  transition: background 0.16s, transform 0.16s, box-shadow 0.16s;
}
.button:hover {
  transform: translateY(-2px);
}
.button-primary {
  background: var(--blue);
  color: #fff;
  box-shadow: 0 4px 0 #074bbd;
}
.button-primary:hover {
  background: var(--blue-dark);
}
.button-secondary {
  background: #fff;
  border-color: var(--line);
}
.button-secondary:hover {
  background: var(--ice);
}
.button span {
  font-size: 1.2em;
}
.skip-link {
  position: fixed;
  z-index: 100;
  left: 20px;
  top: -90px;
  background: var(--ink);
  color: white;
  padding: 15px;
}
.skip-link:focus {
  top: 10px;
}

.wordmark {
  font-family: Manrope, system-ui, sans-serif;
  font-size: 1.65rem;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  letter-spacing: -0.06em;
  white-space: nowrap;
}
.brand-ai {
  color: var(--blue);
}
.brand-symbol {
  color: white;
  background: var(--blue);
  width: 34px;
  height: 34px;
  border-radius: 9px;
  font-size: 1.6rem;
  letter-spacing: -0.13em;
  line-height: 30px;
  padding-left: 4px;
  margin-right: 10px;
  position: relative;
}
.brand-symbol span {
  font-size: 1.05rem;
  letter-spacing: 0;
  position: absolute;
  right: 2px;
  top: -7px;
}

.hero {
  display: grid;
  grid-template-columns: 1.04fr 1fr;
  gap: 70px;
  padding-block: 83px 86px;
  align-items: center;
}
.hero .eyebrow {
  display: flex;
  gap: 9px;
  align-items: center;
}
.small-shopify {
  width: 21px;
  height: 24px;
  background: #245843;
  color: #fff;
  display: inline-grid;
  place-items: center;
  border-radius: 4px;
  transform: rotate(-5deg);
  font-size: 0.9rem;
}
.hero-description {
  font-size: 1.16rem;
  line-height: 1.65;
  color: var(--muted);
  max-width: 455px;
  margin: 26px 0 28px;
}
.hero-actions {
  display: flex;
  gap: 13px;
  flex-wrap: wrap;
}
.hero-fine {
  font-size: 0.83rem;
  color: var(--muted);
  margin: 23px 0 0;
  line-height: 1.8;
}
.hero-fine span {
  padding: 0 7px;
}
.workflow {
  background: var(--ice);
  border: 1px solid #cbdcf6;
  border-radius: 23px;
  box-shadow: 14px 17px 0 #e8f0fd;
  overflow: hidden;
  transform: rotate(1deg);
}
.workflow-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 19px 20px 15px;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  font-weight: 800;
}
.workflow-top > span:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
}
.status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--blue);
}
.example-label {
  font-size: 0.68rem;
  letter-spacing: 0;
  color: var(--muted);
  font-weight: 500;
}
.workflow-tabs {
  display: flex;
  gap: 5px;
  padding: 0 17px 17px;
}
.workflow-tabs button {
  flex: 1;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 8px;
  font-size: 0.72rem;
  font-weight: 700;
  min-height: 37px;
  color: var(--muted);
  padding: 6px 5px;
}
.workflow-tabs button.active {
  background: #fff;
  border-color: #cbdbf5;
  color: var(--blue);
  box-shadow: 0 2px 3px #183b6610;
}
.scenario {
  padding: 0 23px 21px;
}
.signal-card {
  display: flex;
  gap: 15px;
  padding: 19px 17px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 13px;
}
.signal-icon {
  width: 43px;
  height: 43px;
  border-radius: 10px;
  background: #fdf0db;
  display: grid;
  place-items: center;
  font-size: 1.7rem;
  color: #93620e;
  flex-shrink: 0;
}
.signal-card .label,
.decision-card .label {
  font-size: 0.59rem;
  margin: 0 0 7px;
}
.signal-card h3 {
  font-size: 1.08rem;
  letter-spacing: -0.025em;
}
.signal-card p:last-child {
  font-size: 0.8rem;
  color: var(--muted);
  margin: 8px 0 0;
}
.connection {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.08rem;
  line-height: 1;
  color: var(--blue);
  height: 41px;
  justify-content: center;
}
.connection span {
  height: 9px;
  width: 1px;
  background: #c3d5ee;
}
.decision-card {
  background: #e0ecff;
  border: 1px solid #c6dafa;
  border-radius: 13px;
  padding: 17px;
}
.decision-card > p:not(.label) {
  font-size: 0.91rem;
  line-height: 1.45;
  font-weight: 650;
  margin: 0;
}
.context-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
.context-tags span {
  background: #ffffff85;
  border-radius: 4px;
  padding: 4px 7px;
  font-size: 0.63rem;
  font-weight: 650;
  color: #456181;
}
.message-preview {
  margin: 17px 0 0 20px;
  padding: 19px 23px 20px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 8px 15px #12396c08;
}
.message-header {
  display: flex;
  align-items: center;
  gap: 9px;
}
.sample-logo {
  background: #faf0dc;
  width: 33px;
  height: 33px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #826a43;
  font-family: Georgia, serif;
}
.message-header strong {
  font-size: 0.74rem;
  display: block;
}
.message-header small {
  font-size: 0.65rem;
  color: var(--muted);
}
.message-arrow {
  margin-left: auto;
  font-size: 1.2rem;
  color: #9caac0;
}
.message-preview h3 {
  font-size: 1.1rem;
  letter-spacing: -0.035em;
  margin: 20px 0 12px;
}
.message-preview > p {
  font-size: 0.86rem;
  line-height: 1.6;
  color: var(--muted);
  min-height: 64px;
  margin-bottom: 15px;
}
.sample-button {
  display: inline-block;
  background: #142741;
  color: white;
  padding: 10px 13px;
  font-size: 0.73rem;
  border-radius: 5px;
  font-weight: 650;
}
.workflow-foot {
  background: #e6effe;
  border-top: 1px solid #d0e0f7;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 21px;
  font-size: 0.68rem;
  color: var(--muted);
}
.workflow-foot a {
  font-weight: 700;
  color: var(--blue);
}
.capability-strip {
  border-block: 1px solid var(--line);
  background: #fbfdff;
  padding: 26px 0;
}
.capability-strip .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  font-size: 0.88rem;
}
.capability-strip .wrap > span:first-child {
  color: var(--muted);
  font-size: 0.8rem;
}
.capability-strip .wrap > span:not(:first-child) {
  color: #86a4d2;
}
.section-heading {
  max-width: 760px;
  margin-bottom: 42px;
}
.section-heading > p:not(.eyebrow) {
  font-size: 1.08rem;
  color: var(--muted);
  max-width: 595px;
  margin-top: 23px;
}
.section-heading.compact {
  max-width: 920px;
}
.use-case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.use-case {
  display: block;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 30px 27px;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.use-case:hover {
  border-color: #9bbbeb;
  box-shadow: 0 10px 28px #1225420a;
}
.feature-icon {
  display: grid;
  place-items: center;
  background: #e2edff;
  color: var(--blue);
  width: 49px;
  height: 49px;
  border-radius: 13px;
  font-size: 1.8rem;
  margin-bottom: 33px;
}
.feature-icon.green {
  background: #dbf4e7;
  color: #207953;
}
.feature-icon.orange {
  background: #ffedd5;
  color: #ab6810;
}
.use-case h3 {
  font-size: 1.49rem;
  line-height: 1.25;
  letter-spacing: -0.035em;
}
.use-case > p:not(.label) {
  color: var(--muted);
  font-size: 0.96rem;
  margin: 20px 0 29px;
}
.use-case .text-link {
  font-size: 0.9rem;
}
.setup-section {
  background: var(--ink);
  color: white;
  padding: 80px 0;
}
.setup-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}
.setup-section .eyebrow {
  color: #82b4ff;
}
.setup-section .text-link {
  color: #98c1ff;
}
.section-intro {
  font-size: 1.07rem;
  color: #b5c5db;
  max-width: 395px;
  margin: 24px 0;
}
.setup-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 28px;
}
.setup-list li {
  display: flex;
  gap: 22px;
  padding-bottom: 27px;
  border-bottom: 1px solid #ffffff1c;
}
.setup-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.setup-list li > span {
  font-family: Manrope, sans-serif;
  color: #8ba9d1;
  font-size: 0.86rem;
  padding-top: 4px;
}
.setup-list h3 {
  font-size: 1.32rem;
  letter-spacing: -0.025em;
}
.setup-list p {
  color: #b5c5db;
  font-size: 0.95rem;
  margin: 12px 0 0;
}
.product-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.timeline-demo {
  background: var(--ice);
  padding: 31px 32px 25px;
  border-radius: 20px;
  border: 1px solid var(--line);
}
.timeline-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 35px;
}
.avatar {
  background: #dbe8ff;
  color: var(--blue);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
}
.timeline-heading strong {
  font-size: 0.9rem;
  display: block;
}
.timeline-heading small {
  font-size: 0.74rem;
  color: var(--muted);
}
.pill {
  margin-left: auto;
  font-size: 0.67rem;
  font-weight: 650;
  padding: 5px 9px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.timeline-event {
  display: flex;
  gap: 19px;
  padding-left: 13px;
  position: relative;
  min-height: 84px;
}
.timeline-event:not(:nth-last-child(2)):after {
  content: '';
  position: absolute;
  left: 17px;
  top: 9px;
  bottom: -2px;
  width: 1px;
  background: #c2d5ef;
}
.timeline-event i {
  width: 9px;
  height: 9px;
  border: 2px solid var(--blue);
  background: #fff;
  border-radius: 50%;
  margin-top: 5px;
  z-index: 1;
  flex-shrink: 0;
}
.timeline-event strong {
  font-size: 0.92rem;
}
.timeline-event p {
  font-size: 0.83rem;
  color: var(--muted);
  margin: 7px 0;
}
.timeline-outcome {
  display: flex;
  align-items: center;
  gap: 13px;
  border: 1px solid #b8d4ff;
  background: #e0edff;
  padding: 16px;
  border-radius: 10px;
}
.timeline-outcome > span {
  font-size: 1.5rem;
  color: var(--blue);
}
.timeline-outcome p {
  margin: 0;
  font-size: 0.86rem;
  font-weight: 650;
  line-height: 1.5;
}
.product-copy h3 {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 23px;
}
.product-copy > p {
  color: var(--muted);
  font-size: 1.02rem;
}
.check-list {
  padding: 0;
  margin: 25px 0;
  list-style: none;
  display: grid;
  gap: 15px;
  font-size: 0.95rem;
}
.check-list li {
  padding-left: 26px;
  position: relative;
}
.check-list li:before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--blue);
  font-weight: 800;
}
.pricing-preview {
  background: #f5f8fd;
  border-block: 1px solid var(--line);
}
.preview-prices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.preview-plan {
  background: white;
  border: 1px solid var(--line);
  padding: 30px;
  border-radius: 17px;
}
.preview-plan.featured {
  border: 2px solid var(--blue);
  position: relative;
}
.preview-plan h3 {
  font-size: 1.6rem;
}
.plan-price {
  font-family: Manrope, sans-serif;
  font-size: 2.8rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: var(--ink);
  margin: 17px 0 8px;
  line-height: 1.2;
}
.plan-price > span {
  font-family: 'Nunito', system-ui, sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  letter-spacing: 0;
  color: var(--muted);
  margin-left: 5px;
}
.preview-plan > p:not(.label):not(.plan-price) {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.8;
}
.preview-plan .button {
  width: 100%;
  font-size: 0.87rem;
  margin-top: 11px;
}
.pricing-disclosure {
  text-align: center;
  font-size: 0.84rem;
  color: var(--muted);
  margin: 26px 0 0;
  line-height: 1.9;
}
.pricing-disclosure a {
  font-weight: 700;
  color: var(--blue);
}
.faq-section {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 80px;
}
.faq-section > div > p:not(.eyebrow) {
  color: var(--muted);
  margin-top: 25px;
  font-size: 0.95rem;
}
.faq-section > div > p a {
  color: var(--blue);
}
.faq-list details {
  border-top: 1px solid var(--line);
}
.faq-list details:last-child {
  border-bottom: 1px solid var(--line);
}
.faq-list summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}
.faq-list summary::-webkit-details-marker {
  display: none;
}
.faq-list summary > span {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--blue);
}
.faq-list details[open] summary > span {
  transform: rotate(45deg);
}
.faq-answer {
  font-size: 0.95rem;
  line-height: 1.75;
  color: var(--muted);
  padding: 0 25px 23px 0;
}
.closing {
  background: var(--blue);
  color: white;
  padding: 72px 0;
}
.closing-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 45px;
}
.closing .eyebrow {
  color: #c2d9ff;
}
.closing h2 {
  font-size: clamp(2.1rem, 3.4vw, 3rem);
}
.closing p:not(.eyebrow) {
  color: #d6e6ff;
  margin: 22px 0 0;
  font-size: 0.95rem;
}
.closing-inner > div:last-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 23px;
  flex-shrink: 0;
}
.closing .button {
  background: #fff;
  color: var(--blue);
  box-shadow: 0 4px 0 #8ebafd;
}
.closing .text-link {
  color: white;
  font-size: 0.9rem;
}
.site-footer {
  padding-top: 62px;
  background: var(--mu-white, #fbfdff);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 34px;
  padding-bottom: 53px;
}
.footer-grid p {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 18px 0;
}
.footer-grid a:not(.wordmark) {
  display: block;
  font-size: 0.88rem;
  margin-bottom: 13px;
  color: var(--muted);
}
.footer-grid a:hover {
  color: var(--blue);
}
.footer-grid h2 {
  font-family: 'Nunito', system-ui, sans-serif;
  font-size: 0.87rem;
  letter-spacing: 0;
  margin: 6px 0 23px;
}
.footer-bottom {
  border-top: 1px solid var(--line);
  padding-block: 24px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 0.78rem;
  color: var(--muted);
}
.footer-bottom > div {
  display: flex;
  gap: 25px;
}
.page-hero {
  padding-block: 78px 45px;
  text-align: center;
}
.page-hero h1 {
  font-size: clamp(2.7rem, 4.6vw, 4.4rem);
}
.page-hero > p:not(.eyebrow) {
  font-size: 1.12rem;
  color: var(--muted);
  max-width: 680px;
  margin: 26px auto 0;
}
.pricing-tools {
  padding-top: 15px;
}
.plan-finder {
  padding: 24px 29px;
  border: 1px solid #c5d9f7;
  background: var(--ice);
  border-radius: 16px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 30px;
  align-items: center;
}
.plan-finder .label {
  font-size: 0.71rem;
  color: var(--blue);
  margin-bottom: 7px;
}
.plan-finder label {
  font-size: 1.05rem;
  font-weight: 700;
}
.plan-finder p:not(.label) {
  font-size: 0.85rem;
  color: var(--muted);
  margin: 8px 0 0;
}
.finder-input input {
  max-width: 190px;
  padding: 10px 14px;
  font-weight: 700;
}
.finder-input > div {
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--blue);
  font-weight: 650;
  margin-top: 9px;
}
.billing-control {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: center;
  margin: 35px 0 26px;
  font-size: 0.86rem;
}
.billing-control > div {
  background: #eef3fa;
  display: flex;
  gap: 3px;
  padding: 4px;
  border-radius: 9px;
}
.billing-control button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--muted);
  padding: 11px 18px;
  font-size: 0.84rem;
  font-weight: 650;
}
.billing-control button.active {
  background: white;
  color: var(--blue);
  box-shadow: 0 2px 6px #12335a15;
}
.plan-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.plan-card {
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 23px 19px;
  scroll-margin-top: 20px;
}
.plan-card.suggested {
  border: 2px solid var(--blue);
  padding: 22px 18px;
  box-shadow: 0 4px 19px #1164ef09;
}
.plan-fit {
  font-size: 0.7rem;
  color: var(--blue);
  line-height: 1.5;
  min-height: 33px;
  font-weight: 700;
}
.plan-card h2 {
  font-size: 1.4rem;
}
.plan-card .plan-price {
  font-size: 2.35rem;
  white-space: nowrap;
}
.plan-card .plan-price > span {
  font-size: 0.7rem;
}
.billing-total {
  font-size: 0.76rem;
  color: var(--muted);
  min-height: 38px;
  margin: 9px 0 0;
  line-height: 1.5;
}
.allowances {
  list-style: none;
  padding: 0;
  margin: 19px 0 23px;
  display: grid;
  gap: 13px;
  font-size: 0.78rem;
  color: var(--muted);
}
.allowances strong {
  color: var(--ink);
  font-weight: 700;
}
.plan-card .button {
  width: 100%;
  font-size: 0.79rem;
  gap: 7px;
  padding: 12px 8px;
  min-height: 45px;
}
.trial-note {
  font-size: 0.67rem;
  color: var(--muted);
  text-align: center;
  margin: 13px 0 21px;
  min-height: 31px;
}
.plan-includes {
  border-top: 1px solid var(--line);
  padding-top: 21px;
  font-size: 0.79rem;
}
.plan-includes > strong {
  font-size: 0.74rem;
}
.plan-includes p {
  color: var(--muted);
  line-height: 2.1;
  margin: 10px 0 0;
}
.pricing-explainer {
  font-size: 0.83rem;
  color: var(--muted);
  line-height: 1.8;
  padding-top: 25px;
  max-width: 1030px;
  text-align: center;
}
.pricing-explainer p {
  margin-bottom: 10px;
}
.table-scroll {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 13px;
}
table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.88rem;
  min-width: 710px;
  text-align: left;
}
caption {
  text-align: left;
  background: #f5f8fd;
  font-size: 0.83rem;
  font-weight: 650;
  padding: 18px 22px;
}
th,
td {
  border-top: 1px solid var(--line);
  padding: 19px 22px;
}
thead th {
  font-size: 0.76rem;
  font-weight: 650;
  color: var(--muted);
  line-height: 1.5;
}
tbody th {
  font-weight: 700;
}
.fine-print {
  font-size: 0.81rem;
  color: var(--muted);
  line-height: 1.8;
  margin-top: 20px;
}
.calculator-section {
  background: var(--ice);
  padding: 80px 0;
  border-block: 1px solid var(--line);
}
.calculator-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}
.calculator-grid > div:first-child > p:not(.eyebrow) {
  font-size: 1.04rem;
  color: var(--muted);
  margin: 25px 0;
  max-width: 430px;
}
.calculator {
  padding: 28px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 19px;
}
.calculator-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.calculator-fields label {
  font-size: 0.79rem;
  font-weight: 650;
  line-height: 1.5;
}
input,
select {
  display: block;
  border: 1px solid #c5d3e6;
  padding: 12px;
  background: #fff;
  border-radius: 7px;
  color: var(--ink);
  width: 100%;
  font-size: 1rem;
  min-height: 44px;
}
.calculator-fields input,
.calculator-fields select {
  margin-top: 8px;
}
.calc-result {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 23px;
  margin-top: 25px;
  background: #e5f3e9;
  border-radius: 11px;
}
.calc-result > span {
  font-family: Manrope, sans-serif;
  font-size: 3.4rem;
  font-weight: 800;
  letter-spacing: -0.06em;
  color: #176b3c;
  line-height: 1;
}
.calc-result strong {
  font-size: 0.92rem;
  line-height: 1.5;
}
.calc-result p {
  font-size: 0.79rem;
  color: #456a52;
  margin: 6px 0 0;
  line-height: 1.55;
}
.calculator .fine-print {
  font-size: 0.74rem;
  margin-bottom: 0;
}
.guides-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding-top: 25px;
}
.guide-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 29px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: background 0.15s;
}
.guide-card:hover {
  background: var(--ice);
}
.guide-card .eyebrow {
  font-size: 0.66rem;
  margin-bottom: 18px;
}
.guide-card h2 {
  font-size: 1.47rem;
  line-height: 1.3;
  letter-spacing: -0.035em;
}
.guide-card > p:not(.eyebrow) {
  font-size: 0.9rem;
  color: var(--muted);
  margin: 19px 0 24px;
}
.guide-card .text-link {
  font-size: 0.84rem;
  margin-top: auto;
}
.article-layout {
  display: grid;
  grid-template-columns: 245px minmax(0, 740px);
  gap: 80px;
  justify-content: center;
  padding-block: 65px 100px;
}
.article-aside {
  position: sticky;
  align-self: start;
  top: calc(var(--site-header-height) + 24px);
  font-size: 0.83rem;
}
.article-aside > a:first-child {
  display: block;
  margin-bottom: 37px;
  color: var(--blue);
  font-weight: 650;
}
.article-aside nav {
  display: flex;
  flex-direction: column;
  gap: 17px;
  border-left: 1px solid var(--line);
  padding-left: 18px;
  margin: 19px 0 33px;
}
.article-aside nav a {
  line-height: 1.5;
  color: var(--muted);
}
.article-aside nav a:hover {
  color: var(--blue);
}
.article h1 {
  font-size: clamp(2.7rem, 4.5vw, 4.3rem);
  line-height: 1.12;
}
.article-intro {
  font-size: 1.14rem;
  color: var(--muted);
  margin: 25px 0 20px;
  line-height: 1.8;
}
.article-meta {
  font-size: 0.8rem;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  padding-bottom: 32px;
}
.article > section {
  padding-top: 31px;
  scroll-margin-top: 16px;
}
.article > section h2 {
  font-size: 1.8rem;
  letter-spacing: -0.03em;
  margin-bottom: 19px;
  line-height: 1.3;
}
.article > section p {
  font-size: 1.08rem;
  line-height: 1.85;
  color: var(--muted);
}
.article-cta {
  border-radius: 17px;
  background: var(--ice);
  border: 1px solid #c8dbf8;
  padding: 32px;
  margin-top: 40px;
}
.article-cta h2 {
  font-size: 1.65rem;
}
.article-cta > p {
  font-size: 0.97rem;
  color: var(--muted);
  margin-top: 20px;
}
.article-cta .text-link {
  font-size: 0.9rem;
  display: block;
  margin-top: 22px;
}
.related {
  padding-top: 40px;
}
.related h2 {
  font-size: 1.6rem;
  margin-bottom: 22px;
}
.related a {
  display: block;
  padding: 17px 0;
  border-top: 1px solid var(--line);
  color: var(--blue);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.6;
}
.not-found {
  padding-block: 130px;
}
.not-found .hero-actions {
  justify-content: center;
  margin-top: 32px;
}
@media (min-width: 1450px) {
  .hero {
    gap: 95px;
  }
  .hero h1 {
    font-size: 5.2rem;
  }
}
@media (max-width: 1100px) {
  .wrap {
    width: calc(100% - 48px);
  }
  .hero {
    gap: 35px;
  }
  .hero h1 {
    font-size: 4.15rem;
  }

  .workflow-top {
    letter-spacing: 0.04em;
  }
  .setup-grid,
  .product-grid,
  .faq-section {
    gap: 45px;
  }
  .plan-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
  }
  .plan-card .plan-price {
    font-size: 2.7rem;
  }
  .plan-fit {
    min-height: 22px;
  }
  .trial-note {
    min-height: 0;
  }
  .allowances {
    font-size: 0.9rem;
  }
  .plan-card .button {
    font-size: 0.9rem;
  }
  .plan-includes {
    font-size: 0.87rem;
  }
  .article-layout {
    gap: 45px;
    grid-template-columns: 200px minmax(0, 1fr);
  }
  .calculator-grid {
    gap: 35px;
  }
  .capability-strip .wrap > span:first-child {
    display: none;
  }
}
@media (max-width: 800px) {

  .wordmark {
    font-size: 1.4rem;
  }
  .brand-symbol {
    width: 28px;
    height: 29px;
    font-size: 1.4rem;
    line-height: 26px;
  }
  .hero {
    grid-template-columns: 1fr;
    gap: 46px;
    padding-top: 50px;
  }
  .hero h1 {
    font-size: clamp(3rem, 8.5vw, 4.9rem);
  }
  .hero-description {
    max-width: 530px;
  }
  .hero-copy {
    max-width: 650px;
  }
  .workflow {
    max-width: 550px;
    margin-inline: auto;
    transform: rotate(0);
  }
  .workflow-top {
    font-size: 0.74rem;
  }
  .example-label {
    font-size: 0.72rem;
  }
  .workflow-tabs button {
    font-size: 0.8rem;
  }
  .signal-card h3 {
    font-size: 1.16rem;
  }
  .signal-card p:last-child {
    font-size: 0.9rem;
  }
  .signal-card .label,
  .decision-card .label {
    font-size: 0.65rem;
  }
  .decision-card > p:not(.label) {
    font-size: 1rem;
  }
  .context-tags span {
    font-size: 0.7rem;
  }
  .message-header strong {
    font-size: 0.87rem;
  }
  .message-header small {
    font-size: 0.72rem;
  }
  .message-preview h3 {
    font-size: 1.25rem;
  }
  .message-preview > p {
    font-size: 0.96rem;
    min-height: 0;
  }
  .sample-button {
    font-size: 0.82rem;
  }
  .workflow-foot {
    font-size: 0.76rem;
  }
  .section {
    padding-block: 65px;
  }
  .use-case-grid {
    grid-template-columns: 1fr;
  }
  .use-case {
    display: block;
    padding: 27px;
  }
  .feature-icon {
    margin-bottom: 24px;
  }
  .use-case h3 {
    font-size: 1.7rem;
  }
  .use-case > p:not(.label) {
    max-width: 510px;
    margin-bottom: 21px;
  }
  .setup-grid,
  .product-grid,
  .faq-section,
  .calculator-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .product-copy h3 {
    font-size: 1.8rem;
  }
  .preview-prices {
    gap: 12px;
  }
  .preview-plan {
    padding: 23px 18px;
  }
  .preview-plan .plan-price {
    font-size: 2.3rem;
  }
  .preview-plan .plan-price span {
    font-size: 0.7rem;
  }
  .preview-plan .label {
    font-size: 0.62rem;
  }
  .closing-inner {
    align-items: flex-start;
    flex-direction: column;
  }
  .closing-inner > div:last-child {
    align-items: flex-start;
  }
  .footer-grid {
    gap: 25px;
    grid-template-columns: 1.5fr 1fr 1fr;
  }
  .article-layout {
    display: block;
  }
  .article-aside {
    position: static;
    margin-bottom: 35px;
  }
  .article-aside nav,
  .article-aside .label,
  .article-aside > .text-link {
    display: none;
  }
  .article-aside > a:first-child {
    margin: 0;
  }
  .guides-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .plan-finder {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .plan-card {
    padding: 25px;
  }
  .plan-card.suggested {
    padding: 24px;
  }
  .page-hero {
    padding-top: 55px;
  }
  .calculator {
    max-width: 600px;
  }
  .calculator-grid > div:first-child > p:not(.eyebrow) {
    max-width: 600px;
  }
}
@media (max-width: 550px) {
  .wrap {
    width: calc(100% - 36px);
  }

  .hero {
    padding-top: 39px;
    padding-bottom: 55px;
    gap: 38px;
  }
  .hero h1 {
    font-size: clamp(2.7rem, 10.6vw, 3.75rem);
  }
  .hero .eyebrow {
    font-size: 0.67rem;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
  }
  .hero-description {
    font-size: 1.04rem;
    margin-top: 24px;
  }
  .hero-actions {
    gap: 10px;
  }
  .hero-actions .button {
    font-size: 0.87rem;
    padding: 14px 16px;
    gap: 12px;
  }
  .hero-fine {
    font-size: 0.77rem;
  }
  .workflow {
    border-radius: 17px;
    box-shadow: 6px 8px 0 #e8f0fd;
  }
  .workflow-top {
    padding: 16px 13px;
    font-size: 0.59rem;
  }
  .example-label {
    font-size: 0.64rem;
  }
  .workflow-tabs {
    padding: 0 10px 14px;
  }
  .workflow-tabs button {
    font-size: 0.71rem;
    min-height: 39px;
  }
  .scenario {
    padding: 0 14px 17px;
  }
  .signal-card {
    padding: 17px 12px;
    gap: 10px;
  }
  .signal-icon {
    width: 36px;
    height: 36px;
  }
  .signal-card h3 {
    font-size: 1rem;
  }
  .signal-card p:last-child {
    font-size: 0.77rem;
  }
  .signal-card .label,
  .decision-card .label {
    font-size: 0.61rem;
  }
  .decision-card {
    padding: 15px;
  }
  .decision-card > p:not(.label) {
    font-size: 0.9rem;
  }
  .context-tags span {
    font-size: 0.62rem;
  }
  .message-preview {
    padding: 18px 17px;
    margin-left: 9px;
  }
  .message-header strong {
    font-size: 0.78rem;
  }
  .message-header small {
    font-size: 0.64rem;
  }
  .message-preview h3 {
    font-size: 1.13rem;
  }
  .message-preview > p {
    font-size: 0.88rem;
  }
  .workflow-foot {
    font-size: 0.64rem;
    padding: 14px 12px;
  }
  .capability-strip .wrap {
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px 12px;
    font-size: 0.72rem;
  }
  .capability-strip .wrap > span:nth-last-child(2) {
    display: none;
  }
  .capability-strip strong:last-child {
    display: none;
  }
  .section {
    padding-block: 55px;
  }
  .section-heading {
    margin-bottom: 29px;
  }
  .section-heading .eyebrow {
    margin-bottom: 18px;
  }
  .section-heading > p:not(.eyebrow) {
    font-size: 1rem;
  }
  .eyebrow {
    font-size: 0.68rem;
  }
  .use-case h3 {
    font-size: 1.5rem;
  }
  .setup-section {
    padding-block: 56px;
  }
  .timeline-demo {
    padding: 24px 20px;
  }
  .timeline-heading .pill {
    display: none;
  }
  .timeline-event p {
    font-size: 0.78rem;
  }
  .preview-prices {
    grid-template-columns: 1fr;
    gap: 17px;
  }
  .preview-plan {
    padding: 26px;
  }
  .preview-plan .label {
    font-size: 0.72rem;
  }
  .preview-plan .plan-price {
    font-size: 2.8rem;
  }
  .preview-plan .plan-price span {
    font-size: 0.9rem;
  }
  .preview-plan > p:not(.label):not(.plan-price) {
    font-size: 0.96rem;
  }
  .preview-plan .button {
    font-size: 0.92rem;
  }
  .pricing-disclosure {
    font-size: 0.78rem;
    text-align: left;
  }
  .faq-section {
    gap: 27px;
  }
  .faq-list summary {
    font-size: 0.96rem;
  }
  .faq-answer {
    font-size: 0.92rem;
  }
  .closing {
    padding-block: 55px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
  .footer-grid > div:first-child {
    grid-column: 1 / -1;
  }
  .footer-bottom {
    flex-direction: column;
    gap: 17px;
    font-size: 0.75rem;
  }
  .footer-grid a:not(.wordmark) {
    font-size: 0.85rem;
  }
  .page-hero {
    text-align: left;
    padding-block: 44px 28px;
  }
  .page-hero h1 {
    font-size: 2.75rem;
  }
  .page-hero > p:not(.eyebrow) {
    font-size: 1rem;
  }
  .plan-finder {
    padding: 23px;
  }
  .plan-finder label {
    font-size: 1rem;
  }
  .plan-finder p:not(.label) {
    font-size: 0.8rem;
  }
  .finder-input input {
    max-width: none;
  }
  .billing-control {
    flex-direction: column;
    gap: 9px;
    margin-top: 24px;
  }
  .plan-grid {
    grid-template-columns: 1fr;
  }
  .plan-card {
    padding: 28px;
  }
  .plan-card.suggested {
    padding: 27px;
  }
  .plan-card .plan-price {
    font-size: 3rem;
  }
  .plan-card .plan-price span {
    font-size: 0.88rem;
  }
  .billing-total {
    min-height: 0;
    font-size: 0.83rem;
  }
  .plan-fit {
    font-size: 0.8rem;
  }
  .allowances {
    grid-template-columns: 1fr 1fr;
    font-size: 0.86rem;
    column-gap: 12px;
  }
  .plan-card .button {
    font-size: 0.95rem;
    min-height: 49px;
  }
  .trial-note {
    font-size: 0.76rem;
  }
  .plan-includes p {
    font-size: 0.89rem;
  }
  .plan-includes > strong {
    font-size: 0.86rem;
  }
  .pricing-explainer {
    text-align: left;
    font-size: 0.8rem;
  }
  .calculator-section {
    padding-block: 55px;
  }
  .calculator {
    padding: 21px;
  }
  .calculator-fields {
    gap: 19px 13px;
  }
  .calculator-fields label {
    font-size: 0.76rem;
  }
  .calculator-fields select {
    font-size: 0.87rem;
  }
  .calc-result {
    padding: 20px 16px;
    gap: 16px;
  }
  .calc-result > span {
    font-size: 3rem;
  }
  .calc-result strong {
    font-size: 0.85rem;
  }
  .calc-result p {
    font-size: 0.76rem;
  }
  .calculator .fine-print {
    font-size: 0.76rem;
  }
  .guides-grid {
    grid-template-columns: 1fr;
    padding-top: 10px;
  }
  .guide-card {
    padding: 27px;
  }
  .article-layout {
    padding-block: 35px 55px;
  }
  .article h1 {
    font-size: 2.7rem;
  }
  .article-intro {
    font-size: 1.07rem;
  }
  .article > section h2 {
    font-size: 1.6rem;
  }
  .article > section p {
    font-size: 1rem;
  }
  .article-cta {
    padding: 25px;
  }
  .related a {
    font-size: 0.89rem;
  }
  .not-found {
    padding-block: 75px;
  }
}
.pricing-status {
  max-width: 740px;
  margin: 30px auto 0;
  padding: 20px 25px;
  text-align: left;
  border: 1px solid #c5d9f7;
  border-radius: 12px;
  background: var(--ice);
  font-size: 0.94rem;
  line-height: 1.6;
}
.pricing-status strong {
  color: var(--blue);
}
.pricing-status p {
  font-size: 0.88rem;
  margin: 9px 0 0;
  color: var(--muted);
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
  }
  .button:hover {
    transform: none;
  }
}

/* Public brand: expressive product scenes, readable content at every frame. */
.brand-logo {
  display: block;
  width: 180px;
  height: auto;
}
.wordmark {
  flex-shrink: 0;
}

.button {
  border-radius: 15px;
  font-weight: 900;
  position: relative;
}
.button-primary {
  background: #51d65e;
  color: #123c20;
  border: 1px solid #32b847;
  box-shadow: 0 5px 0 #259339;
}
.button-primary:hover {
  background: #68e674;
  box-shadow: 0 7px 0 #259339;
  transform: translateY(-2px);
}
.button-primary:active {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #259339;
}
.button-secondary {
  border: 1.5px solid #cadde9;
  box-shadow: 0 3px 0 #e1edf4;
  color: #075f98;
}
.button-play {
  background: #fff;
  border: 1.5px solid #cce6f5;
  color: #086da9;
  box-shadow: 0 4px 0 #dceef9;
}
.button-play:hover {
  background: #eaf7ff;
  transform: translateY(-2px);
}
.play-disc {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #e3f5ff;
  font-size: 12px;
  padding-left: 2px;
}
.home-v2 {
  overflow: clip;
  --home-ink: #132d3d;
  --home-blue: #118ad6;
  color: var(--home-ink);
}
.home-v2 h1,
.home-v2 h2,
.home-v2 h3 {
  font-family: 'Baloo 2', 'Nunito', system-ui, sans-serif;
  letter-spacing: -0.035em;
  font-weight: 800;
}
.home-v2 h2 {
  font-size: clamp(2.65rem, 4.4vw, 4rem);
  line-height: 1.04;
}
.home-v2 h2 span {
  color: #0884cd;
}
.home-v2 .eyebrow {
  color: #0875ad;
  font-weight: 900;
  letter-spacing: 0.11em;
}
.home-v2 button {
  font-weight: 900;
}
.vivid-hero {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 65px;
  align-items: center;
  padding-block: 88px 64px;
  position: relative;
}
.vivid-hero::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 0 -60px;
  background: radial-gradient(ellipse at 83% 43%, #e0f4ff 0, transparent 55%);
}
.hero-shopify {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #075f8f;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.early-badge {
  font-size: 9px;
  letter-spacing: 0.03em;
  background: #fff4c5;
  color: #82600e;
  border: 1px solid #f4db81;
  border-radius: 6px;
  padding: 4px 6px;
}
.vivid-hero h1 {
  font-size: clamp(3.65rem, 5.9vw, 5.6rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  position: relative;
  margin: 0 0 26px;
}
.vivid-hero h1 > span {
  color: #158edb;
}
.vivid-hero h1 em {
  font-style: normal;
  position: relative;
  white-space: nowrap;
}
.vivid-hero h1 em::after {
  content: '';
  height: 8px;
  background: #6bda75;
  border-radius: 70% 30%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: rotate(-2deg);
  z-index: -1;
}
.headline-spark {
  position: absolute;
  font-size: 42px;
  right: 22px;
  top: 44%;
  color: #b792ee;
  font-style: normal;
  transform: rotate(12deg);
}
.vivid-description {
  font-size: 18px;
  line-height: 1.65;
  color: #4c6373;
  max-width: 450px;
  margin: 0 0 26px;
}
.vivid-description strong {
  font-weight: 800;
  color: #243d4c;
}
.home-v2 .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.home-v2 .hero-actions .button {
  min-height: 58px;
  font-size: 15px;
  padding: 15px 22px;
  gap: 12px;
}
.offer-note {
  font-size: 12px;
  color: #50685b;
  margin: 20px 0 25px;
}
.offer-note > span:first-child {
  color: #208639;
  font-weight: 900;
}
.offer-note > span {
  padding-inline: 3px;
}
.hero-promise {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 11px;
  font-weight: 800;
  color: #557084;
}
.hero-promise i {
  color: #aa8be0;
  font-style: normal;
}
.vivid-hero-demo {
  min-width: 0;
  position: relative;
  scroll-margin-top: 20px;
}
.demo-sticker {
  position: absolute;
  right: 15px;
  top: -62px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  transform: rotate(5deg);
  color: #597d42;
}
.demo-sticker strong {
  font-weight: 900;
}
.demo-sticker > span {
  position: absolute;
  font-size: 43px;
  right: -27px;
  top: 14px;
  transform: rotate(-12deg);
}
.playground {
  background: #f4fbff;
  border: 2px solid #d7e8f2;
  border-radius: 25px;
  box-shadow: 9px 12px 0 #dfeef7, 0 24px 50px #1e506515;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.playground-bar {
  padding: 17px 20px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.playground-bar > span:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: 'Baloo 2', sans-serif;
  font-weight: 800;
  font-size: 21px;
  line-height: 1;
}
.demo-label {
  font-size: 10px;
  font-weight: 800;
  color: #4e6a7d;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 5px;
}
.demo-label i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #59b978;
}
.journey-controls {
  display: flex;
  gap: 7px;
  padding: 0 18px 15px;
}
.journey-controls button {
  border: 1px solid #dbe8f0;
  border-radius: 10px;
  background: #fff;
  color: #4a6174;
  padding: 9px 6px;
  flex: 1;
  font-size: 11px;
  box-shadow: 0 2px 0 #dfebf3;
  transition: background 0.2s, transform 0.2s;
}
.journey-controls button:hover {
  transform: translateY(-2px);
}
.journey-controls button[aria-pressed='true'] {
  background: #d9f1ff;
  color: #064f7a;
  border-color: #65bdeb;
  box-shadow: 0 3px 0 #64b6e2;
}
.demo-columns {
  padding: 0 18px 15px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.demo-store {
  background: #fff;
  border: 1.5px solid #e2e6df;
  border-radius: 15px;
  overflow: hidden;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.sample-shop-bar {
  padding: 9px 13px;
  border-bottom: 1px solid #edf0e7;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #52613f;
}
.sample-product {
  display: grid;
  grid-template-columns: 142px 1fr;
  align-items: center;
  gap: 16px;
  padding: 10px 17px 9px 12px;
  background: #fffdf7;
}
.product-art {
  position: relative;
  height: 120px;
  border-radius: 12px;
  background: radial-gradient(ellipse, #f9ecca, transparent 70%);
}
.tote-art {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 6px 2px #86775109);
}
.product-spark {
  position: absolute;
  right: 5px;
  top: 15px;
  color: #eab43c;
  font-size: 20px;
}
.product-overline {
  font-size: 8px;
  letter-spacing: 0.06em;
  font-weight: 900;
  color: #7c755b;
  margin: 0 0 4px;
}
.sample-product strong {
  font-family: 'Baloo 2', sans-serif;
  font-size: 21px;
  line-height: 1.07;
  display: block;
  color: #354632;
}
.sample-product-price {
  display: block;
  font-weight: 900;
  font-size: 13px;
  margin: 6px 0;
}
.sample-product-price small {
  font-weight: 600;
  font-size: 9px;
  color: #817d70;
  margin-left: 6px;
}
.shopper-action {
  border: 0;
  border-radius: 6px;
  background: #3d5c39;
  color: white;
  padding: 7px 10px;
  min-width: 155px;
  display: flex;
  justify-content: space-between;
  gap: 7px;
  align-items: center;
  font-size: 10px;
  box-shadow: 0 2px 0 #243e20;
}
.shopper-action:hover {
  background: #4d7545;
}
.shopper-bubble {
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #ecefe6;
  font-size: 10px;
}
.shopper-face {
  display: grid;
  place-items: center;
  background: #ffe7ad;
  border: 1px solid #f4d894;
  border-radius: 50%;
  width: 29px;
  height: 29px;
  font-size: 22px;
  flex-shrink: 0;
  color: #7a5615;
}
.shopper-bubble strong,
.shopper-bubble span[data-shopper-detail] {
  display: block;
  line-height: 1.45;
}
.shopper-bubble strong {
  font-weight: 900;
  color: #2c4659;
}
.shopper-bubble span[data-shopper-detail] {
  color: #587182;
  font-size: 9px;
}
.activity-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #54c970;
  margin-left: auto;
  flex-shrink: 0;
}
.demo-brain {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px;
  background: #efe6ff;
  border: 1.5px solid #ddc7f5;
  border-radius: 13px;
  color: #50377d;
  position: relative;
}
.brain-badge {
  display: grid;
  place-items: center;
  width: 33px;
  height: 36px;
  flex-shrink: 0;
  background: #9e70df;
  color: #fff;
  border-radius: 10px;
  font-size: 24px;
  box-shadow: 0 3px 0 #8353c6;
}
.demo-brain strong {
  font-size: 12px;
  font-weight: 900;
  display: block;
}
.demo-brain p {
  font-size: 10px;
  line-height: 1.45;
  margin: 3px 0 0;
  color: #6c5389;
}
.brain-dots {
  display: flex;
  gap: 3px;
  margin-left: auto;
  flex-shrink: 0;
}
.brain-dots i {
  width: 4px;
  height: 4px;
  background: #8b5dce;
  border-radius: 50%;
}
.demo-message {
  border: 1.5px solid #cfdfea;
  border-radius: 15px;
  background: white;
  overflow: hidden;
  transition: background 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.demo-message-top {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 12px 14px 8px;
}
.sample-brand {
  font-family: Georgia, serif;
  font-size: 21px;
  line-height: 1;
  background: #f3eccf;
  color: #617551;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  flex-shrink: 0;
}
.demo-message-top strong {
  font-size: 10px;
  font-weight: 900;
  display: block;
}
.demo-message-top small {
  font-size: 9px;
  color: #6a7d8d;
  display: block;
  line-height: 1.3;
}
.demo-channels {
  margin-left: auto;
  display: flex;
  background: #eff5f9;
  border-radius: 7px;
  padding: 3px;
}
.demo-channels button {
  border: 0;
  background: transparent;
  color: #587185;
  border-radius: 5px;
  font-size: 9px;
  padding: 6px 8px;
  min-height: 27px;
}
.demo-channels button[aria-pressed='true'] {
  background: #fff;
  color: #086293;
  box-shadow: 0 1px 3px #21405025;
}
.message-composition {
  padding: 7px 17px 13px;
  min-height: 132px;
}
.message-kicker {
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #71814e;
  margin: 0 0 6px;
}
.message-composition h3 {
  font-size: 23px;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: #274333;
  margin: 0 0 6px;
}
.message-composition > p[data-message-copy] {
  font-size: 11px;
  line-height: 1.55;
  color: #526a5b;
  min-height: 34px;
  margin: 0 0 9px;
}
.demo-message-link {
  font-size: 10px;
  font-weight: 900;
  color: #385936;
  display: inline-block;
}
.message-state {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  background: #f0f7f3;
  border-top: 1px solid #e4eee8;
  color: #3e7352;
  font-size: 9px;
  font-weight: 800;
  gap: 8px;
}
.message-check {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  background: #d1f3da;
  color: #237e3b;
  border-radius: 50%;
  flex-shrink: 0;
}
.journey-footer {
  padding: 0 18px 13px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.journey-progress {
  display: flex;
  gap: 3px;
}
.journey-progress i {
  height: 6px;
  width: 6px;
  border-radius: 50%;
  background: #d1e1ec;
  transition: background 0.3s, width 0.3s;
}
.journey-footer p {
  font-size: 9px;
  font-weight: 800;
  color: #536e82;
  margin: 0;
}
.journey-footer button {
  margin-left: auto;
  flex-shrink: 0;
  border: 0;
  background: transparent;
  font-size: 10px;
  color: #096b9f;
  padding: 7px 0 7px 7px;
}
.playground[data-phase='0'] .demo-store {
  border-color: #59b9e6;
  box-shadow: 0 0 0 3px #ddf4ff;
}
.playground[data-phase='1'] .demo-brain {
  box-shadow: 0 0 0 3px #e4d5fa;
  border-color: #b18ae4;
}
.playground[data-phase='2'] .demo-message {
  box-shadow: 0 0 0 3px #d4edfa;
  border-color: #79b8da;
}
.playground[data-phase='3'] .demo-message {
  border-color: #77cc8a;
  box-shadow: 0 3px 0 #cdecd5;
  background: #fcfffd;
}
.playground[data-phase='3'] .message-state {
  background: #ddf6e4;
  color: #22723d;
}
.playground[data-phase='0'] .journey-progress i:nth-child(1),
.playground[data-phase='1'] .journey-progress i:nth-child(2),
.playground[data-phase='2'] .journey-progress i:nth-child(3),
.playground[data-phase='3'] .journey-progress i:nth-child(4) {
  background: #138cd3;
  width: 17px;
}
.playground[data-channel='sms'] .message-composition {
  background: #e2f7ec;
  margin: 0 13px 12px;
  border-radius: 12px 12px 2px 12px;
  padding: 13px;
}
.playground[data-channel='sms'] .message-kicker {
  display: none;
}
.playground[data-channel='sms'] .message-composition h3 {
  font-family: 'Nunito', sans-serif;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 7px;
}
.playground[data-channel='sms'] .demo-message-link {
  display: none;
}
.demo-under {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 10px;
  color: #60778a;
  padding: 21px 0 0 10px;
  gap: 10px;
}
.demo-under button {
  border: 0;
  background: transparent;
  color: #097aba;
  font-size: 11px;
  padding: 5px;
}
.journey-confetti {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 4;
}
.journey-confetti i {
  position: absolute;
  left: 65%;
  top: 76%;
  height: 8px;
  width: 5px;
  border-radius: 2px;
  background: var(--color);
  animation: confetti-flight 0.85s ease-out both;
  transform: translate(var(--x), var(--y)) rotate(var(--r));
}
.moment-ribbon {
  background: #dff4ff;
  border-block: 1px solid #c5eafa;
  transform: rotate(-1deg);
  margin-block: 20px 0;
}
.moment-ribbon .wrap {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-block: 20px;
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #146489;
  white-space: nowrap;
}
.moment-ribbon i {
  font-style: normal;
  font-size: 20px;
  color: #31a9e5;
  margin-left: 18px;
}
.moments-section {
  padding-block: 100px;
}
.vivid-heading {
  max-width: 660px;
  margin-bottom: 40px;
}
.vivid-heading h2 {
  margin-bottom: 18px;
}
.vivid-heading > p:not(.eyebrow) {
  font-size: 17px;
  color: #5e7380;
  max-width: 590px;
}
.moment-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.moment-card {
  border: 2px solid #daeaf4;
  border-radius: 24px;
  padding: 16px 25px 25px;
  background: #fff;
  box-shadow: 0 7px 0 #e6f1f7;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  transition: transform 0.22s, box-shadow 0.22s;
}
.moment-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 14px 0 #e6f1f7;
}
.moment-visual {
  align-self: stretch;
  height: 160px;
  border-radius: 15px;
  position: relative;
  margin-bottom: 25px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #edf8ff;
}
.moment-welcome {
  border-color: #dcecd4;
  box-shadow: 0 7px 0 #e9f3e3;
}
.moment-return {
  border-color: #e6dcf5;
  box-shadow: 0 7px 0 #efe8f9;
}
.moment-welcome .moment-visual {
  background: #eff8dc;
}
.moment-return .moment-visual {
  background: #f3edff;
}
.moment-card .label {
  font-size: 9px;
  margin-bottom: 9px;
}
.moment-card h3 {
  font-size: 31px;
  line-height: 1.08;
  margin-bottom: 13px;
}
.moment-card > p:not(.label) {
  font-size: 14px;
  line-height: 1.65;
  color: #5c707e;
  margin-bottom: 23px;
  flex: 1;
}
.moment-card > button {
  border: 1px solid #c4e4f5;
  box-shadow: 0 3px 0 #d9edf8;
  background: #eef9ff;
  padding: 11px 13px;
  border-radius: 9px;
  font-size: 12px;
  color: #0e6595;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.moment-card > a {
  font-size: 11px;
  font-weight: 800;
  color: #5c788d;
  margin-top: 16px;
}
.mini-cart {
  font-size: 79px;
  transform: rotate(-10deg);
  filter: drop-shadow(0 8px 0 #abcee755);
}
.mini-note {
  position: absolute;
  right: 13px;
  top: 28px;
  font-size: 11px;
  background: white;
  padding: 10px;
  border-radius: 9px;
  box-shadow: 0 4px 0 #d0e9f6;
  transform: rotate(7deg);
  font-weight: 900;
  color: #2374a4;
}
.mini-trail {
  position: absolute;
  bottom: 12px;
  right: 37px;
  font-size: 39px;
  color: #79bbe5;
}
.mini-popup {
  background: white;
  border: 2px solid #dceacd;
  border-radius: 14px;
  padding: 16px;
  text-align: center;
  box-shadow: 0 6px 0 #dcebc6;
  transform: rotate(-5deg);
}
.mini-popup b,
.mini-popup i,
.mini-popup em {
  display: block;
  font-style: normal;
}
.mini-popup b {
  font-family: 'Baloo 2';
  font-size: 20px;
}
.mini-popup i {
  font-size: 9px;
  color: #778663;
  margin-bottom: 12px;
}
.mini-popup em {
  font-size: 10px;
  padding: 7px;
  background: #5ad66b;
  color: #224b24;
  border-radius: 6px;
  font-weight: 900;
}
.mini-wave {
  position: absolute;
  color: #99c948;
  top: 15px;
  right: 11px;
  font-size: 34px;
}
.mini-chat {
  background: white;
  border: 1.5px solid #dfceef;
  border-radius: 16px 16px 2px 16px;
  font-size: 15px;
  font-weight: 900;
  color: #714f99;
  padding: 19px 16px;
  transform: rotate(3deg);
  box-shadow: 0 6px 0 #e2d3f2;
}
.mini-chat b {
  display: block;
  font-size: 9px;
  font-weight: 600;
  margin-top: 7px;
}
.mini-heart {
  position: absolute;
  bottom: 13px;
  right: 22px;
  color: #b687e4;
  font-size: 34px;
  transform: rotate(12deg);
}
.context-play-section {
  background: #f5f0ff;
  padding: 85px 0;
  border-block: 1px solid #e9e1f3;
  position: relative;
}
.context-play-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
}
.context-machine {
  background: white;
  border: 2px solid #ded1f0;
  border-radius: 24px;
  box-shadow: 10px 12px 0 #e4daf2;
  padding: 23px;
  transform: rotate(-1deg);
  position: relative;
}
.context-machine-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  font-weight: 900;
  gap: 8px;
  color: #665479;
  padding-bottom: 22px;
}
.context-machine-top > span:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
  letter-spacing: 0.07em;
}
.context-profile {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 23px;
}
.context-profile > span {
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: #ffedb6;
  color: #a76b23;
  display: grid;
  place-items: center;
  font-size: 32px;
}
.context-profile strong {
  display: block;
  font-family: 'Baloo 2';
  font-size: 24px;
  line-height: 1.1;
}
.context-profile p {
  margin: 4px 0 0;
  font-size: 11px;
  color: #6e7d8b;
}
.context-event {
  display: flex;
  gap: 12px;
  align-items: center;
  border: 1px solid #e6e8f0;
  border-radius: 12px;
  padding: 13px;
  margin-bottom: 11px;
  background: #fcfdff;
  position: relative;
  transition: background 0.3s, border-color 0.3s, transform 0.3s;
}
.context-event > span {
  width: 34px;
  height: 35px;
  border-radius: 9px;
  background: #e6f4fc;
  display: grid;
  place-items: center;
  font-size: 20px;
  flex-shrink: 0;
}
.context-event strong {
  font-size: 12px;
  font-weight: 900;
  display: block;
}
.context-event small {
  font-size: 11px;
  color: #697e8b;
}
.context-event > i {
  margin-left: auto;
  font-style: normal;
  font-weight: 900;
  font-size: 14px;
  color: #6ead77;
}
.context-event.is-active {
  background: #effaff;
  border-color: #91cbea;
  transform: translateX(6px);
}
.context-event.is-active > span {
  background: #c9ebff;
}
.context-result {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #e7f7d9;
  border: 1.5px solid #c5e7ac;
  border-radius: 13px;
  padding: 17px 13px;
  margin-top: 20px;
  min-height: 84px;
}
.context-result > span {
  font-size: 29px;
  color: #659d3a;
}
.context-result strong {
  font-size: 12px;
  font-weight: 900;
  display: block;
  color: #3f6a30;
}
.context-result p {
  font-size: 10px;
  color: #657c58;
  margin: 4px 0 0;
}
.context-replay {
  border: 0;
  background: transparent;
  color: #725591;
  font-size: 11px;
  padding: 14px 0 0;
  display: block;
  margin: auto;
}
.context-story h2 {
  margin-bottom: 23px;
}
.context-story > p:not(.eyebrow) {
  font-size: 16px;
  color: #665b74;
  line-height: 1.7;
}
.context-switcher {
  margin-top: 25px;
  display: grid;
  gap: 10px;
}
.context-switcher > span {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #80708e;
}
.context-switcher button {
  background: #fff;
  border: 1.5px solid #dbc8ee;
  box-shadow: 0 3px 0 #e0d3ed;
  border-radius: 11px;
  padding: 13px 15px;
  display: flex;
  justify-content: space-between;
  color: #684192;
  font-size: 13px;
  text-align: left;
}
.context-switcher button[aria-pressed='true'] {
  background: #b888e8;
  color: #301b4d;
  border-color: #9f70d1;
  box-shadow: 0 3px 0 #9967cf;
}
.context-story .context-explainer {
  font-size: 12px !important;
  min-height: 40px;
  margin: 15px 0 18px;
  color: #6f5489 !important;
}
.context-story .text-link {
  font-size: 12px;
}
.launch-section {
  padding-block: 100px 80px;
}
.launch-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 34px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.launch-steps li {
  position: relative;
  padding: 27px;
  background: #f3faff;
  border-radius: 22px;
  border: 1.5px solid #d9edf7;
  box-shadow: 0 5px 0 #e4f0f6;
}
.launch-steps li:nth-child(2) {
  background: #fff9e7;
  border-color: #eee2bd;
  box-shadow: 0 5px 0 #f1e8cc;
}
.launch-steps li:nth-child(3) {
  background: #edf9ef;
  border-color: #d6eada;
  box-shadow: 0 5px 0 #e1f0e3;
}
.launch-number {
  position: absolute;
  right: 22px;
  top: 20px;
  font-family: 'Baloo 2';
  font-size: 40px;
  font-weight: 800;
  color: #b8ddef;
  line-height: 1;
}
.launch-steps li:nth-child(2) .launch-number {
  color: #e9d59d;
}
.launch-steps li:nth-child(3) .launch-number {
  color: #b6dfbf;
}
.launch-symbol {
  font-size: 32px;
  margin-bottom: 17px;
  height: 43px;
  color: #2392cd;
}
.launch-steps li:nth-child(2) .launch-symbol {
  color: #dcad37;
}
.launch-steps li:nth-child(3) .launch-symbol {
  color: #48a861;
}
.launch-steps h3 {
  font-size: 26px;
  line-height: 1.05;
  margin-bottom: 14px;
  color: #193a4c;
}
.launch-steps p {
  font-size: 13px;
  line-height: 1.7;
  color: #5c7180;
  margin-bottom: 22px;
}
.launch-caption {
  font-size: 11px;
  font-weight: 900;
  color: #46788c;
}
.launch-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 28px;
  font-size: 12px;
  align-items: center;
}
.launch-bottom p {
  margin: 0;
  color: #697c88;
  max-width: 740px;
}
.launch-bottom a {
  flex-shrink: 0;
}
.free-invitation {
  background: #edfae4;
  border-block: 1px solid #d9edc9;
  padding: 75px 0;
}
.free-grid {
  display: grid;
  grid-template-columns: 0.85fr 1fr;
  gap: 100px;
  align-items: center;
}
.free-grid h2 {
  margin-bottom: 22px;
}
.free-grid h2 > span {
  color: #459348;
}
.free-grid > div > p:not(.eyebrow) {
  font-size: 16px;
  color: #587350;
  max-width: 490px;
}
.free-grid .button {
  margin: 5px 0 20px;
}
.free-grid .free-terms {
  font-size: 11px !important;
  max-width: 360px;
  margin-bottom: 12px;
}
.free-grid .text-link {
  font-size: 12px;
  color: #3f7845;
}
.free-art {
  min-height: 370px;
  position: relative;
  display: grid;
  place-items: center;
}
.free-burst {
  position: absolute;
  font-size: 425px;
  line-height: 1;
  color: #d2edbb;
  transform: rotate(15deg);
}
.free-ticket {
  background: #fffef6;
  border: 2px solid #e7e9d4;
  border-radius: 18px;
  box-shadow: 10px 12px 0 #cbe3b5;
  transform: rotate(-8deg);
  padding: 30px;
  width: 235px;
  text-align: center;
  position: relative;
}
.free-ticket > span {
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #739456;
}
.free-ticket strong {
  font-family: 'Baloo 2';
  font-size: 68px;
  line-height: 0.95;
  display: block;
  margin: 20px 0;
  color: #3d7147;
}
.free-ticket i {
  display: block;
  padding-top: 20px;
  border-top: 2px dashed #dfe6ce;
  color: #749266;
  font-style: normal;
  font-size: 9px;
  letter-spacing: 0.11em;
  font-weight: 900;
}
.free-spark {
  position: absolute;
  right: 18px;
  top: 40px;
  font-size: 58px;
  color: #e2bb38;
  transform: rotate(10deg);
}
.home-v2 .faq-section {
  padding-block: 85px;
}
.home-v2 .faq-section h2 {
  font-size: 48px;
}
.home-closing {
  background: #0f3446;
  color: white;
  position: relative;
  text-align: center;
  padding: 90px 0 95px;
  overflow: hidden;
}
.home-closing::before,
.home-closing::after {
  content: '✦';
  position: absolute;
  color: #24617a;
  font-size: 160px;
  line-height: 1;
  top: 40px;
  left: 3%;
  transform: rotate(-10deg);
  pointer-events: none;
}
.home-closing::after {
  left: auto;
  right: 4%;
  top: auto;
  bottom: 15px;
  font-size: 110px;
  color: #255b62;
  transform: rotate(14deg);
}
.home-closing .eyebrow {
  color: #91d6f4;
}
.home-closing h2 {
  font-size: clamp(3rem, 4.9vw, 4.5rem);
  position: relative;
  margin-bottom: 30px;
  line-height: 1.05;
}
.home-closing h2 > span {
  color: #77e589;
}
.home-closing .wrap > div {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  position: relative;
}
.home-closing .wrap > p:last-child {
  font-size: 12px;
  color: #b0c8ce;
  margin: 24px 0 0;
}
.home-closing .button-play {
  background: #204b5c;
  color: #d0eefb;
  border-color: #487589;
  box-shadow: 0 4px 0 #092939;
}
.home-closing .play-disc {
  background: #386678;
  color: white;
}
.page-motion-control {
  position: fixed;
  left: 16px;
  bottom: 14px;
  z-index: 25;
  border: 1px solid #dce8ed;
  border-radius: 8px;
  background: #ffffffee;
  color: #4b687b;
  padding: 8px 10px;
  font-size: 10px;
  box-shadow: 0 2px 6px #133d4510;
}
.page-motion-control[hidden] {
  display: none;
}
.mobile-install-bar {
  display: none;
}
.tour-dialog {
  width: min(1000px, calc(100vw - 50px));
  max-height: calc(100dvh - 50px);
  border: 2px solid #dcebf3;
  border-radius: 25px;
  padding: 24px;
  background: #f8fcff;
  color: #15354a;
  box-shadow: 0 30px 100px #08233555;
  overflow: auto;
}
.tour-dialog::backdrop {
  background: #092b43b8;
  backdrop-filter: blur(7px);
}
.tour-dialog h2 {
  font-family: 'Baloo 2';
  font-size: 39px;
  line-height: 1;
}
.tour-heading {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  margin: 0 0 18px;
}
.tour-heading .eyebrow {
  font-size: 9px;
  margin-bottom: 6px;
}
.tour-heading p:last-child {
  font-size: 12px;
  color: #5b7284;
  margin: 9px 0 0;
}
.tour-close {
  display: grid;
  place-items: center;
  border: 1px solid #c9dfea;
  border-radius: 10px;
  width: 40px;
  height: 40px;
  background: #fff;
  box-shadow: 0 3px 0 #dae9f2;
  color: #43697d;
  line-height: 1;
  font-size: 25px;
  flex-shrink: 0;
}
.playground-expanded {
  box-shadow: 0 5px 0 #e0edf4;
}
.playground-expanded .demo-columns {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 15px;
}
.playground-expanded .demo-message {
  grid-column: 2;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}
.playground-expanded .demo-message .message-composition {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
}
.playground-expanded .demo-message .message-composition h3 {
  font-size: 35px;
  margin: 15px 0;
}
.playground-expanded .demo-message .message-composition p[data-message-copy] {
  font-size: 14px;
  min-height: 100px;
}
.playground-expanded .message-kicker {
  font-size: 9px;
}
.playground-expanded .demo-message-link {
  font-size: 12px;
}
.playground-expanded .journey-controls {
  max-width: 600px;
}
.playground-expanded .journey-controls button {
  font-size: 12px;
  padding: 11px;
}
.playground-expanded .sample-product {
  grid-template-columns: 140px 1fr;
  min-height: 180px;
}
.playground-expanded .product-art {
  height: 150px;
}
.playground-expanded .demo-brain {
  min-height: 83px;
}
.playground-expanded .shopper-bubble {
  min-height: 54px;
}
.playground-expanded .demo-message-top {
  padding: 16px;
}
.playground-expanded .demo-message-top strong {
  font-size: 11px;
}
.playground-expanded .demo-message-top small {
  font-size: 10px;
}
.playground-expanded .demo-channels button {
  padding: 8px 10px;
  font-size: 11px;
}
.tour-bottom {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
  padding-top: 23px;
}
.tour-bottom > span {
  font-size: 10px;
  color: #6d8290;
  max-width: 180px;
}
.tour-bottom > a:not(.button) {
  font-size: 12px;
  font-weight: 900;
  color: #0878b6;
}
.tour-bottom .button {
  font-size: 13px;
  min-height: 45px;
  padding: 11px 17px;
  gap: 12px;
}
html[data-tour-open] {
  overflow: hidden;
}
.site-footer .brand-logo {
  width: 175px;
}
/* Motion has a visible job: shopper action → understanding → composition. */
html[data-motion='on'] .vivid-hero-demo .playground {
  animation: studio-bob 6s ease-in-out infinite;
}
html[data-motion='on'] .headline-spark,
html[data-motion='on'] .free-spark {
  animation: spark-turn 4s ease-in-out infinite;
}
html[data-motion='on'] .demo-sticker {
  animation: sticker-bob 4.5s ease-in-out infinite;
}
html[data-motion='on'] .playground[data-phase='0'] .tote-art {
  animation: tote-bounce 0.8s cubic-bezier(0.2, 1.5, 0.4, 1);
}
html[data-motion='on'] .playground[data-phase='1'] .brain-badge {
  animation: brain-wiggle 0.85s ease-in-out infinite;
}
html[data-motion='on'] .playground[data-phase='1'] .brain-dots i {
  animation: dot-hop 0.6s ease-in-out infinite;
}
html[data-motion='on'] .brain-dots i:nth-child(2) {
  animation-delay: 0.12s !important;
}
html[data-motion='on'] .brain-dots i:nth-child(3) {
  animation-delay: 0.24s !important;
}
html[data-motion='on'] .playground[data-phase='2'] .demo-message {
  animation: message-slide 0.55s cubic-bezier(0.2, 0.8, 0.2, 1);
}
html[data-motion='on'] .playground[data-phase='3'] .message-check {
  animation: check-pop 0.6s cubic-bezier(0.2, 1.8, 0.5, 1);
}
html[data-motion='on'] .moment-card.is-on-screen .mini-cart,
html[data-motion='on'] .moment-card.is-on-screen .mini-popup,
html[data-motion='on'] .moment-card.is-on-screen .mini-chat {
  animation: little-float 3.8s ease-in-out infinite;
}
html[data-motion='on'] .moment-card.is-on-screen .mini-note,
html[data-motion='on'] .moment-card.is-on-screen .mini-wave,
html[data-motion='on'] .moment-card.is-on-screen .mini-heart {
  animation: little-float 2.8s 0.4s ease-in-out infinite alternate;
}
html[data-motion='on'] .context-event.is-active > span {
  animation: check-pop 0.6s ease-out;
}
html[data-motion='on'] .context-result.is-updated {
  animation: result-nudge 0.55s ease-out;
}
html[data-motion='on'] .launch-steps li.is-on-screen .launch-symbol {
  animation: little-float 3.5s ease-in-out infinite;
}
html[data-motion='on'] .free-art.is-on-screen .free-ticket {
  animation: ticket-rock 5s ease-in-out infinite;
}
.is-revealed {
  animation: content-rise 0.6s ease-out;
}
.is-revealed:nth-child(2) {
  animation-delay: 0.08s;
}
.is-revealed:nth-child(3) {
  animation-delay: 0.16s;
}
html[data-motion='paused'] *,
html[data-motion='paused'] *::before,
html[data-motion='paused'] *::after {
  animation: none !important;
  transition: none !important;
}
html[data-page-hidden] *,
html[data-page-hidden] *::before,
html[data-page-hidden] *::after {
  animation-play-state: paused !important;
}
.playground[data-outside] * {
  animation-play-state: paused !important;
}
html[data-tour-open] .vivid-hero-demo *,
html[data-tour-open] .moment-card * {
  animation-play-state: paused !important;
}
@keyframes studio-bob {
  0%,
  100% {
    transform: translateY(0) rotate(0.4deg);
  }
  50% {
    transform: translateY(-6px) rotate(-0.4deg);
  }
}
@keyframes sticker-bob {
  0%,
  100% {
    transform: rotate(5deg) translateY(0);
  }
  50% {
    transform: rotate(2deg) translateY(-4px);
  }
}
@keyframes spark-turn {
  0%,
  100% {
    transform: rotate(0) scale(1);
  }
  50% {
    transform: rotate(24deg) scale(1.13);
  }
}
@keyframes tote-bounce {
  0% {
    transform: translateY(0) rotate(0);
  }
  40% {
    transform: translateY(-12px) rotate(-6deg);
  }
  70% {
    transform: translateY(3px) rotate(3deg);
  }
  100% {
    transform: none;
  }
}
@keyframes brain-wiggle {
  0%,
  100% {
    transform: rotate(-6deg) scale(1);
  }
  50% {
    transform: rotate(8deg) scale(1.08);
  }
}
@keyframes dot-hop {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px);
  }
}
@keyframes message-slide {
  from {
    transform: translateY(15px) rotate(-1deg);
  }
  to {
    transform: none;
  }
}
@keyframes check-pop {
  0% {
    transform: scale(0.6);
  }
  60% {
    transform: scale(1.22);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes little-float {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}
@keyframes result-nudge {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.035);
  }
}
@keyframes ticket-rock {
  0%,
  100% {
    transform: rotate(-8deg) translateY(0);
  }
  50% {
    transform: rotate(-3deg) translateY(-8px);
  }
}
@keyframes content-rise {
  from {
    translate: 0 18px;
  }
  to {
    translate: 0 0;
  }
}
@keyframes confetti-flight {
  0% {
    opacity: 1;
    transform: translate(0, 0) rotate(0);
  }
  100% {
    opacity: 0;
    transform: translate(var(--x), var(--y)) rotate(var(--r));
  }
}
@media (min-width: 1400px) {
  .vivid-hero {
    gap: 90px;
  }
  .vivid-hero h1 {
    font-size: 88px;
  }
  .sample-product {
    grid-template-columns: 150px 1fr;
  }
  .product-art {
    height: 127px;
  }
  .message-composition {
    min-height: 145px;
  }
}
@media (max-width: 1100px) {
  .vivid-hero {
    gap: 32px;
    padding-top: 83px;
  }
  .vivid-hero h1 {
    font-size: 65px;
  }
  .hero-shopify {
    font-size: 9px;
  }
  .early-badge {
    display: none;
  }
  .headline-spark {
    right: 0;
    font-size: 33px;
  }
  .vivid-description {
    font-size: 16px;
  }
  .home-v2 .hero-actions .button {
    padding: 13px 16px;
    font-size: 13px;
    gap: 9px;
  }
  .sample-product {
    grid-template-columns: 110px 1fr;
    gap: 8px;
    padding-inline: 10px;
  }
  .product-art {
    height: 111px;
  }
  .sample-product strong {
    font-size: 19px;
  }
  .shopper-action {
    min-width: 135px;
  }
  .journey-controls {
    gap: 4px;
    padding-inline: 13px;
  }
  .journey-controls button {
    font-size: 10px;
  }
  .demo-columns {
    padding-inline: 13px;
  }
  .demo-message-top {
    padding-inline: 11px;
  }
  .demo-channels button {
    padding-inline: 6px;
  }
  .journey-footer {
    padding-inline: 13px;
  }
  .moment-ribbon .wrap {
    font-size: 10px;
    gap: 10px;
  }
  .moment-ribbon i {
    margin-left: 9px;
  }
  .moment-card {
    padding-inline: 19px;
  }
  .moment-card h3 {
    font-size: 28px;
  }
  .context-play-grid {
    gap: 50px;
  }
  .context-profile strong {
    font-size: 21px;
  }
  .free-grid {
    gap: 55px;
  }
  .launch-steps {
    gap: 20px;
  }
  .launch-steps li {
    padding: 22px;
  }
  .launch-steps h3 {
    font-size: 24px;
  }
  .brand-logo {
    width: 160px;
  }
  
  .playground-expanded .sample-product {
    grid-template-columns: 100px 1fr;
  }
  .playground-expanded .product-art {
    height: 130px;
  }
}
@media (max-width: 800px) {
  .vivid-hero {
    grid-template-columns: 1fr;
    gap: 75px;
    padding-top: 40px;
    max-width: 650px;
  }
  .vivid-hero-copy {
    text-align: center;
  }
  .hero-shopify {
    justify-content: center;
    font-size: 11px;
  }
  .early-badge {
    display: inline-block;
  }
  .vivid-hero h1 {
    font-size: clamp(3.9rem, 9vw, 5.4rem);
    line-height: 0.98;
    margin-bottom: 24px;
  }
  .vivid-hero h1 > span > br {
    display: none;
  }
  .vivid-hero h1 > span {
    display: inline;
  }
  .headline-spark {
    right: 10px;
    top: 30%;
    font-size: 28px;
  }
  .vivid-description {
    margin-inline: auto;
    font-size: 17px;
    max-width: 470px;
  }
  .home-v2 .hero-actions {
    justify-content: center;
  }
  .home-v2 .hero-actions .button {
    font-size: 15px;
    padding: 14px 20px;
  }
  .hero-promise {
    justify-content: center;
  }
  .offer-note {
    margin-bottom: 18px;
  }
  .vivid-hero-demo {
    max-width: 550px;
    width: 100%;
    margin: auto;
  }
  .demo-sticker {
    right: 30px;
    top: -48px;
    font-size: 12px;
  }
  .sample-product {
    grid-template-columns: 155px 1fr;
  }
  .product-art {
    height: 129px;
  }
  .sample-product strong {
    font-size: 23px;
  }
  .shopper-action {
    min-width: 165px;
    font-size: 11px;
    padding: 8px 10px;
  }
  .journey-controls button {
    font-size: 12px;
    min-height: 41px;
  }
  .playground-bar {
    padding-inline: 18px;
  }
  .demo-columns {
    padding-inline: 17px;
  }
  .demo-message-top strong {
    font-size: 12px;
  }
  .demo-message-top small {
    font-size: 10px;
  }
  .demo-channels button {
    font-size: 11px;
    padding: 7px 10px;
    min-height: 33px;
  }
  .message-composition h3 {
    font-size: 27px;
  }
  .message-composition > p[data-message-copy] {
    font-size: 13px;
    min-height: 41px;
  }
  .message-composition {
    min-height: 150px;
  }
  .demo-brain strong {
    font-size: 14px;
  }
  .demo-brain p {
    font-size: 11px;
  }
  .shopper-bubble strong {
    font-size: 12px;
  }
  .shopper-bubble span[data-shopper-detail] {
    font-size: 10px;
  }
  .journey-footer {
    padding: 0 17px 14px;
  }
  .journey-footer p {
    font-size: 10px;
  }
  .demo-under {
    font-size: 10px;
  }
  .moment-ribbon .wrap {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    font-size: 10px;
    padding-block: 15px;
  }
  .moment-ribbon i {
    font-size: 14px;
  }
  .moments-section {
    padding-block: 70px;
  }
  .moment-cards {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .moment-card {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    column-gap: 25px;
    padding: 22px;
    align-items: start;
  }
  .moment-visual {
    grid-column: 1;
    grid-row: 1/6;
    height: 100%;
    min-height: 230px;
    margin: 0;
  }
  .moment-card .label,
  .moment-card h3,
  .moment-card > p,
  .moment-card > button,
  .moment-card > a {
    grid-column: 2;
  }
  .moment-card h3 {
    font-size: 30px;
  }
  .moment-card > p:not(.label) {
    font-size: 13px;
    margin-bottom: 19px;
  }
  .moment-card > a {
    margin-top: 12px;
  }
  .context-play-grid {
    grid-template-columns: 1fr;
    gap: 45px;
    max-width: 610px;
  }
  .context-story {
    grid-row: 1;
  }
  .context-story h2 > br:nth-child(2) {
    display: none;
  }
  .context-machine {
    max-width: 540px;
    width: 100%;
    margin: auto;
    transform: none;
  }
  .context-profile strong {
    font-size: 25px;
  }
  .context-event strong {
    font-size: 14px;
  }
  .context-event small {
    font-size: 12px;
  }
  .context-result strong {
    font-size: 14px;
  }
  .context-result p {
    font-size: 12px;
  }
  .context-play-section {
    padding-block: 60px;
  }
  .launch-section {
    padding-block: 65px;
  }
  .launch-steps {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .launch-steps li {
    padding: 24px 28px 24px 90px;
    position: relative;
    min-height: 168px;
  }
  .launch-symbol {
    position: absolute;
    left: 25px;
    top: 26px;
  }
  .launch-number {
    font-size: 30px;
    right: 20px;
    top: 18px;
  }
  .launch-steps h3 {
    font-size: 28px;
    padding-right: 25px;
  }
  .launch-steps p {
    font-size: 14px;
    max-width: 490px;
    margin-bottom: 13px;
  }
  .launch-caption {
    font-size: 11px;
  }
  .launch-bottom {
    display: block;
  }
  .launch-bottom p {
    margin-bottom: 10px;
  }
  .free-grid {
    grid-template-columns: 1fr;
    gap: 35px;
    max-width: 610px;
  }
  .free-art {
    display: none;
  }
  .free-invitation {
    padding-block: 60px;
  }
  .free-grid h2 {
    font-size: 51px;
  }
  .home-v2 .faq-section h2 {
    font-size: 43px;
  }
  .home-closing {
    padding-block: 70px;
  }
  .home-closing::before,
  .home-closing::after {
    opacity: 0.4;
    font-size: 100px;
    left: -24px;
  }
  .home-closing::after {
    left: auto;
    right: -24px;
  }
  .home-closing h2 {
    font-size: 46px;
  }
  .home-closing .button {
    font-size: 14px;
    gap: 10px;
    padding: 13px 19px;
  }
  .page-motion-control {
    bottom: 93px;
    left: 10px;
    font-size: 9px;
    padding: 6px 8px;
    max-width: 110px;
  }
  .mobile-install-bar:not([hidden]) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: fixed;
    z-index: 30;
    inset: auto 0 0;
    background: #fffffff5;
    backdrop-filter: blur(10px);
    border-top: 1px solid #d8e9df;
    padding: 12px 18px max(12px, env(safe-area-inset-bottom));
    box-shadow: 0 -6px 20px #20483108;
  }
  .mobile-install-bar strong {
    display: block;
    font-size: 12px;
    line-height: 1.4;
  }
  .mobile-install-bar div > span {
    display: block;
    font-size: 11px;
    color: #5e7769;
  }
  .mobile-install-bar .button {
    font-size: 13px;
    padding: 11px 15px;
    min-height: 42px;
    gap: 9px;
    flex-shrink: 0;
  }
  .tour-dialog {
    width: calc(100vw - 30px);
    padding: 20px;
    max-height: calc(100dvh - 30px);
    border-radius: 20px;
  }
  .playground-expanded .demo-columns {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 11px;
  }
  .playground-expanded .demo-message {
    grid-column: auto;
    grid-row: auto;
  }
  .playground-expanded .demo-message .message-composition {
    padding: 18px;
    min-height: 170px;
  }
  .playground-expanded .demo-message .message-composition h3 {
    font-size: 28px;
    margin: 5px 0 10px;
  }
  .playground-expanded .demo-message .message-composition p[data-message-copy] {
    min-height: 45px;
  }
  .playground-expanded .sample-product {
    grid-template-columns: 130px 1fr;
    min-height: 145px;
  }
  .playground-expanded .product-art {
    height: 127px;
  }
  .playground-expanded .demo-brain {
    min-height: 73px;
  }
  .tour-bottom {
    flex-wrap: wrap;
    gap: 15px;
  }
  .tour-bottom > .button {
    width: 100%;
  }
  .tour-bottom > span {
    max-width: 50%;
  }
  .tour-heading h2 {
    font-size: 34px;
  }
  .tour-heading p:last-child {
    font-size: 11px;
  }
  
  .brand-logo {
    width: 151px;
  }
}
@media (max-width: 550px) {
  .brand-logo {
    width: 140px;
  }

  .home-v2 h2 {
    font-size: 39px;
    line-height: 1.07;
  }
  .vivid-hero {
    padding-top: 27px;
    padding-bottom: 40px;
    gap: 67px;
  }
  .vivid-hero h1 {
    font-size: clamp(3rem, 12.1vw, 4.4rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
    margin-bottom: 19px;
  }
  .vivid-hero h1 > span > br {
    display: initial;
  }
  .vivid-hero h1 em::after {
    height: 5px;
    bottom: 2px;
  }
  .hero-shopify {
    font-size: 9px;
    gap: 6px;
    margin-bottom: 18px;
    letter-spacing: 0.05em;
  }
  .hero-shopify .early-badge {
    display: none;
  }
  .hero-shopify .small-shopify {
    width: 20px;
    height: 22px;
    font-size: 16px;
  }
  .headline-spark {
    font-size: 26px;
    right: 4%;
    top: 40%;
  }
  .vivid-description {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 23px;
  }
  .home-v2 .hero-actions {
    gap: 13px;
  }
  .home-v2 .hero-actions .button {
    font-size: 14px;
    min-height: 51px;
    padding: 12px 17px;
    gap: 10px;
    width: 100%;
  }
  .home-v2 .hero-actions .button-play {
    width: 100%;
  }
  .offer-note {
    font-size: 10px;
    line-height: 1.7;
    margin: 18px 0 16px;
  }
  .hero-promise {
    font-size: 9px;
    gap: 6px;
  }
  .demo-sticker {
    font-size: 11px;
    right: 27px;
    top: -41px;
  }
  .demo-sticker > span {
    font-size: 32px;
    right: -25px;
  }
  .playground {
    border-radius: 20px;
    box-shadow: 5px 7px 0 #deedf6;
  }
  .playground-bar {
    padding: 15px 12px 12px;
  }
  .playground-bar > span:first-child {
    font-size: 19px;
    gap: 5px;
  }
  .playground-bar img {
    width: 18px;
    height: 21px;
  }
  .demo-label {
    font-size: 9px;
    gap: 4px;
  }
  .journey-controls {
    padding: 0 10px 13px;
    gap: 4px;
  }
  .journey-controls button {
    font-size: 10px;
    min-height: 38px;
    padding: 8px 3px;
  }
  .demo-columns {
    padding: 0 10px 13px;
    gap: 10px;
  }
  .sample-product {
    grid-template-columns: 106px 1fr;
    gap: 8px;
    padding: 8px;
  }
  .product-art {
    height: 110px;
  }
  .sample-product strong {
    font-size: 20px;
  }
  .product-overline {
    font-size: 7px;
  }
  .sample-product-price {
    font-size: 11px;
  }
  .sample-product-price small {
    font-size: 8px;
    margin-left: 4px;
  }
  .shopper-action {
    min-width: 0;
    width: 100%;
    font-size: 9px;
    min-height: 31px;
    padding: 7px 8px;
  }
  .sample-shop-bar {
    font-size: 8px;
    padding: 9px;
  }
  .shopper-bubble {
    padding: 9px 8px;
    gap: 6px;
  }
  .shopper-face {
    width: 25px;
    height: 25px;
    font-size: 20px;
  }
  .shopper-bubble strong {
    font-size: 10px;
  }
  .shopper-bubble span[data-shopper-detail] {
    font-size: 9px;
  }
  .demo-brain {
    padding: 10px 9px;
    gap: 8px;
  }
  .brain-badge {
    width: 30px;
    height: 32px;
    font-size: 22px;
  }
  .demo-brain strong {
    font-size: 12px;
  }
  .demo-brain p {
    font-size: 10px;
  }
  .brain-dots {
    gap: 2px;
  }
  .brain-dots i {
    width: 3px;
    height: 3px;
  }
  .demo-message-top {
    padding: 11px 10px 7px;
    gap: 6px;
  }
  .sample-brand {
    width: 27px;
    height: 27px;
    font-size: 19px;
  }
  .demo-message-top strong {
    font-size: 10px;
  }
  .demo-message-top small {
    font-size: 8px;
  }
  .demo-channels {
    padding: 2px;
  }
  .demo-channels button {
    font-size: 9px;
    padding: 6px;
    min-height: 29px;
  }
  .message-composition {
    padding: 8px 13px 13px;
    min-height: 150px;
  }
  .message-kicker {
    font-size: 7px;
  }
  .message-composition h3 {
    font-size: 25px;
  }
  .message-composition > p[data-message-copy] {
    font-size: 12px;
    min-height: 57px;
  }
  .demo-message-link {
    font-size: 10px;
  }
  .message-state {
    font-size: 8px;
    padding: 8px 10px;
  }
  .journey-footer {
    padding: 0 11px 13px;
    gap: 6px;
    flex-wrap: wrap;
  }
  .journey-footer p {
    font-size: 9px;
  }
  .journey-footer button {
    font-size: 9px;
  }
  .journey-progress {
    gap: 2px;
  }
  .journey-progress i {
    height: 5px;
    width: 5px;
  }
  .journey-progress i:nth-child(n) {
    max-width: 12px;
  }
  .demo-under {
    font-size: 8px;
    padding: 17px 0 0 4px;
    gap: 6px;
  }
  .demo-under button {
    font-size: 9px;
    padding: 5px 0;
  }
  .moment-ribbon {
    margin-top: 14px;
  }
  .moment-ribbon .wrap {
    width: 100%;
    font-size: 8px;
    gap: 8px 9px;
    letter-spacing: 0.05em;
    padding: 14px 5px;
  }
  .moment-ribbon i {
    font-size: 12px;
    margin-left: 6px;
  }
  .vivid-heading {
    margin-bottom: 30px;
  }
  .vivid-heading > p:not(.eyebrow) {
    font-size: 15px;
  }
  .home-v2 .eyebrow {
    font-size: 10px;
    line-height: 1.7;
    margin-bottom: 16px;
  }
  .moments-section {
    padding-block: 56px;
  }
  .moment-cards {
    gap: 25px;
  }
  .moment-card {
    display: flex;
    padding: 17px 21px 24px;
    gap: 0;
  }
  .moment-visual {
    width: 100%;
    height: 164px;
    min-height: 0;
    margin-bottom: 24px;
    flex: auto;
    align-self: stretch;
  }
  .moment-card h3 {
    font-size: 33px;
    margin-bottom: 14px;
  }
  .moment-card > p:not(.label) {
    font-size: 15px;
    margin-bottom: 24px;
  }
  .moment-card .label {
    font-size: 9px;
  }
  .moment-card > button {
    font-size: 13px;
    min-height: 43px;
  }
  .moment-card > a {
    font-size: 11px;
    margin-top: 17px;
  }
  .context-play-section {
    padding-block: 52px;
  }
  .context-play-grid {
    gap: 28px;
  }
  .context-story > p:not(.eyebrow) {
    font-size: 15px;
  }
  .context-switcher button {
    font-size: 12px;
    padding: 12px;
  }
  .context-story .context-explainer {
    font-size: 11px !important;
  }
  .context-machine {
    padding: 16px;
    box-shadow: 5px 7px 0 #e3d8f2;
    border-radius: 19px;
  }
  .context-machine-top {
    font-size: 8px;
    padding-bottom: 20px;
  }
  .context-machine-top .demo-label {
    font-size: 8px;
  }
  .context-profile {
    gap: 9px;
    margin-bottom: 18px;
  }
  .context-profile > span {
    width: 38px;
    height: 38px;
    font-size: 28px;
    flex-shrink: 0;
  }
  .context-profile strong {
    font-size: 22px;
  }
  .context-profile p {
    font-size: 10px;
  }
  .context-event {
    gap: 8px;
    padding: 11px 8px;
    margin-bottom: 9px;
  }
  .context-event > span {
    width: 30px;
    height: 32px;
    font-size: 17px;
    flex-shrink: 0;
  }
  .context-event strong {
    font-size: 11px;
  }
  .context-event small {
    font-size: 10px;
  }
  .context-result {
    padding: 13px 10px;
    margin-top: 16px;
  }
  .context-result strong {
    font-size: 11px;
  }
  .context-result p {
    font-size: 10px;
  }
  .context-result > span {
    font-size: 23px;
  }
  .context-replay {
    font-size: 10px;
  }
  .launch-section {
    padding-block: 55px;
  }
  .launch-steps li {
    padding: 22px 19px 22px 64px;
    min-height: 0;
  }
  .launch-symbol {
    font-size: 25px;
    left: 20px;
    top: 23px;
  }
  .launch-number {
    font-size: 26px;
    right: 14px;
    top: 22px;
  }
  .launch-steps h3 {
    font-size: 26px;
    margin-bottom: 12px;
  }
  .launch-steps p {
    font-size: 13px;
    line-height: 1.7;
  }
  .launch-caption {
    font-size: 10px;
  }
  .launch-bottom {
    font-size: 11px;
  }
  .free-invitation {
    padding-block: 50px;
  }
  .free-grid h2 {
    font-size: 44px;
  }
  .free-grid > div > p:not(.eyebrow) {
    font-size: 15px;
  }
  .free-grid .button {
    width: 100%;
    font-size: 15px;
  }
  .home-v2 .faq-section {
    padding-block: 55px;
  }
  .home-v2 .faq-section h2 {
    font-size: 39px;
  }
  .home-closing {
    padding-block: 60px;
  }
  .home-closing h2 {
    font-size: 38px;
    margin-bottom: 28px;
  }
  .home-closing .wrap > div {
    gap: 14px;
  }
  .home-closing .button {
    width: 100%;
    min-height: 52px;
  }
  .home-closing .wrap > p:last-child {
    font-size: 11px;
  }
  .mobile-install-bar strong {
    font-size: 11px;
  }
  .mobile-install-bar div > span {
    font-size: 10px;
  }
  .mobile-install-bar:not([hidden]) {
    padding-inline: 12px;
  }
  .mobile-install-bar .button {
    font-size: 12px;
    padding: 10px 13px;
  }
  .tour-dialog {
    width: calc(100vw - 14px);
    max-height: calc(100dvh - 14px);
    padding: 15px 10px;
    border-radius: 18px;
  }
  .tour-heading {
    padding-inline: 3px;
    gap: 12px;
    margin-bottom: 17px;
  }
  .tour-heading h2 {
    font-size: 32px;
  }
  .tour-heading p:last-child {
    font-size: 11px;
    max-width: 220px;
  }
  .tour-close {
    width: 35px;
    height: 35px;
    font-size: 23px;
  }
  .playground-expanded .sample-product {
    grid-template-columns: 108px 1fr;
    min-height: 128px;
  }
  .playground-expanded .product-art {
    height: 114px;
  }
  .playground-expanded .journey-controls button {
    font-size: 10px;
    padding: 8px 3px;
  }
  .playground-expanded .demo-message-top {
    padding: 12px 10px;
  }
  .playground-expanded .demo-message-top strong {
    font-size: 10px;
  }
  .playground-expanded .demo-message-top small {
    font-size: 9px;
  }
  .playground-expanded .demo-channels button {
    font-size: 10px;
    padding: 7px;
  }
  .playground-expanded .demo-message .message-composition {
    padding: 14px;
    min-height: 172px;
  }
  .playground-expanded .demo-message .message-composition h3 {
    font-size: 27px;
  }
  .playground-expanded .demo-message .message-composition p[data-message-copy] {
    font-size: 13px;
    min-height: 64px;
  }
  .tour-bottom {
    padding: 19px 5px 6px;
    gap: 14px;
  }
  .tour-bottom > span {
    font-size: 9px;
    max-width: 46%;
  }
  .tour-bottom > a:not(.button) {
    font-size: 11px;
  }
  .tour-bottom .button {
    font-size: 14px;
    min-height: 49px;
  }
}
@media (max-width: 360px) {
  .brand-logo {
    width: 130px;
  }
  .vivid-hero h1 {
    font-size: 39px;
  }
  .headline-spark {
    right: 0;
    font-size: 22px;
  }
  .sample-product {
    grid-template-columns: 94px 1fr;
  }
  .playground-bar > span:first-child {
    font-size: 17px;
  }
  .sample-product strong {
    font-size: 18px;
  }
  .demo-message-top strong {
    font-size: 9px;
  }
  .demo-message-top small {
    font-size: 8px;
  }
  .demo-channels button {
    font-size: 8px;
    padding: 6px;
  }
  .journey-controls button {
    font-size: 9px;
  }
  .journey-footer p {
    font-size: 8px;
  }
  .journey-footer button {
    font-size: 8px;
  }
  .context-profile strong {
    font-size: 19px;
  }
  .context-event strong {
    font-size: 10px;
  }
  .context-machine-top {
    font-size: 7px;
  }
  .home-v2 h2 {
    font-size: 36px;
  }
  .tour-heading h2 {
    font-size: 29px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  .is-revealed {
    translate: none;
  }
  .journey-confetti {
    display: none;
  }
}
/* Keep the demo's exit and context visible when its content scrolls. */
.tour-heading {
  position: sticky;
  top: -24px;
  z-index: 5;
  background: #f8fcff;
  padding-block: 10px;
  border-bottom: 1px solid #e0edf4;
}
.playground[data-scenario='welcome'] .sample-product-price {
  visibility: hidden;
  height: 7px;
  margin: 4px 0;
}
.playground[data-scenario='welcome'] .sample-product {
  background: #f5fae9;
}
.playground[data-scenario='winback'] .sample-product {
  background: #fbf5ff;
}
@media (max-width: 800px) {
  .tour-heading {
    top: -20px;
  }
}
@media (max-width: 550px) {
  .tour-heading {
    top: -15px;
  }
}
.tour-motion {
  border: 1px solid #ccdeea;
  background: white;
  color: #426880;
  border-radius: 8px;
  padding: 9px;
  font-size: 10px;
  flex-shrink: 0;
}
.tour-bottom {
  gap: 12px;
  flex-wrap: wrap;
}
.tour-bottom > span {
  max-width: 160px;
}
.demo-under {
  display: grid;
  grid-template-columns: 1fr auto;
  row-gap: 5px;
}
.demo-under > span {
  grid-column: 1;
  grid-row: 1;
}
.demo-under > button[data-open-tour] {
  grid-column: 2;
  grid-row: 1;
}
.demo-under .page-motion-control {
  position: static;
  grid-column: 1 / 3;
  grid-row: 2;
  justify-self: start;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 3px 0;
  font-size: 9px;
  max-width: none;
  z-index: auto;
}

/* A useful first interaction before a merchant is ready to install. */
.email-lab-teaser {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  padding-top: 72px;
  padding-bottom: 65px;
}
.email-lab-teaser h2 {
  font-family: 'Baloo 2', Nunito, sans-serif;
  font-size: clamp(35px, 3.8vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.035em;
  margin: 19px 0 20px;
}
.email-lab-teaser h2 span {
  color: #078ee4;
}
.email-lab-teaser > div > p:not(.eyebrow) {
  font-size: 17px;
  line-height: 1.75;
  color: #536e80;
  max-width: 490px;
}
.email-lab-teaser .eyebrow {
  font-size: 10px;
}
.email-lab-teaser .button {
  margin-top: 10px;
}
.email-lab-teaser .text-link {
  display: block;
  margin: 18px 0 12px;
  font-size: 14px;
}
.email-lab-teaser small {
  font-size: 11px;
  color: #617986;
  line-height: 1.6;
}
.lab-teaser-art {
  position: relative;
  display: block;
  min-height: 340px;
  background: radial-gradient(ellipse at 0 0, #def6f9, transparent), #eee9ff;
  border: 2px solid #ddd8ef;
  border-radius: 24px;
  box-shadow: 0 8px 0 #e9e3f5;
  overflow: hidden;
  padding: 40px 25px 50px;
}
.lab-mini-email {
  display: flex;
  flex-direction: column;
  width: 240px;
  max-width: 80%;
  min-height: 240px;
  background: #fffcf4;
  border: 1px solid #e4dac5;
  border-radius: 10px;
  margin: auto;
  padding: 25px;
  transform: rotate(-5deg);
  box-shadow: 0 12px 30px #6b528519;
  gap: 18px;
  color: #60563e;
}
.lab-mini-email > b {
  font-size: 10px;
  letter-spacing: 0.1em;
  padding-bottom: 15px;
  border-bottom: 1px solid #eee1c8;
}
.lab-mini-email > strong {
  font: 26px/1.1 Georgia, serif;
}
.lab-mini-email > i {
  font-size: 11px;
  line-height: 1.6;
  font-style: normal;
}
.lab-mini-email > em {
  font-size: 11px;
  font-weight: 900;
  font-style: normal;
  background: #d9b985;
  padding: 10px;
  text-align: center;
}
.lab-callout {
  position: absolute;
  font-size: 11px;
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #fff;
  padding: 13px 17px;
  border: 1px solid #c4ddd7;
  border-radius: 12px;
  box-shadow: 0 5px 0 #c8e7e080;
  transform: rotate(3deg);
  color: #3f6661;
}
.lab-callout b {
  font-size: 13px;
}
.lab-callout-brilliant {
  top: 74px;
  right: 10px;
  background: #eafff9;
}
.lab-callout-missed {
  left: 10px;
  bottom: 75px;
  background: #fff5d8;
  border-color: #e6d395;
  box-shadow: 0 5px 0 #e9dbaa80;
  transform: rotate(-3deg);
  color: #7d5b1a;
}
.lab-art-sticker {
  position: absolute;
  top: 21px;
  left: 20px;
  font-size: 9px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  font-weight: 900;
  color: #7966a1;
  transform: rotate(-7deg);
}
.lab-art-play {
  position: absolute;
  bottom: 16px;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  color: #7151a1;
}
.lab-teaser-art:hover .lab-mini-email {
  transform: rotate(-2deg) translateY(-4px);
  transition: transform 0.25s;
}
.lab-compact {
  padding: 30px !important;
  background: #f4f9fe;
  border: 1px solid #d9e9f3;
  border-radius: 18px;
  margin: 30px 0;
  gap: 20px;
  grid-template-columns: 1fr !important;
}
.lab-compact .lab-teaser-art {
  display: none;
}
.lab-compact h2 {
  font-size: 35px !important;
}
.lab-compact > div > p:not(.eyebrow) {
  font-size: 16px;
}
@media (max-width: 900px) {
  .email-lab-teaser {
    gap: 30px;
  }
  .lab-callout {
    font-size: 10px;
    padding: 11px;
  }
  .lab-callout b {
    font-size: 12px;
  }
}
@media (max-width: 760px) {
  .email-lab-teaser {
    grid-template-columns: 1fr;
    padding-top: 45px;
    padding-bottom: 40px;
    gap: 28px;
  }
  .email-lab-teaser h2 {
    font-size: 38px;
  }
  .email-lab-teaser > div > p:not(.eyebrow) {
    font-size: 16px;
  }
  .lab-teaser-art {
    min-height: 320px;
  }
  
  .lab-callout-brilliant {
    right: 7px;
  }
  .lab-callout-missed {
    left: 7px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lab-teaser-art * {
    transition: none !important;
  }
}

/* Page links stay separate from the demos inside each page. */
.site-header { position:sticky; top:0; z-index:20; background:var(--mu-white); border-bottom:1px solid #e0e8ed; }
.site-header .wrap.nav-wrap { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; width:min(1600px,calc(100% - 112px)); min-height:76px; column-gap:30px; }
.site-header .wordmark { display:inline-flex; align-items:center; min-height:44px; border-radius:4px; }
.site-header .wordmark .brand-logo { display:block; width:156px; height:auto; transform:translateY(-5%); }
.site-header #site-navigation { min-width:0; }
.site-header .nav-links { display:flex; justify-content:center; align-items:center; gap:4px; }
.site-header .nav-links > a { position:relative; display:flex; justify-content:center; align-items:center; min-height:42px; padding:10px 13px; border-radius:7px; color:#294552; font:800 14px/1.3 'Nunito',sans-serif; white-space:nowrap; transition:background .15s,color .15s; }
.site-header .nav-links > a:hover { background:#f3f6f8; color:var(--mu-accent, #11688f); }
.site-header .nav-links > a[aria-current] { background:#eaf5fc; color:var(--mu-accent, #086eab); }
.site-header .nav-links > a[aria-current]::after { content:''; position:absolute; bottom:4px; left:13px; right:13px; height:2px; border-radius:2px; background:#209cda; }
.site-header .nav-actions { display:flex; align-items:center; gap:24px; }
.site-header .login { display:inline-flex; align-items:center; justify-content:center; min-height:44px; color:#294552; font-size:14px; line-height:1.3; font-weight:800; white-space:nowrap; }
.site-header .login:hover { color:#087cbd; }
/* The header's Add-to-Shopify button, one size on every page. This used to be
   44px/14px here while the homepage's page-wide `.homepage-public .button-primary`
   (homepage.css) bled into the header and made it 52px/16px on Home only, so the
   button visibly shrank on every other tab. The shared rule now carries the Home
   values — size, shadow and hover — so the bleed produces identical output there
   and the other pages match it. margin-bottom offsets the hard 5px shadow. */
.site-header .button { min-height:52px; padding:14px 23px; margin-bottom:5px; gap:14px; border:1px solid #39bf47; border-radius:12px; background:#47cd53; color:#123e1c; box-shadow:0 5px 0 #239c33; font:900 16px/1.3 'Nunito',sans-serif; white-space:nowrap; transition:background .15s,box-shadow .15s,transform .15s; }
.site-header .button > span { font-size:19px; line-height:1; }
.site-header .button:hover { background:#5bd966; transform:translateY(-2px); box-shadow:0 7px 0 #239c33; }
.site-header .button:active { transform:translateY(3px); box-shadow:0 2px 0 #239c33; }
.site-header :is(a,button):focus-visible { outline:3px solid #169de5; outline-offset:4px; }
.site-header .nav-toggle,.site-header .nav-mobile-actions { display:none; }
@media(max-width:1150px) {
  .site-header .wrap.nav-wrap { width:calc(100% - 48px); column-gap:20px; }
  .site-header .nav-links > a { padding-inline:10px; }
  .site-header .nav-actions { gap:18px; }
}
@media(max-width:1000px) {
  :root { --site-header-height:69px; }
  .site-header .wrap.nav-wrap { grid-template-columns:1fr auto; min-height:68px; column-gap:20px; }
  .site-header .wordmark .brand-logo { width:154px; }
  .site-header .nav-actions { display:none; }
  .site-header #site-navigation { grid-column:1/-1; padding:12px 0 20px; }
  .site-header .nav-links { display:grid; justify-content:stretch; gap:4px; }
  .site-header .nav-links > a { justify-content:flex-start; min-height:48px; padding:12px 16px; font-size:16px; border-radius:7px; }
  .site-header .nav-links > a[aria-current]::after { left:5px; right:auto; top:15px; bottom:15px; width:3px; height:auto; }
  .site-header .nav-mobile-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; padding:18px 16px 0; border-top:1px solid #e0e8ed; }
  .site-header .nav-mobile-actions .login { font-size:16px; }
  .site-header[data-nav-ready] .nav-toggle { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:88px; min-height:44px; padding:10px 13px; border:1px solid #dbe5eb; border-radius:8px; background:#fff; color:#203d4b; font:800 14px/1.3 'Nunito',sans-serif; cursor:pointer; }
  .site-header .nav-toggle:hover,.site-header[data-nav-open] .nav-toggle { border-color:#92bfd7; background:#edf6fb; color:#096f9e; }
  .site-header .nav-toggle-icon { display:grid; align-content:center; gap:5px; width:16px; height:20px; }
  .site-header .nav-toggle-icon i { display:block; width:16px; height:2px; border-radius:2px; background:currentColor; transition:transform .15s; }
  .site-header[data-nav-open] .nav-toggle-icon i:first-child { transform:translateY(3.5px) rotate(45deg); }
  .site-header[data-nav-open] .nav-toggle-icon i:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .site-header[data-nav-ready] #site-navigation { display:none; position:absolute; top:100%; right:0; left:0; max-height:calc(100vh - var(--site-header-height) - 16px); max-height:calc(100dvh - var(--site-header-height) - 16px); overflow-y:auto; padding:16px 24px 24px; background:#fff; border-bottom:1px solid #dce6eb; box-shadow:0 18px 24px -16px #123a5350; }
  .site-header[data-nav-open] #site-navigation { display:block; }
  .site-header[data-nav-ready] #site-navigation > div { max-width:600px; margin-inline:auto; }
}
@media(max-width:650px) {
  .site-header .wrap.nav-wrap { width:calc(100% - 36px); }
  .site-header[data-nav-ready] #site-navigation { padding-inline:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .site-header :is(.button,.nav-links > a,.nav-toggle-icon i) { transition:none; }
  .site-header .button:hover,.site-header .button:active { transform:none; }
}

/* One shared frame for articles. */

.article-layout { grid-template-columns: minmax(200px, 240px) minmax(0, 1fr); justify-content: stretch; gap: clamp(44px, 5vw, 86px); padding-block: 56px 85px; }
.article { min-width: 0; }
.article > header { max-width: 1080px; }
.article > section:not(.gg-examples), .article > .related { max-width: 760px; }
.article-aside { font-size: 14px; top: calc(var(--site-header-height) + 24px); max-height: calc(100vh - var(--site-header-height) - 48px); max-height: calc(100svh - var(--site-header-height) - 48px); overflow-y: auto; padding: 4px 12px 8px 0; }
.article-aside nav { gap: 0; margin: 18px 0 25px; padding-left: 17px; }
.article-aside nav a { display: block; padding-block: 8px; color: #486071; }
.article-aside > a:first-child { margin-bottom: 27px; font-size: 15px; font-weight: 900; }
.article-intro { max-width: 70ch; }
.article-meta { line-height: 1.6; }
.article > section p { color: #425969; }
@media (max-width: 1100px) {

  .article-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 38px; }
}
@media (max-width: 900px) {

  .article-layout { grid-template-columns: 1fr; gap: 25px; padding-top: 32px; }
  .article-aside { position: static; max-height: none; padding: 0; }
  .article-aside nav, .article-aside .label, .article-aside > .text-link { display: none; }
  .article-aside > a:first-child { margin: 0; }
}
@media (max-width: 550px) {

  .article-layout { padding-top: 26px; }
}

/* Pricing leads with the offer a merchant can actually start today. */
.page-hero.pricing-hero { display: grid; grid-template-columns: 1.3fr .7fr; gap: 72px; text-align: left; align-items: center; padding-block: 54px; }
.pricing-hero h1 { font-size: clamp(42px,4.4vw,64px); max-width: 850px; margin-inline: 0; line-height: 1.06; }
.pricing-hero > div > p:not(.eyebrow) { max-width: 650px; margin: 22px 0; font-size: 19px; }
.pricing-start { border: 1px solid #c6e7ce; border-radius: 19px; padding: 28px; background: #f1faf3; box-shadow: 0 5px 0 #deeee2; }
.pricing-start > span { color: #38844a; font-size: 11px; letter-spacing: .09em; font-weight: 900; }
.pricing-start > strong { display: block; font-size: 60px; font-weight: 900; line-height: 1.1; margin-top: 13px; color: #1b4930; }
.pricing-start > strong > span { font-size: 14px; font-weight: 600; color: #688371; }
.pricing-hero .pricing-start > p { font-size: 15px; color: #506e5b; margin: 15px 0 19px; }
.pricing-start .button { width: 100%; justify-content: center; }
.pricing-start > small { display: block; color: #577564; font-size: 12px; line-height: 1.6; margin-top: 19px; }
#pricing-plans { scroll-margin-top: 20px; }
.article-review-link { margin-block: 32px; padding-block: 18px; border-block: 1px solid #dfe9ee; font-size: 15px; color: #536d7c; }
.article-review-link a { color: #0883c8; font-weight: 800; }
@media(max-width: 950px) {
  .page-hero.pricing-hero { gap: 32px; grid-template-columns: 1fr 1fr; }
  .pricing-hero > div > p:not(.eyebrow) { font-size: 16px; }
  .pricing-start { padding: 22px; }
}
@media(max-width: 650px) {
  .page-hero.pricing-hero { display: block; padding-block: 34px; }
  .pricing-hero h1 { font-size: 42px; }
  .pricing-start { margin-top: 28px; }
}

/* Article follow-up actions align with the prose, not the wider example grid. */
.article-review-link { max-width: 760px; font-size: 16px; line-height: 1.7; }
.article-review-link a { display: inline-block; text-decoration: underline; text-underline-offset: 4px; }
.article > section, .article #guide-next { scroll-margin-top: 16px; }
@media (max-width: 800px) {
  .article > section, .article #guide-next { scroll-margin-top: 24px; }
}
.article-aside nav a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Explain the pricing units before asking visitors to compare them. */
.pricing-terms { display:grid; grid-template-columns:1.35fr 1fr; gap:28px; padding-block:8px 26px; }
.pricing-terms p { margin:0; color:#526574; font-size:14px; line-height:1.6; }
.pricing-terms strong { color:#102d3b; }
.pricing-terms a { color:#087cbd; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:650px) { .pricing-terms { grid-template-columns:1fr; gap:12px; } }

/* Pricing: choose a useful fit first, open the full comparison when needed. */
.pricing-page {
  --pc-blue: #1aa0ed;
  --pc-green: #4bd45c;
  --pc-ink: var(--mu-ink, #13303e);
  --pc-muted: var(--mu-muted, #526c79);
  --pc-line: var(--mu-line, #d7e5eb);
  --pc-link: var(--mu-accent, #087cb8);
  --pc-paper: var(--mu-paper);
  --pc-sky: var(--mu-blue);
  --pc-navy: var(--mu-dark);
  color: var(--pc-ink);
  font-family: 'Nunito', system-ui, sans-serif;
  background: var(--mu-white);
}
.pricing-page .wrap { width: min(1600px, calc(100% - 112px)); }
.pricing-page h1,
.pricing-page .pc-section-heading h2,
.pricing-page .pc-bundle h2,
.pricing-page .calculator-grid h2,
.pricing-page .pc-answers h2 {
  font-family: 'Baloo 2', 'Nunito', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
}
.pricing-page .eyebrow {
  color: var(--pc-link);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  margin-bottom: 12px;
}
.pricing-page .text-link { color: var(--pc-link); font-weight: 900; }
.pricing-page .pc-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  align-items: center;
  gap: clamp(40px, 6vw, 105px);
  padding-block: 52px;
}
.pricing-page .pc-heading,
.pricing-page .pc-value-proof,
.pricing-page .pc-proof-row,
.pricing-page .pc-choice-top > *,
.pricing-page .pc-bundle-item { min-width: 0; }
.pricing-page .pc-heading h1 {
  max-width: 760px;
  font-size: clamp(45px, 4.3vw, 66px);
  line-height: 1.03;
  text-wrap: balance;
}
.pricing-page .pc-heading h1 span { color: var(--pc-blue); }
.pricing-page .pc-heading > p:not(.eyebrow) {
  max-width: 57ch;
  margin: 17px 0 0;
  color: var(--pc-muted);
  font-size: 18px;
  line-height: 1.55;
}
.pricing-page .pc-heading > .text-link { margin-top: 15px; font-size: 15px; }
.pricing-page .pc-value-proof {
  display: grid;
  gap: 19px;
  padding: 9px 0 9px 28px;
  border-left: 2px solid #e3f0f5;
}
.pricing-page .pc-proof-row {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  font-size: 16px;
  line-height: 1.4;
}
.pricing-page .pc-proof-row > span:first-child,
.pricing-page .pc-proof-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #e8f6ff;
  color: var(--pc-link);
  font-size: 19px;
  font-weight: 900;
  grid-row: 1 / span 2;
}
.pricing-page .pc-proof-row:nth-child(2) > span:first-child { background: #e8faeb; color: #237b33; }
.pricing-page .pc-proof-row:nth-child(3) > span:first-child { background: #fff5d7; color: #88620f; }
.pricing-page .pc-proof-row strong { display: block; font-size: 16px; font-weight: 900; }
.pricing-page .pc-proof-row p { color: var(--pc-muted); font-size: 15px; line-height: 1.5; margin: 3px 0 0; }
.pricing-page .pc-proof-row > p { grid-column: 2; }
.pricing-page .pc-plans-band { background: var(--pc-sky); border-block: 1px solid var(--mu-blue-line); }
.pricing-page .pc-choice { padding-block: 38px 36px; }
.pricing-page .pc-section-heading { margin-bottom: 22px; }
.pricing-page .pc-section-heading h2 { margin: 0; font-size: clamp(29px, 2.8vw, 39px); line-height: 1.12; }
.pricing-page .pc-section-heading .eyebrow { margin-bottom: 8px; font-size: 11px; }
.pricing-page .pc-details-band { padding-block: 42px; background: #fff; }
.pricing-page .pc-details-band .pc-comparison { padding-bottom: 0; }
.pricing-page .pc-details-band .pc-overages { padding-bottom: 0; }
.pricing-page .pc-details-band .pricing-explainer { padding-block: 16px; }
.pricing-page #pricing-plans { scroll-margin-top: 20px; }
.pricing-page .pc-choice-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 0 0 20px;
  border-top: 0;
}
.pricing-page .pc-finder {
  display: grid;
  grid-template-columns: minmax(0, 360px) 176px;
  align-items: center;
  gap: 6px 25px;
  max-width: 560px;
  flex: 1 1 auto;
}
.pricing-page .pc-finder label { color: var(--pc-ink); font-size: 18px; font-weight: 900; line-height: 1.35; }
.pricing-page .pc-finder input {
  grid-column: 2;
  grid-row: 1 / span 2;
  width: 100%;
  max-width: none;
  min-height: 55px;
  padding: 10px 15px;
  border: 2px solid #aecfdf;
  border-radius: 11px;
  color: var(--pc-ink);
  font-size: 24px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
  background: white;
  box-shadow: inset 0 2px 0 #f0f6f8;
}
.pricing-page .pc-finder input:focus { border-color: var(--pc-blue); }
.pricing-page .pc-finder-field { position: relative; grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.pricing-page .pc-finder-field input { padding-right: 58px; }
.pricing-page .pc-finder-field > span { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); color: var(--pc-muted); font-size: 13px; font-weight: 700; pointer-events: none; }
.pricing-page .pc-finder-field input::-webkit-inner-spin-button,
.pricing-page .pc-finder-field input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.pricing-page .pc-finder-field input { -moz-appearance: textfield; }
.pricing-page .pc-finder > p,
.pricing-page .pc-finder > small {
  grid-column: 1;
  margin: 0;
  color: var(--pc-muted);
  font-size: 13px;
  line-height: 1.5;
}
.pricing-page .billing-control {
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 6px;
  margin: 0;
  color: var(--pc-muted);
  font-size: 13px;
  font-weight: 800;
}
.pricing-page .billing-control > div { padding: 4px; gap: 4px; border-radius: 12px; background: #eaf2f6; }
.pricing-page .billing-control button {
  min-height: 44px;
  padding: 11px 17px;
  border-radius: 9px;
  color: #526975;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}
.pricing-page .billing-control button.active {
  background: white;
  color: var(--pc-ink);
  box-shadow: 0 2px 5px #14334017;
}
.pricing-page .billing-control button:hover:not(.active) { background: #dceaf1; color: var(--pc-ink); }
.pricing-page .billing-control button > span { display: inline-block; margin-left: 7px; padding: 3px 6px; border-radius: 5px; background: #ddf4e2; color: #27743a; font-size: 11px; line-height: 1.25; font-weight: 900; }
.pricing-page .pc-fit-message {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 5px 22px;
  margin: 0 0 18px;
  padding: 12px 16px;
  border-radius: 10px;
  background: #eff8fd;
  color: var(--pc-ink);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.5;
}
.pricing-page #plan-suggestion { color: var(--pc-ink); font-size: 15px; font-weight: 900; line-height: 1.5; }
.pricing-page .pc-fit-message > p { margin: 0; }
.pricing-page #plan-finder-note { color: var(--pc-muted); font-size: 13px; font-weight: 600; line-height: 1.5; margin: 0; }
.pricing-page .pc-fit-jump { display: none; }
.pricing-page .plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 20px;
  width: 100%;
  margin: 0;
}
.pricing-page .pc-plan-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 25px 27px 22px;
  border: 2px solid var(--pc-line);
  border-radius: 18px;
  background: #fff;
  scroll-margin-top: 20px;
  box-shadow: none;
  transform: none;
  transition: border-color .18s, box-shadow .18s;
}
.pricing-page .pc-plan-card.suggested {
  padding: 25px 27px 22px;
  border-color: var(--pc-blue);
  box-shadow: 5px 6px 0 #dfedf5;
  transform: none;
}
.pricing-page .pc-card-head { min-width: 0; }
.pricing-page .pc-plan-card .plan-fit {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  min-height: 27px;
  margin: 0 0 13px;
  padding: 4px 9px;
  border-radius: 7px;
  background: #f0f5f7;
  color: #526a76;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
}
.pricing-page .pc-plan-card.suggested .plan-fit { background: #def8e3; color: #256b34; }
.pricing-page .pc-plan-card h2 {
  font-family: 'Nunito', system-ui, sans-serif;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.pricing-page .pc-plan-purpose { min-height: 42px; margin: 9px 0 0; color: var(--pc-muted); font-size: 15px; line-height: 1.45; }
.pricing-page .pc-plan-card .plan-price {
  margin: 18px 0 0;
  font-family: 'Nunito', system-ui, sans-serif;
  font-size: clamp(40px, 3.2vw, 48px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.05em;
  font-variant-numeric: tabular-nums;
  color: var(--pc-ink);
  white-space: nowrap;
}
.pricing-page .pc-plan-card .plan-price > span { margin-left: 4px; color: var(--pc-muted); font-size: 14px; font-weight: 600; letter-spacing: 0; }
.pricing-page .pc-plan-card .billing-total { min-height: 22px; margin: 6px 0 0; color: var(--pc-muted); font-size: 13px; line-height: 1.5; }
.pricing-page .pc-yearly-save { margin: 5px 0 0; color: #27733a; font-size: 13px; line-height: 1.5; font-weight: 800; }
.pricing-page .pc-capacity {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 7px;
  margin: 21px 0 0;
  padding-top: 17px;
  border-top: 1px solid var(--pc-line);
  color: var(--pc-muted);
  font-size: 14px;
  line-height: 1.5;
}
.pricing-page .pc-capacity strong { color: var(--pc-ink); font-size: 23px; font-weight: 900; letter-spacing: -.025em; line-height: 1.25; }
.pricing-page .pc-capacity small { font-size: 13px; line-height: 1.5; }
.pricing-page .pc-plan-card .allowances { grid-template-columns: 1fr; gap: 8px; margin: 15px 0 23px; color: var(--pc-muted); font-size: 14px; line-height: 1.5; }
.pricing-page .pc-plan-card .allowances li { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px; }
.pricing-page .pc-plan-card .allowances strong { color: var(--pc-ink); font-weight: 900; font-variant-numeric: tabular-nums; }
.pricing-page .pc-plan-card .button-primary {
  width: 100%;
  min-height: 49px;
  margin-top: auto;
  padding: 13px 15px;
  gap: 10px;
  border: 2px solid #c5dae5;
  border-radius: 11px;
  background: #fff;
  color: var(--pc-ink);
  box-shadow: 0 3px 0 #dce9ef;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}
.pricing-page .pc-plan-card .button-primary:hover { background: #f0f9fe; border-color: #8cbfd9; box-shadow: 0 4px 0 #cfe2ec; transform: translateY(-1px); }
.pricing-page .pc-plan-card.suggested .button-primary { background: var(--pc-green); border-color: #3fc650; color: #10361a; box-shadow: 0 4px 0 #269c36; }
.pricing-page .pc-plan-card.suggested .button-primary:hover { background: #59df6a; border-color: #3fc650; box-shadow: 0 5px 0 #269c36; }
.pricing-page .pc-plan-card .button-primary:active { transform: translateY(2px); box-shadow: 0 1px 0 #aec7d3; }
.pricing-page .pc-plan-card.suggested .button-primary:active { box-shadow: 0 1px 0 #269c36; }
.pricing-page .pc-plan-card .trial-note { min-height: 0; margin: 11px 0 0; color: var(--pc-muted); text-align: center; font-size: 12px; line-height: 1.5; }
/* The value argument, directly under the price it argues for. Green is the
   savings colour already used by .pc-yearly-save, so the two read as one
   family. Figures come from the catalog's own stack (bundleOffUSD). */
.pricing-page .pc-worth { margin: 7px 0 0; color: #27733a; font-size: 13px; line-height: 1.5; font-weight: 600; }
.pricing-page .pc-worth strong { color: #1c5c2b; font-weight: 900; font-variant-numeric: tabular-nums; }
/* The trial is the strongest term on the card, so it is set as a heading
   rather than as the 0.67rem grey footnote the base .trial-note gives it.
   The process note stays, demoted, underneath. */
.pricing-page .pc-plan-card .trial-note { min-height: 0; margin: 12px 0 0; color: var(--pc-muted); font-size: 13px; line-height: 1.5; text-align: center; }
.pricing-page .pc-trial { display: block; color: var(--pc-ink); font-size: 15px; font-weight: 900; letter-spacing: -.015em; }
.pricing-page .pc-trial--free { color: #27733a; }
.pricing-page .pc-plan-perk { display: flex; align-items: baseline; gap: 8px; margin: 17px 0 0; padding-top: 14px; border-top: 1px solid #e7eef2; color: #466370; font-size: 13px; line-height: 1.55; }
.pricing-page .pc-plan-perk > span { flex: 0 0 auto; color: #27743a; font-weight: 900; }
.pricing-page .pc-plan-perk strong { color: var(--pc-ink); font-weight: 800; }
/* One grouped footer under the cards, not three loose blocks. The two links
   used to sit at opposite ends of the band (space-between), leaving an 820px
   hole between them, with three fine-print sentences stacked around that
   across 125px. Now: the actions together, then one fine-print line. */
.pricing-page .pc-choice-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 26px; padding: 20px 0 0; color: var(--pc-muted); font-size: 14px; line-height: 1.5; }
.pricing-page .pc-choice-footer a { color: var(--pc-link); text-decoration: underline; text-underline-offset: 4px; font-weight: 800; }
.pricing-page .pc-choice-footer p { margin: 0; }
.pricing-page .pc-price-note { margin: 9px 0 0; color: var(--pc-muted); font-size: 13px; line-height: 1.6; }
.pricing-page .pc-price-note a { color: var(--pc-link); font-weight: 800; }
.pricing-page .pc-dot { margin: 0 7px; opacity: .55; }
.pricing-page .pricing-explainer { max-width: none; padding-top: 20px; text-align: left; color: #607580; font-size: 13px; line-height: 1.6; }
.pricing-page .pricing-explainer p { margin-bottom: 7px; max-width: 110ch; }
.pricing-page .pc-bundle { padding-block: 47px 36px; }
.pricing-page .pc-bundle .section-heading { max-width: 860px; margin: 0; }
.pricing-page .pc-bundle .section-heading > p:not(.eyebrow) { margin: 10px 0 0; color: var(--pc-muted); font-size: 16px; line-height: 1.6; }
.pricing-page .pc-bundle > .text-link { margin: 23px 0 0 51px; font-size: 15px; }
.pricing-page .pc-bundle h2 { font-size: clamp(32px, 3vw, 42px); line-height: 1.08; }
.pricing-page .pc-bundle > p:not(.eyebrow) { max-width: 67ch; color: var(--pc-muted); margin: 12px 0 0; font-size: 16px; }
.pricing-page .pc-bundle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px; margin-top: 24px; }
.pricing-page .pc-bundle-item { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 5px 13px; align-content: start; }
.pricing-page .pc-bundle-item > span:first-child,
.pricing-page .pc-bundle-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; background: #e7f5fe; color: var(--pc-link); font-size: 21px; font-weight: 900; grid-row: 1 / span 2; }
.pricing-page .pc-bundle-item:nth-child(2) > span:first-child { background: #e7f9eb; color: #267a36; }
.pricing-page .pc-bundle-item:nth-child(3) > span:first-child { background: #fff4d8; color: #816112; }
.pricing-page .pc-bundle-item h3 { font-family: 'Nunito', system-ui, sans-serif; font-size: 18px; font-weight: 900; line-height: 1.35; letter-spacing: -.02em; }
.pricing-page .pc-bundle-item p { grid-column: 2; color: var(--pc-muted); font-size: 15px; line-height: 1.6; margin: 0; }
.pricing-page .pc-comparison { padding-block: 0 28px; }
.pricing-page #plan-comparison,
.pricing-page .pc-overages > details { border-block: 1px solid var(--pc-line); scroll-margin-top: 20px; }
.pricing-page #plan-comparison > summary,
.pricing-page .pc-overages > details > summary { display: flex; align-items: center; gap: 18px; padding: 22px 0; list-style: none; color: var(--pc-ink); cursor: pointer; }
.pricing-page #plan-comparison > summary::-webkit-details-marker,
.pricing-page .pc-overages > details > summary::-webkit-details-marker { display: none; }
.pricing-page #plan-comparison > summary strong,
.pricing-page .pc-overages > details > summary strong { display: block; font-size: 21px; font-weight: 900; letter-spacing: -.02em; line-height: 1.35; }
.pricing-page #plan-comparison > summary small,
.pricing-page #plan-comparison > summary > div > span,
.pricing-page .pc-overages > details > summary > div > span,
.pricing-page .pc-overages > details > summary small { display: block; margin-top: 4px; color: var(--pc-muted); font-size: 14px; line-height: 1.5; font-weight: 600; }
.pricing-page #plan-comparison > summary > span:last-child,
.pricing-page .pc-overages > details > summary > span:last-child { margin-left: auto; flex: 0 0 auto; font-size: 24px; color: var(--pc-link); transition: transform .18s; }
.pricing-page #plan-comparison[open] > summary > span:last-child,
.pricing-page .pc-overages > details[open] > summary > span:last-child { transform: rotate(45deg); }
.pricing-page .pc-table-help { margin: 0 0 14px; color: var(--pc-muted); font-size: 13px; line-height: 1.5; }
.pricing-page .pc-comparison .table-scroll { border: 1px solid var(--pc-line); border-radius: 12px; margin-bottom: 22px; overscroll-behavior-x: contain; }
.pricing-page .pc-compare-table { min-width: 1000px; table-layout: fixed; color: var(--pc-ink); font-size: 14px; line-height: 1.5; }
.pricing-page .pc-compare-table th,
.pricing-page .pc-compare-table td { padding: 14px 16px; border-color: #e1eaf0; vertical-align: middle; }
.pricing-page .pc-compare-table thead th { width: 15.5%; padding-block: 21px; color: var(--pc-ink); font-size: 17px; font-weight: 900; vertical-align: top; }
.pricing-page .pc-compare-table thead th:first-child { width: 22.5%; text-align: left; }
.pricing-page .pc-compare-table tbody th { color: #49636f; font-weight: 700; text-align: left; }
.pricing-page .pc-compare-table td { text-align: center; font-variant-numeric: tabular-nums; }
.pricing-page .pc-compare-table thead th:not(:first-child) { position: relative; padding-bottom: 84px; text-align: center; }
.pricing-page .pc-compare-table .pc-selected { background: #eef8fe; }
.pricing-page .pc-compare-table thead .pc-selected { background: #e4f4fe; box-shadow: inset 0 3px 0 var(--pc-blue); }
.pricing-page .pc-compare-table .plan-price { margin: 12px 0 0; font-family: 'Nunito', system-ui, sans-serif; font-size: 27px; font-weight: 900; letter-spacing: -.04em; line-height: 1.2; white-space: nowrap; }
.pricing-page .pc-compare-table .plan-price > span { display: block; margin: 3px 0 0; font-size: 12px; letter-spacing: 0; color: var(--pc-muted); }
.pricing-page .pc-compare-table .billing-total { min-height: 38px; margin: 6px 0 0; color: var(--pc-muted); font-size: 12px; font-weight: 600; line-height: 1.5; }
.pricing-page .pc-compare-table .button { position: absolute; bottom: 21px; left: 16px; right: 16px; width: auto; min-height: 43px; padding: 9px 8px; margin-top: 13px; gap: 5px; background: #fff; color: var(--pc-link); border: 1px solid #bdd5e2; border-radius: 8px; box-shadow: 0 2px 0 #d7e6ed; font-size: 13px; font-weight: 900; }
.pricing-page .pc-compare-table .pc-selected .button { color: #174423; background: #d9f5de; border-color: #abdcb5; box-shadow: 0 2px 0 #b8ddc1; }
.pricing-page .pc-compare-table .button:hover { background: #e8f6fe; }
.pricing-page .pc-compare-table .pc-rowgroup th { background: #f5f8fa; color: var(--pc-ink); padding-block: 12px; font-size: 14px; font-weight: 900; text-align: left; }
.pricing-page .pc-comparison-note,
.pricing-page .pc-comparison .fine-print { color: var(--pc-muted); margin: 0 0 16px; font-size: 13px; line-height: 1.55; }
.pricing-page .pc-overages { padding-block: 0 42px; }
.pricing-page .pc-overages .section-heading { margin: 0 0 23px; max-width: 840px; }
.pricing-page .pc-overages .section-heading h2 { font-size: 29px; }
.pricing-page .pc-overages .section-heading p { font-size: 16px; line-height: 1.6; }
.pricing-page .pc-overages .table-scroll { margin-bottom: 16px; }
.pricing-page .pc-overages-body > p:first-child { max-width: 83ch; margin: 0 0 18px; color: var(--pc-muted); font-size: 15px; line-height: 1.6; }
.pricing-page .pc-overages .fine-print { font-size: 14px; margin-block: 14px 23px; max-width: 110ch; }
.pricing-page .calculator-section { padding-block: 52px; background: var(--pc-paper); border-block: 1px solid var(--mu-paper-line); }
.pricing-page .calculator-grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(35px, 6vw, 90px); }
.pricing-page .calculator-grid > div { min-width: 0; }
.pricing-page .calculator-grid h2 { font-size: clamp(33px, 3.3vw, 46px); line-height: 1.08; }
.pricing-page .calculator-grid > div:first-child > p:not(.eyebrow) { max-width: 50ch; margin-block: 16px; font-size: 17px; }
.pricing-page .calculator { padding: 27px; border-color: #d3cbb9; box-shadow: 0 5px 0 #e3dac7; }
.pricing-page .calculator-fields label { font-size: 14px; font-weight: 800; color: #46616f; }
.pricing-page .calculator-fields input,
.pricing-page .calculator-fields select { font-size: 16px; }
.pricing-page .calculator .fine-print { font-size: 13px; line-height: 1.6; }
.pricing-page .calc-method { margin-top: 16px; border-top: 1px solid #d3cbb9; color: var(--pc-muted); font-size: 13px; line-height: 1.6; }
.pricing-page .calc-method summary { padding-block: 12px; color: var(--pc-ink); font-weight: 800; cursor: pointer; }
.pricing-page .calc-method p { margin: 0 0 10px; }
.pricing-page .calc-method p:last-child { margin-bottom: 0; }
.pricing-page .calc-method .calc-formula { color: var(--pc-ink); font-weight: 800; }
.pricing-page .calc-method a { color: var(--pc-link); text-decoration: underline; text-underline-offset: 3px; }
/* The last decision is setup: a distinct closing surface before the white footer. */
.pricing-page .pc-setup-band { --pc-ink: #f4fafc; --pc-muted: #bfd2dc; --pc-link: #94d9fa; --pc-line: #355160; background: var(--pc-navy); border-bottom: 1px solid #294858; }
.pricing-page .pc-answers { padding-block: 48px 32px; scroll-margin-top: 24px; color: var(--pc-ink); }
.pricing-page .pc-answers-heading { margin-bottom: 29px; }
.pricing-page .pc-answers-heading h2 { font-size: clamp(32px, 3.4vw, 43px); line-height: 1.1; margin: 0; }
.pricing-page .pc-answers-heading .eyebrow { margin-bottom: 9px; font-size: 11px; }
.pricing-page .pc-start-layout { display: grid; grid-template-columns: minmax(0, .74fr) minmax(0, 1.26fr); align-items: start; gap: clamp(32px, 5vw, 70px); }
.pricing-page .pc-plan-help { min-width: 0; padding: 25px 27px; background: #1b3949; border: 1px solid #3d5a69; border-radius: 15px; }
.pricing-page .pc-plan-help .pc-help-label { margin: 0 0 9px; color: #a9c9d9; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.pricing-page .pc-plan-help h3 { margin: 0; font: 800 26px/1.2 'Manrope', 'Nunito', sans-serif; letter-spacing: -.035em; }
.pricing-page .pc-plan-checks { margin: 20px 0 18px; }
.pricing-page .pc-plan-checks > div + div { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--pc-line); }
.pricing-page .pc-plan-checks dt { color: #e2eff5; font-size: 14px; font-weight: 900; }
.pricing-page .pc-plan-checks dd { margin: 3px 0 0; font-size: 15px; line-height: 1.45; color: var(--pc-muted); }
.pricing-page .pc-plan-help-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 45px; border: 1px solid #b9d3e1; border-radius: 7px; background: #fff; padding: 10px 14px; color: #0875ad; font-size: 15px; font-weight: 900; }
.pricing-page .pc-plan-help-link:hover { border-color: #178abe; background: #e7f3fa; }
.pricing-page .pc-free-note { margin-top: 21px; padding-top: 17px; border-top: 1px solid var(--pc-line); }
.pricing-page .pc-free-note strong { color: #e2eff5; font-size: 15px; font-weight: 900; }
.pricing-page .pc-free-note p { margin: 5px 0 0; color: var(--pc-muted); font-size: 13px; line-height: 1.5; }
.pricing-page .pc-setup-path { min-width: 0; padding-top: 7px; }
.pricing-page .pc-setup-steps { list-style: none; margin: 0; padding: 0; }
.pricing-page .pc-setup-steps > li { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 18px; padding: 0 0 30px; }
.pricing-page .pc-setup-steps > li:not(:last-child)::before { content: ''; position: absolute; left: 17px; top: 41px; bottom: 5px; width: 2px; background: #355b6e; }
.pricing-page .pc-step-number { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid #527b91; border-radius: 50%; background: #244b60; color: #a8e1ff; font-size: 17px; font-weight: 900; }
.pricing-page .pc-setup-steps h3 { margin: 3px 0 7px; font: 800 23px/1.3 'Manrope', 'Nunito', sans-serif; color: var(--pc-ink); letter-spacing: -.035em; }
.pricing-page .pc-setup-steps p { max-width: 52ch; margin: 0; font-size: 16px; line-height: 1.5; color: var(--pc-muted); }
.pricing-page .pc-setup-steps .pc-send-note { margin-top: 9px; font-size: 13px; }
.pricing-page .pc-setup-steps > li:last-child { padding-bottom: 24px; }
.pricing-page .pc-setup-action { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 25px; margin-left: 54px; padding-top: 24px; border-top: 1px solid var(--pc-line); }
.pricing-page .pc-setup-action .button { min-height: 53px; padding: 12px 19px; font-size: 16px; white-space: nowrap; background: var(--pc-green); color: #10361a; border: 1px solid #3fc650; box-shadow: 0 4px 0 #269c36; font-weight: 900; }
.pricing-page .pc-setup-action .button:hover { background: #59df6a; }
.pricing-page .pc-demo-link { display: grid; grid-template-columns: auto auto; gap: 3px 10px; align-content: center; min-height: 48px; color: var(--pc-link); font-size: 14px; font-weight: 900; }
.pricing-page .pc-demo-link > span:last-child { grid-column: 1 / -1; color: var(--pc-muted); font-size: 12px; font-weight: 600; }
.pricing-page .pc-demo-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.pricing-page .pc-setup-support { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 5px 9px; padding-top: 23px; margin: 30px 0 0; border-top: 1px solid var(--pc-line); color: var(--pc-muted); font-size: 14px; }
.pricing-page .pc-setup-support a { display: inline-flex; align-items: center; gap: 9px; min-height: 36px; color: var(--pc-link); font-weight: 900; }
.pricing-page .pc-setup-support a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pricing-page [hidden] { display: none !important; }

@media (max-width: 1120px) {
  .pricing-page .wrap { width: calc(100% - 64px); }
  .pricing-page .pc-intro { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 35px; }
  .pricing-page .pc-heading h1 { font-size: 53px; }
  .pricing-page .pc-heading > p:not(.eyebrow) { font-size: 17px; }
  .pricing-page .pc-value-proof { padding-left: 22px; gap: 16px; }
  .pricing-page .pc-choice-top { gap: 26px; }
  .pricing-page .pc-finder { grid-template-columns: minmax(0, 1fr) 155px; gap: 5px 16px; }
  .pricing-page .pc-finder label { font-size: 17px; }
  .pricing-page .billing-control button { padding-inline: 13px; font-size: 13px; }
  .pricing-page .plan-grid { gap: 15px; }
  .pricing-page .pc-plan-card,
  .pricing-page .pc-plan-card.suggested { padding: 22px 20px 19px; }
  .pricing-page .pc-plan-card .plan-price { font-size: 41px; }
  .pricing-page .pc-plan-card .allowances { font-size: 13px; }
  .pricing-page .pc-bundle-grid { gap: 22px; }
}
@media (max-width: 850px) {
  .pricing-page .pc-intro { grid-template-columns: 1fr; gap: 27px; padding-block: 33px 29px; }
  .pricing-page .pc-heading h1 { font-size: 51px; max-width: 700px; }
  .pricing-page .pc-heading > p:not(.eyebrow) { max-width: 62ch; }
  .pricing-page .pc-value-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; padding: 0; border-left: 0; }
  .pricing-page .pc-proof-row { display: block; }
  .pricing-page .pc-proof-row > span:first-child { margin-bottom: 9px; }
  .pricing-page .pc-proof-row strong { font-size: 15px; }
  .pricing-page .pc-proof-row p { font-size: 14px; }
  .pricing-page .pc-choice-top { align-items: flex-start; flex-direction: column; gap: 20px; }
  .pricing-page .pc-finder { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) 180px; }
  .pricing-page .billing-control { flex-direction: row; align-items: center; gap: 12px; }
  .pricing-page .billing-control button { padding-inline: 19px; font-size: 14px; }
  .pricing-page .pc-plan-card,
  .pricing-page .pc-plan-card.suggested { padding: 20px 15px 18px; }
  .pricing-page .pc-plan-card .plan-fit { font-size: 11px; }
  .pricing-page .pc-plan-card h2 { font-size: 25px; }
  .pricing-page .pc-plan-purpose { min-height: 61px; font-size: 14px; }
  .pricing-page .pc-plan-card .plan-price { font-size: 37px; }
  .pricing-page .pc-plan-card .plan-price > span { font-size: 12px; }
  .pricing-page .pc-plan-card .button-primary { padding-inline: 9px; font-size: 13px; }
  .pricing-page .pc-capacity strong { font-size: 21px; }
  .pricing-page .pc-capacity { font-size: 13px; }
  .pricing-page .pc-bundle-grid { grid-template-columns: 1fr; gap: 22px; }
  .pricing-page .pc-bundle-item p { max-width: 66ch; }
  .pricing-page .calculator-grid { grid-template-columns: 1fr; gap: 28px; }
  .pricing-page .calculator-grid > div:first-child > p:not(.eyebrow) { max-width: 65ch; }
  .pricing-page .pc-answers { width: calc(100% - 64px); }
  .pricing-page .pc-start-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 25px; }
  .pricing-page .pc-plan-help { padding: 22px; }
  .pricing-page .pc-plan-help h3 { font-size: 24px; }
  .pricing-page .pc-setup-steps { margin: 0; }
  .pricing-page .pc-setup-steps h3 { font-size: 21px; }
  .pricing-page .pc-setup-steps p { font-size: 15px; }
  .pricing-page .pc-setup-action { gap: 13px; }
  .pricing-page .pc-setup-action .button { white-space: normal; }
}
@media (max-width: 650px) {
  .pricing-page .wrap { width: calc(100% - 40px); }
  .pricing-page .pc-choice { padding-block: 28px; }
  .pricing-page .pc-section-heading { margin-bottom: 20px; }
  .pricing-page .pc-section-heading h2 { font-size: 29px; }
  .pricing-page .pc-details-band { padding-block: 30px; }
  .pricing-page .pc-intro { padding-block: 28px 24px; gap: 24px; }
  .pricing-page .pc-heading h1 { font-size: clamp(39px, 10vw, 49px); line-height: 1.04; }
  .pricing-page .pc-heading > p:not(.eyebrow) { margin-top: 14px; font-size: 16px; line-height: 1.55; }
  .pricing-page .pc-value-proof { grid-template-columns: 1fr; gap: 13px; }
  .pricing-page .pc-proof-row { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 11px; }
  .pricing-page .pc-proof-row > span:first-child { width: 30px; height: 30px; border-radius: 8px; font-size: 17px; margin-bottom: 0; }
  .pricing-page .pc-proof-row strong { font-size: 15px; }
  .pricing-page .pc-proof-row p { font-size: 14px; line-height: 1.45; }
  .pricing-page .pc-choice-top { padding-block: 0 16px; gap: 18px; }
  .pricing-page .pc-finder { grid-template-columns: minmax(0, 1fr) 146px; gap: 7px 14px; }
  .pricing-page .pc-finder label { font-size: 17px; }
  .pricing-page .pc-finder input { min-height: 52px; padding-inline: 10px; font-size: 22px; }
  .pricing-page .pc-finder > p,
  .pricing-page .pc-finder > small { grid-column: 1 / -1; font-size: 13px; }
  .pricing-page .pc-finder input { grid-row: 1; }
  .pricing-page .pc-finder-field { grid-row: 1; }
  .pricing-page .pc-finder-field input { padding-right: 52px; font-size: 21px; }
  .pricing-page .pc-finder-field > span { right: 11px; font-size: 12px; }
  .pricing-page .billing-control { width: 100%; align-items: stretch; flex-direction: column; gap: 7px; }
  .pricing-page .billing-control > div { width: 100%; }
  .pricing-page .billing-control button { flex: 1 1 auto; padding-inline: 10px; font-size: 14px; }
  .pricing-page .pc-fit-message { padding: 12px 13px; margin-bottom: 17px; gap: 5px; }
  .pricing-page #plan-suggestion { font-size: 14px; }
  .pricing-page #plan-finder-note { font-size: 12px; }
  .pricing-page .pc-fit-jump { display: inline-flex; min-height: 40px; align-items: center; font-size: 14px; }
  .pricing-page .plan-grid { grid-template-columns: 1fr; gap: 19px; }
  .pricing-page .pc-plan-card,
  .pricing-page .pc-plan-card.suggested { padding: 20px 23px 19px; border-radius: 16px; }
  .pricing-page .pc-plan-card.suggested { box-shadow: 4px 5px 0 #dfedf5; }
  .pricing-page .pc-plan-card .plan-fit { font-size: 12px; margin-bottom: 11px; }
  .pricing-page .pc-plan-card h2 { font-size: 28px; }
  .pricing-page .pc-plan-purpose { min-height: 0; font-size: 15px; margin-top: 6px; }
  .pricing-page .pc-plan-card .plan-price { margin-top: 17px; font-size: 45px; }
  .pricing-page .pc-plan-card .plan-price > span { font-size: 14px; }
  .pricing-page .pc-plan-card .billing-total { min-height: 0; font-size: 13px; }
  .pricing-page .pc-capacity { margin-top: 17px; padding-top: 15px; font-size: 14px; }
  .pricing-page .pc-capacity strong { font-size: 24px; }
  .pricing-page .pc-plan-card .allowances { gap: 7px; margin-block: 12px 19px; font-size: 14px; }
  .pricing-page .pc-plan-card .button-primary { min-height: 49px; font-size: 15px; padding-inline: 16px; }
  .pricing-page .pc-plan-card .trial-note { margin-top: 10px; font-size: 12px; }
  .pricing-page .pc-plan-perk { margin-top: 14px; padding-top: 12px; font-size: 13px; }
  .pricing-page .pc-choice-footer { align-items: flex-start; flex-direction: column; padding-top: 23px; gap: 10px; }
  .pricing-page .pricing-explainer { padding-top: 18px; font-size: 12px; }
  .pricing-page .pc-bundle { padding-block: 35px 29px; }
  .pricing-page .pc-bundle h2 { font-size: 34px; }
  .pricing-page .pc-bundle-grid { margin-top: 21px; gap: 21px; }
  .pricing-page .pc-bundle > .text-link { margin-left: 0; }
  .pricing-page .pc-bundle-item h3 { font-size: 17px; }
  .pricing-page .pc-bundle-item p { font-size: 14px; }
  .pricing-page .pc-comparison { padding-bottom: 18px; }
  .pricing-page #plan-comparison > summary,
  .pricing-page .pc-overages > details > summary { gap: 12px; padding-block: 19px; }
  .pricing-page #plan-comparison > summary strong,
  .pricing-page .pc-overages > details > summary strong { font-size: 19px; }
  .pricing-page #plan-comparison > summary small,
  .pricing-page #plan-comparison > summary > div > span,
  .pricing-page .pc-overages > details > summary > div > span,
  .pricing-page .pc-overages > details > summary small { font-size: 13px; }
  .pricing-page .pc-compare-table { min-width: 970px; }
  .pricing-page .pc-compare-table thead th:first-child { width: 145px; }
  .pricing-page .pc-compare-table thead th:not(:first-child) { width: 165px; }
  .pricing-page .pc-compare-table thead th:first-child,
  .pricing-page .pc-compare-table tbody th[scope="row"] { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 var(--pc-line); }
  .pricing-page .pc-overages { padding-bottom: 29px; }
  .pricing-page .pc-overages .fine-print { font-size: 13px; }
  .pricing-page .calculator-section { padding-block: 36px; }
  .pricing-page .calculator-grid h2 { font-size: 36px; }
  .pricing-page .calculator-grid > div:first-child > p:not(.eyebrow) { font-size: 16px; }
  .pricing-page .calculator { padding: 21px; }
  .pricing-page .calculator-fields { gap: 17px 13px; }
  .pricing-page .calculator-fields label { font-size: 13px; }
  .pricing-page .calculator-fields input,
  .pricing-page .calculator-fields select { padding-inline: 9px; }
  .pricing-page .calculator .fine-print { font-size: 12px; }
  .pricing-page .pc-answers { width: calc(100% - 40px); padding-block: 31px 24px; }
  .pricing-page .pc-answers-heading { margin-bottom: 23px; }
  .pricing-page .pc-answers-heading h2 { max-width: 320px; font-size: 35px; }
  .pricing-page .pc-start-layout { grid-template-columns: 1fr; gap: 28px; }
  .pricing-page .pc-plan-help { padding: 22px; border-radius: 12px; }
  .pricing-page .pc-plan-help h3 { font-size: 25px; }
  .pricing-page .pc-plan-help h3 br { display: none; }
  .pricing-page .pc-plan-checks { margin-top: 16px; }
  .pricing-page .pc-free-note { margin-top: 18px; padding-top: 15px; }
  .pricing-page .pc-setup-path { padding-top: 0; }
  .pricing-page .pc-setup-steps > li { grid-template-columns: 30px minmax(0, 1fr); gap: 13px; padding-bottom: 23px; }
  .pricing-page .pc-step-number { width: 30px; height: 30px; font-size: 15px; }
  .pricing-page .pc-setup-steps > li:not(:last-child)::before { left: 14px; top: 35px; }
  .pricing-page .pc-setup-steps h3 { margin-top: 2px; font-size: 20px; }
  .pricing-page .pc-setup-action { margin-left: 43px; flex-direction: column; align-items: stretch; padding-top: 21px; gap: 16px; }
  .pricing-page .pc-setup-action .button { justify-content: space-between; gap: 10px; font-size: 14px; padding-inline: 14px; }
  .pricing-page .pc-demo-link { align-self: flex-start; }
  .pricing-page .pc-setup-support { justify-content: flex-start; margin-top: 24px; padding-top: 17px; font-size: 13px; }

}

@media (max-width: 370px) {
  .pricing-page .wrap { width: calc(100% - 32px); }
  .pricing-page .pc-finder { grid-template-columns: 1fr; gap: 10px; }
  .pricing-page .pc-finder-field { grid-column: 1; grid-row: auto; }
  .pricing-page .pc-plan-card,
  .pricing-page .pc-plan-card.suggested { padding-inline: 19px; }
  .pricing-page .billing-control button { font-size: 13px; padding-inline: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .pricing-page .pc-plan-card,
  .pricing-page .pc-plan-card .button,
  .pricing-page #plan-comparison > summary > span,
  .pricing-page .pc-overages > details > summary > span { transition: none; }
  .pricing-page .pc-plan-card .button:hover,
  .pricing-page .pc-plan-card .button:active { transform: none; }
}
