/* The homepage keeps the product palette and gives the story more room. */
.homepage {
  --page: 74rem;
  --surface: #f4f7f6;
  --text-muted: #5d706e;
  --line: #e0e8e4;
  --accent: #193b38;
  --accent-text: #193b38;
  --radius-s: .625rem;
}
.homepage .top { background: rgba(255,255,255,.95); }
.homepage .top__in { min-height: 5.5rem; }
.homepage .brand { font-size: 2rem; letter-spacing: -.075em; }
.homepage .nav { gap: 1.5rem; }
.homepage .nav a { font-weight: 400; }
.homepage .btn { font-weight: 600; box-shadow: none; }
.homepage .btn--ghost { background: transparent; border-color: #ccd8d2; }
.homepage .btn--ghost:hover { background: var(--surface); }
.homepage .hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 4.5rem;
  padding-block: 5.5rem 5rem;
  text-align: left;
}
.hero__copy { min-width: 0; }
.hero__audience { margin-bottom: 1.5rem; color: var(--text-muted); font-size: .875rem; }
.homepage .hero__title {
  white-space: pre-line;
  font-size: clamp(2.5rem, 4.5vw, 3.75rem);
  line-height: 1.1;
  letter-spacing: -.045em;
  font-weight: 600;
  text-wrap: initial;
}
.homepage .hero__lead { margin-top: 1.5rem; max-width: 29rem; font-size: 1.0625rem; line-height: 1.75; }
.homepage .hero__cta { justify-content: flex-start; margin-top: 2rem; gap: .75rem; }
.homepage .hero__cta .btn { padding-inline: 1.125rem; }
.hero__note { margin-top: 1rem; color: var(--text-muted); font-size: .8125rem; }
.product-preview {
  min-width: 0;
  margin: 0;
  padding: .75rem;
  background: #edf3ef;
  border: 1px solid #dce6df;
  border-radius: 1.5rem;
  box-shadow: 0 22px 48px -38px #193b38;
}
.product-preview svg, .home-solutions svg { width: 1.25rem; height: 1.25rem; flex: none; }
.product-preview__chrome { display: flex; align-items: center; gap: 1rem; padding: .75rem .75rem 1.25rem; color: var(--text-muted); font-size: .75rem; }
.preview-mark { display: flex; align-items: center; gap: .5rem; color: var(--brand); font-size: 1.125rem; font-weight: 800; letter-spacing: -.06em; }
.preview-mark > span { width: .375rem; height: .375rem; background: #40816a; border-radius: 50%; }
.preview-avatar { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; margin-left: auto; border: 1px solid #ccdcd1; border-radius: 50%; background: #fff; color: var(--brand); font-weight: 600; }
.product-preview__tabs { display: flex; gap: .25rem; padding: .375rem; border: 1px solid var(--line); border-bottom: 0; border-radius: .875rem .875rem 0 0; background: #f8faf9; }
.product-preview__tabs button { display: flex; align-items: center; justify-content: center; flex: 1; gap: .5rem; min-width: 0; min-height: 2.75rem; padding: .5rem; border: 1px solid transparent; border-radius: .5rem; color: var(--text-muted); background: transparent; font: inherit; font-size: .8125rem; cursor: pointer; }
.product-preview__tabs button[aria-selected="true"] { background: #fff; color: var(--brand); border-color: var(--line); box-shadow: 0 1px 2px #193b3808; }
.product-preview__tabs button:hover { color: var(--brand); }
.product-preview__panel { min-height: 22rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: 0 0 .875rem .875rem; background: #fff; }
.product-preview__panel[hidden] { display: none; }
.preview-scenarios { display: flex; gap: .25rem; padding: .25rem; margin-bottom: .25rem; border-bottom: 1px solid #dce6df; }
.preview-scenarios button { flex: 1; min-width: 0; min-height: 2.75rem; padding: .5rem .375rem; border: 1px solid transparent; border-radius: .5rem; background: transparent; color: var(--text-muted); font: inherit; font-size: .8125rem; cursor: pointer; }
.preview-scenarios button[aria-pressed="true"] { border-color: #d0dfd6; background: #fff; color: var(--brand); font-weight: 600; }
.preview-scenarios button:hover { color: var(--brand); }
.preview-description { margin: 0 0 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--text-muted); font-size: .75rem; line-height: 1.6; }
.flow-controls { display: none; align-items: center; gap: 1.25rem; margin: -1rem 0 1.5rem; }
.js .flow-controls { display: flex; }
.flow-controls .btn { flex: none; min-width: 10.5rem; }
.flow-controls p { max-width: 35rem; color: var(--text-muted); font-size: .875rem; line-height: 1.5; }
.homepage .scene:not([data-step="0"]) .screen--owner.is-focus { transition: border-color .2s; }
@media (max-width: 640px) {
  .preview-scenarios button { font-size: .75rem; }
  .flow-controls { flex-direction: column; align-items: stretch; gap: .75rem; margin-top: 0; }
  .flow-controls p { min-height: 2.625rem; }
}
@media (prefers-reduced-motion: reduce) {
  .homepage *, .homepage *::before, .homepage *::after { animation: none !important; transition: none !important; }
}
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.preview-heading p { margin-bottom: .25rem; color: var(--text-muted); font-size: .75rem; }
.preview-heading h2 { font-size: 1.375rem; line-height: 1.4; font-weight: 600; letter-spacing: -.025em; }
.preview-heading h2 span { font-size: .875rem; color: var(--text-muted); font-weight: 400; letter-spacing: 0; }
.preview-status { padding: .25rem .625rem; background: #e8f2ec; color: #2d604a; border-radius: .375rem; font-size: .6875rem; white-space: nowrap; }
.preview-lines { padding: 0; margin: 0; list-style: none; }
.preview-lines li { display: flex; justify-content: space-between; gap: 1rem; padding-block: .875rem; border-bottom: 1px solid #eff2ef; font-size: .8125rem; }
.preview-lines li > span { display: flex; align-items: baseline; gap: .625rem; }
.preview-lines strong, .preview-lines b { font-weight: 500; }
.preview-lines b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.preview-lines small { color: var(--text-muted); font-size: .75rem; white-space: nowrap; }
.preview-total { display: flex; justify-content: space-between; align-items: center; padding-block: 1.25rem; font-size: .8125rem; }
.preview-total strong { font-size: 1.375rem; font-weight: 600; letter-spacing: -.03em; }
.preview-message { display: flex; align-items: center; gap: .625rem; padding: .75rem; background: #f0f6f2; color: #315c46; border-radius: .5rem; font-size: .75rem; line-height: 1.4; }
.preview-check { margin-left: auto; }
.product-preview figcaption { margin: .75rem 0 .125rem; text-align: center; color: var(--text-muted); font-size: .625rem; }
.preview-tickets { display: grid; grid-template-columns: 1.15fr 1fr; gap: .75rem; }
.preview-ticket { padding: .875rem; border: 1px solid var(--line); border-top: 3px solid #cfaf67; border-radius: .5rem; }
.preview-ticket + .preview-ticket { border-top-color: #679b7e; }
.preview-ticket > div { display: flex; flex-wrap: wrap; gap: .375rem; justify-content: space-between; font-size: .8125rem; }
.preview-ticket > div > span { font-size: .6875rem; color: var(--text-muted); }
.preview-ticket ul { display: grid; gap: .75rem; min-height: 7rem; padding: 1rem 0; margin: 0; list-style: none; font-size: .75rem; }
.preview-ticket li, .preview-ticket > p { display: flex; justify-content: space-between; gap: .5rem; }
.preview-ticket li b { white-space: nowrap; font-weight: 500; }
.preview-ticket > p { padding-top: .75rem; border-top: 1px solid var(--line); font-size: .6875rem; color: var(--text-muted); }
.preview-footnote { margin-top: 1rem; font-size: .75rem; color: var(--text-muted); }
.preview-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 0 0 1.25rem; }
.preview-stats > div { padding: .75rem; background: var(--surface); border-radius: .5rem; }
.preview-stats dt { color: var(--text-muted); font-size: .75rem; }
.preview-stats dd { margin: .25rem 0 0; font-size: 1.25rem; font-weight: 600; }
.preview-summary h3 { margin-bottom: .625rem; font-size: .8125rem; font-weight: 600; }
.preview-summary p { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding-block: .625rem; border-bottom: 1px solid var(--line); font-size: .6875rem; }
.preview-summary p > span { display: flex; align-items: center; gap: .5rem; }
.preview-summary strong { color: #315c46; font-weight: 500; text-align: right; }
.home-solutions { width: min(100% - 4rem, var(--page)); margin: 0 auto 2.5rem; padding-block: 2rem; border-block: 1px solid var(--line); }
.home-solutions__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.home-solutions__intro h2 { font-size: 1rem; font-weight: 600; }
.home-solutions__intro p { color: var(--text-muted); font-size: .8125rem; }
.home-solutions__links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.home-solutions__links a { display: flex; align-items: flex-start; gap: .875rem; color: var(--brand); text-decoration: none; }
.home-solutions__links a > svg:first-child { margin-top: .125rem; }
.home-solutions__links a > svg:last-child { align-self: center; width: 1rem; margin-left: auto; color: var(--text-muted); }
.home-solutions__links h3 { font-size: .9375rem; line-height: 1.5; font-weight: 600; }
.home-solutions__links p { max-width: 17rem; margin-top: .375rem; font-size: .8125rem; line-height: 1.6; color: var(--text-muted); }
.home-solutions__links a:hover h3 { text-decoration: underline; text-underline-offset: .25rem; }
.homepage .section-title { font-weight: 600; letter-spacing: -.035em; }
.homepage .flow { padding-top: 3rem; }
.homepage .flow .section-head { text-align: left; align-items: flex-start; max-width: 36rem; }
.homepage .scene { box-shadow: none; border-radius: 1rem; }
.homepage .screen { box-shadow: none; border-radius: .625rem; }
.homepage .module { border-radius: .75rem; }
.homepage .module:hover { transform: none; box-shadow: none; }
.homepage .module__icon { background: transparent; color: var(--brand); }
.homepage .module--ask { background: var(--surface); }
.homepage .workshop { gap: 4rem; }
.homepage .workshop .eyebrow { padding: 0; background: none; border-radius: 0; color: var(--text-muted); font-weight: 400; }
.homepage .start { padding-block: 4rem; }
.homepage .pricing .section-head { max-width: 44rem; }
.homepage .plans { gap: 1rem; }
.homepage .plan {
  gap: 1.25rem;
  min-width: 0;
  padding: 2.25rem 1.75rem 1.75rem;
  border-radius: 1rem;
  background: #fbfcfb;
  box-shadow: none;
}
.homepage .plan__name { font-size: 1.375rem; line-height: 1.75rem; font-weight: 600; letter-spacing: -.025em; }
.homepage .plan__for { min-height: 3rem; margin-top: -.5rem; font-size: .875rem; line-height: 1.5rem; }
.homepage .plan__cost { padding-block: .5rem 1.5rem; border-bottom: 1px solid var(--line); }
.homepage .plan__price { gap: .5rem; }
.homepage .plan__price strong { font-size: clamp(2.25rem, 3.25vw, 3rem); line-height: 1.1; font-weight: 600; letter-spacing: -.055em; white-space: nowrap; }
.homepage .plan__currency { font-size: 1.5rem; color: var(--brand); }
.homepage .plan__billing { margin-top: .625rem; color: var(--text-muted); font-size: .8125rem; }
.homepage .plan__includes { min-height: 2.5rem; margin-bottom: -.75rem; color: var(--text-muted); font-size: .8125rem; line-height: 1.25rem; }
.homepage .plan .checks { gap: .875rem; margin-bottom: 1rem; }
.homepage .plan .checks li { font-size: .875rem; line-height: 1.5rem; }
.homepage .plan .checks li::before { border-width: 1.5px; }
.homepage .plan .btn { min-height: 3rem; padding-inline: .75rem; text-align: center; font-size: .875rem; }
.homepage .plan--main {
  --brand: #fff;
  --text-muted: #c3d5cd;
  --line: #41605a;
  border-color: #193b38;
  background: #193b38;
  color: #fff;
}
.homepage .plan--main .checks li::before { border-color: #b2d8c4; }
.homepage .plan--main .btn { border-color: #fff; background: #fff; color: #193b38; }
.homepage .plan--main .btn:hover { background: #edf4ef; border-color: #edf4ef; }
.homepage .plan--main :focus-visible { outline-color: #b2d8c4; }
.homepage .plan__badge {
  top: -.75rem;
  left: 1.75rem;
  max-width: calc(100% - 3.5rem);
  padding: .125rem .75rem;
  border: 1px solid #c4dacc;
  background: #e9f2eb;
  color: #193b38;
  font-size: .6875rem;
  line-height: 1.25rem;
  font-weight: 500;
}
.homepage .plan.is-match { box-shadow: 0 0 0 2px #a9cbbb; }
.pricing__note { margin-top: 1.5rem; color: var(--text-muted); font-size: .8125rem; text-align: center; }
@media (min-width: 641px) and (max-width: 950px) {
  .homepage .plan { padding-inline: 1rem; }
  .homepage .plan__for { min-height: 4.5rem; }
  .homepage .plan__badge { left: 1rem; max-width: calc(100% - 2rem); }
  .homepage .plan .btn { font-size: .8125rem; }
}
@media (max-width: 640px) {
  .homepage .plans { display: grid; grid-template-columns: 1fr; gap: 1.75rem; margin: 0; padding: 0; overflow: visible; }
  .homepage .plan { padding: 2rem 1.5rem 1.5rem; }
  .homepage .plan__for { min-height: 0; }
  .homepage .plan__price strong { font-size: 2.75rem; }
  .homepage .plan__includes { min-height: 0; margin-bottom: 0; }
  .homepage .plan .checks { margin-bottom: .5rem; }
  .pricing__note { text-align: left; }
}
.homepage .form { box-shadow: none; border-radius: 1rem; }
.homepage .reveal { opacity: 1; transform: none; transition: none; }
.analytics { width: min(100% - 4rem, var(--page)); margin-inline: auto; padding-block: 4rem; }
.analytics__intro { max-width: 42rem; margin-bottom: 2.5rem; }
.analytics__intro .section-lead { margin-top: 1rem; }
.analytics__layout { display: grid; grid-template-columns: minmax(13rem, .45fr) minmax(0, 1fr); gap: 3rem; align-items: start; }
.analytics-tabs { display: grid; gap: .75rem; padding-top: 1rem; }
.analytics-tabs button { display: flex; flex-direction: column; gap: .625rem; min-width: 0; padding: 1.25rem; border: 1px solid transparent; border-radius: .75rem; background: transparent; color: var(--brand); text-align: left; font: inherit; cursor: pointer; }
.analytics-tabs button[aria-selected="true"] { background: #edf4ef; border-color: #d4e3d9; }
.analytics-tabs strong { font-size: 1.0625rem; font-weight: 600; }
.analytics-tabs button > span { color: var(--text-muted); font-size: .875rem; line-height: 1.6; }
.analytics-tabs button:hover { border-color: #d4e3d9; }
.analytics-workspace { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #dbe5df; border-radius: 1rem; background: #fff; box-shadow: 0 16px 40px -34px #193b38; }
.analytics-workspace__head { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1.125rem 1.5rem; border-bottom: 1px solid var(--line); background: #f4f7f5; color: var(--text-muted); font-size: .8125rem; }
.analytics-workspace__sample { margin-left: auto; font-size: .75rem; }
.analytics-panel { padding: 1.5rem; min-height: 31rem; }
.analytics-panel[hidden] { display: none; }
.analytics-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.analytics-toolbar h3 { font-size: 1rem; font-weight: 600; line-height: 1.5; }
.analytics-toolbar > span { font-size: .75rem; color: var(--text-muted); text-align: right; }
.analytics-periods { display: flex; flex: none; gap: .125rem; padding: .1875rem; border: 1px solid var(--line); border-radius: .5rem; background: #f5f7f5; }
.analytics-periods button { min-height: 2.25rem; padding: .375rem .625rem; border: 1px solid transparent; border-radius: .375rem; background: transparent; color: var(--text-muted); font: inherit; font-size: .75rem; cursor: pointer; }
.analytics-periods button[aria-pressed="true"] { border-color: #dae3dd; background: #fff; color: var(--brand); }
.analytics-kpis, .analytics-dish dl, .analytics-point dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0; }
.analytics-kpis > div, .analytics-dish dl > div, .analytics-point dl > div { min-width: 0; }
.analytics-kpis dt, .analytics-dish dt, .analytics-point dt { font-size: .75rem; line-height: 1.5; color: var(--text-muted); }
.analytics-kpis dd { margin: .5rem 0 0; font-size: clamp(1.125rem, 1.8vw, 1.625rem); line-height: 1.4; letter-spacing: -.025em; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
.analytics-growth { margin-top: .625rem; font-size: .6875rem; color: var(--text-muted); }
.analytics-growth strong { color: #315f46; font-weight: 600; }
.analytics-chart { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr); gap: .5rem; height: 12.5rem; margin-top: 1.5rem; }
.analytics-chart__axis { display: flex; flex-direction: column; justify-content: space-between; padding-bottom: 1.75rem; color: var(--text-muted); font-size: .625rem; line-height: 1rem; }
.analytics-chart__bars { position: relative; display: flex; align-items: stretch; gap: .625rem; min-width: 0; }
.analytics-chart__bars::before { content: ''; position: absolute; inset: 0 0 1.75rem; pointer-events: none; background: repeating-linear-gradient(to top, transparent 0, transparent calc(50% - 1px), #eaf0ec calc(50% - 1px), #eaf0ec 50%); }
.analytics-bar { position: relative; display: flex; flex-direction: column; flex: 1; gap: .5rem; min-width: 0; padding: 0 .25rem; border: 0; background: transparent; color: var(--text-muted); font: inherit; cursor: pointer; }
.analytics-bar__plot { display: flex; justify-content: center; align-items: flex-end; flex: 1; gap: .1875rem; width: 100%; min-height: 0; border-bottom: 1px solid #dbe4df; }
.analytics-bar__plot i { display: block; width: 36%; max-width: 1.5rem; border-radius: .25rem .25rem 0 0; }
.analytics-bar__previous { background: #d9e3dc; }
.analytics-bar__current { background: #8bad99; }
.analytics-bar[aria-pressed="true"] .analytics-bar__current, .analytics-bar:hover .analytics-bar__current { background: #193b38; }
.analytics-bar[aria-pressed="true"] { color: #193b38; }
.analytics-bar__label { height: 1.25rem; font-size: .625rem; white-space: nowrap; }
.analytics-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1rem 0; font-size: .625rem; color: var(--text-muted); }
.analytics-legend span { display: flex; align-items: center; gap: .375rem; }
.analytics-legend span::before { content: ''; width: .5rem; height: .5rem; border-radius: .125rem; background: #8bad99; }
.analytics-legend span + span::before { background: #d9e3dc; }
.analytics-readout { padding: .75rem; border-radius: .5rem; background: #f1f6f2; color: #315b44; font-size: .75rem; line-height: 1.6; font-variant-numeric: tabular-nums; }
.analytics-hint { margin-top: .75rem; color: var(--text-muted); font-size: .6875rem; line-height: 1.6; }
.analytics-hint--explain { margin-top: 1.25rem; }
.analytics-workspace figcaption { padding: 1rem 1.5rem; border-top: 1px solid var(--line); color: var(--text-muted); font-size: .625rem; line-height: 1.5; background: #fafcfb; }
.analytics-dishes, .analytics-points { display: grid; gap: 1.25rem; }
.analytics-dish, .analytics-point { padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.analytics-dish header, .analytics-point header { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .875rem; }
.analytics-dish h4, .analytics-point h4 { margin: 0; font-size: .9375rem; font-weight: 600; }
.analytics-dish header > span, .analytics-point header > span { color: var(--text-muted); font-size: .6875rem; text-align: right; }
.analytics-dish header > .analytics-dish__attention { color: #8a5a12; }
.analytics-dish dd, .analytics-point dd { margin: .375rem 0 0; font-size: .9375rem; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.analytics-point__bar { height: .375rem; margin-bottom: 1rem; border-radius: .25rem; background: #edf2ee; }
.analytics-point__bar i { display: block; height: 100%; border-radius: inherit; background: #88ab96; }
.analytics-point:first-child .analytics-point__bar i { background: #193b38; }
.analytics__cta { display: inline-block; margin-top: 1.5rem; }
.analytics__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: baseline; }
@media (max-width: 900px) {
  .analytics__layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .analytics-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; padding-top: 0; }
  .analytics-tabs button { padding: .875rem; }
  .analytics-tabs strong { font-size: .9375rem; }
  .analytics-tabs button > span { font-size: .75rem; }
  .analytics-kpis dd { font-size: 1.5rem; }
}
@media (max-width: 640px) {
  .analytics { width: calc(100% - 2rem); padding-block: 3rem; }
  .analytics__intro { margin-bottom: 1.5rem; }
  .analytics-tabs button { align-items: center; justify-content: center; min-height: 3rem; padding: .5rem .25rem; text-align: center; }
  .analytics-tabs strong { font-size: .75rem; }
  .analytics-tabs button > span { display: none; }
  .analytics-workspace__head { padding: 1rem; gap: .75rem; }
  .analytics-workspace__sample { display: none; }
  .analytics-panel { padding: 1rem; }
  .analytics-toolbar { align-items: flex-start; flex-wrap: wrap; gap: .75rem; }
  .analytics-toolbar h3 { font-size: .9375rem; }
  .analytics-kpis { gap: .5rem; }
  .analytics-kpis dd { font-size: clamp(.8125rem, 3.4vw, 1.125rem); }
  .analytics-kpis dt { font-size: .625rem; }
  .analytics-chart { grid-template-columns: 3.75rem minmax(0, 1fr); gap: .25rem; height: 11rem; }
  .analytics-chart__bars { gap: .125rem; }
  .analytics-bar { padding-inline: .0625rem; }
  .analytics-bar__label { font-size: .5625rem; }
  .analytics-chart__axis { font-size: .5625rem; }
  .analytics-dish dl, .analytics-point dl { gap: .375rem; }
  .analytics-dish dt, .analytics-point dt { font-size: .625rem; }
  .analytics-dish dd, .analytics-point dd { font-size: .8125rem; }
  .analytics-workspace figcaption { padding: .875rem 1rem; }
}
@media (max-width: 1100px) {
  .homepage .hero { gap: 2rem; padding-top: 3.5rem; }
  .homepage .nav { gap: 1rem; }
  .homepage .top__in { gap: 1.5rem; }
  .homepage .hero__cta { flex-direction: column; align-items: flex-start; }
  .homepage .hero__cta .btn { min-width: 15rem; }
}
@media (max-width: 800px) {
  .homepage .hero { grid-template-columns: 1fr; gap: 2.5rem; padding-block: 3rem; }
  .homepage .hero__title { font-size: clamp(2.5rem, 7vw, 3.75rem); }
  .homepage .hero__lead { max-width: 35rem; }
  .homepage .hero__cta { flex-direction: row; }
  .homepage .hero__cta .btn { min-width: auto; }
  .product-preview { width: 100%; max-width: 35rem; justify-self: center; }
  .home-solutions__links { grid-template-columns: 1fr; gap: 1.5rem; }
  .home-solutions__links p { max-width: none; }
  .home-solutions__intro { flex-direction: column; gap: .375rem; }
  .homepage .workshop { gap: 2rem; }
}
@media (max-width: 640px) {
  .homepage .top__in { min-height: 4.5rem; }
  .homepage .hero { padding-top: 2rem; }
  .hero__audience { margin-bottom: 1rem; max-width: 19rem; line-height: 1.6; font-size: .8125rem; }
  .homepage .hero__title { font-size: clamp(2.125rem, 8.2vw, 3rem); }
  .homepage .hero__lead { margin-top: 1.25rem; font-size: 1rem; }
  .homepage .hero__cta { display: grid; grid-template-columns: 1fr; margin-top: 1.5rem; }
  .hero__note { font-size: .75rem; }
  .home-solutions { width: calc(100% - 2rem); margin-bottom: 0; }
  .product-preview { padding: .5rem; border-radius: 1rem; }
  .product-preview__panel { padding: 1.125rem; min-height: 21.5rem; }
  .product-preview__tabs button { gap: .375rem; font-size: .75rem; }
  .product-preview__tabs svg { width: 1rem; }
  .preview-heading { gap: .5rem; }
  .preview-heading h2 { font-size: 1.25rem; }
  .preview-heading h2 span { font-size: .75rem; }
  .preview-tickets { gap: .5rem; }
  .preview-ticket { padding: .625rem; }
  .homepage .flow { padding-top: 2.5rem; }
}
