/* September staging revision. Scoped bands extend the existing AX tokens. */
.ax-platform-specifications-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(24px, 3vw, 48px); align-items: stretch; }
.ax-platform-specimen { min-width: 0; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ax-border-soft); background: linear-gradient(150deg, #232824, #202220 40%, #1d1f1e); }
.ax-platform-specimen__header { display: flex; flex-direction: column; gap: 24px; padding: 32px 32px 0; }
.ax-platform-specimen__topline { display: flex; justify-content: space-between; gap: 16px; color: var(--ax-text-2); }
.ax-platform-specimen__topline > span:first-child { display: flex; align-items: center; gap: 8px; }
.ax-platform-specimen__topline > span:first-child::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--ax-accent); }
.ax-platform-specimen h3 { font-family: var(--ax-font); font-size: clamp(28px, 2.65vw, 43px); font-weight: 400; letter-spacing: -.035em; line-height: 1.12; }
.ax-platform-specimen h3 > span { color: var(--ax-accent); }
.ax-platform-specimen__figure { flex: 1; display: flex; align-items: center; padding: 32px 16px; margin: 0; }
.ax-platform-specimen__figure img { display: block; width: 100%; height: auto; aspect-ratio: 2000 / 1235; object-fit: contain; }
.ax-platform-specimen__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0 32px; padding: 24px 0 32px; border-top: 1px solid var(--ax-border-soft); }
.ax-platform-specimen__stats > div { display: flex; flex-direction: column-reverse; justify-content: end; gap: 8px; }
.ax-platform-specimen__stats > div + div { border-left: 1px solid var(--ax-border-soft); padding-left: 24px; }
.ax-platform-specimen__stats dt { font-size: 14px; line-height: 1.4; color: var(--ax-text-2); }
.ax-platform-specimen__stats dd { margin: 0; font-size: clamp(32px, 3.1vw, 46px); line-height: 1; letter-spacing: -.04em; }
.ax-platform-specimen__stats small { font-size: .43em; letter-spacing: 0; }
.ax-platform-specifications { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 18px; line-height: 1.5; }
.ax-platform-specifications :is(th, td) { padding: 20px 24px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.ax-platform-specifications th { width: 38%; color: var(--ax-text-2); font-weight: 400; }
.ax-platform-specifications td { color: var(--ax-text); }
.ax-platform-specifications tr:nth-child(odd) { background: var(--ax-surface); }
@media (max-width: 1000px) {
  .ax-platform-specifications-layout { grid-template-columns: 1fr; gap: 32px; }
  .ax-platform-specimen { grid-row: 1; }
  .ax-platform-specimen__figure { justify-content: center; }
  .ax-platform-specimen__figure img { max-width: 640px; }
}
@media (max-width: 600px) {
  .ax-platform-specimen__header { padding: 24px 24px 0; }
  .ax-platform-specimen__stats { margin-inline: 24px; gap: 16px; padding-block: 24px; }
  .ax-platform-specimen__stats > div + div { padding-left: 16px; }
  .ax-platform-specimen__figure { padding: 24px 8px; }
  .ax-platform-specifications { font-size: 16px; }
  .ax-platform-specifications :is(th, td) { padding: 16px 12px; }
  .ax-platform-specifications th { width: 44%; }
}

.ax-editorial-page {
  --ax-editorial-paper: #fafaf7;
  --ax-editorial-mist: #eeefeb;
  --ax-editorial-sage: #e4ede5;
  background: var(--ax-editorial-paper);
  padding-top: var(--ax-nav-h);
}
.ax-editorial-page > .ax-site-main-offset,
.ax-editorial-page > article > .ax-site-main-offset { padding-top: 64px; }
.ax-editorial-band { padding-block: 88px; }
.ax-editorial-band.ax-landing-evidence-band--customers { padding-block-end: 0; }
.ax-editorial-band--paper, .ax-editorial-band--mist, .ax-editorial-band--sage, .ax-editorial-light {
  --ax-bg: var(--ax-editorial-paper, #fafaf7);
  --ax-bg-raised: #fff;
  --ax-text: var(--ax-gray-02);
  --ax-text-2: #333a35;
  --ax-text-muted: #4d574f;
  --ax-text-dim: #5a625b;
  --ax-border: #c9cfc9;
  --ax-border-soft: #d8ddd6;
  --ax-surface: rgba(18, 40, 25, .035);
  --ax-surface-hover: rgba(18, 40, 25, .065);
  --ax-surface-strong: rgba(18, 40, 25, .1);
  --ax-scrim: #fff;
  --ax-accent: var(--ax-green-05);
  --ax-accent-hover: var(--ax-green-03);
  --ax-accent-2: var(--ax-gold-05);
  --ax-danger: var(--ax-red-06);
  background: var(--ax-editorial-paper, #fafaf7);
  color: var(--ax-text);
}
.ax-editorial-band--mist { background: var(--ax-editorial-mist, #eeefeb); }
.ax-editorial-band--sage { background: var(--ax-editorial-sage, #e4ede5); }
.ax-editorial-band--paper .ax-control, .ax-editorial-band--mist .ax-control, .ax-editorial-band--sage .ax-control, .ax-editorial-light .ax-control { color-scheme: light; }
.ax-editorial-band--ink, .ax-editorial-band--green {
  --ax-bg: var(--ax-gray-01);
  --ax-bg-raised: var(--ax-gray-03);
  --ax-text: var(--ax-gray-12);
  --ax-text-2: var(--ax-gray-10);
  --ax-text-muted: var(--ax-gray-08);
  --ax-text-dim: var(--ax-gray-07);
  --ax-border: var(--ax-gray-05);
  --ax-border-soft: rgba(255,255,255,.12);
  --ax-surface: rgba(255,255,255,.05);
  --ax-surface-hover: rgba(255,255,255,.08);
  --ax-surface-strong: rgba(255,255,255,.1);
  --ax-scrim: rgba(10,10,12,.72);
  --ax-accent: var(--ax-green-09);
  --ax-accent-hover: var(--ax-green-11);
  --ax-accent-2: var(--ax-gold-09);
  color: var(--ax-text);
  background: var(--ax-bg);
}
.ax-editorial-band--green { --ax-bg: var(--ax-green-03); --ax-text-muted: #c5d4c9; --ax-border: #45604b; }
.ax-editorial-band :is(.ax-btn--primary), .ax-site-header .ax-btn--primary { background: var(--ax-green-09); color: var(--ax-gray-01); border-color: var(--ax-green-09); }
.ax-editorial-band .ax-btn--primary:hover { background: var(--ax-green-11); }
.ax-editorial-band :is(.ax-h1,.ax-h2,.ax-subhead) { text-wrap: balance; }
.ax-editorial-band .ax-h1 { font-size: clamp(44px, 4.8vw, 72px); line-height: 1.04; letter-spacing: -.045em; }
.ax-editorial-page .ax-demo-layout .ax-h1 { font-size: clamp(40px, 4vw, 64px); line-height: 1.08; letter-spacing: -.045em; }
.ax-editorial-band .ax-h2 { font-size: clamp(36px, 3.7vw, 56px); line-height: 1.08; letter-spacing: -.035em; }
.ax-editorial-page .ax-demo-next__inner .ax-h2 { font-size: clamp(36px, 3.7vw, 56px); line-height: 1.08; }
.ax-editorial-band .ax-subhead { font-size: 26px; line-height: 1.18; letter-spacing: -.02em; }
.ax-editorial-band .ax-body { font-size: 20px; line-height: 1.5; }
.ax-editorial-band .ax-small { font-size: 16px; line-height: 1.55; }
.ax-editorial-band .ax-prose { width: min(100%, 72ch); }
.ax-editorial-band .ax-prose :is(p,li) { line-height: 1.65; }
.ax-editorial-heading { max-width: 790px; }
.ax-editorial-heading > .ax-body { max-width: 61ch; }
.ax-editorial-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--ax-accent); font-weight: 700; text-underline-offset: 5px; }
.ax-editorial-link:hover { text-decoration: underline; }
.ax-editorial-link:focus-visible { text-decoration: underline; }
.ax-editorial-band :focus-visible { outline: 3px solid var(--ax-accent); outline-offset: 4px; }
.ax-landing-hero { padding-block: 56px 64px; }
.ax-landing-hero__layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; }
.ax-landing-hero__copy { min-width: 0; padding-block: 16px; }
.ax-landing-hero__copy .ax-h1 { max-width: 11ch; }
.ax-landing-hero__copy .ax-body { max-width: 43ch; }
.ax-landing-hero__visual { min-width: 0; background: var(--ax-gray-02); color: #fff; }
.ax-landing-hero__visual > .ax-media { aspect-ratio: 4 / 3; width: 100%; border: 0; }
.ax-landing-hero__visual .ax-media__img { filter: none; }
.ax-editorial-band .ax-media__review-tag { color: var(--ax-gold-11); background: var(--ax-gold-01); border-color: var(--ax-gold-09); }
.ax-editorial-band .ax-media__badges > .ax-tag--sample { color: var(--ax-gold-11); background: var(--ax-gold-01); border-color: var(--ax-gold-09); }
.ax-editorial-band .ax-media--placeholder { --ax-accent-2: var(--ax-gold-11); --ax-border: var(--ax-gold-05); }
.ax-landing-hero__visual > .ax-figure > .ax-media { border: 0; }
.ax-landing-hero__visual > .ax-figure > figcaption { padding: 16px 24px; color: #c5c5c7; }
.ax-landing-hero__visual > .ax-figure > figcaption .ax-small { color: #c5c5c7; }
.ax-landing-hero__caption { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 24px; font-size: 14px; }
.ax-landing-hero__caption .ax-label { color: var(--ax-green-09); }
.ax-landing-hero__note { padding-top: 16px; max-width: 54ch; }
.ax-landing-hero--home .ax-h1 { max-width: 10ch; }

/* The film belongs to the shared hero itself, with controls over the image. */
.ax-editorial-band.ax-integrated-hero {
  --ax-hero-container: var(--ax-max);
  --ax-hero-inset: max(var(--ax-gutter), calc((100% - var(--ax-hero-container)) / 2 + var(--ax-gutter)));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  padding: 0 0 0 var(--ax-hero-inset);
}
.ax-integrated-hero__copy { grid-column: 1; grid-row: 1; align-self: center; min-width: 0; padding: 56px 56px 56px 0; }
.ax-integrated-hero__copy .ax-h1 { max-width: 12ch; }
.ax-integrated-hero--home .ax-h1 { max-width: 10ch; }
.ax-integrated-hero--home:lang(nb) .ax-h1 { max-width: none; white-space: pre-line; }
.ax-integrated-hero__copy .ax-body { max-width: 42ch; }
.ax-integrated-hero__secondary { font-size: 15px; }
/* Clinic opening: retain the original large, edge-to-edge hero film. */
.ax-clinic-page .ax-editorial-band.ax-clinic-hero { padding: 0; }
.ax-clinic-hero__layout { --ax-hero-container: var(--ax-max); --ax-hero-inset: max(var(--ax-gutter), calc((100% - var(--ax-hero-container)) / 2 + var(--ax-gutter))); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 0; width: 100%; max-width: none; margin: 0; padding: 0 0 0 var(--ax-hero-inset); }
.ax-clinic-hero__copy { grid-column: 1; grid-row: 1; min-width: 0; padding: 56px 56px 24px 0; }
.ax-clinic-hero__copy .ax-h1 { max-width: 12ch; }
.ax-clinic-hero__footer { grid-column: 1; grid-row: 2; min-width: 0; padding: 0 56px 56px 0; }
.ax-clinic-hero__workflow { align-self: flex-start; min-height: 44px; }
.ax-clinic-hero__visual { grid-column: 2; grid-row: 1 / 3; align-self: stretch; width: 100%; min-width: 0; min-height: 570px; aspect-ratio: auto; background: #141416; }
.ax-clinic-hero__visual > .ax-media { width: 100%; height: 100%; aspect-ratio: auto; border: 0; }
.ax-clinic-hero__visual .ax-hero-film__ambient :is(video,img) { object-fit: cover; }
@media(min-width:1500px) { .ax-clinic-hero__layout { --ax-hero-container: 1440px; } }
@media(max-width:1150px) { .ax-clinic-hero__copy, .ax-clinic-hero__footer { padding-right: 32px; } }
@media(max-width:900px) {
  .ax-clinic-hero__layout { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 0; }
  .ax-clinic-hero__copy { padding: 32px var(--ax-gutter) 24px; }
  .ax-clinic-hero__visual { grid-column: 1; grid-row: 2; min-height: 0; aspect-ratio: 16 / 9; }
  .ax-clinic-hero__footer { grid-column: 1; grid-row: 3; padding: 24px var(--ax-gutter) 32px; }
  .ax-clinic-hero__copy .ax-h1 { max-width: 20ch; }
}
@media(max-width:600px) {
  .ax-clinic-hero__copy { gap: 16px; padding: 24px var(--ax-gutter-m) 16px; }
  .ax-clinic-hero__footer { padding: 16px var(--ax-gutter-m) 24px; }
  .ax-clinic-page .ax-clinic-hero__copy .ax-h1 { font-size: 40px; line-height: 1.05; }
  .ax-clinic-page .ax-clinic-hero__copy .ax-body { font-size: 18px; line-height: 1.4; }
  .ax-clinic-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .ax-clinic-hero__actions .ax-btn { padding-inline: 12px; }
}
.ax-integrated-hero__note { max-width: 46ch; padding-top: 16px; }
.ax-integrated-hero__visual { grid-column: 2; grid-row: 1; position: relative; min-width: 0; min-height: 570px; background: #141416; }
.ax-integrated-hero__visual > .ax-media { height: 100%; width: 100%; border: 0; aspect-ratio: auto; }
.ax-integrated-hero__visual .ax-media__img { filter: none; }
/* The product film contains its own text: preserve the whole frame and keep
   the transparent video's white lettering readable in both colour themes. */
.ax-editorial-band.ax-integrated-hero--media-first { display: flex; flex-direction: column; padding: 0; }
.ax-integrated-hero--media-first .ax-integrated-hero__visual { width: 100%; min-height: 0; aspect-ratio: 16 / 9; flex: none; }
.ax-integrated-hero--media-first .ax-integrated-hero__copy { align-self: auto; width: min(100%, var(--ax-max)); margin-inline: auto; padding: clamp(32px, 4vw, 56px) var(--ax-gutter); }
.ax-integrated-hero--media-first .ax-h1 { max-width: 20ch; }
.ax-integrated-hero--media-first .ax-body { max-width: 65ch; }
.ax-platform-film { position: absolute; inset: 0; background: #1c2023; color: #fff; color-scheme: dark; }
.ax-platform-film > video { display: block; width: 100%; height: 100%; object-fit: contain; }
.ax-platform-film > video:focus-visible { outline: 3px solid var(--ax-green-09); outline-offset: -4px; }
.ax-platform-film__toggle { position: absolute; inset: auto 16px 16px auto; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: rgba(10, 12, 14, .65); color: #fff; opacity: 0; transition: opacity .2s; cursor: pointer; }
.ax-platform-film:hover .ax-platform-film__toggle, .ax-platform-film:focus-within .ax-platform-film__toggle, .ax-platform-film[data-show-controls="true"] .ax-platform-film__toggle, .ax-platform-film__toggle[data-paused="true"] { opacity: 1; }
.ax-platform-film__toggle:focus-visible { outline: 2px solid var(--ax-green-09); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .ax-platform-film__toggle { transition: none; } }
.ax-hero-film { position: relative; width: 100%; height: 100%; min-height: inherit; color: #fff; }
.ax-hero-film__ambient { position: absolute; inset: 0; overflow: hidden; }
.ax-hero-film__ambient :is(video,img) { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.ax-hero-film__controls { position: absolute; z-index: 2; inset: auto 0 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 56px 24px 24px; background: linear-gradient(transparent, rgba(0,0,0,.65)); }
.ax-hero-film :is(.ax-hero-film__toggle,.ax-hero-film__open,.ax-hero-film__close) { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 44px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.55); color: #fff; background: rgba(10,10,12,.8); font-size: 14px; line-height: 1.25; }
.ax-hero-film :is(.ax-hero-film__toggle,.ax-hero-film__open,.ax-hero-film__close):hover { background: #202c24; border-color: var(--ax-green-09); }
.ax-hero-film :is(.ax-hero-film__toggle,.ax-hero-film__open,.ax-hero-film__close):focus-visible { outline: 3px solid var(--ax-green-09); outline-offset: 4px; }
.ax-hero-film__dialog { width: min(1120px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid #545957; background: #141416; color: #fff; color-scheme: dark; }
.ax-hero-film__dialog::backdrop { background: rgba(0,0,0,.8); backdrop-filter: blur(8px); }
.ax-hero-film__dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 16px 24px; }
.ax-hero-film__dialog-heading { display: grid; gap: 8px; min-width: 0; }
.ax-hero-film__dialog-heading .ax-media__badges { position: static; justify-content: flex-start; }
.ax-hero-film__dialog-header :is(h2,p) { font-size: 18px; line-height: 1.3; }
.ax-hero-film__close { flex-shrink: 0; }
.ax-hero-film__player { display: block; width: 100%; max-height: calc(100dvh - 148px); aspect-ratio: 16 / 9; object-fit: contain; background: #000; }
.ax-hero-film__error { padding: 16px 24px; font-size: 16px; color: #fff; }
.ax-hero-film > .ax-hero-film__error { position: absolute; inset: 60px 16px auto; padding: 12px; background: rgba(10,10,12,.9); }
body:has(.ax-hero-film__dialog[open]) { overflow: hidden; }
@media(min-width:1500px) { .ax-editorial-band.ax-integrated-hero { --ax-hero-container: 1440px; } }
@media(max-width:1150px) { .ax-integrated-hero__copy { padding-right: 32px; } }
@media(max-width:900px) {
  .ax-editorial-band.ax-integrated-hero { display: block; padding: 0; }
  .ax-integrated-hero__copy { padding: 48px var(--ax-gutter); }
  .ax-integrated-hero__copy .ax-h1 { max-width: 14ch; }
  .ax-integrated-hero__visual { min-height: 0; aspect-ratio: 16 / 9; }
}
@media(max-width:640px) {
  .ax-integrated-hero__copy { padding: 32px var(--ax-gutter-m) 40px; }
  .ax-hero-film__controls { padding: 48px 16px 16px; gap: 8px; }
  .ax-hero-film :is(.ax-hero-film__toggle,.ax-hero-film__open) { padding: 10px 12px; }
  .ax-hero-film__dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .ax-hero-film__dialog-header { padding: 12px; gap: 12px; }
  .ax-hero-film__dialog-header :is(h2,p) { font-size: 16px; }
}
.ax-landing-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; list-style: none; padding: 0; }
.ax-landing-steps > li { display: flex; flex-direction: column; gap: 16px; }
.ax-landing-steps .ax-num { font-size: 32px; color: var(--ax-accent); margin-bottom: 16px; }
.ax-landing-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.ax-landing-points > article { padding-top: 8px; }
.ax-landing-points .ax-label { color: var(--ax-accent); }

/* Clinic: a picture-led story followed by one readable process, not two card grids. */
.ax-clinic-story { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 64px; align-items: start; }
.ax-clinic-story { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 48px; align-items: center; }
.ax-clinic-story__copy .ax-h2 { max-inline-size: none; font-size: clamp(32px,3.25vw,48px); line-height: 1.12; }
.ax-clinic-story--text { grid-template-columns: minmax(0,720px); }
.ax-clinic-story .ax-small { max-width: 48ch; }
.ax-clinic-story__media { min-width: 0; }
.ax-clinic-workflow { display: grid; gap: 48px; }
.ax-clinic-workflow > .ax-editorial-heading { max-width: none; }
.ax-clinic-workflow > .ax-editorial-heading .ax-h2 { max-inline-size: none; }
.ax-clinic-workflow__body { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 64px; align-items: start; }
.ax-clinic-workflow__steps { display: grid; grid-template-columns: minmax(0,1fr); align-self: stretch; align-content: space-between; gap: 32px; list-style: none; padding: 0; margin: 0; }
.ax-clinic-workflow__steps > li { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 16px; align-items: start; }
.ax-clinic-workflow__steps .ax-num { color: var(--ax-accent); font-size: 32px; line-height: 1.15; }
.ax-clinic-workflow__steps .ax-small { max-width: 48ch; }
/* K02: one patient pathway, with the original result-conversation photograph. */
.ax-clinic-path { display: grid; gap: 40px; }
.ax-clinic-path__intro { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 48px; align-items: center; }
.ax-clinic-path__copy, .ax-clinic-path__photo { min-width: 0; }
.ax-clinic-path__copy .ax-h2 { max-inline-size: none; font-size: clamp(32px,3.25vw,48px); line-height: 1.12; }
.ax-clinic-path__steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 24px; list-style: none; padding: 0; margin: 0; }
.ax-clinic-path__steps > li { display: grid; align-content: start; gap: 16px; min-width: 0; }
.ax-clinic-path__steps .ax-num { color: var(--ax-accent); font-size: 28px; line-height: 1.15; }
.ax-clinic-path__steps .ax-subhead { font-size: 20px; line-height: 1.3; min-height: 2.6em; }
.ax-clinic-path__actions .ax-editorial-link { min-height: 44px; }
@media(max-width:1100px) {
  .ax-clinic-path__steps { grid-template-columns: minmax(0,1fr); }
  .ax-clinic-path__steps > li { grid-template-columns: 40px minmax(0,1fr); }
  .ax-clinic-path__steps .ax-subhead { min-height: 0; }
}
@media(max-width:900px) {
  .ax-clinic-path, .ax-clinic-path__intro { gap: 24px; }
  .ax-clinic-path__intro { grid-template-columns: minmax(0,1fr); }
  .ax-clinic-path__steps > li { grid-template-columns: 32px minmax(0,1fr); }
}
.ax-landing-evidence, .ax-landing-closing { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; align-items: start; }
.ax-landing-source { border-left: 3px solid var(--ax-accent); padding: 28px 32px; background: var(--ax-editorial-mist); }
.ax-editorial-band.ax-clinic-measurement-band { padding-block: 48px; }
.ax-clinic-measurement { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 48px; align-items: center; }
.ax-clinic-measurement .ax-subhead { font-size: 28px; line-height: 1.25; }
.ax-clinic-measurement .ax-small { max-inline-size: 70ch; color: var(--ax-text); }
.ax-clinic-measurement > .ax-editorial-link { min-height: 44px; }
@media (max-width: 900px) {
  .ax-editorial-band.ax-clinic-measurement-band { padding-block: 32px; }
  .ax-clinic-measurement { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ax-clinic-measurement .ax-subhead { font-size: 24px; }
}
.ax-landing-sessions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 56px; }
.ax-landing-session { display: grid; grid-template-columns: 48px 1fr; gap: 24px; padding-block: 32px; }
.ax-landing-session > .ax-num { font-size: 24px; color: var(--ax-text-muted); padding-top: 2px; }
/* Session and platform pictograms sit in a thin ring, as in the Figma icon library. */
.ax-session-icon { display: inline-grid; place-items: center; inline-size: 48px; block-size: 48px; border: 1px solid currentColor; border-radius: 50%; color: var(--ax-text); }
.ax-session-icon > .ax-num { font-size: 18px; line-height: 1; color: var(--ax-text); }
.ax-landing-agenda { padding-top: 8px; }
.ax-landing-agenda ol { list-style: none; padding: 16px 0 0; }
.ax-landing-agenda li { display: grid; grid-template-columns: 32px 1fr; gap: 16px; padding: 16px 0; font-size: 18px; }
.ax-landing-agenda .ax-label { color: var(--ax-green-09); }
.ax-landing-audiences { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.ax-landing-audience { position: relative; isolation: isolate; display: flex; flex-direction: column; color: inherit; border: 1px solid var(--ax-border); }
/* One native link covers the whole card, including its image. */
.ax-landing-audience .ax-editorial-link::after { content: ""; position: absolute; inset: 0; z-index: 1; cursor: pointer; }
.ax-landing-audience:has(.ax-editorial-link):is(:hover, :focus-within) { border-color: var(--ax-accent); background: color-mix(in srgb, var(--ax-accent) 5%, var(--ax-bg)); }
.ax-landing-audience:has(.ax-editorial-link:focus-visible) { outline: 2px solid var(--ax-accent); outline-offset: 4px; }
.ax-landing-audience__image { overflow: hidden; background: var(--ax-editorial-mist); }
.ax-landing-audience__image .ax-media { aspect-ratio: 3 / 2; border: 0; }
.ax-landing-audience__image .ax-media__img { filter: none; transition: transform .3s; }
.ax-landing-audience:hover .ax-media__img { transform: scale(1.025); }
.ax-landing-audience__copy { padding: 24px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.ax-landing-audience__copy > .ax-editorial-link { margin-top: auto; padding-top: 16px; justify-content: space-between; }
.ax-landing-audience__topline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ax-landing-consumer-strip { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--ax-border); padding-top: 32px; }
.ax-landing-product { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 64px; }
.ax-landing-product .ax-media { border: 0; }
.ax-landing-product-list { list-style: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ax-landing-product-list li { display: flex; gap: 12px; align-items: center; font-size: 16px; }
.ax-landing-product-list li::before { content: ''; width: 6px; height: 6px; flex: none; background: var(--ax-accent); }
.ax-landing-fit { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.ax-landing-fit ul { list-style: none; padding: 0; display: grid; gap: 24px; }
.ax-landing-fit li { padding: 0; font-size: 18px; }
.ax-landing-dual { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.ax-landing-dual > article { padding-top: 8px; }
.ax-landing-depth { border-top: 1px solid var(--ax-border); padding: 24px 0; }
.ax-landing-depth > summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; min-height: 56px; list-style: none; }
.ax-landing-depth > summary::-webkit-details-marker { display: none; }
.ax-landing-depth > summary::after { content: '+'; font-size: 32px; font-weight: 300; }
.ax-landing-depth[open] > summary::after { content: '−'; }
.ax-landing-depth > div { padding-top: 40px; }
/* A closed optional chapter is an invitation, not a full-height empty band. */
.ax-editorial-band--disclosure:has(> .ax-wrap > .ax-landing-depth:not([open])) { padding-block: 24px; }
.ax-editorial-band--disclosure > .ax-wrap > .ax-landing-depth { border-top: 0; padding-block: 0; }
/* Keep lead paragraphs at a readable measure even in full-width closing bands. */
.ax-editorial-page .ax-body { max-inline-size: 68ch; }
/* Every other disclosure on a page shares one marker instead of the browser triangle. */
.ax-editorial-page details:not(.ax-disclosure, .ax-landing-depth, .ax-gym-details, .ax-capacity-disclosure, .ax-product-requirements__group) > summary { display: flex; align-items: center; justify-content: space-between; gap: var(--ax-3); cursor: pointer; list-style: none; }
.ax-editorial-page details:not(.ax-disclosure, .ax-landing-depth, .ax-gym-details, .ax-capacity-disclosure, .ax-product-requirements__group) > summary::-webkit-details-marker { display: none; }
.ax-editorial-page details:not(.ax-disclosure, .ax-landing-depth, .ax-gym-details, .ax-capacity-disclosure, .ax-product-requirements__group) > summary::after { content: '+'; flex: 0 0 auto; color: var(--ax-accent); font-size: 1.5em; font-weight: 300; line-height: 1; }
.ax-editorial-page details[open]:not(.ax-disclosure, .ax-landing-depth, .ax-gym-details, .ax-capacity-disclosure, .ax-product-requirements__group) > summary::after { content: '−'; }
.ax-gym-practical__questions { border-block-start: 0; }
.ax-gym-practical__questions > details { border: 0; }
.ax-gym-practical__questions > details + details { border-top: 1px solid var(--ax-border-soft); }
.ax-landing-segment-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-block: 20px; border-bottom: 1px solid var(--ax-border); }
.ax-landing-segment-nav a { min-height: 44px; display: flex; align-items: center; font-size: 15px; color: var(--ax-text-muted); }
.ax-landing-segment-nav a[aria-current='page'] { color: var(--ax-text); box-shadow: inset 0 -2px var(--ax-green-05); }
.ax-landing-contact { padding: 32px; border: 1px solid var(--ax-border); }
.ax-landing-contact .ax-body { max-width: 45ch; }
.ax-site-header { --ax-bg: #fafaf7; --ax-bg-raised: #fff; --ax-text: #141416; --ax-text-2: #333a35; --ax-text-muted: #4d574f; --ax-text-dim: #5a625b; --ax-border: #d3d8d1; --ax-accent: #206f44; --ax-accent-hover: var(--ax-green-03); --ax-surface: rgba(18,40,25,.035); color: var(--ax-text); }
.ax-site-header .ax-logo { filter: invert(1); }
.ax-site-header .ax-skip-link { background: var(--ax-green-09); color: var(--ax-gray-01); }
.ax-site-header .ax-site-header__bar { background: #fafaf7; backdrop-filter: none; border-bottom: 1px solid var(--ax-border); }
.ax-site-header .ax-site-panel, .ax-site-header .ax-site-locale__panel { background: #fafaf7; }
.ax-site-header .ax-site-panel__link:hover { color: #206f44; background: #e4ede5; }
.ax-site-header .ax-site-consumer { font-size: 13px; color: #4d574f; text-decoration: underline; text-underline-offset: 4px; white-space: nowrap; padding: 14px 0; }
/* Small directional feedback, shared by pointer and keyboard interactions. */
:is(.ax-editorial-page,.ax-site-header,.ax-site-footer) :is(.ax-btn,.ax-editorial-link,.ax-resource-row__action) > [data-ax-icon="arrow-right"] { transition: transform var(--ax-motion-fast) var(--ax-ease); }
:is(.ax-editorial-page,.ax-site-header,.ax-site-footer) :is(.ax-btn,.ax-editorial-link,.ax-resource-row__action):is(:hover,:focus-visible) > [data-ax-icon="arrow-right"] { transform: translateX(3px); }
.ax-landing-audience:focus-within .ax-media__img { transform: scale(1.025); }
@media(min-width:1500px) { :is(.ax-editorial-page,.ax-site-footer) .ax-wrap { max-width: 1440px; } }
@media(max-width:1150px) { .ax-landing-hero__layout { gap: 32px; } .ax-landing-evidence,.ax-landing-closing { gap: 40px; } .ax-site-header .ax-site-consumer { display: none; } }
@media(max-width:1150px) {
  .ax-clinic-workflow__body { gap: 40px; }
  .ax-clinic-workflow__steps { grid-template-columns: 1fr; gap: 24px; }
}
@media(max-width:960px) { .ax-editorial-page { padding-top: var(--ax-nav-h-m); } }
@media(max-width:900px) {
  .ax-clinic-story { grid-template-columns: 1fr; gap: 40px; }
  .ax-clinic-workflow, .ax-clinic-workflow__body { gap: 40px; }
  .ax-clinic-workflow__body, .ax-clinic-workflow__steps { grid-template-columns: 1fr; }
  .ax-clinic-workflow__steps { gap: 32px; }
  .ax-clinic-workflow__photo { order: 1; justify-self: center; }
  .ax-editorial-band { padding-block: 64px; }
  .ax-landing-hero__layout,.ax-landing-evidence,.ax-landing-closing,.ax-landing-product,.ax-landing-fit { grid-template-columns: 1fr; gap: 40px; }
  .ax-landing-hero__copy .ax-h1 { max-width: 14ch; }
  .ax-landing-hero__visual > .ax-media { aspect-ratio: 16 / 9; }
  .ax-landing-steps { grid-template-columns: 1fr 1fr; gap: 32px; }
  .ax-landing-audiences { gap: 20px; }
  .ax-landing-audience__copy .ax-subhead { font-size: 23px; }
  .ax-landing-points { gap: 24px; }
}
@media(max-width:640px) {
  .ax-clinic-workflow__steps > li { grid-template-columns: 32px minmax(0,1fr); gap: 24px; }
  .ax-clinic-workflow__steps .ax-num { font-size: 28px; }
  .ax-editorial-band { padding-block: 48px; }
  .ax-landing-hero { padding-top: 32px; }
  .ax-editorial-band .ax-h1 { font-size: 46px; }
  .ax-editorial-band .ax-body { font-size: 18px; }
  .ax-landing-hero__layout { gap: 28px; }
  .ax-landing-audiences,.ax-landing-points,.ax-landing-sessions,.ax-landing-dual { grid-template-columns: 1fr; gap: 32px; }
  .ax-landing-steps { grid-template-columns: 1fr; gap: 24px; }
  .ax-landing-steps > li { display: grid; grid-template-columns: 48px 1fr; column-gap: 24px; }
  .ax-landing-steps .ax-num { grid-row: span 2; margin: 0; font-size: 28px; }
  .ax-landing-steps .ax-small { grid-column: 2; }
  .ax-landing-consumer-strip { align-items: flex-start; flex-direction: column; }
  .ax-landing-audience__copy { padding-top: 20px; }
  .ax-landing-source { padding: 24px; }
  .ax-landing-contact { padding: 24px; }
  .ax-landing-session { grid-template-columns: 40px 1fr; gap: 16px; padding-block: 24px; }
  .ax-session-icon { inline-size: 40px; block-size: 40px; }
  .ax-session-icon > .ax-num { font-size: 15px; }
  .ax-landing-product-list { grid-template-columns: 1fr; }
  .ax-landing-sessions { gap: 0; }
}
@media(prefers-reduced-motion:reduce) {
  .ax-root [data-ax-reveal-pending] { opacity: 1 !important; transform: none !important; }
  .ax-landing-audience__image .ax-media__img { transition: none; }
  .ax-landing-audience:is(:hover,:focus-within) .ax-media__img,
  :is(.ax-editorial-page,.ax-site-header,.ax-site-footer) :is(.ax-btn,.ax-editorial-link,.ax-resource-row__action):is(:hover,:focus-visible) > [data-ax-icon="arrow-right"] { transform: none; }
}

@media print {
  .ax-root [data-ax-reveal-pending] { opacity: 1 !important; transform: none !important; }
}
/* Contents lists in the reading layout: number and title on one baseline,
   titles wrap between words (hyphenated if needed), never mid-word. */
.ax-reading-layout nav .ax-resource-row__action { justify-content: flex-start; align-items: baseline; gap: 12px; min-height: 0; padding-block: 4px; text-align: left; overflow-wrap: normal; hyphens: auto; }
.ax-reading-layout nav .ax-resource-row__action > .ax-num { flex: 0 0 auto; white-space: nowrap; }
/* Blog figures: phone screenshots stay a readable size; video opens on YouTube. */
.ax-blog-figure--portrait { max-inline-size: 320px; }
.ax-prose__video a { color: var(--ax-accent); }
/* Blog card titles: sized for a three-column card, wrapped between words. */
.ax-blog-card__title { overflow-wrap: normal; hyphens: auto; text-wrap: balance; }
/* Platform configuration cards: titles line up across the row and the
   solution link sits at the foot of every card, left-aligned. */
.ax-platform-configs { gap: var(--ax-3); }
.ax-platform-config { overflow: hidden; overflow-wrap: normal; }
.ax-platform-config > .ax-editorial-photo { flex: 0 0 auto; isolation: isolate; }
.ax-platform-config .ax-media__img { filter: saturate(.64) contrast(1.035); }
.ax-platform-config > .ax-editorial-photo::after { content: ""; position: absolute; inset: 0; background: var(--ax-green-05); opacity: .065; mix-blend-mode: color; pointer-events: none; }
.ax-platform-config > .ax-platform-config__copy { padding: var(--ax-4); }
.ax-platform-config__copy > .ax-editorial-link { margin-top: auto; padding-top: var(--ax-1); min-height: 44px; }
.ax-platform-configs__footer .ax-capacity-related-link { display: inline; align-self: flex-start; min-height: 44px; font-size: 16px; line-height: 24px; }
.ax-platform-configs__footer .ax-capacity-related-link .ax-icon { display: inline-block; margin-inline-start: 6px; vertical-align: -2px; }
.ax-platform-configs__note { color: var(--ax-text-muted); }
@media (max-width: 767px) {
  .ax-platform-config > .ax-platform-config__copy { padding: var(--ax-3); }
}
/* Blog covers fill their frame; phone screenshots keep the top of the screen.
   Article figures sit on the page ground at their own shape, no black bars. */
.ax-blog-cover > img { object-position: center 18%; }
.ax-blog-figure > .ax-media { background: transparent; }

/* UI review, 24 September 2026. */
/* Cards in a row: the action sits at the foot, so buttons and links line up. */
.ax-editorial-page :is(.ax-grid-2, .ax-grid-3, .ax-grid-4) > .ax-card { display: flex; flex-direction: column; }
.ax-editorial-page :is(.ax-grid-2, .ax-grid-3, .ax-grid-4) > .ax-card > .ax-card__body:last-child { flex: 1 1 auto; display: flex; flex-direction: column; }
.ax-editorial-page :is(.ax-grid-2, .ax-grid-3, .ax-grid-4) > .ax-card > :is(.ax-btn, .ax-editorial-link):last-child,
.ax-editorial-page :is(.ax-grid-2, .ax-grid-3, .ax-grid-4) > .ax-card > .ax-card__body > :is(.ax-btn, .ax-editorial-link):last-child { margin-top: auto; }
/* One text-link size everywhere: compact, bold, next to 14px buttons. */
.ax-editorial-page .ax-editorial-link,
.ax-editorial-page .ax-integrated-hero__secondary { font-size: 16px; line-height: 22px; }
/* Body copy stays at a readable measure. */
.ax-editorial-page p.ax-small { max-inline-size: 75ch; }

/* Between phone and wide desktop, cards get room for Norwegian compounds:
   four-card rows become two per row, card padding and card titles step down. */
@media (min-width: 901px) and (max-width: 1200px) {
  .ax-editorial-page .ax-grid-4:has(> .ax-card) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ax-editorial-page .ax-card__body { padding: var(--ax-4); }
  .ax-editorial-page .ax-card .ax-subhead { font-size: 22px; line-height: 28px; }
}
/* Reading layouts stack before the aside becomes too narrow for its content. */
@media (min-width: 901px) and (max-width: 1100px) {
  .ax-reading-layout,
  .ax-reading-layout--content-first,
  .ax-reading-layout--aside-end { grid-template-columns: minmax(0, 1fr); }
  .ax-reading-layout--aside-end > :first-child { grid-column: 1; }
  .ax-reading-layout--aside-end > :last-child { grid-column: 1; grid-row: auto; }
}

/* Rows of steps and points: number, title and text share rows across the
   row, so a title that wraps does not push its text below its neighbours. */
@media (min-width: 768px) {
  .ax-landing-steps,
  .ax-landing-points { grid-auto-rows: auto; row-gap: 0; }
  .ax-landing-steps > li,
  .ax-landing-points > article { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 16px; align-content: start; }
  .ax-landing-steps .ax-num { margin-bottom: 0; }
  .ax-landing-steps > li { margin-bottom: 32px; }
}
@media (min-width: 1201px) {
  .ax-editorial-page .ax-grid-4 > .ax-card > .ax-subhead { min-block-size: 2lh; }
}
/* Three sessions fill one row instead of leaving an empty cell. */
@media (min-width: 1101px) {
  .ax-landing-sessions:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; }
}
/* Section headings set with the H3 style keep heading weight on phones and
   the same tracking as other section headings. */
.ax-editorial-page h2.ax-h3 { letter-spacing: var(--ax-h2-ls); }
@media (max-width: 767px) {
  .ax-editorial-page h2.ax-h3 { font-size: var(--ax-h2-m); line-height: var(--ax-h2-m-lh); }
}
/* Figures never split across lines. */
.ax-stat__value { white-space: nowrap; }
/* Numbered headings: number and title on one baseline, clear of the rule. */
.ax-numbered-heading { align-items: baseline; padding-top: var(--ax-2); }
/* Study summary reads as a lead paragraph, not a heading. */
[data-research-article-content] > section:first-child > .ax-subhead { font-size: 20px; line-height: 30px; letter-spacing: 0; }
@media (max-width: 767px) {
  [data-research-article-content] > section:first-child > .ax-subhead { font-size: 17px; line-height: 26px; }
}
/* Long study titles use the column instead of breaking into short lines. */
.ax-site-main-offset .ax-h1--hero { max-inline-size: 22ch; }
/* Filter heading sits clear of the first field label. */
.ax-editorial-page fieldset > legend.ax-label { margin-bottom: var(--ax-2); }
/* Demo agenda: numbers on the text baseline. */
.ax-landing-agenda li { align-items: baseline; }
/* Consumer strip: the rule follows the content column; the link stays whole. */
.ax-landing-consumer-strip { border-top: 0; position: relative; }
.ax-landing-consumer-strip::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: var(--ax-gutter); border-top: 1px solid var(--ax-border); }
.ax-landing-consumer-strip > .ax-editorial-link { white-space: nowrap; }
@media (max-width: 767px) { .ax-landing-consumer-strip::before { inset-inline: var(--ax-gutter-m); } }

/* Featured article: the cover fills the card's full height. */
.ax-card.ax-grid-2 > .ax-blog-cover { aspect-ratio: auto; block-size: 100%; min-block-size: 320px; }
@media (max-width: 767px) {
  .ax-card.ax-grid-2 > .ax-blog-cover { order: -1; min-block-size: 0; aspect-ratio: 16 / 9; }
}
/* Long reading on phones: body text at 17px. */
@media (max-width: 767px) {
  .ax-editorial-band .ax-prose :is(p, li) { font-size: 17px; line-height: 1.6; }
  .ax-prose > h2 { font-size: var(--ax-h2-m); line-height: var(--ax-h2-m-lh); }
  .ax-prose > h3 { font-size: 22px; line-height: 28px; }
}
/* Contents list in a reading layout: tighter card padding, no automatic hyphens. */
.ax-reading-layout > aside.ax-card > .ax-card__head,
.ax-reading-layout > aside.ax-card > nav > .ax-card__body { padding-inline: var(--ax-3); }
.ax-reading-layout nav .ax-resource-row__action { hyphens: manual; }
/* FAQ and detail rows share one question size on phones. */
@media (max-width: 767px) {
  .ax-acquisition-faq > summary { font-size: 18px; }
}
/* Fit checklist beside a figure: rows keep their own height. */
.ax-landing-fit ul { align-content: start; }
/* External links keep their icon on the same line. */
.ax-external-link { white-space: nowrap; }
.ax-external-link > .ax-icon { margin-inline-start: 4px; vertical-align: -2px; }
/* Platform explorer: every step card uses the same media frame, so the
   2 × 2 grid keeps even rows whether the step shows a screen or a photo. */
.ax-platform-explorer .ax-media { aspect-ratio: 4 / 3; }
.ax-platform-explorer .ax-media > img,
.ax-platform-explorer .ax-media > video,
.ax-platform-explorer .ax-media .ax-media__img { object-fit: cover; object-position: center top; }
/* Product screens must remain complete inside the shared landscape frame. */
.ax-platform-explorer .ax-media.ax-media--contain :is(img, video, .ax-media__img) { object-fit: contain; object-position: center; }
/* Fitness Age background page: text starts at the top beside its photo, the
   first evidence column lines up with the heading, one underline per link. */
.ax-capacity-intro--with-image, .ax-capacity-practice { align-items: start; }
.ax-capacity-evidence > article:first-child { padding-inline-start: 0; }
.ax-measure__link { text-decoration: none; }
@media (max-width: 767px) {
  .ax-capacity-photo { max-width: none; justify-self: stretch; }
}
/* Study source details: small muted labels, readable values, no default indent. */
[data-research-article-content] dl dd { margin: 0; }
[data-research-article-content] dl .ax-resource-row__type { font-size: 13px; line-height: 20px; color: var(--ax-text-muted); }
[data-research-article-content] dl dd.ax-small { font-size: 16px; line-height: 24px; color: var(--ax-text); }
/* Stat figures scale down with the row instead of wrapping or overflowing. */
@media (max-width: 1100px) {
  .ax-stat__value { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.1; }
}
/* Long single words in page titles (study titles) fit a phone screen. */
@media (max-width: 767px) {
  header.ax-site-main-offset .ax-h1--hero { font-size: clamp(32px, 10vw, 44px); line-height: 1.1; overflow-wrap: break-word; hyphens: auto; }
}
/* Privacy contact address reads as body text, not browser-default italics. */
.ax-privacy-address { font-style: normal; color: var(--ax-text-muted); line-height: 1.6; }
/* For you hero: on tall tablet frames centre the crop on the conversation. */
@media (min-width: 768px) and (max-width: 1200px) {
  #for-you-hero :is(.ax-media__img, .ax-media > img) { object-position: 50% 50% !important; }
}

/* UI review round 2. */
/* Blog covers: a tall screenshot or diagram is shown whole over a soft,
   blurred copy of itself, so the frame never shows flat bars. */
.ax-blog-cover--whole { isolation: isolate; background: var(--ax-gray-02); }
.ax-blog-cover--whole > img:not(.ax-blog-cover__backdrop) { position: relative; z-index: 1; object-position: center; }
.ax-media--contain > img.ax-blog-cover__backdrop { position: absolute; inset: 0; z-index: 0; object-fit: cover; filter: blur(28px) saturate(1.05) brightness(0.95); transform: scale(1.2); }
/* Article hero: the cover keeps its own proportions, capped in height. */
section[aria-label="Article cover brief"] .ax-blog-cover { aspect-ratio: auto; background: transparent; }
section[aria-label="Article cover brief"] .ax-blog-cover > img { inline-size: auto; block-size: auto; max-inline-size: 100%; max-block-size: min(70vh, 640px); margin-inline: auto; display: block; }
/* Featured article: the cover follows the text column's height. */
.ax-card.ax-grid-2 > .ax-blog-cover > img { position: absolute; inset: 0; }
.ax-card.ax-grid-2 > .ax-blog-cover > img:not(.ax-blog-cover__backdrop) { z-index: 1; }
@media (max-width: 767px) {
  .ax-card.ax-grid-2 > .ax-blog-cover { aspect-ratio: 1 / 1; }
}
/* Article sub-headings and callouts. */
.ax-prose > h2 { font-size: clamp(28px, 3vw, 36px); line-height: 1.2; }
.ax-prose > h3 { font-size: 22px; line-height: 28px; }
.ax-prose blockquote { color: var(--ax-text-2); line-height: 1.6; }
/* Consumer strip rule: only a strip that is itself the wrap is inset. */
.ax-landing-consumer-strip::before { inset-inline: 0; }
.ax-wrap.ax-landing-consumer-strip::before { inset-inline: var(--ax-gutter); }
@media (max-width: 767px) { .ax-wrap.ax-landing-consumer-strip::before { inset-inline: var(--ax-gutter-m); } }
/* Homepage audience heading fits one line where there is room. */
#home-audiences-title { max-inline-size: none; }
/* Three sessions share one row from tablet width up. */
@media (min-width: 901px) and (max-width: 1100px) {
  .ax-landing-sessions:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }
}
/* Product feature bullets sit on the first line of a wrapped label. */
.ax-landing-product-list { align-items: start; }
.ax-landing-product-list li { align-items: flex-start; }
.ax-landing-product-list li::before { margin-top: 0.55em; }
/* Accordion titles use the full width instead of balanced short lines. */
.ax-editorial-page summary.ax-subhead { text-wrap: pretty; }
/* Sport paths: same gutter as the list above; links at the foot of each path. */
.ax-landing-dual { gap: 64px; }
.ax-landing-dual > article > .ax-editorial-link:last-child { margin-top: auto; }
/* Reading layout asides: when stacked above the text, sit as one row. */
@media (max-width: 1100px) {
  .ax-reading-layout--aside-end > aside.ax-card { flex-direction: row; flex-wrap: wrap; align-items: center; column-gap: var(--ax-4); }
}
.ax-reading-layout > aside .ax-btn { justify-content: flex-start; inline-size: fit-content; text-align: left; }
/* Study findings list: small list numbers under the section numbers. */
[data-research-article-content] .ax-step__num { font-size: 20px; line-height: 28px; }
[data-research-article-content] .ax-step .ax-small { font-size: 18px; line-height: 27px; color: var(--ax-text-2); }
/* Privacy contact card heading fits a phone screen. */
@media (max-width: 767px) {
  [aria-labelledby="privacy-contact-title"] .ax-h2 { font-size: 26px; line-height: 32px; }
}
/* External link icon stays inline with its label. */
.ax-external-link > .ax-icon { display: inline-block; }
/* Demo follow-up band: heading and text top-aligned. */
.ax-editorial-band > .ax-demo-next__inner { align-items: start; }
.ax-blog-figure--compact { max-inline-size: 560px; }
/* Blog card tags stay on one line so titles start at the same height. */
.ax-card .ax-row--wrap > .ax-tag { white-space: nowrap; }
/* Home heroes follow the written line breaks in both languages. */
.ax-integrated-hero--home .ax-h1 { max-width: none; white-space: pre-line; }
/* Accordion titles on phones. */
@media (max-width: 767px) {
  .ax-landing-depth > summary.ax-subhead { font-size: 20px; line-height: 26px; }
}
/* Card links stay on one line. */
.ax-card .ax-editorial-link { white-space: nowrap; }
/* Study page on tablet: less empty space between the title block and the text. */
@media (max-width: 1100px) {
  header.ax-site-main-offset + .ax-section { padding-top: var(--ax-6); }
}
@media (max-width: 1100px) {
  header.ax-site-main-offset.ax-section { padding-bottom: var(--ax-5); }
}
/* Product renders with a transparent background sit directly on the band. */
.ax-landing-product .ax-media { background: transparent; }

/* Scale by the visible screen bezel, not by each file's transparent canvas.
   Ratios below are image width/height and screen top divided by bezel height.
   All screen tops sit at 0.15 screen-heights, including the two Double screens. */
.ax-platform-models { --models-cols: 3; --model-screen-size: calc((100cqi - (var(--models-cols) - 1) * var(--ax-4)) / var(--models-cols) / 3.8); container-type: inline-size; display: grid; grid-template-columns: repeat(var(--models-cols), minmax(0, 1fr)); gap: var(--ax-6) var(--ax-4); list-style: none; margin: 0; padding: 0; }
.ax-platform-models > .ax-platform-model > .ax-media { aspect-ratio: auto; block-size: calc(var(--model-screen-size) * 2.45); }
.ax-platform-model--double { --model-image-width: 7.463104; --model-image-height: 2.798982; --model-image-top: -0.458142; }
.ax-platform-model--medium { --model-image-width: 3.742347; --model-image-height: 2.806122; --model-image-top: -0.401020; }
.ax-platform-model--mini-plus-wall { --model-image-width: 1.927739; --model-image-height: 2.393939; --model-image-top: -0.016667; }
.ax-platform-model--mini-plus { --model-image-width: 4.295302; --model-image-height: 2.416107; --model-image-top: 0.061633; }
.ax-platform-model--mini { --model-image-width: 4.052770; --model-image-height: 2.279683; --model-image-top: 0.074538; }
.ax-platform-model > .ax-media > img { position: absolute; left: 50%; top: calc(var(--model-screen-size) * var(--model-image-top)); width: calc(var(--model-screen-size) * var(--model-image-width)); height: calc(var(--model-screen-size) * var(--model-image-height)); max-width: none; transform: translateX(-50%); }
.ax-platform-model { display: flex; flex-direction: column; gap: var(--ax-1); min-width: 0; }
.ax-platform-model > .ax-media { border: 0; background: transparent; margin-bottom: var(--ax-2); }
.ax-platform-model--double { grid-column: span 2; }
.ax-platform-model > .ax-subhead { padding-top: var(--ax-2); }
@media (max-width: 900px) {
  .ax-platform-models { --models-cols: 2; }
}
@media (max-width: 767px) {
  .ax-platform-models { --models-cols: 1; --model-screen-size: calc(100cqi / 6.8); gap: var(--ax-5); }
  .ax-platform-model--double { grid-column: auto; }
}

/* Platform introduction: retain the film above a quiet text/photo split. */
#platform-hero .ax-hero-photo-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 4vw, 64px);
  width: min(100%, var(--ax-max));
  margin-inline: auto;
  padding: clamp(32px, 4vw, 56px) var(--ax-gutter);
  box-sizing: border-box;
}
#platform-hero .ax-hero-photo-split .ax-integrated-hero__copy { width: auto; padding: 0; }
#platform-hero .ax-hero-photo-split .ax-h1 { max-width: 15ch; font-size: clamp(40px, 4.1vw, 68px); }
#platform-hero .ax-hero-photo-split__image { min-width: 0; }
#platform-hero .ax-hero-photo-split__image .ax-media { aspect-ratio: 1 / 1; border: 0; }
#platform-hero .ax-hero-photo-split__image .ax-media__img { object-position: 100% 45%; filter: none; }
@media (max-width: 900px) {
  #platform-hero .ax-hero-photo-split { grid-template-columns: minmax(0, 1fr); }
  #platform-hero .ax-hero-photo-split .ax-h1 { max-width: 20ch; }
  #platform-hero .ax-hero-photo-split__image .ax-media { aspect-ratio: 4 / 3; }
}

#platform-hero .ax-media__review-tag { display: none; }

/* Compact, keyboard-accessible attribution; full terms remain in the disclosure. */
.ax-editorial-page details.ax-location-map__sources {
  border: 0;
  padding: 0;
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.5;
}
.ax-editorial-page details.ax-location-map__sources > summary {
  display: inline-flex;
  justify-content: flex-start;
  gap: 5px;
  min-height: 24px;
  padding: 2px 0;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ax-editorial-page details.ax-location-map__sources > summary::after { font-size: 12px; }
.ax-editorial-page details.ax-location-map__sources p { margin: 4px 0; font-size: 12px; }
.ax-editorial-page details.ax-location-map__sources a { min-height: 24px; font-size: 12px; }
#for-you-hero .ax-integrated-hero__visual { overflow: hidden; }
#for-you-hero .ax-integrated-hero__visual .ax-media { position: absolute; inset: 0; }
@media (max-width: 900px) {
  #for-you-hero .ax-integrated-hero__visual { min-height: 0; aspect-ratio: 4 / 5; }
}

/* Home hero: a full-bleed film with the promise set over it, so the home page
   reads differently from the split hero on the segment landing pages. */
.ax-home-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: min(88vh, 880px); overflow: hidden; background: #0b0d0c; color: #fff; }
.ax-home-hero__media { position: absolute; inset: 0; z-index: -2; }
.ax-home-hero__media > * { position: absolute; inset: 0; width: 100%; height: 100%; }
.ax-home-hero__media .ax-media { height: 100%; aspect-ratio: auto; border: 0; }
.ax-home-hero__media .ax-media__img, .ax-home-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.ax-home-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(8,10,9,.92) 0%, rgba(8,10,9,.62) 38%, rgba(8,10,9,.12) 75%), linear-gradient(to right, rgba(8,10,9,.55), transparent 65%); }
.ax-home-hero__content { width: 100%; padding-block: clamp(96px, 14vh, 160px) clamp(48px, 7vh, 88px); display: grid; gap: 24px; }
.ax-root .ax-home-hero__title { margin: 0; max-width: none; color: #fff; font-size: clamp(56px, 9.5vw, 156px); font-weight: 300; line-height: .92; letter-spacing: -0.035em; white-space: pre-line; }
.ax-root .ax-home-hero__lead { max-width: 40ch; margin: 0; color: rgba(255,255,255,.88); font-size: clamp(19px, 1.6vw, 24px); line-height: 1.4; }
.ax-home-hero__actions { align-items: center; }
.ax-root .ax-home-hero__secondary { color: var(--ax-green-09); }
.ax-root .ax-home-hero__note { margin: 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.22); max-width: 52ch; color: rgba(255,255,255,.72); font-size: 15px; }
.ax-home-hero .ax-media__badges { top: 16px; right: 16px; }
@media (max-width: 640px) {
  .ax-home-hero { min-height: 82svh; }
  .ax-home-hero__content { padding-inline: var(--ax-gutter-m); padding-block: 120px 40px; gap: 18px; }
}
/* Film first: the product film has its own captions, so it is shown whole (16:9, never cropped)
   edge to edge at the top, with no visible text block; the headline is visually hidden. */
.ax-home-hero--film-first { display: block; min-height: 0; background: #000; }
.ax-home-hero--film-first .ax-home-hero__media { position: relative; inset: auto; z-index: auto; width: 100%; aspect-ratio: 16 / 9; max-height: calc(100svh - var(--header-height, 76px)); }
.ax-home-hero--film-first .ax-hero-film { min-height: 0; }
.ax-home-hero--film-first .ax-hero-film__ambient :is(video, img) { object-fit: contain; }

/* Give the personal assessment invitation its own place below the audience cards. */
.ax-landing-consumer-strip.ax-home-consumer-callout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ax-4);
  padding: var(--ax-5);
  border: 1px solid var(--ax-border);
  border-inline-start: 4px solid var(--ax-accent);
  background: var(--ax-bg);
}
.ax-home-consumer-callout::before { content: none; }
.ax-root .ax-home-consumer-callout .ax-subhead { font-size: 40px; line-height: 48px; }
.ax-home-consumer-callout > .ax-btn { min-inline-size: 240px; }
/* Approved four-photo homepage workflow; other workflow lists keep their layout. */
.ax-landing-steps--photos > li { display: flex; flex-direction: column; gap: 16px; }
.ax-landing-steps--photos .ax-media { width: 100%; }
.ax-landing-steps--photos .ax-media__img { filter: none; }
.ax-landing-step-waypoint { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.ax-landing-step-waypoint::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ax-accent); flex: none; }
.ax-landing-step-waypoint::after { content: ""; height: 1px; background: var(--ax-border); flex: 1; }
/* Clinic needs: the selected explanation stays next to its choice at every width. */
.ax-clinic-page #sessions .ax-h2 { max-inline-size: none; }
.ax-clinic-assessments { display: grid; grid-template-columns: minmax(0, 1fr) 288px; gap: 80px; align-items: start; }
.ax-clinic-assessments--text-only { grid-template-columns: minmax(0, 1fr); max-inline-size: 850px; }
.ax-clinic-assessments__choices { display: grid; gap: 8px; }
.ax-clinic-assessments__item { border-inline-start: 3px solid transparent; }
.ax-clinic-assessments__item[data-active='true'] { border-inline-start-color: var(--ax-accent); background: var(--ax-surface-strong); }
.ax-root .ax-clinic-assessments__choice { display: flex; align-items: center; justify-content: space-between; gap: 24px; inline-size: 100%; padding: 16px 24px; border: 0; background: transparent; color: var(--ax-text); text-align: start; cursor: pointer; }
.ax-clinic-assessments__choice:hover { background: var(--ax-surface-hover); }
.ax-root .ax-clinic-assessments__choice .ax-subhead { font-size: 26px; line-height: 1.15; }
.ax-clinic-assessments__choice > .ax-icon { flex: none; }
.ax-clinic-assessments__item[data-active='true'] .ax-clinic-assessments__choice { color: var(--ax-accent); }
.ax-clinic-assessments__details:not([hidden]) { display: grid; gap: 16px; padding: 0 24px 24px; }
.ax-clinic-assessments__details[hidden] { display: none; }
.ax-clinic-assessments__details .ax-small { color: var(--ax-text); }
.ax-clinic-assessments__explanation { display: grid; grid-template-columns: 1fr 1.25fr; gap: 24px; margin: 0; }
.ax-clinic-assessments__explanation dt { margin-block-end: 8px; }
.ax-clinic-assessments__explanation dd { margin: 0; }
.ax-clinic-assessments__details .ax-editorial-link { justify-self: start; }
.ax-clinic-assessments__player { inline-size: 288px; justify-self: center; }
.ax-clinic-assessments__player figcaption { color: var(--ax-text-muted); }
@media (max-width: 1050px) {
  .ax-clinic-assessments { gap: 40px; }
  .ax-clinic-assessments__explanation { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 900px) {
  .ax-clinic-assessments { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ax-root .ax-clinic-assessments__choice { padding: 16px; gap: 16px; }
  .ax-root .ax-clinic-assessments__choice .ax-subhead { font-size: 22px; }
  .ax-clinic-assessments__details:not([hidden]) { padding: 0 16px 20px; }
  .ax-clinic-assessments__player { inline-size: min(100%, 280px); }
}

/* Shared assessment selector: one complete portrait film beside its choices. */
.ax-clinic-sessions { display: grid; grid-template-columns: minmax(0, 1fr) 288px; gap: 80px; align-items: center; }
.ax-clinic-sessions__choices { display: grid; gap: 8px; }
.ax-root .ax-clinic-sessions__choice { display: flex; align-items: center; justify-content: space-between; gap: 24px; inline-size: 100%; min-block-size: 104px; padding: 16px 24px; border: 0; border-inline-start: 3px solid transparent; background: transparent; color: var(--ax-text); text-align: start; cursor: pointer; transition: background-color 180ms ease, border-color 180ms ease; }
.ax-clinic-sessions__choice:hover { background: var(--ax-surface-hover); }
.ax-root .ax-clinic-sessions__choice[aria-pressed='true'] { background: var(--ax-surface-strong); border-inline-start-color: var(--ax-accent); }
.ax-clinic-sessions__choice[aria-pressed='true'] > .ax-icon, .ax-clinic-sessions__choice[aria-pressed='true'] .ax-label { color: var(--ax-accent); }
.ax-clinic-sessions__choice > .ax-icon { flex: none; color: var(--ax-text-muted); }
.ax-root .ax-clinic-sessions__choice .ax-subhead { font-size: 28px; line-height: 1.15; }
.ax-clinic-sessions__choice .ax-small { max-inline-size: 46ch; }
.ax-clinic-sessions__player { inline-size: 288px; justify-self: center; }
.ax-clinic-session-film { display: grid; gap: 16px; }
.ax-clinic-session-film .ax-media { background: #0b0b0c; }
.ax-clinic-session-film video { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
.ax-clinic-sessions__player figcaption { font-size: 14px; line-height: 1.4; color: var(--ax-text-muted); }
.ax-clinic-sessions__mobile-description { display: none; }
@media (max-width: 1050px) {
  .ax-clinic-sessions { gap: 40px; }
}
@media (max-width: 900px) {
  .ax-clinic-sessions { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .ax-clinic-sessions__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ax-clinic-sessions__choices--odd > :last-child { grid-column: 1 / -1; }
  .ax-root .ax-clinic-sessions__choice { min-block-size: 96px; padding: 16px; gap: 8px; align-items: start; }
  .ax-root .ax-clinic-sessions__choice .ax-subhead { font-size: 22px; line-height: 1.15; }
  .ax-root .ax-clinic-sessions__choices--odd .ax-subhead { font-size: 18px; }
  .ax-clinic-sessions__choices--odd .ax-clinic-sessions__choice > .ax-icon { display: none; }
  .ax-clinic-sessions__choice .ax-label { font-size: 10px; letter-spacing: .04em; }
  .ax-clinic-sessions__choice > .ax-icon { inline-size: 16px; block-size: 16px; }
  .ax-clinic-sessions__choice-description { display: none; }
  .ax-clinic-sessions__mobile-description { display: block; min-block-size: 4.5em; }
  .ax-clinic-sessions__player { inline-size: min(100%, 280px); }
}
@media (prefers-reduced-motion: reduce) {
  .ax-root .ax-clinic-sessions__choice { transition: none; }
}
@media (max-width: 900px) {
  .ax-landing-consumer-strip.ax-home-consumer-callout { grid-template-columns: minmax(0, 1fr); padding: var(--ax-3); gap: var(--ax-3); }
  .ax-root .ax-home-consumer-callout .ax-subhead { font-size: var(--ax-h2-m); line-height: var(--ax-h2-m-lh); }
  .ax-home-consumer-callout > .ax-btn { min-inline-size: 0; inline-size: 100%; }
}

/* Approved gym/sport full-width heroes and aligned Gevity workflow photographs. */
.ax-root .ax-home-hero--solution .ax-home-hero__title { max-width: 15ch; font-size: clamp(48px, 6vw, 96px); line-height: 1; }
.ax-root .ax-home-hero--solution .ax-home-hero__note { padding-top: 0; border-top: 0; }
/* Keep the sport film control above the shade, with the film behind the copy. */
.ax-sport-page .ax-home-hero__media:has(.ax-hero-film) { z-index: auto; pointer-events: none; }
.ax-sport-page .ax-home-hero__media .ax-hero-film__ambient { z-index: -2; }
.ax-sport-page .ax-home-hero .ax-hero-film__controls { inset: 24px 24px auto auto; padding: 0; background: none; pointer-events: auto; }
.ax-sport-page .ax-home-hero__lead { max-width: 52ch; }
@media (min-width: 768px) {
  .ax-gym-page .ax-landing-steps--photos > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 16px; }
}

/* Source photographs stay intact; display-only grading matches the graphite bands. */
.ax-sport-page #shared-workflow .ax-media__img { filter: brightness(1.25) contrast(1.15) saturate(.72); }
.ax-sport-page #shared-workflow [data-ax-photo="sport-workflow-select-v1"] .ax-media__img { filter: brightness(.86) contrast(.96) saturate(.55); }
.ax-sport-page #shared-workflow [data-ax-photo="sport-workflow-review-v1"] .ax-media__img { filter: saturate(.68) contrast(1.06) brightness(.94); }
.ax-sport-page #shared-workflow .ax-num { margin: 0; }
@media (min-width: 641px) {
  .ax-sport-page #shared-workflow .ax-landing-steps--photos > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 16px; }
}

/* Approved product drawings: normalize visible bounds, not the transparent canvas. */
.ax-platform-part {
  --ax-platform-part-gutter: var(--ax-3);
  container-type: inline-size;
}
.ax-platform-part__visual {
  --ax-platform-part-height: min(204px, calc((100cqi - 2 * var(--ax-platform-part-gutter)) / 1.6));
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: var(--ax-4) var(--ax-platform-part-gutter) var(--ax-3);
  overflow: hidden;
}
.ax-platform-part__drawing {
  position: relative;
  flex: none;
  block-size: var(--ax-platform-part-height);
  inline-size: calc(var(--ax-platform-part-height) * var(--ax-part-ratio));
  aspect-ratio: var(--ax-part-ratio);
}
.ax-platform-part__image {
  position: absolute;
  display: block;
  max-inline-size: none;
  inline-size: var(--ax-part-image-width);
  block-size: auto;
  inset-inline-start: var(--ax-part-image-left);
  inset-block-start: var(--ax-part-image-top);
  filter: var(--ax-theme-logo-filter);
}
.ax-platform-part__accent {
  color: var(--ax-theme-link);
  filter: none;
  pointer-events: none;
}
.ax-platform-part__visual--measure { --ax-part-ratio: 1.593886; --ax-part-image-width: 131.50685%; --ax-part-image-left: -15.753425%; --ax-part-image-top: -28.60262%; }
.ax-platform-part__visual--train { --ax-part-ratio: .580531; --ax-part-image-width: 292.68293%; --ax-part-image-left: -96.341464%; --ax-part-image-top: -13.716814%; }
.ax-platform-part__visual--control { --ax-part-ratio: .506195; --ax-part-image-width: 335.664336%; --ax-part-image-left: -117.832168%; --ax-part-image-top: -13.716814%; }
.ax-platform-part__visual--software { --ax-part-ratio: 1.054108; --ax-part-image-width: 182.509506%; --ax-part-image-left: -41.254753%; --ax-part-image-top: -22.144289%; }
.ax-editorial-page .ax-platform-part > .ax-platform-part__copy {
  padding: 0 var(--ax-platform-part-gutter) var(--ax-4);
  gap: var(--ax-2);
}
.ax-editorial-page .ax-platform-part__copy > .ax-subhead {
  min-block-size: 0;
  font-size: clamp(22px, 8cqi, 26px);
  line-height: 1.18;
  text-wrap: wrap;
}
@media (min-width: 1500px) {
  .ax-platform-part { --ax-platform-part-gutter: var(--ax-4); }
}
@media (max-width: 767px) {
  .ax-platform-part__visual { --ax-platform-part-height: min(184px, calc((100cqi - 2 * var(--ax-platform-part-gutter)) / 1.6)); }
}

/* Typical session length under a session name. Quiet running text, no icon. */
.ax-root .ax-duration { display: block; font-size: 14px; line-height: 1.4; color: var(--ax-text-muted); }

/* Lower-commitment next steps: quiet tiles under the demo call to action. */
.ax-buyer-steps { margin-top: 64px; }
.ax-buyer-steps__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ax-buyer-steps__list[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ax-buyer-steps__tile { display: grid; grid-template-rows: 1fr auto; gap: 20px; padding: 28px; background: var(--ax-surface); }
.ax-buyer-steps__title { font-size: 20px; line-height: 1.25; font-weight: 400; letter-spacing: -.01em; }
.ax-buyer-steps__link { align-self: end; }
@media (max-width: 900px) {
  .ax-buyer-steps { margin-top: 48px; }
  .ax-buyer-steps__list, .ax-buyer-steps__list[data-count="3"] { grid-template-columns: minmax(0, 1fr); }
  .ax-buyer-steps__tile { padding: 24px; }
}

/* Why Alphatek: an ink chapter like the specifications. Each comparison row
   sets the common challenge on a quiet surface beside a brighter Alphatek
   surface with a single mint rule; the points use the site's point pattern. */
.ax-platform-why__head { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 72px; align-items: end; }
.ax-platform-why__head .ax-body { max-width: 34ch; font-size: 22px; line-height: 1.4; color: var(--ax-text-2); }
.ax-platform-why__table-wrap { overflow-x: auto; }
.ax-platform-why__table { width: 100%; border-collapse: separate; border-spacing: 0 12px; text-align: left; table-layout: fixed; }
.ax-platform-why__table thead th { padding: 0 24px 4px 0; }
.ax-platform-why__table thead th:nth-child(1) { width: 28%; }
.ax-platform-why__table tbody th { padding: 28px 32px 28px 0; vertical-align: top; }
.ax-platform-why__table td { padding: 28px 32px; vertical-align: top; }
.ax-platform-why__typical { background: var(--ax-surface); color: var(--ax-text-muted); }
.ax-platform-why__alphatek { background: var(--ax-surface-strong); color: var(--ax-text); border-left: 3px solid var(--ax-accent); }
.ax-platform-why__cell-label { display: none; }
.ax-platform-why .ax-landing-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ax-platform-why .ax-landing-points > article { margin-bottom: 40px; }
.ax-platform-teaser__why { margin-top: 8px; }
@media (max-width: 900px) {
  .ax-platform-why__head { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .ax-platform-why .ax-landing-points { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .ax-platform-why__table thead { display: none; }
  .ax-platform-why__table, .ax-platform-why__table tbody, .ax-platform-why__table tr, .ax-platform-why__table th, .ax-platform-why__table td { display: block; width: auto; }
  .ax-platform-why__table tr { margin-bottom: 32px; }
  .ax-platform-why__table tbody th { padding: 0 0 12px; }
  .ax-platform-why__table td { padding: 20px; }
  .ax-platform-why__cell-label { display: block; margin-bottom: 8px; }
}
.ax-platform-why .ax-subhead { text-wrap: balance; }
.ax-platform-why__photo { align-self: end; }

/* G09: compact, balanced closing and quieter alternatives. */
.ax-gym-page .ax-landing-closing { grid-template-columns: 1fr 1fr; gap: clamp(32px, 5vw, 72px); }
.ax-gym-page .ax-gym-closing-alternatives { margin-top: 40px; }
.ax-clinic-page .ax-clinic-closing-alternatives { margin-top: 40px; }
.ax-clinic-page .ax-clinic-closing-alternatives .ax-buyer-steps { margin-top: 0; }
.ax-gym-page .ax-gym-closing-alternatives .ax-buyer-steps { margin-top: 0; padding-top: 0; border-top: 0; }
@media (max-width: 800px) { .ax-gym-page .ax-landing-closing { grid-template-columns: 1fr; } }
.ax-sport-workflow__heading { text-align: center; align-items: center; }
.ax-sport-workflow__heading .ax-h2 { max-width: none; }
.ax-sport-workflow__heading .ax-body { max-width: 78ch; }
.ax-sport-workflow__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ax-8); align-items: stretch; }
.ax-sport-workflow__grid > * { min-width: 0; }
.ax-sport-workflow__steps { display: grid; grid-template-rows: repeat(3, 1fr); list-style: none; margin: 0; padding: 0; }
.ax-sport-workflow__steps > li { display: grid; grid-template-columns: 36px 1fr; gap: var(--ax-2); align-content: center; padding: var(--ax-3) 0; border-top: 1px solid var(--ax-border); }
.ax-sport-workflow__steps > li:last-child { border-bottom: 1px solid var(--ax-border); }
.ax-sport-workflow__number { padding-top: 4px; color: var(--ax-accent); font-size: 24px; white-space: nowrap; }
.ax-sport-workflow__film .ax-acquisition-film-launcher > .ax-btn { width: 100%; }
.ax-sport-workflow .ax-acquisition-film-dialog { width: min(960px, calc(100vw - 32px)); }
.ax-sport-workflow .ax-acquisition-film-dialog video { width: min(100%, calc((100dvh - 220px) * 4 / 3)); aspect-ratio: 4 / 3; }
@media (max-width: 900px) {
  .ax-sport-workflow__heading { text-align: left; align-items: stretch; }
  .ax-sport-workflow__grid { grid-template-columns: 1fr; gap: var(--ax-5); }
  .ax-sport-workflow__steps { grid-template-rows: none; }
}
.ax-sport-use-cases__heading { text-align: center; align-items: center; }
.ax-sport-use-cases__heading .ax-h2 { max-width: none; }
.ax-sport-use-cases__heading .ax-body { max-width: 72ch; }
/* I03: three photo cards with the text under each photo. Subgrid keeps photos, titles and text on shared lines. */
.ax-sport-use-cases__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--ax-4); row-gap: var(--ax-5); }
.ax-sport-use-cases__card { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: var(--ax-2); align-content: start; }
.ax-sport-use-cases__card .ax-subhead { margin-top: var(--ax-1); }
.ax-sport-use-cases__action { text-align: center; }
@media (max-width: 900px) {
  .ax-sport-use-cases__heading { text-align: left; align-items: stretch; }
  .ax-sport-use-cases__grid { grid-template-columns: 1fr; }
  .ax-sport-use-cases__card { grid-row: auto; grid-template-rows: none; }
  .ax-sport-use-cases__action { text-align: left; }
}
/* I04: four test cards with a real product screen each. Subgrid keeps screens, names and text aligned. */
.ax-sport-tests__heading { text-align: center; align-items: center; }
.ax-sport-tests__heading .ax-h2 { max-width: none; }
.ax-sport-tests__heading .ax-body { max-width: 64ch; }
.ax-sport-tests__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--ax-4); row-gap: var(--ax-5); }
.ax-sport-tests__card { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: var(--ax-2); align-content: start; }
.ax-sport-tests__card .ax-subhead { margin-top: var(--ax-1); }
.ax-sport-tests__screen { background: #0b0b0c; }
.ax-sport-tests__action { text-align: center; }
@media (max-width: 1100px) {
  .ax-sport-tests__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ax-sport-tests__hint, .ax-sport-tests__dots { display: none; }
@media (max-width: 600px) {
  .ax-sport-tests__heading { text-align: left; align-items: stretch; }
  /* Carousel: each card is 78% wide so the next one peeks in, and cards snap into place. */
  .ax-sport-tests__grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 78%; column-gap: var(--ax-3);
    overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0; overscroll-behavior-x: contain; scrollbar-width: none;
    margin-inline: calc(-1 * var(--ax-gutter-m, 16px)); padding-inline: var(--ax-gutter-m, 16px); scroll-padding-left: var(--ax-gutter-m, 16px); }
  .ax-sport-tests__grid::-webkit-scrollbar { display: none; }
  .ax-sport-tests__grid:focus-visible { outline: 2px solid var(--ax-accent); outline-offset: 4px; }
  .ax-sport-tests__card { grid-row: auto; grid-template-rows: none; scroll-snap-align: start; }
  .ax-sport-tests__hint { display: flex; align-items: center; gap: var(--ax-1); margin: 0; color: var(--ax-accent); font-size: 15px; font-weight: 600; }
  .ax-sport-tests__dots { display: flex; justify-content: center; margin-top: calc(-1 * var(--ax-2)); }
  /* The button is the 24 x 44 px touch target; the visible dot is drawn inside it. */
  .ax-sport-tests__dot { display: grid; place-items: center; min-width: 24px; height: 44px; padding: 0 4px; border: 0; background: none; color: inherit; cursor: pointer; }
  .ax-sport-tests__dot::before { content: ""; width: 10px; height: 10px; border-radius: 5px; background: color-mix(in srgb, currentColor 30%, transparent); }
  .ax-sport-tests__dot[aria-current="true"]::before { width: 26px; background: var(--ax-accent); }
  .ax-sport-tests__action { text-align: left; }
}
@media (max-width: 600px) and (prefers-reduced-motion: no-preference) {
  .ax-sport-tests__grid { scroll-behavior: smooth; }
  .ax-sport-tests__dot::before { transition: width .2s ease, background-color .2s ease; }
}
/* I05: two equal source cards. Subgrid gives photo, source line, title, each fact and the link a shared row across both cards. */
.ax-sport-evidence__heading { text-align: center; align-items: center; }
.ax-sport-evidence__heading .ax-h2 { max-width: none; }
.ax-sport-evidence__heading .ax-body { max-width: 64ch; }
.ax-sport-evidence__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ax-4); }
.ax-sport-evidence__card { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: var(--ax-3); padding-bottom: var(--ax-4); border: 1px solid var(--ax-border); background: var(--ax-surface); }
.ax-sport-evidence__card > :not(.ax-media), .ax-sport-evidence__facts > div { margin-inline: var(--ax-4); }
.ax-sport-evidence__meta { margin-top: var(--ax-1); }
.ax-sport-evidence__facts { display: contents; }
.ax-sport-evidence__facts > div { display: grid; gap: 4px; padding-top: var(--ax-3); border-top: 1px solid var(--ax-border); }
.ax-sport-evidence__facts dd { margin: 0; }
.ax-sport-evidence__link { align-self: end; }
.ax-sport-evidence__action { text-align: center; }
@media (max-width: 900px) {
  .ax-sport-evidence__heading { text-align: left; align-items: stretch; }
  .ax-sport-evidence__grid { grid-template-columns: 1fr; }
  .ax-sport-evidence__card { grid-row: auto; grid-template-rows: none; }
  .ax-sport-evidence__action { text-align: left; }
}
/* I07: three photo cards from purpose to routine. Subgrid keeps photos, titles and text aligned. */
.ax-sport-routine__heading { text-align: center; align-items: center; }
.ax-sport-routine__heading .ax-h2 { max-width: none; }
.ax-sport-routine__heading .ax-body { max-width: 64ch; }
.ax-sport-routine__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--ax-4); row-gap: var(--ax-5); }
.ax-sport-routine__card { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: var(--ax-2); align-content: start; }
.ax-sport-routine__card .ax-subhead { margin-top: var(--ax-1); }
.ax-sport-routine__action { text-align: center; }
@media (max-width: 900px) {
  .ax-sport-routine__heading { text-align: left; align-items: stretch; }
  .ax-sport-routine__grid { grid-template-columns: 1fr; }
  .ax-sport-routine__card { grid-row: auto; grid-template-rows: none; }
  .ax-sport-routine__action { text-align: left; }
}
/* Platform sessions animation: activities lock together into a session.
   The scene is drawn on a fixed 1080 x 880 canvas and scaled to the column
   width from script, so the motion keeps its proportions on every screen.
   The stage shows only the band the motion uses (y 170..720). */
.ax-sessions-anim { position: relative; width: 100%; aspect-ratio: 1080 / 550; overflow: hidden; min-width: 0; background: radial-gradient(circle at 40% 30%, #28282a, var(--ax-gray-01) 80%); }
.ax-sessions-anim__canvas { position: absolute; left: 0; top: 0; width: 1080px; height: 880px; transform-origin: 0 0; }
.ax-sessions-anim__tile { position: absolute; left: 0; top: 0; width: 300px; height: 300px; transform-origin: 0 0; overflow: hidden; background: rgba(237, 238, 240, .12); }
.ax-root .ax-sessions-anim__photo { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform-origin: 50% 50%; }
.ax-sessions-anim__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10, 10, 12, .82), rgba(10, 10, 12, .18) 42%, rgba(10, 10, 12, .18) 68%, rgba(10, 10, 12, .72)); }
.ax-sessions-anim__done { position: absolute; inset: 0; opacity: 0; transform-origin: 50% 100%; background: rgba(133, 255, 182, .32); }
.ax-sessions-anim__kicker, .ax-sessions-anim__kick2 { position: absolute; font-size: 24px; line-height: 28px; color: rgba(237, 238, 240, .78); }
.ax-sessions-anim__kicker { left: 22px; top: 18px; }
.ax-sessions-anim__kick2 { left: 32px; top: 22px; }
.ax-sessions-anim__name { position: absolute; left: 22px; top: 48px; font-weight: 300; font-size: 52px; line-height: 56px; letter-spacing: -.01em; color: var(--ax-text); }
.ax-sessions-anim__dot { position: absolute; right: 22px; top: 28px; width: 12px; height: 12px; border-radius: 50%; background: var(--ax-green-09); opacity: 0; }
.ax-sessions-anim__icon { position: absolute; right: 22px; bottom: 22px; width: 44px; height: 44px; overflow: visible; fill: var(--ax-text); }
.ax-sessions-anim__play { transform-box: fill-box; transform-origin: 50% 50%; }
.ax-sessions-anim__frame { position: absolute; left: 42px; top: 190px; width: 996px; height: 502px; opacity: 0; transform-origin: 50% 50%; border: 1px solid rgba(237, 238, 240, .18); background: radial-gradient(90% 70% at 0 0, rgba(246, 180, 94, .42), transparent 75%), rgba(10, 10, 12, .72); }
.ax-sessions-anim__title { position: absolute; left: 32px; top: 52px; font-weight: 300; font-size: 56px; line-height: 60px; letter-spacing: -.01em; white-space: nowrap; color: var(--ax-text); }
.ax-sessions-anim__title span { display: inline-block; }
.ax-sessions-anim__bar { position: absolute; left: 32px; top: 446px; width: 932px; height: 24px; background: repeating-linear-gradient(90deg, rgba(237, 238, 240, .28) 0 3px, transparent 3px 10px); }
.ax-sessions-anim__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: repeating-linear-gradient(90deg, var(--ax-green-09) 0 3px, transparent 3px 10px); }

/* Platform updates: page text beside a silent phone loop. The video is cut
   from a white frame; multiply lets the white take the band colour. */
.ax-platform-updates { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 24rem); gap: var(--ax-6) var(--ax-8); align-items: center; }
.ax-platform-updates__video { display: block; width: 100%; height: auto; mix-blend-mode: multiply;
  /* The phone shadow reaches the crop edges; fade them so no box shows. */
  -webkit-mask-image: linear-gradient(to bottom, #000 93%, transparent), linear-gradient(to right, transparent, #000 16%, #000 84%, transparent);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to bottom, #000 93%, transparent), linear-gradient(to right, transparent, #000 16%, #000 84%, transparent);
  mask-composite: intersect; }
@media (max-width: 767px) { .ax-platform-updates { grid-template-columns: minmax(0, 1fr); } .ax-platform-updates__video { max-width: 20rem; margin-inline: auto; } }
