/* ArrowPath Sleep: site styles. Generated by scripts/wp/build.mjs from the reviewed design; edit the sources, not this file. */

@layer wpcore, theme, base, components, utilities;

@layer base {
/*
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
  2. Remove default margins and padding
  3. Reset all borders.
*/

*,
::after,
::before,
::backdrop,
::file-selector-button {
  box-sizing: border-box; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 2 */
  border: 0 solid; /* 3 */
}

/*
  1. Use a consistent sensible line-height in all browsers.
  2. Prevent adjustments of font size after orientation changes in iOS.
  3. Use a more readable tab size.
  4. Use the user's configured `sans` font-family by default.
  5. Use the user's configured `sans` font-feature-settings by default.
  6. Use the user's configured `sans` font-variation-settings by default.
  7. Disable tap highlights on iOS.
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  tab-size: 4; /* 3 */
  font-family: ui-sans-serif,
    system-ui,
    sans-serif,
    'Apple Color Emoji',
    'Segoe UI Emoji',
    'Segoe UI Symbol',
    'Noto Color Emoji'; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
  1. Add the correct height in Firefox.
  2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
  3. Reset the default border style to a 1px solid border.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
  Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
  Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
  Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

/*
  Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
  1. Use the user's configured `mono` font-family by default.
  2. Use the user's configured `mono` font-feature-settings by default.
  3. Use the user's configured `mono` font-variation-settings by default.
  4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    'Liberation Mono',
    'Courier New',
    monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
  Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
  Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
  2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
  3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
  Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
  Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
  Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
  Make lists unstyled by default.
*/

ol,
ul,
menu {
  list-style: none;
}

/*
  1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
  2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
      This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

/*
  Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/*
  1. Inherit font styles in all browsers.
  2. Remove border radius in all browsers.
  3. Remove background color in all browsers.
  4. Ensure consistent opacity for disabled states in all browsers.
*/

button,
input,
select,
optgroup,
textarea,
::file-selector-button {
  font: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  border-radius: 0; /* 2 */
  background-color: transparent; /* 3 */
  opacity: 1; /* 4 */
}

/*
  Restore default font weight.
*/

:where(select:is([multiple], [size])) optgroup {
  font-weight: bolder;
}

/*
  Restore indentation.
*/

:where(select:is([multiple], [size])) optgroup option {
  padding-inline-start: 20px;
}

/*
  Restore space after button.
*/

::file-selector-button {
  margin-inline-end: 4px;
}

/*
  Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
*/

::placeholder {
  opacity: 1;
}

/*
  Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
  crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
*/

@supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
  (contain-intrinsic-size: 1px) /* Safari 17+ */ {
  ::placeholder {
    color: color-mix(in oklab, currentcolor 50%, transparent);
  }
}

/*
  Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
  Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
  1. Ensure date/time inputs have the same height when empty in iOS Safari.
  2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
*/

::-webkit-date-and-time-value {
  min-height: 1lh; /* 1 */
  text-align: inherit; /* 2 */
}

/*
  Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
*/

::-webkit-datetime-edit {
  display: inline-flex;
}

/*
  Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
*/

::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

::-webkit-datetime-edit,
::-webkit-datetime-edit-year-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-minute-field,
::-webkit-datetime-edit-second-field,
::-webkit-datetime-edit-millisecond-field,
::-webkit-datetime-edit-meridiem-field {
  padding-block: 0;
}

/*
  Center dropdown marker shown on inputs with paired `<datalist>`s in Chrome. (https://github.com/tailwindlabs/tailwindcss/issues/18499)
*/

::-webkit-calendar-picker-indicator {
  line-height: 1;
}

/*
  Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
  Correct the inability to style the border radius in iOS Safari.
*/

button,
input:where([type='button'], [type='reset'], [type='submit']),
::file-selector-button {
  appearance: button;
}

/*
  Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
  Make elements with the HTML hidden attribute stay hidden by default.
*/

[hidden]:where(:not([hidden='until-found'])) {
  display: none !important;
}

}

/* Geist (variable, 100–900), self-hosted: latin and latin-ext. */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
.aps {
  --font-geist: "Geist";
  --font-geist-mono: ui-monospace;
}

/* ──────────────────────────────────────────────────────────────────────────
   APSleep.com: the shared design system for /v1, /v2, /v3.
   One world: white ground, porcelain media fields (#DCDCDC, the animation's
   own grey), one night-blue field family for sleep and airway moments,
   graphite ink, slate secondary text, one signal blue for interaction and the
   airway line. Geist (300–600) for everything; Geist Mono only for
   measurements, timecodes and spec values.

   Everything is scoped to .aps. Component styles live in the `components`
   layer so Tailwind utilities still override them.
   ────────────────────────────────────────────────────────────────────────── */

@layer theme, base, components, utilities;

/* ══ Tokens + base ══════════════════════════════════════════════════════ */

@layer base {
  .aps {
    /* Grounds */
    --white: #ffffff;
    --porcelain: #dcdcdc;
    --mist: #f2f3f5; /* the secondary band field: tutorial, conditions, practice panel, footer. Always var(--mist), never the hex. */
    --night: #0b1526;
    --night-2: #13213a;
    --night-3: #1c2d4b;

    /* Ink */
    --ink: #15191e;
    --ink-2: #2b3139;
    --slate: #56606b; /* 6.4:1 on white, 5.8:1 on mist */
    --slate-porcelain: #4a5460; /* 5.6:1 on porcelain */
    --on-night: #f2f5fa;
    --on-night-2: #a6b3c9; /* 8.6:1 on night */

    /* Signal: interaction, active states, the airway line. Nothing else. */
    --signal: #2a6fdb;
    --signal-hover: #1f5cc0;
    --signal-ink: #1f5cc0; /* signal as small text on light grounds */
    --signal-night: #8fb2f2; /* signal as text on night */
    --signal-wash: rgb(42 111 219 / 0.07);

    /* Lines */
    --hair: rgb(21 25 30 / 0.12);
    --hair-strong: rgb(21 25 30 / 0.24);
    --hair-night: rgb(214 226 255 / 0.14);
    --hair-night-strong: rgb(214 226 255 / 0.28);

    /* Contextual: re-pointed by the .tone-* grounds */
    --bg: var(--white);
    --fg: var(--ink);
    --fg-2: var(--slate);
    --line: var(--hair);
    --line-strong: var(--hair-strong);
    --accent-text: var(--signal-ink);
    --surface: var(--mist);
    --track: rgb(21 25 30 / 0.06);
    --control: #7d858f; /* checkbox borders etc. ≥ 3:1 */

    /* Type */
    --font-sans: var(--font-geist), ui-sans-serif, system-ui, sans-serif;
    --font-mono: var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;

    /* Type scale. Clinical restraint: the slopes flatten out by about 1440px,
       so a 1900px screen gets wider margins, not bigger type. */
    --fs-display: clamp(2.5rem, 1.75rem + 2.4vw, 4rem); /* home hero h1 only: 40 → 64 */
    --fs-h1: clamp(2.125rem, 1.75rem + 1.2vw, 2.6875rem); /* page h1: 34 → 43 */
    --fs-h2: clamp(1.75rem, 1.45rem + 0.9vw, 2.25rem); /* section h2: 28 → 36 */
    --fs-h3: clamp(1.375rem, 1.25rem + 0.35vw, 1.625rem); /* 22 → 26 */
    --fs-quote: clamp(1.5rem, 1.3rem + 0.6vw, 2rem); /* pull quotes, theses: 24 → 32 */
    --fs-passage: clamp(1.3125rem, 1.2rem + 0.4vw, 1.625rem); /* set passages, index names: 21 → 26 */
    --fs-lead: clamp(1.1875rem, 1.1rem + 0.3vw, 1.375rem); /* 19 → 22 */

    /* Layout. Content stops at 1200px; wide screens get margins. */
    --gutter: clamp(20px, 4.2vw, 56px);
    --maxw: 1200px;
    --textw: 46rem;
    --col-gap: clamp(20px, 2.4vw, 40px);
    /* One calm cadence: a band's padding is about twice its head gap, and
       two bands of the same tone never stack more than ~210px of air. */
    --space-lg: clamp(72px, 7vw, 104px);
    --space-md: clamp(56px, 5.5vw, 84px);
    --space-sm: clamp(40px, 4vw, 56px);
    --head-gap: clamp(28px, 3.4vw, 48px);
    --hd-h: 64px;

    /* Shape + depth */
    --r-card: 20px;
    --r-inner: 12px;
    --r-pill: 999px;
    --shadow-1: 0 1px 2px rgb(11 21 38 / 0.06), 0 6px 16px -8px rgb(11 21 38 / 0.18);
    --shadow-2: 0 2px 4px rgb(11 21 38 / 0.05), 0 28px 56px -28px rgb(11 21 38 / 0.38);

    /* Motion: exponential ease-out */
    --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --dur-1: 160ms;
    --dur-2: 320ms;
    --dur-3: 640ms;

    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    background: var(--white);
    color: var(--fg);
    font-family: var(--font-sans);
    font-size: 1.0625rem;
    line-height: 1.6;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    caret-color: var(--signal);
    accent-color: var(--signal);
    -webkit-tap-highlight-color: transparent;
    color-scheme: light;
  }

  @media (min-width: 1180px) {
    .aps {
      --hd-h: 76px;
    }
  }

  /* Browser surfaces */
  html:has(.aps) {
    background: #ffffff;
    scrollbar-color: #b9bec5 #ffffff;
  }
  html:has(.aps)::-webkit-scrollbar {
    width: 12px;
    background: #ffffff;
  }
  html:has(.aps)::-webkit-scrollbar-thumb {
    border: 3px solid #ffffff;
    border-radius: 999px;
    background: #b9bec5;
  }
  html:has(.aps)::-webkit-scrollbar-thumb:hover {
    background: #8e959e;
  }
  html.aps-locked,
html:has(.aps dialog[open]) {
    overflow: hidden;
  }
  @media (prefers-reduced-motion: reduce) {
    html:has(.aps) {
      scroll-behavior: auto;
    }
  }

  .aps ::selection {
    background: #cddcf7;
    color: var(--ink);
  }
  .aps .tone-night ::selection,
.aps .tp-console ::selection {
    background: var(--signal);
    color: #ffffff;
  }

  .aps :focus-visible {
    outline: 2px solid var(--signal);
    outline-offset: 3px;
  }
  .aps .tone-night :focus-visible,
.aps .tp-console :focus-visible {
    outline-color: var(--signal-night);
  }

  .aps main {
    flex: 1 0 auto;
    outline: none;
  }
  .aps [id] {
    scroll-margin-top: calc(var(--hd-h) + 24px);
  }

  .aps :where(h1, h2, h3, h4, h5, h6) {
    margin: 0;
    font-weight: 400;
    letter-spacing: -0.015em;
    text-wrap: balance;
  }
  .aps :where(p, :is(li, .is-li), :is(dd, .is-dd), :is(figcaption, .is-figcaption)) {
    text-wrap: pretty;
  }
  .aps :where(p, :is(figure, .is-figure), :is(dl, .is-dl), :is(dd, .is-dd), :is(blockquote, .is-blockquote)) {
    margin: 0;
  }
  .aps :where(:is(a, .is-a)) {
    color: inherit;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.24em;
  }
  .aps :where(button:not(:disabled), [role="button"], :is(label, .is-label):has(input)) {
    cursor: pointer;
  }
  .aps :where(:is(address, .is-address)) {
    font-style: normal;
  }
  .aps :where(table, .num, .mono) {
    font-variant-numeric: tabular-nums;
  }

  .aps .mono {
    font-family: var(--font-mono);
    font-weight: 400;
    letter-spacing: -0.01em;
  }
  .aps .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
}

/* ══ Components ═════════════════════════════════════════════════════════ */

@layer components {
  /* ── Type ──────────────────────────────────────────────────────────── */

  .aps .t-display {
    font-size: var(--fs-display);
    font-weight: 300;
    line-height: 1;
    letter-spacing: -0.032em;
  }
  .aps .t-h1 {
    font-size: var(--fs-h1);
    font-weight: 300;
    line-height: 1.04;
    letter-spacing: -0.03em;
  }
  .aps .t-h2 {
    font-size: var(--fs-h2);
    font-weight: 350;
    line-height: 1.1;
    letter-spacing: -0.024em;
  }
  .aps .t-h3 {
    font-size: var(--fs-h3);
    font-weight: 450;
    line-height: 1.2;
    letter-spacing: -0.018em;
  }
  .aps .t-h4 {
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.01em;
  }
  .aps .t-lead {
    font-size: var(--fs-lead);
    line-height: 1.5;
    letter-spacing: -0.006em;
    color: var(--fg-2);
    max-width: 42ch;
  }
  .aps .t-small {
    font-size: 0.9375rem;
    line-height: 1.55;
  }
  .aps .t-quiet {
    color: var(--fg-2);
  }

  /* ── Grounds + layout ──────────────────────────────────────────────── */

  .aps .tone-white,
.aps .tone-mist,
.aps .tone-porcelain,
.aps .tone-night {
    background-color: var(--bg);
    color: var(--fg);
  }
  .aps .tone-white {
    --bg: var(--white);
  }
  .aps .tone-mist {
    --bg: var(--mist);
    --surface: var(--white);
  }
  .aps .tone-porcelain {
    --bg: var(--porcelain);
    --fg-2: var(--slate-porcelain);
    --line: rgb(21 25 30 / 0.14);
    --line-strong: rgb(21 25 30 / 0.3);
    --surface: #e9e9e9;
    --track: rgb(21 25 30 / 0.08);
    --control: #6b737d;
  }
  .aps .tone-night {
    --bg: var(--night);
    --fg: var(--on-night);
    --fg-2: var(--on-night-2);
    --line: var(--hair-night);
    --line-strong: var(--hair-night-strong);
    --accent-text: var(--signal-night);
    --surface: var(--night-2);
    --track: rgb(214 226 255 / 0.08);
    --control: #7f8ca3;
    background-image: radial-gradient(80% 60% at 82% 0%, rgb(42 111 219 / 0.11), transparent 70%);
    color-scheme: dark;
  }

  .aps .wrap,
.aps .aps-wrap {
    width: 100%;
    max-width: calc(var(--maxw) + 2 * var(--gutter));
    margin-inline: auto;
    padding-inline: var(--gutter);
  }
  .aps .wrap-text,
.aps .aps-wrap-text {
    max-width: calc(var(--textw) + 2 * var(--gutter));
  }

  .aps .sec {
    position: relative;
  }
  .aps .space-lg {
    padding-block: var(--space-lg);
  }
  .aps .space-md {
    padding-block: var(--space-md);
  }
  .aps .space-sm {
    padding-block: var(--space-sm);
  }
  .aps .flush-top,
.aps .flush-both {
    padding-top: 0;
  }
  .aps .flush-bottom,
.aps .flush-both {
    padding-bottom: 0;
  }

  .aps .grid-2,
.aps .grid-3 {
    display: grid;
    gap: clamp(36px, 4vw, 56px) var(--col-gap);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  @media (min-width: 640px) {
    .aps .grid-2,
.aps .grid-3 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (min-width: 1000px) {
    .aps .grid-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .aps .actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }

  /* Section head: more space above (section padding) than below. */
  .aps .shead {
    display: grid;
    gap: 20px var(--col-gap);
    margin-bottom: var(--head-gap);
  }
  .aps .shead-title {
    max-width: 22ch;
  }
  .aps .shead-aside {
    display: grid;
    gap: 24px;
    justify-items: start;
  }
  /* Split: the heading and its lead read as one block on the left; the
     action sits at the right edge of the column, on the last line of that
     block, so nothing floats in the middle of the row. */
  @media (min-width: 900px) {
    .aps .shead-split {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
    }
    .aps .shead-split .shead-aside {
      display: contents;
    }
    .aps .shead-split .shead-title,
.aps .shead-split .shead-lead {
      grid-column: 1;
    }
    .aps .shead-split .shead-lead {
      max-width: 60ch;
    }
    .aps .shead-split .actions {
      grid-column: 2;
      grid-row: 1;
      justify-content: flex-end;
    }
    .aps .shead-split:has(.shead-lead) .actions {
      grid-row: 1 / span 2;
    }
  }
  /* Centred opening for a major section: title, then lead, then actions. */
  .aps .shead-center {
    justify-items: center;
    text-align: center;
  }
  .aps .shead-center .shead-title {
    max-width: 24ch;
    text-wrap: balance;
  }
  .aps .shead-center .shead-aside {
    justify-items: center;
  }
  .aps .shead-center .shead-lead {
    max-width: 52ch;
    text-wrap: balance;
  }
  .aps .shead-center .actions {
    justify-content: center;
  }

  /* ── Buttons + links ───────────────────────────────────────────────── */

  .aps .btn {
    --btn-h: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: var(--btn-h);
    padding: 0 24px;
    border: 1px solid transparent;
    border-radius: var(--r-pill);
    font: inherit;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.006em;
    text-decoration: none;
    white-space: nowrap;
    transition:
      background-color var(--dur-1) var(--ease-out),
      border-color var(--dur-1) var(--ease-out),
      color var(--dur-1) var(--ease-out),
      box-shadow var(--dur-2) var(--ease-out),
      transform var(--dur-1) var(--ease-out);
  }
  .aps .btn:active {
    transform: translateY(1px);
  }
  .aps .btn:disabled,
.aps .btn[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
  }
  .aps .btn-sm {
    --btn-h: 40px;
    padding: 0 18px;
    font-size: 0.9375rem;
  }
  .aps .btn-block {
    display: flex;
    width: 100%;
  }
  .aps .btn-icon {
    flex: none;
    transition: transform var(--dur-2) var(--ease-out);
  }
  .aps .btn:hover .btn-icon:not(.btn-icon-lead) {
    transform: translateX(3px);
  }

  .aps .btn-primary {
    background: var(--signal);
    color: #ffffff;
    box-shadow:
      inset 0 1px 0 rgb(255 255 255 / 0.16),
      0 1px 2px rgb(11 21 38 / 0.14),
      0 8px 20px -12px rgb(42 111 219 / 0.7);
  }
  .aps .btn-primary:hover {
    background: var(--signal-hover);
  }

  .aps .btn-secondary {
    border-color: var(--line-strong);
    background: transparent;
    color: var(--fg);
  }
  .aps .btn-secondary:hover {
    border-color: var(--fg);
  }

  .aps .btn-quiet {
    min-height: 44px;
    padding: 0;
    border-radius: 6px;
    background: none;
    color: var(--fg);
  }
  .aps .btn-quiet .btn-label {
    text-decoration: underline;
    text-decoration-color: var(--line-strong);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.32em;
    transition: text-decoration-color var(--dur-1) var(--ease-out);
  }
  .aps .btn-quiet:hover {
    color: var(--accent-text);
  }
  .aps .btn-quiet:hover .btn-label {
    text-decoration-color: currentColor;
  }

  .aps .lnk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-weight: 500;
    color: var(--fg);
    text-decoration: underline;
    text-decoration-color: var(--line-strong);
    text-underline-offset: 0.3em;
    transition:
      color var(--dur-1) var(--ease-out),
      text-decoration-color var(--dur-1) var(--ease-out);
  }
  .aps .lnk:hover {
    color: var(--accent-text);
    text-decoration-color: currentColor;
  }
  .aps .lnk-icon {
    flex: none;
    transition: transform var(--dur-2) var(--ease-out);
  }
  .aps .lnk:hover .lnk-icon {
    transform: translateX(3px);
  }

  /* ── Header ────────────────────────────────────────────────────────── */

  .aps .skip {
    position: absolute;
    left: 12px;
    top: -60px;
    z-index: 100;
    padding: 10px 16px;
    border-radius: var(--r-pill);
    background: var(--ink);
    color: #ffffff;
    font-size: 0.9375rem;
    text-decoration: none;
  }
  .aps .skip:focus-visible {
    top: 10px;
  }

  .aps .hd {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--white);
    box-shadow: 0 1px 0 var(--hair);
  }
  @supports (animation-timeline: scroll()) {
    .aps .hd {
      box-shadow: 0 1px 0 transparent;
      animation: aps-hd-lift linear both;
      animation-timeline: scroll(root);
      animation-range: 0 120px;
    }
    @keyframes aps-hd-lift {
      to {
        box-shadow:
          0 1px 0 var(--hair),
          0 10px 30px -22px rgb(11 21 38 / 0.35);
      }
    }
  }

  .aps .hd-bar {
    display: flex;
    align-items: center;
    gap: 24px;
    height: var(--hd-h);
  }
  .aps .hd-logo {
    display: inline-flex;
    flex: none;
    color: var(--ink);
    border-radius: 6px;
  }
  /* Header lockup: the hex mark beside the name, set large enough to read
     (the full APS lockup's sub-line is illegible at header height). */
  .aps .hd-lockup {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.012em;
    white-space: nowrap;
    color: var(--ink);
  }
  @media (min-width: 1180px) {
    .aps .hd-lockup {
      font-size: 1.25rem;
    }
  }
  .aps .hd-nav {
    display: none;
  }
  .aps .hd-nav :is(ul, .is-ul) {
    display: flex;
    gap: clamp(16px, 1.5vw, 26px);
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .aps .hd-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 44px;
    font-size: 0.9375rem;
    color: var(--ink-2);
    text-decoration: none;
    white-space: nowrap;
    border-radius: 6px;
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .hd-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 7px;
    height: 1.5px;
    border-radius: 1px;
    background: var(--ink);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform var(--dur-2) var(--ease-out);
  }
  .aps .hd-link:hover {
    color: var(--ink);
  }
  .aps .hd-link:hover::after {
    transform: scaleX(1);
  }
  .aps .hd-link[aria-current="page"] {
    color: var(--ink);
  }
  .aps .hd-link[aria-current="page"]::after {
    transform: scaleX(1);
    background: var(--signal);
  }
  .aps .hd-end {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
  }
  .aps .hd-toggle {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    margin-right: -8px;
    border: 0;
    border-radius: var(--r-pill);
    background: none;
    color: var(--ink);
    transition: background-color var(--dur-1) var(--ease-out);
  }
  .aps .hd-toggle:hover {
    background: var(--mist);
  }


  @media (min-width: 1280px) {
    .aps .hd-lockup {
      height: 28px;
    }
    .aps .hd-nav {
      display: block;
      margin-left: clamp(8px, 2.2vw, 40px);
    }
    .aps .hd-end {
      gap: 14px;
    }
    .aps .hd-toggle,
.aps .hd-sheet {
      display: none;
    }
  }

  /* Sheet menu (under 1180px) */
  .aps .hd-sheet {
    position: fixed;
    inset: 0;
    inset-inline: 0;
    z-index: -1;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: calc(var(--hd-h) + 56px) 0 32px;
    background: var(--white);
    visibility: hidden;
    opacity: 0;
    transition:
      opacity var(--dur-2) var(--ease-out),
      visibility 0s linear var(--dur-2);
  }
  .aps .hd:is([data-open], .aps-d-open) .hd-sheet {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
  .aps .hd-sheet-inner {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 28px;
    min-height: 100%;
  }
  .aps .hd-sheet-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--hair);
  }
  .aps .hd-sheet-list :is(li, .is-li) {
    border-bottom: 1px solid var(--hair);
    opacity: 0;
    transform: translateY(10px);
    transition:
      opacity var(--dur-2) var(--ease-out),
      transform var(--dur-3) var(--ease-out);
  }
  .aps .hd:is([data-open], .aps-d-open) .hd-sheet-list :is(li, .is-li) {
    opacity: 1;
    transform: none;
    transition-delay: calc(40ms + var(--i, 0) * 28ms);
  }
  .aps .hd-sheet-link {
    display: flex;
    align-items: center;
    min-height: 64px;
    font-size: clamp(1.625rem, 6.4vw, 2.25rem);
    font-weight: 300;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-decoration: none;
  }
  .aps .hd-sheet-link[aria-current="page"] {
    color: var(--signal-ink);
  }
  .aps .hd-sheet-foot {
    display: grid;
    gap: 20px;
    margin-top: auto;
  }
  .aps .hd-sheet-meta {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-size: 0.9375rem;
    color: var(--slate);
  }
  .aps .hd-sheet-meta :is(a, .is-a) {
    color: var(--ink);
    text-decoration: none;
  }

  /* ── Footer ────────────────────────────────────────────────────────── */

  /* A hairline on top, so a mist band that closes a page keeps its edge. */
  .aps .ft {
    padding: clamp(64px, 8vw, 112px) 0 32px;
    border-top: 1px solid var(--hair);
    background: var(--mist);
    color: var(--ink);
  }
  .aps .ft-top {
    display: grid;
    gap: 36px var(--col-gap);
    padding-bottom: clamp(48px, 6vw, 80px);
    border-bottom: 1px solid var(--hair);
  }
  .aps .ft-logo {
    display: inline-flex;
    border-radius: 6px;
  }
  .aps .ft-lockup {
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.012em;
    white-space: nowrap;
    color: var(--ink);
  }
  .aps .ft-tagline {
    margin-top: 28px;
    max-width: 24ch;
    font-size: var(--fs-passage);
    font-weight: 300;
    line-height: 1.22;
    letter-spacing: -0.024em;
  }
  .aps .ft-cred {
    margin-top: 12px;
    font-size: 1rem;
    line-height: 1.5;
    color: var(--slate);
  }
  .aps .ft-text {
    max-width: 40ch;
    color: var(--slate);
  }
  .aps .ft-ext {
    display: inline-block;
    margin-left: 4px;
    vertical-align: -1px;
    opacity: 0.6;
  }
  .aps .ft-nowrap {
    white-space: nowrap;
  }
  .aps .ft-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px var(--col-gap);
    padding: 48px 0 56px;
  }
  .aps .ft-h {
    margin-bottom: 14px;
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.005em;
  }
  .aps .ft-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    /* A label that wraps reads as one link, not two. */
    line-height: 1.35;
  }
  /* Inline, so a wrapped label keeps the ↗ after its last word. */
  .aps .ft-link {
    display: inline;
    color: var(--slate);
    text-decoration: none;
    border-radius: 4px;
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .ft-link:hover {
    color: var(--ink);
    text-decoration: underline;
    text-decoration-color: var(--hair-strong);
  }
  .aps .ft-address {
    display: grid;
    margin-top: 14px;
    color: var(--slate);
  }
  /* Each address line holds together ("4000 Mitchellville Road"). */
  .aps .ft-address :is(span, .is-span) {
    white-space: nowrap;
  }
  .aps .ft-base {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 32px;
    padding-top: 24px;
    border-top: 1px solid var(--hair);
    font-size: 0.875rem;
    color: var(--slate);
  }
  /* The top row: the brand, and the contact beside it. From 900px both rows
     share four columns: the brand spans three with the contact in the
     fourth; the link columns take the first three under it. */
  @media (min-width: 640px) {
    .aps .ft-top {
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: start;
    }
  }
  @media (min-width: 900px) {
    .aps .ft-top,
.aps .ft-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .aps .ft-brand {
      grid-column: span 3;
    }
  }

  /* ── Hero ──────────────────────────────────────────────────────────── */

  .aps .hero {
    position: relative;
    overflow: clip;
  }
  .aps .hero-tall {
    display: flex;
    flex-direction: column;
    min-height: min(calc(100svh - var(--hd-h) - 36px), 780px);
  }
  .aps .hero-grid {
    display: grid;
    flex: 1;
    gap: 16px var(--col-gap);
    align-items: center;
    padding-top: clamp(32px, 4vw, 56px);
    padding-bottom: 16px;
  }
  .aps .hero-title {
    max-width: 13ch;
  }
  .aps .hero-lead {
    margin-top: 24px;
    max-width: 36ch;
  }
  .aps .hero-actions {
    margin-top: 36px;
  }
  .aps .hero-media {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
  }
  .aps .hero-render {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    margin: -8% auto -10%;
  }
  .aps .hero-below {
    padding-bottom: clamp(20px, 2.4vw, 36px);
  }
  @media (min-width: 1000px) {
    .aps .hero-grid {
      grid-template-columns: minmax(0, 11fr) minmax(0, 13fr);
      padding-bottom: 0;
    }
    .aps .hero-media-left .hero-copy {
      order: 2;
    }
    .aps .hero-media {
      align-self: stretch;
      margin-right: calc(-1 * var(--gutter));
    }
    .aps .hero-media-left .hero-media {
      margin-right: 0;
      margin-left: calc(-1 * var(--gutter));
    }
    .aps .hero-render {
      max-width: 560px;
    }
  }

  /* Millimetre spec row */
  .aps .strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--col-gap);
    border-top: 1px solid var(--line-strong);
  }
  .aps .strip-item {
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    gap: 2px;
    padding: 16px 0 18px;
    border-bottom: 1px solid var(--line);
  }
  .aps .strip-val {
    margin: 0;
    font-size: clamp(1.375rem, 1.1rem + 0.8vw, 1.875rem);
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: var(--fg);
  }
  .aps .strip-label {
    font-size: 0.9375rem;
    line-height: 1.4;
    color: var(--fg-2);
  }
  @media (min-width: 900px) {
    .aps .strip {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .aps .strip-item {
      padding: 20px 0 6px;
      border-bottom: 0;
    }
  }

  /* ── Spec rows ─────────────────────────────────────────────────────── */

  .aps .spec {
    border-top: 1px solid var(--fg);
  }
  .aps .spec-row {
    display: grid;
    grid-template-columns: minmax(112px, 34%) minmax(0, 1fr);
    gap: 4px var(--col-gap);
    padding: 15px 0 16px;
    border-bottom: 1px solid var(--line-strong);
  }
  .aps .spec-row :is(dt, .is-dt) {
    padding-top: 1px;
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  .aps .spec-row :is(dd, .is-dd) {
    margin: 0;
    line-height: 1.5;
  }
  .aps .spec-val {
    display: block;
  }
  .aps .spec-val.mono {
    font-size: 1.0625rem;
  }
  .aps .spec-note {
    display: block;
    margin-top: 2px;
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  @media (max-width: 520px) {
    .aps .spec-row {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  /* ── Airway Bite, in detail ────────────────────────────────────────── */

  /* Centred opening (as every major section), then the model and its spec
     sheet side by side, centred on each other. */
  .aps .detail-grid {
    display: grid;
    gap: 32px var(--col-gap);
    align-items: start;
  }
  .aps .detail-actions {
    margin-top: 32px;
  }
  @media (min-width: 1000px) {
    .aps .detail-grid {
      grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
      align-items: center;
    }
  }

  .aps .ms-stage {
    position: relative;
    height: clamp(320px, min(48vw, calc(100svh - var(--hd-h) - 150px)), 600px);
    overflow-x: clip; /* the poster's transparent margin never widens the page */
  }
  /* The poster matches the model's framing (1.18× the contained render). Where
     object-view-box is supported, that crop happens inside the image's own box;
     elsewhere a scale does it, clipped by the stage. */
  .aps .ms-poster {
    max-width: 100%;
    object-fit: contain;
    transform: scale(1.18);
    transition: opacity var(--dur-3) var(--ease-out);
  }
  @supports (object-view-box: inset(1%)) {
    .aps .ms-poster {
      transform: none;
      object-view-box: inset(7.63%);
    }
  }
  .aps .ms-viewer {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: transparent;
    outline: none;
    opacity: 0;
    transition: opacity var(--dur-3) var(--ease-out);
    --poster-color: transparent;
  }
  .aps .ms-stage:is([data-loaded], .aps-d-loaded) .ms-poster {
    opacity: 0;
  }
  .aps .ms-stage:is([data-loaded], .aps-d-loaded) .ms-viewer {
    opacity: 1;
  }
  .aps .ms-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    padding-top: 16px;
    border-top: 1px solid var(--line-strong);
  }
  .aps .ms-hint {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9375rem;
    color: var(--fg-2);
    white-space: nowrap;
  }

  /* Segmented control (model views; reusable) */
  .aps .seg {
    display: inline-flex;
    padding: 3px;
    border-radius: var(--r-pill);
    background: var(--track);
  }
  .aps .seg-opt {
    min-height: 38px;
    padding: 0 16px;
    border: 0;
    border-radius: var(--r-pill);
    background: transparent;
    font: inherit;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--fg-2);
    transition:
      background-color var(--dur-2) var(--ease-out),
      color var(--dur-1) var(--ease-out),
      box-shadow var(--dur-2) var(--ease-out);
  }
  .aps .seg-opt:hover {
    color: var(--fg);
  }
  .aps .seg-opt[aria-pressed="true"],
.aps .seg-opt[aria-selected="true"] {
    background: var(--white);
    color: var(--ink);
    box-shadow:
      0 1px 2px rgb(11 21 38 / 0.08),
      0 3px 10px -4px rgb(11 21 38 / 0.18);
  }

  /* Range scale */
  .aps .rs {
    margin-top: 14px;
  }
  .aps .rs-svg {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    overflow: visible;
  }
  .aps .rs-range {
    stroke: var(--fg);
    stroke-width: 1.5;
  }
  .aps .rs-range-var {
    stroke-dasharray: 3 3;
  }
  .aps .rs-base,
.aps .rs-tick {
    stroke: var(--fg);
    stroke-width: 1;
  }
  .aps .rs-target {
    fill: var(--signal);
  }
  .aps .rs-num {
    font-family: var(--font-mono);
    font-size: 10px;
    fill: var(--fg-2);
  }
  .aps .rs-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 20px;
    margin-top: 4px;
    font-size: 0.875rem;
    color: var(--fg-2);
  }
  .aps .rs-legend > :is(span, .is-span) {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .aps .rs-legend .mono {
    color: var(--fg);
  }
  .aps .rs-key {
    display: inline-block;
    width: 16px;
    border-top: 1.5px solid var(--fg);
  }
  .aps .rs-key-target {
    width: 12px;
    height: 6px;
    border: 0;
    border-radius: 1px;
    background: var(--signal);
  }

  /* ── How far forward? ──────────────────────────────────────────────── */

  /* The stills are 1920 × 816; cropped to 4:3 they are painted at about
     1.77 × the frame width, so the live frame stops at 560px to stay sharp. */


  /* ── Tutorial player ───────────────────────────────────────────────── */

  .aps .tp {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px var(--col-gap);
    align-items: start;
  }
  @media (min-width: 1000px) {
    .aps .tp {
      grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    }
  }
  .aps .tp-console {
    min-width: 0;
    --fg: var(--on-night);
    --fg-2: var(--on-night-2);
    --line: var(--hair-night);
    --line-strong: var(--hair-night-strong);
    --accent-text: var(--signal-night);
    padding: 8px 8px 2px;
    border-radius: var(--r-card);
    background: var(--night);
    color: var(--fg);
    box-shadow: var(--shadow-2);
  }
  .aps .tone-night .tp-console {
    background: var(--night-2);
    box-shadow: inset 0 0 0 1px var(--hair-night);
  }
  .aps .tp-frame {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--r-inner);
    background: var(--porcelain);
  }
  .aps .tp-video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: var(--porcelain);
  }
  .aps .tp-rail {
    min-width: 0;
    padding: 0 8px 6px;
  }
  .aps .tp-now {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 4px;
    font-size: 0.875rem;
    color: var(--fg-2);
  }
  .aps .tp-now-idx {
    margin-right: 12px;
  }

  .aps .tl {
    display: flex;
    gap: 3px;
    height: 30px;
    margin-top: 6px;
  }
  .aps .tl-seg {
    display: flex;
    flex-basis: 0;
    align-items: center;
    min-width: 3px;
    height: 100%;
    padding: 0;
    border: 0;
    background: none;
  }
  .aps .tl-tail {
    cursor: default;
  }
  .aps .tl-bar {
    position: relative;
    display: block;
    width: 100%;
    height: 3px;
    overflow: hidden;
    border-radius: 2px;
    background: rgb(214 226 255 / 0.2);
    transition:
      height var(--dur-1) var(--ease-out),
      background-color var(--dur-1) var(--ease-out);
  }
  .aps .tl-seg:hover .tl-bar,
.aps .tl-seg:is([data-on], .aps-d-on) .tl-bar {
    height: 5px;
  }
  .aps .tl-seg:hover .tl-bar {
    background: rgb(214 226 255 / 0.4);
  }
  .aps .tl-fill {
    position: absolute;
    inset: 0;
    transform-origin: left center;
    background: rgb(242 245 250 / 0.75);
  }
  .aps .tl-seg:is([data-on], .aps-d-on) .tl-fill {
    background: var(--signal);
  }

  .aps .chl {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line);
  }
  .aps .chl-btn {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    align-items: baseline;
    width: 100%;
    min-height: 44px;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: none;
    font: inherit;
    font-size: 1rem;
    line-height: 1.35;
    text-align: left;
    color: var(--fg-2);
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .chl-btn:hover {
    color: var(--fg);
  }
  .aps .chl-time {
    font-size: 0.8125rem;
    color: var(--fg-2);
  }
  .aps .chl-btn[aria-current] {
    color: var(--fg);
    font-weight: 500;
  }
  .aps .chl-btn[aria-current] .chl-time {
    color: var(--accent-text);
  }

  /* Chairside layout */
  .aps .cs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }
  .aps .cs-player {
    min-width: 0;
    margin-inline: calc(-1 * var(--gutter));
  }
  .aps .cs-console {
    padding: 0 0 4px;
    border-radius: 0;
  }
  .aps .cs-console .tp-frame {
    border-radius: 0;
  }
  .aps .cs-console .tp-rail {
    padding: 0 var(--gutter) 4px;
  }
  .aps .cs-steps {
    min-width: 0;
    padding-top: 28px;
  }

  @media (max-width: 1023px) {
    /* Phones and tablets: the chapters are one contained, scrollable track
       (full-bleed inside the console, never wider than it). */
    .aps .chl-grid {
      display: flex;
      gap: 6px;
      min-width: 0;
      max-width: none;
      margin: 8px calc(-1 * var(--gutter)) 0;
      padding: 0 var(--gutter) 10px;
      overflow-x: auto;
      overflow-y: hidden;
      overscroll-behavior-x: contain;
      scroll-padding-inline: var(--gutter);
      border-top: 0;
      scrollbar-width: thin;
      scrollbar-color: var(--line-strong) transparent;
    }
    .aps .chl-grid :is(li, .is-li) {
      flex: none;
    }
    .aps .chl-grid .chl-btn {
      display: flex;
      align-items: center;
      gap: 8px;
      width: auto;
      min-height: 40px;
      padding: 0 14px;
      border: 1px solid var(--line);
      border-radius: var(--r-pill);
      font-size: 0.9375rem;
      white-space: nowrap;
    }
    .aps .chl-grid .chl-btn[aria-current] {
      border-color: var(--signal-night);
    }
  }

  .aps .jumpbar {
    position: sticky;
    top: var(--hd-h);
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 calc(-1 * var(--gutter)) 28px;
    padding: 8px var(--gutter);
    background: var(--bg);
    box-shadow: 0 1px 0 var(--line);
  }
  .aps .jumpbar-label {
    flex: none;
    font-size: 0.875rem;
    color: var(--fg-2);
  }
  .aps .jumpbar-list {
    display: flex;
    flex: 1;
    gap: 3px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .aps .jumpbar-list :is(li, .is-li) {
    flex: 1;
    min-width: 0;
  }
  .aps .jumpbar-chip {
    position: relative;
    display: grid;
    place-items: center;
    height: 40px;
    border-radius: 10px;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--fg);
    text-decoration: none;
    /* A resting fill, so each digit reads as a button (chairside, on a phone). */
    background: var(--track);
    transition:
      background-color var(--dur-1) var(--ease-out),
      color var(--dur-1) var(--ease-out);
  }
  .aps .jumpbar-chip:hover {
    background: var(--line);
  }
  .aps .jumpbar-chip[aria-current] {
    background: var(--ink);
    color: #ffffff;
  }
  .aps .jumpbar-chip:is([data-playing], .aps-d-playing)::after {
    content: "";
    position: absolute;
    left: 30%;
    right: 30%;
    bottom: 4px;
    height: 2px;
    border-radius: 1px;
    background: var(--signal);
  }
  /* Narrow phones keep the short label ("Step") so the digits read as step
     links; the gaps tighten so the nine chips still fit one line at 360px. */
  @media (max-width: 419px) {
    .aps .jumpbar {
      gap: 8px;
    }
    .aps .jumpbar-list {
      gap: 2px;
    }
    .aps .jumpbar-chip {
      border-radius: 8px;
    }
  }

  .aps .cs-prereq {
    margin-bottom: 48px;
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--surface);
    font-weight: 500;
    line-height: 1.5;
  }
  .aps .ph {
    margin-bottom: 72px;
  }
  .aps .ph:last-child {
    margin-bottom: 0;
  }
  .aps .ph-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
  }
  .aps .ph-title {
    font-size: var(--fs-h3);
    font-weight: 350;
    line-height: 1.15;
    letter-spacing: -0.026em;
  }
  .aps .ph-range {
    flex: none;
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  .aps .ph-still {
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: var(--r-card);
    background: var(--porcelain);
  }
  .aps .ph-img {
    display: block;
    width: 100%;
    height: auto;
  }
  .aps .ph-caption {
    max-width: 62ch;
    margin-bottom: 24px;
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  .aps .ph-occ,
.aps .ph-ifu {
    margin-top: 28px;
  }

  .aps .steps {
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--fg);
  }
  .aps .step {
    position: relative;
    isolation: isolate;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line-strong);
  }
  .aps .step::before {
    content: "";
    position: absolute;
    inset: 0 -12px;
    z-index: -1;
    border-radius: 10px;
    background: var(--signal-wash);
    opacity: 0;
    transition: opacity var(--dur-2) var(--ease-out);
  }
  .aps .step:is([data-playing], .aps-d-playing)::before {
    opacity: 1;
  }
  .aps .step-h {
    margin: 0;
  }
  .aps .step-btn {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 12px;
    width: 100%;
    padding: 18px 0 8px;
    border: 0;
    border-radius: 8px;
    background: none;
    font: inherit;
    text-align: left;
    color: inherit;
  }
  .aps .step-n {
    font-size: 1.0625rem;
    font-weight: 500;
    color: var(--fg-2);
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .step-title {
    font-size: 1.1875rem;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: -0.012em;
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .step-play {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    padding: 0 12px 0 10px;
    border: 1px solid var(--line-strong);
    border-radius: var(--r-pill);
    font-size: 0.8125rem;
    color: var(--fg);
    white-space: nowrap;
    transition:
      border-color var(--dur-1) var(--ease-out),
      background-color var(--dur-1) var(--ease-out),
      color var(--dur-1) var(--ease-out);
  }
  .aps .step-btn:hover .step-title {
    color: var(--accent-text);
  }
  .aps .step-btn:hover .step-play {
    border-color: var(--signal);
  }
  .aps .step-body {
    max-width: 60ch;
    margin-left: 44px;
  }
  .aps .step:is([data-playing], .aps-d-playing) .step-n {
    color: var(--accent-text);
  }
  .aps .step:is([data-playing], .aps-d-playing) .step-play {
    border-color: var(--signal);
    background: var(--signal);
    color: #ffffff;
  }

  @media (min-width: 1024px) {
    .aps .cs {
      grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
      column-gap: clamp(32px, 4vw, 64px);
    }
    .aps .cs-player {
      position: sticky;
      top: calc(var(--hd-h) + 20px);
      margin: 0;
    }
    .aps .cs-console {
      padding: 8px 8px 2px;
      border-radius: var(--r-card);
    }
    .aps .cs-console .tp-frame {
      border-radius: var(--r-inner);
    }
    .aps .cs-console .tp-rail {
      padding: 0 8px 6px;
    }
    .aps .chl-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 20px;
      margin-top: 6px;
    }
    .aps .cs-steps {
      padding-top: 0;
    }
    .aps .jumpbar {
      display: none;
    }
  }
  @media (min-width: 1024px) and (max-height: 860px) {
    .aps .chl-grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .aps .chl-grid .chl-btn {
      min-height: 36px;
      padding: 6px 0;
      font-size: 0.875rem;
    }
  }
  @media (max-width: 1023px) {
    .aps .step,
.aps .ph {
      scroll-margin-top: calc(var(--hd-h) + 72px);
    }
  }

  /* ── Figure plates + lightbox ──────────────────────────────────────── */

  /* Never wider than half the source (set per figure as --fig-max), plus the mat. */
  .aps .fig {
    --mat-pad: 0px;
    max-width: calc(var(--fig-max, 100%) + 2 * var(--mat-pad));
  }
  .aps .fig-plate {
    --mat-pad: clamp(10px, 1.6vw, 20px);
  }
  .aps .fig-trigger {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: var(--r-card);
    background: none;
    text-align: left;
    cursor: zoom-in;
  }
  .aps .fig-mat {
    position: relative;
    display: block;
    border-radius: var(--r-card);
  }
  .aps .fig-plate .fig-mat {
    padding: var(--mat-pad);
    background: var(--white);
    box-shadow:
      inset 0 0 0 1px var(--line),
      0 1px 2px rgb(11 21 38 / 0.04),
      0 22px 44px -32px rgb(11 21 38 / 0.4);
  }
  .aps .fig-plate .fig-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
    outline: 1px solid var(--hair);
    outline-offset: -1px;
  }
  .aps .fig-inline .fig-mat {
    overflow: hidden;
    background: var(--porcelain);
  }
  .aps .fig-inline .fig-mat::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px var(--line);
    pointer-events: none;
  }
  .aps .fig-inline .fig-img {
    display: block;
    width: 100%;
    height: auto;
  }
  .aps .fig-zoom {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: var(--r-pill);
    background: var(--white);
    color: var(--ink);
    box-shadow: var(--shadow-1);
    opacity: 0;
    transform: scale(0.9);
    transition:
      opacity var(--dur-2) var(--ease-out),
      transform var(--dur-2) var(--ease-out);
  }
  .aps .fig-trigger:hover .fig-zoom,
.aps .fig-trigger:focus-visible .fig-zoom {
    opacity: 1;
    transform: none;
  }
  @media (hover: none) {
    .aps .fig-zoom {
      opacity: 1;
      transform: none;
    }
  }
  .aps .fig-cap {
    max-width: 62ch;
    margin-top: 14px;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--fg-2);
  }

  .aps .lb {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: clamp(16px, 4vw, 56px);
    border: 0;
    background: rgb(8 14 26 / 0.94);
    color: var(--on-night);
  }
  .aps .lb[open] {
    display: grid;
    place-items: center;
    animation: aps-lb-in var(--dur-2) var(--ease-out);
  }
  .aps .lb::backdrop {
    background: transparent;
  }
  .aps .lb-body {
    display: grid;
    justify-items: center;
    gap: 16px;
    max-width: min(1600px, 100%);
  }
  .aps .lb[open] .lb-body {
    animation: aps-lb-zoom var(--dur-3) var(--ease-out);
  }
  .aps .lb-img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100dvh - 160px);
    border-radius: 8px;
    background: #ffffff;
  }
  .aps .lb-cap {
    max-width: 70ch;
    font-size: 0.9375rem;
    text-align: center;
    color: var(--on-night-2);
  }
  .aps .lb-close {
    position: fixed;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: var(--r-pill);
    background: rgb(255 255 255 / 0.1);
    color: #ffffff;
    transition: background-color var(--dur-1) var(--ease-out);
  }
  .aps .lb-close:hover {
    background: rgb(255 255 255 / 0.2);
  }
  .aps .lb-close:focus-visible {
    outline-color: var(--signal-night);
  }
  @keyframes aps-lb-in {
    from {
      opacity: 0;
    }
  }
  @keyframes aps-lb-zoom {
    from {
      opacity: 0;
      transform: scale(0.965);
    }
  }

  /* ── Image card ────────────────────────────────────────────────────── */

  .aps .ic {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .aps .ic-media {
    position: relative;
    overflow: hidden;
    border-radius: var(--r-card);
    isolation: isolate;
  }
  .aps .field-porcelain {
    background: var(--porcelain);
  }
  .aps .field-mist {
    background: var(--mist);
  }
  .aps .field-white {
    background: var(--white);
  }
  .aps .field-night {
    background: var(--night);
  }
  .aps .field-white::after,
.aps .field-mist::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px var(--hair);
    pointer-events: none;
  }
  .aps .ic-img {
    object-fit: cover;
    transition: transform 0.9s var(--ease-out);
  }
  .aps .fit-contain .ic-img {
    object-fit: contain;
    padding: 5%;
  }
  .aps .ic:hover .ic-img {
    transform: scale(1.035);
  }
  .aps .ic-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
    padding-top: 18px;
  }
  .aps .ic-title {
    font-size: 1.25rem;
    font-weight: 450;
    line-height: 1.25;
    letter-spacing: -0.015em;
  }
  .aps .ic-link {
    color: inherit;
    text-decoration: none;
    outline: none;
  }
  .aps .ic-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    border-radius: var(--r-card);
  }
  .aps .ic:has(.ic-link:focus-visible) {
    border-radius: var(--r-card);
    outline: 2px solid var(--signal);
    outline-offset: 6px;
  }
  .aps .ic-line {
    color: var(--fg-2);
  }
  .aps .ic-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 8px;
    font-size: 0.875rem;
    color: var(--fg-2);
  }
  .aps .ic-arrow {
    margin-left: auto;
    color: var(--fg);
    transition:
      transform var(--dur-2) var(--ease-out),
      color var(--dur-1) var(--ease-out);
  }
  .aps .ic:hover .ic-arrow {
    color: var(--accent-text);
    transform: translateX(4px);
  }

  /* ── Disclosure ────────────────────────────────────────────────────── */

  .aps .dsc-summary {
    margin-bottom: 24px;
  }
  .aps .dsc-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 22px 0 7px;
    border: 1px solid var(--line-strong);
    border-radius: var(--r-pill);
    background: transparent;
    font: inherit;
    font-weight: 500;
    color: var(--fg);
    transition: border-color var(--dur-1) var(--ease-out);
  }
  .aps .dsc-btn:hover {
    border-color: var(--fg);
  }
  .aps .dsc-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: var(--r-pill);
    background: var(--fg);
    color: var(--bg);
  }
  .aps .dsc-icon svg {
    grid-area: 1 / 1;
    transition:
      transform var(--dur-3) var(--ease-out),
      opacity var(--dur-2) var(--ease-out);
  }
  .aps .dsc-minus {
    opacity: 0;
    transform: rotate(-90deg);
  }
  .aps .dsc:is([data-open], .aps-d-open) .dsc-plus {
    opacity: 0;
    transform: rotate(90deg);
  }
  .aps .dsc:is([data-open], .aps-d-open) .dsc-minus {
    opacity: 1;
    transform: none;
  }
  .aps .dsc-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--dur-3) var(--ease-out);
  }
  .aps .dsc:is([data-open], .aps-d-open) .dsc-panel {
    grid-template-rows: 1fr;
  }
  .aps .dsc-clip {
    min-height: 0;
    overflow: clip;
    overflow-clip-margin: 16px;
  }
  .aps .dsc-content {
    padding: 32px 0 8px;
    opacity: 0;
    transform: translateY(-8px);
    transition:
      opacity var(--dur-2) var(--ease-out),
      transform var(--dur-3) var(--ease-out);
  }
  .aps .dsc:is([data-open], .aps-d-open) .dsc-content {
    opacity: 1;
    transform: none;
    transition-delay: 60ms;
  }

  /* ── Prose (Read mode) ─────────────────────────────────────────────── */

  .aps .prose {
    max-width: 68ch;
    font-size: 1.125rem;
    line-height: 1.7;
  }
  .aps .prose > * + *,
.aps .prose .dsc-content > * + * {
    margin-top: 1.1em;
  }
  .aps .prose h2 {
    margin-top: 2.2em;
    font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.875rem);
    font-weight: 350;
    line-height: 1.16;
    letter-spacing: -0.025em;
  }
  .aps .prose h3 {
    margin-top: 1.9em;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.015em;
  }
  .aps .prose > :first-child {
    margin-top: 0;
  }
  .aps .prose h2 + *,
.aps .prose h3 + * {
    margin-top: 0.6em;
  }
  .aps .prose :is(ul, .is-ul),
.aps .prose :is(ol, .is-ol) {
    display: grid;
    gap: 0.45em;
    padding: 0;
    list-style: none;
  }
  .aps .prose :is(ul, .is-ul) > :is(li, .is-li) {
    position: relative;
    padding-left: 1.5em;
  }
  .aps .prose :is(ul, .is-ul) > :is(li, .is-li)::before {
    content: "";
    position: absolute;
    left: 0.15em;
    top: 0.85em;
    width: 0.6em;
    height: 1px;
    background: var(--fg-2);
  }
  .aps .prose :is(ol, .is-ol) {
    counter-reset: aps-n;
  }
  .aps .prose :is(ol, .is-ol) > :is(li, .is-li) {
    position: relative;
    padding-left: 2em;
    counter-increment: aps-n;
  }
  .aps .prose :is(ol, .is-ol) > :is(li, .is-li)::before {
    content: counter(aps-n);
    position: absolute;
    left: 0;
    font-weight: 500;
    font-variant-numeric: tabular-nums;
    color: var(--fg-2);
  }
  .aps .prose :is(a, .is-a):not([class]) {
    color: var(--accent-text);
    text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
  }
  .aps .prose :is(a, .is-a):not([class]):hover {
    text-decoration-color: currentColor;
  }
  .aps .prose strong {
    font-weight: 600;
  }
  .aps .prose :is(blockquote, .is-blockquote) {
    margin-block: 1.6em;
    font-size: clamp(1.375rem, 1.15rem + 0.8vw, 1.75rem);
    font-weight: 300;
    line-height: 1.32;
    letter-spacing: -0.02em;
  }
  .aps .prose .fig,
.aps .prose .dsc {
    margin-block: 2em;
  }
  .aps .note {
    padding: 18px 20px;
    border-radius: 14px;
    background: var(--surface);
    line-height: 1.55;
  }

  /* ── Appliance guide ───────────────────────────────────────────────── */

  .aps .ag-table {
    border-top: 1px solid var(--fg);
  }
  .aps .ag-head {
    display: none;
  }
  .aps .ag-group {
    padding: 24px 0;
    border-bottom: 1px solid var(--line-strong);
  }
  .aps .ag-row {
    display: grid;
    gap: 4px;
    padding: 6px 0;
  }
  .aps .ag-ind {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: clamp(1.5rem, 1.25rem + 0.8vw, 1.875rem);
    font-weight: 300;
    line-height: 1.15;
    letter-spacing: -0.025em;
  }
  .aps .ag-ind:empty,
.aps .ag-note:empty {
    display: none;
  }
  .aps .ag-row:first-child .ag-ind {
    margin-bottom: 12px;
  }
  .aps .ag-name {
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .aps .ag-detail,
.aps .ag-note {
    color: var(--fg-2);
  }
  .aps .ag-note {
    font-size: 0.9375rem;
  }
  .aps .ag-note .lnk {
    margin-top: 4px;
  }
  .aps .airway-line {
    display: inline-block;
    flex: none;
    width: 22px;
    height: 2px;
    border-radius: 1px;
    background: var(--signal);
  }
  .aps .ag-foot {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 32px;
    margin-top: 28px;
    color: var(--fg-2);
  }
  @media (min-width: 900px) {
    .aps .ag-head {
      display: block;
    }
    .aps .ag-head .ag-row {
      padding: 14px 0;
      border-bottom: 1px solid var(--line-strong);
      font-size: 0.875rem;
      color: var(--fg-2);
    }
    .aps .ag-row {
      grid-template-columns: minmax(0, 2.4fr) minmax(0, 2.4fr) minmax(0, 3.4fr) minmax(0, 2.8fr);
      gap: var(--col-gap);
      align-items: baseline;
      padding: 14px 0;
    }
    .aps .ag-group {
      padding: 10px 0;
    }
    .aps .ag-ind:empty,
.aps .ag-note:empty {
      display: block;
    }
    .aps .ag-row:first-child .ag-ind {
      margin-bottom: 0;
    }
    .aps .ag-ind {
      font-size: 1.5rem;
    }
    .aps .ag-note {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
    }
  }

  /* ── Kit callouts ──────────────────────────────────────────────────── */

  .aps .kit-stage {
    position: relative;
  }
  .aps .kit-img {
    display: block;
    width: 100%;
    height: auto;
  }
  .aps .kit-pins {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .aps .co {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .aps .co-text {
    padding: 7px 14px;
    border-radius: var(--r-pill);
    background: var(--white);
    box-shadow: var(--shadow-1);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--ink);
    white-space: nowrap;
  }
  .aps .co-line {
    position: relative;
    display: block;
    flex: none;
    background: var(--ink);
  }
  .aps .co-line::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--white);
    box-shadow: 0 0 0 1.5px var(--ink);
  }
  .aps .co-left {
    flex-direction: row-reverse;
    transform: translate(-100%, -50%);
  }
  .aps .co-right {
    transform: translate(0, -50%);
  }
  .aps .co-left .co-line,
.aps .co-right .co-line {
    width: clamp(36px, 5vw, 84px);
    height: 1px;
  }
  .aps .co-left .co-line::after {
    right: -4.5px;
    top: -4px;
  }
  .aps .co-right .co-line::after {
    left: -4.5px;
    top: -4px;
  }
  .aps .co-up {
    flex-direction: column-reverse;
    transform: translate(-50%, -100%);
  }
  .aps .co-up .co-line {
    width: 1px;
    height: clamp(32px, 4.4vw, 72px);
  }
  .aps .co-up .co-line::after {
    left: -4px;
    bottom: -4.5px;
  }
  .aps .kit-cap {
    width: 100%;
    max-width: calc(var(--maxw) + 2 * var(--gutter));
    margin-inline: auto;
    padding: 20px var(--gutter) clamp(28px, 3vw, 44px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 24px;
  }
  .aps .kit-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .aps .kit-list :is(li, .is-li) {
    padding: 6px 14px;
    border-radius: var(--r-pill);
    background: var(--white);
    font-size: 0.9375rem;
    font-weight: 500;
  }
  .aps .kit-notes {
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  @media (max-width: 899px) {
    .aps .kit-img {
      aspect-ratio: 4 / 3;
      object-fit: cover;
    }
    .aps .kit-pins {
      display: none;
    }
  }
  @media (min-width: 900px) {
    .aps .kit-list {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip-path: inset(50%);
    }
  }

  /* ── Practice panel ────────────────────────────────────────────────── */

  .aps .pp {
    display: grid;
    gap: 32px var(--col-gap);
    padding: clamp(24px, 4vw, 52px);
    border-radius: var(--r-card);
    background: var(--mist);
    color: var(--ink);
    --fg: var(--ink);
    --fg-2: var(--slate);
    --line: var(--hair);
  }
  .aps .pp-white {
    background: var(--white);
    box-shadow: inset 0 0 0 1px var(--hair);
  }
  .aps .pp-main {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  @media (min-width: 560px) {
    .aps .pp-main {
      flex-direction: row;
      gap: clamp(18px, 2.4vw, 32px);
    }
  }
  .aps .pp-portrait {
    flex: none;
    width: clamp(76px, 8vw, 112px);
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 16px;
    background: var(--porcelain);
  }
  .aps .pp-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 12%;
  }
  .aps .pp-title {
    max-width: 24ch;
    margin-bottom: 12px;
  }
  .aps .pp-body {
    max-width: 54ch;
    color: var(--fg-2);
  }
  .aps .pp-contact {
    display: grid;
    gap: 10px;
    align-content: start;
    justify-items: start;
  }
  .aps .pp-phone {
    font-size: var(--fs-passage);
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--ink);
    text-decoration: none;
    border-radius: 6px;
    transition: color var(--dur-1) var(--ease-out);
  }
  .aps .pp-phone:hover {
    color: var(--signal-ink);
  }
  .aps .pp-address {
    display: grid;
    font-size: 0.9375rem;
    color: var(--fg-2);
  }
  .aps .pp-call {
    margin-top: 10px;
  }
  @media (min-width: 900px) {
    .aps .pp {
      grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
      align-items: center;
    }
    .aps .pp-contact {
      padding-left: var(--col-gap);
      border-left: 1px solid var(--hair);
    }
  }

  /* ── Signs checklist ───────────────────────────────────────────────── */

  .aps .sc-head {
    display: grid;
    gap: 16px var(--col-gap);
    margin-bottom: 40px;
  }
  .aps .sc-intro {
    max-width: 40ch;
  }
  @media (min-width: 900px) {
    .aps .sc-head {
      grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
      align-items: end;
    }
  }
  .aps .sc-set {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  .aps .sc-list {
    display: grid;
    margin: 0;
    padding: 0;
    list-style: none;
    border-top: 1px solid var(--line-strong);
  }
  @media (min-width: 900px) {
    .aps .sc-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: var(--col-gap);
    }
  }
  .aps .sc-item {
    position: relative;
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr);
    align-items: start;
    gap: 16px;
    height: 100%;
    padding: 18px 0;
    border-bottom: 1px solid var(--line);
    line-height: 1.5;
  }
  .aps .sc-input {
    position: absolute;
    top: 18px;
    left: 0;
    width: 26px;
    height: 26px;
    margin: 0;
    opacity: 0;
  }
  .aps .sc-box {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    margin-top: -1px;
    border: 1.5px solid var(--control);
    border-radius: 8px;
    background: var(--white);
    color: #ffffff;
    transition:
      background-color var(--dur-1) var(--ease-out),
      border-color var(--dur-1) var(--ease-out);
  }
  .aps .sc-box svg {
    opacity: 0;
    transform: scale(0.6);
    transition:
      opacity var(--dur-1) var(--ease-out),
      transform var(--dur-2) var(--ease-out);
  }
  .aps .sc-item:hover .sc-box {
    border-color: var(--fg);
  }
  .aps .sc-input:checked + .sc-box {
    border-color: var(--signal);
    background: var(--signal);
  }
  .aps .sc-input:checked + .sc-box svg {
    opacity: 1;
    transform: none;
  }
  .aps .sc-input:focus-visible + .sc-box {
    outline: 2px solid var(--signal);
    outline-offset: 3px;
  }
  .aps .sc-foot {
    display: grid;
    justify-items: start;
    gap: 10px;
    max-width: 64ch;
    margin-top: 32px;
  }
  .aps .sc-count {
    font-size: 1.25rem;
    letter-spacing: -0.012em;
    color: var(--fg-2);
    transition: color var(--dur-2) var(--ease-out);
  }
  .aps .sc-count:is([data-some], .aps-d-some) {
    color: var(--fg);
  }
  .aps .sc-note {
    color: var(--fg-2);
  }

  /* ── Motion ────────────────────────────────────────────────────────── */

  @media (prefers-reduced-motion: no-preference) {
    .aps .rv {
      opacity: 0.25;
      transform: translateY(16px);
      transition:
        opacity 0.9s var(--ease-out) var(--rv-delay, 0ms),
        transform 1.1s var(--ease-out) var(--rv-delay, 0ms);
    }
    .aps .rv.rv-in {
      opacity: 1;
      transform: none;
    }
  }
  @media (prefers-reduced-motion: reduce) {
    .aps *,
.aps *::before,
.aps *::after {
      animation-duration: 1ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 1ms !important;
      transition-delay: 0s !important;
      scroll-behavior: auto !important;
    }
    .aps .hd {
      animation: none !important;
      box-shadow: 0 1px 0 var(--hair);
    }
  }
}


/* ── Header (header.module.css, classes hdm-*) ── */

/*
 * The bar's order button carries the full distributor CTA ("Order from Great
 * Lakes Dental"), which is much wider than a one-word "Order".
 *  - Phones: there is no room for it beside the logo and the menu toggle; the
 *    menu sheet carries the same button at full width.
 */
@media (max-width: 459px) {
  .hdm-order {
    display: none;
  }
}


/*
 * On its own page (APSleep.com's "For dentists" on the dentist page) the
 * button reads as the current page, the way the nav marks it: the selected
 * state (signal wash, signal ink, a signal hairline), not a call to action.
 */
.hdm-order[aria-current],
.hdm-action[aria-current] {
  background: var(--signal-wash);
  color: var(--signal-ink);
  box-shadow: inset 0 0 0 1px var(--signal);
}
.hdm-order[aria-current]:hover,
.hdm-action[aria-current]:hover {
  background: var(--signal-wash);
}

/* ── Dropdowns (APSleep.com: his nested tabs, and "I am a doctor") ───────── */

.hdm-nav ul {
  align-items: center;
}
.hdm-dropItem {
  position: relative;
}
/* The doctors' panel spans the header, so its item is not a containing block. */
.hdm-megaItem {
  position: static;
}
.hdm-trigger {
  gap: 4px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 0.9375rem;
  cursor: pointer;
}
.hdm-chev {
  margin-top: 1px;
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out);
}
.hdm-trigger[aria-expanded="true"] .hdm-chev {
  transform: rotate(180deg);
}
.hdm-trigger[aria-expanded="true"] {
  color: var(--ink);
}

/* Closed panels are hidden from sight and from the tab order (visibility). */
.hdm-drop,
.hdm-mega {
  visibility: hidden;
  opacity: 0;
  transition:
    opacity var(--dur-2) var(--ease-out),
    transform var(--dur-2) var(--ease-out),
    visibility 0s linear var(--dur-2);
}
.hdm-drop[data-open],
.hdm-mega[data-open] {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}

/* A small dropdown: the tab's own page, then the pages under it. */
.hdm-drop {
  position: absolute;
  top: calc(100% + 6px);
  left: -14px;
  z-index: 2;
  min-width: 240px;
  padding: 8px;
  border-radius: 14px;
  background: var(--white);
  box-shadow:
    0 0 0 1px var(--hair),
    0 18px 40px -18px rgb(11 21 38 / 0.32);
  transform: translateY(-4px);
}
.hdm-drop ul {
  display: grid !important;
  gap: 2px !important;
}
.hdm-dropLink {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  font-size: 0.9375rem;
  line-height: 1.35;
  color: var(--ink-2);
  text-decoration: none;
  white-space: nowrap;
  transition: background-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.hdm-dropLink:hover {
  background: var(--mist);
  color: var(--ink);
}
.hdm-dropLink[aria-current="page"] {
  color: var(--signal-ink);
}

/* "I am a doctor": a full-width panel under the bar, his pages in columns. */
.hdm-mega {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1;
  background: var(--white);
  box-shadow:
    0 1px 0 var(--hair) inset,
    0 24px 48px -28px rgb(11 21 38 / 0.35);
  transform: translateY(-6px);
}
.hdm-megaInner {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
  gap: 40px;
  padding-block: 36px 44px;
}
.hdm-megaLead {
  display: grid;
  align-content: start;
  gap: 14px;
  padding-right: 24px;
  border-right: 1px solid var(--hair);
}
.hdm-megaHome {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: 350;
  letter-spacing: -0.022em;
  line-height: 1.15;
  color: var(--ink);
  text-decoration: none;
}
.hdm-megaHomeArrow {
  color: var(--signal);
  transition: transform var(--dur-2) var(--ease-out);
}
.hdm-megaHome:hover .hdm-megaHomeArrow {
  transform: translateX(3px);
}
.hdm-megaLede {
  margin: 0;
  max-width: 30ch;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--slate);
}
.hdm-megaCol {
  display: grid !important;
  align-content: start;
  gap: 18px !important;
}
.hdm-megaLink {
  display: inline;
  font-size: 1rem;
  font-weight: 450;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: text-decoration-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.hdm-megaLink:hover,
.hdm-megaSubLink:hover {
  text-decoration-color: currentColor;
}
.hdm-megaLink[aria-current="page"],
.hdm-megaSubLink[aria-current="page"] {
  color: var(--signal-ink);
}
.hdm-megaSub {
  display: grid !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding-left: 14px !important;
}
.hdm-megaSubLink {
  font-size: 0.9375rem;
  line-height: 1.4;
  color: var(--slate);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: text-decoration-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);
}
.hdm-megaSubLink:hover {
  color: var(--ink);
}

/* Sheet menu: a tab's pages, smaller, under it. */
.hdm-sheetSub,
.hdm-sheetSubSub {
  margin: -6px 0 14px;
  padding: 0 0 0 2px;
  list-style: none;
  display: grid;
  gap: 2px;
}
.hdm-sheetSubSub {
  margin: 2px 0 4px;
  padding-left: 16px;
}
.hdm-sheetSub li {
  border: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}
.hdm-sheetSubLink {
  display: flex;
  align-items: center;
  min-height: 40px;
  font-size: 1.0625rem;
  color: var(--slate);
  text-decoration: none;
}
.hdm-sheetSubLink[aria-current="page"] {
  color: var(--signal-ink);
}

@media (prefers-reduced-motion: reduce) {
  .hdm-drop,
  .hdm-mega,
  .hdm-chev {
    transition: none;
    transform: none;
  }
}

/* The doctors' entrance at the bar's end (from 1280px; the sheet lists it below). */
.hdm-doctorWrap {
  display: none;
}
@media (min-width: 1280px) {
  .hdm-doctorWrap {
    display: block;
  }
}
.hdm-doctorBtn {
  gap: 6px;
}
.hdm-doctorBtn[aria-expanded="true"],
.hdm-doctorBtn[aria-current="page"] {
  background: var(--signal-wash);
  color: var(--signal-ink);
  box-shadow: inset 0 0 0 1px var(--signal);
}
.hdm-doctorBtn .hdm-chev {
  color: currentColor;
}
.hdm-doctorBtn[aria-expanded="true"] .hdm-chev {
  transform: rotate(180deg);
}


/* ── Page styles (the draft's CSS modules, classes file-hash__name) ── */

.inter_fe8b9d92-LINzvG__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}.inter_fe8b9d92-LINzvG__variable {
  --font-inter: "Inter", "Inter Fallback";
}.playfair_display_fa003182-ExH7JW__className {
  font-family: Playfair Display, Playfair Display Fallback;
  font-style: normal;
}.playfair_display_fa003182-ExH7JW__variable {
  --font-playfair: "Playfair Display", "Playfair Display Fallback";
}.geist_e799d87a-u8MhCG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}.geist_e799d87a-u8MhCG__variable {
  --font-geist: "Geist", "Geist Fallback";
}.geist_mono_42eec60-Gb1xvG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}.geist_mono_42eec60-Gb1xvG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}.product-VNjvSG__model {
  margin: 0;
}.product-VNjvSG__modelStage {
  aspect-ratio: 4 / 3;
  height: auto;
}.product-VNjvSG__modelPoster {
  object-fit: contain;
  opacity: 0;
  transition: opacity var(--dur-3) var(--ease-out);
}.product-VNjvSG__modelPoster:is([data-active], .aps-d-active) {
  opacity: 1;
}.product-VNjvSG__modelStage:is([data-loaded], .aps-d-loaded) .product-VNjvSG__modelPoster {
  opacity: 0;
}.product-VNjvSG__modelCap {
  color: var(--fg-2);
  margin-top: 14px;
  font-size: .9375rem;
}.product-VNjvSG__res {
  border-top: 1px solid var(--fg);
  margin: 0;
  padding: 0;
  list-style: none;
}.product-VNjvSG__resItem {
  border-bottom: 1px solid var(--line-strong);
}.product-VNjvSG__resLink {
  color: inherit;
  border-radius: 6px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 6px 20px;
  padding: 20px 0 22px;
  text-decoration: none;
  display: grid;
}.product-VNjvSG__resMain {
  gap: 4px;
  display: grid;
}.product-VNjvSG__resTitle {
  letter-spacing: -.012em;
  transition: color var(--dur-1) var(--ease-out);
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.product-VNjvSG__resDesc {
  color: var(--fg-2);
}.product-VNjvSG__resMeta {
  color: var(--fg-2);
  grid-column: 1;
  font-size: .875rem;
}.product-VNjvSG__resArrow {
  color: var(--fg);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  grid-area: 1 / 2;
  align-self: center;
}.product-VNjvSG__resLink:hover .product-VNjvSG__resTitle {
  color: var(--accent-text);
}.product-VNjvSG__resLink:hover .product-VNjvSG__resArrow {
  color: var(--accent-text);
  transform: translate(2px, -2px);
}.page-FlOTna__open {
  background: var(--white);
}.page-FlOTna__openGrid {
  gap: 36px var(--col-gap);
  padding-top: clamp(24px, 4vw, 64px);
  padding-bottom: var(--space-md);
  align-items: start;
  display: grid;
}.page-FlOTna__portrait {
  border-radius: var(--r-card);
  background: var(--porcelain);
  width: 100%;
  max-width: 260px;
  box-shadow: var(--shadow-2);
  overflow: hidden;
}.page-FlOTna__portraitImg {
  width: 100%;
  height: auto;
  display: block;
}.page-FlOTna__name {
  font-size: var(--fs-h1);
  letter-spacing: -.03em;
  text-wrap: wrap;
  font-weight: 300;
  line-height: 1.04;
}.page-FlOTna__degree {
  color: var(--slate);
}.page-FlOTna__cred {
  color: var(--slate);
  margin-top: 10px;
  font-size: 1rem;
  line-height: 1.5;
}.page-FlOTna__openBio {
  border-top: 1px solid var(--hair-strong);
  text-wrap: pretty;
  margin-top: clamp(28px, 3.4vw, 44px);
  padding-top: clamp(24px, 3vw, 36px);
}.page-FlOTna__story {
  max-width: 46ch;
  font-size: var(--fs-lead);
  letter-spacing: -.008em;
  color: var(--ink-2);
  text-wrap: pretty;
  margin-top: clamp(28px, 3.4vw, 44px);
  line-height: 1.55;
}.page-FlOTna__signature {
  border-top: 1px solid var(--hair-strong);
  max-width: 46ch;
  margin-top: clamp(28px, 3.2vw, 40px);
  padding-top: 20px;
}.page-FlOTna__sigName {
  letter-spacing: -.015em;
  font-size: 1.375rem;
  font-weight: 450;
  line-height: 1.3;
}.page-FlOTna__signature .page-FlOTna__cred {
  margin-top: 4px;
}@media (min-width: 640px) {.page-FlOTna__portrait {
    max-width: 380px;
  }}@media (min-width: 900px) {.page-FlOTna__openGrid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: clamp(40px, 5vw, 80px);
  }.page-FlOTna__portraitCol {
    top: calc(var(--hd-h) + 32px);
    position: sticky;
  }.page-FlOTna__openCopy {
    padding-top: 12px;
  }}.page-FlOTna__ruled {
  border-top: 1px solid var(--hair);
  padding-top: clamp(48px, 5vw, 72px);
}.page-FlOTna__bioCol {
  text-wrap: pretty;
  margin-inline: auto;
}.page-FlOTna__facts {
  text-align: center;
  max-width: 40ch;
  font-size: var(--fs-passage);
  letter-spacing: -.026em;
  color: var(--slate);
  text-wrap: pretty;
  margin-inline: auto;
  font-weight: 300;
  line-height: 1.3;
}.page-FlOTna__factVal {
  font-variant-numeric: lining-nums proportional-nums;
  white-space: nowrap;
  color: var(--ink);
  font-size: 1em;
  font-variant-caps: normal;
  font-weight: 400;
}.page-FlOTna__approach {
  justify-items: center;
  gap: clamp(40px, 4.4vw, 64px);
  display: grid;
}.page-FlOTna__approachFig {
  width: 100%;
}.page-FlOTna__ownWords {
  width: 100%;
  max-width: var(--textw);
  margin: 0;
}.page-FlOTna__ownWords :is(blockquote, .is-blockquote) {
  text-wrap: pretty;
  gap: 1.1em;
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.7;
  display: grid;
}.page-FlOTna__ownWordsBy {
  color: var(--fg-2);
  margin-top: 24px;
  font-size: .9375rem;
}.page-FlOTna__litCol {
  width: 100%;
  max-width: 50rem;
  margin-inline: auto;
}.page-FlOTna__litMore {
  justify-content: center;
  margin-top: clamp(28px, 3.2vw, 40px);
  display: flex;
}.sleepFactors-8qCbHG__root {
  --tint-cyan: color-mix(in srgb, var(--signal) 8%, var(--white));
  --edge-cyan: #2a6fdb80;
  --tint-white: var(--white);
  --edge-white: var(--hair-strong);
  --tint-pink: #fcefee;
  --edge-pink: #a8404052;
  --tint-purple: #f2effa;
  --edge-purple: #5c46a057;
  --tint-yellow: #fbf6dc;
  --edge-yellow: #8c70005c;
  --line-ink: #15191e80;
  --line-dim: #15191e1f;
}.sleepFactors-8qCbHG__root :is([data-color="cyan"], .aps-d-color-cyan) {
  --tint: var(--tint-cyan);
  --edge: var(--edge-cyan);
}.sleepFactors-8qCbHG__root :is([data-color="white"], .aps-d-color-white) {
  --tint: var(--tint-white);
  --edge: var(--edge-white);
}.sleepFactors-8qCbHG__root :is([data-color="pink"], .aps-d-color-pink) {
  --tint: var(--tint-pink);
  --edge: var(--edge-pink);
}.sleepFactors-8qCbHG__root :is([data-color="purple"], .aps-d-color-purple) {
  --tint: var(--tint-purple);
  --edge: var(--edge-purple);
}.sleepFactors-8qCbHG__root :is([data-color="yellow"], .aps-d-color-yellow) {
  --tint: var(--tint-yellow);
  --edge: var(--edge-yellow);
}.sleepFactors-8qCbHG__titleNote {
  display: block;
}.sleepFactors-8qCbHG__desk {
  display: none;
}.sleepFactors-8qCbHG__mob {
  display: block;
}@media (min-width: 1000px) {.sleepFactors-8qCbHG__desk {
    display: block;
  }.sleepFactors-8qCbHG__mob {
    display: none;
  }}.sleepFactors-8qCbHG__bar {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 28px;
  margin-bottom: 20px;
  display: flex;
}.sleepFactors-8qCbHG__hint {
  color: var(--fg-2);
  font-size: .9375rem;
  line-height: 1.5;
}.sleepFactors-8qCbHG__legend {
  color: var(--fg-2);
  flex-wrap: wrap;
  gap: 6px 8px;
  margin: 0;
  padding: 0;
  font-size: .875rem;
  line-height: 1.45;
  list-style: none;
  display: flex;
}.sleepFactors-8qCbHG__legend :is(li, .is-li) {
  background: var(--tint);
  box-shadow: inset 0 0 0 1px var(--edge);
  color: var(--ink-2);
  border-radius: 6px;
  padding: 1px 9px 2px;
}.sleepFactors-8qCbHG__layout {
  grid-template-columns: minmax(0, 1fr) clamp(248px, 25vw, 352px);
  align-items: start;
  gap: clamp(24px, 3vw, 44px);
  display: grid;
}.sleepFactors-8qCbHG__stage {
  scroll-margin-top: calc(var(--hd-h) + 24px);
  position: relative;
}.sleepFactors-8qCbHG__grid {
  z-index: 1;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1fr);
  gap: clamp(30px, 2.5vw, 36px) clamp(28px, 2.8vw, 40px);
  display: grid;
  position: relative;
}.sleepFactors-8qCbHG__box {
  background: var(--tint);
  min-width: 0;
  min-height: 60px;
  box-shadow: inset 0 0 0 1px var(--edge);
  color: var(--ink);
  font: inherit;
  text-align: left;
  overflow-wrap: break-word;
  transition: background-color var(--dur-1) var(--ease-out),
    box-shadow var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  border: 0;
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  gap: 3px;
  margin: 0;
  padding: 10px 12px 11px;
  display: flex;
  position: relative;
}.sleepFactors-8qCbHG__box:is([data-kind="center"], .aps-d-kind-center) {
  gap: 4px;
  padding: 14px 18px 15px;
}.sleepFactors-8qCbHG__boxTitle {
  letter-spacing: -.006em;
  text-wrap: balance;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.28;
}.sleepFactors-8qCbHG__box:is([data-kind="center"], .aps-d-kind-center) .sleepFactors-8qCbHG__boxTitle {
  font-size: 1.0625rem;
}.sleepFactors-8qCbHG__boxSub {
  color: var(--ink-2);
  text-wrap: balance;
  font-size: .875rem;
  line-height: 1.4;
}.sleepFactors-8qCbHG__boxCount {
  color: var(--slate);
  font-size: .875rem;
  line-height: 1.4;
}.sleepFactors-8qCbHG__box:is([data-state="active"], .aps-d-state-active) {
  box-shadow: inset 0 0 0 1px var(--signal),
    0 0 0 1.5px var(--signal);
}.sleepFactors-8qCbHG__box[aria-pressed="true"] {
  box-shadow: inset 0 0 0 1px var(--signal),
    0 0 0 2.5px var(--signal);
}.sleepFactors-8qCbHG__box:is([data-state="near"], .aps-d-state-near) {
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--edge), var(--ink) 40%);
}.sleepFactors-8qCbHG__box:is([data-state="dim"], .aps-d-state-dim) {
  background: var(--white);
  box-shadow: inset 0 0 0 1px var(--hair);
  color: var(--slate);
}.sleepFactors-8qCbHG__box:is([data-state="dim"], .aps-d-state-dim) .sleepFactors-8qCbHG__boxSub {
  color: var(--slate);
}.sleepFactors-8qCbHG__box:focus-visible {
  outline-offset: 4px;
}.sleepFactors-8qCbHG__arrows {
  z-index: 0;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: visible;
}.sleepFactors-8qCbHG__edge {
  color: var(--line-ink);
  transition: color var(--dur-1) var(--ease-out);
}.sleepFactors-8qCbHG__edge line {
  stroke: currentColor;
  stroke-width: 1.25px;
  stroke-linecap: butt;
}.sleepFactors-8qCbHG__edge polygon {
  fill: currentColor;
}.sleepFactors-8qCbHG__edge:is([data-heavy], .aps-d-heavy) line {
  stroke-width: 3.5px;
}.sleepFactors-8qCbHG__edge:is([data-state="on"], .aps-d-state-on) {
  color: var(--signal-ink);
}.sleepFactors-8qCbHG__edge:is([data-state="on"], .aps-d-state-on) line {
  stroke-width: 1.75px;
}.sleepFactors-8qCbHG__edge:is([data-state="on"], .aps-d-state-on):is([data-heavy], .aps-d-heavy) line {
  stroke-width: 3.5px;
}.sleepFactors-8qCbHG__edge:is([data-state="dim"], .aps-d-state-dim) {
  color: var(--line-dim);
}.sleepFactors-8qCbHG__arrowLabel {
  z-index: 2;
  color: var(--ink-2);
  white-space: nowrap;
  pointer-events: none;
  visibility: hidden;
  transition: opacity var(--dur-1) var(--ease-out);
  background: #ececee;
  border-radius: 6px;
  padding: 5px 9px 6px;
  font-size: .875rem;
  line-height: 1.3;
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
}.sleepFactors-8qCbHG__arrowLabel:is([data-ready], .aps-d-ready) {
  visibility: visible;
}.sleepFactors-8qCbHG__arrowLabel:is([data-state="dim"], .aps-d-state-dim) {
  opacity: .4;
}.sleepFactors-8qCbHG__panelCol {
  top: calc(var(--hd-h) + 20px);
  position: sticky;
}.sleepFactors-8qCbHG__panel {
  --pp: clamp(20px, 2vw, 28px);
  max-height: calc(100vh - var(--hd-h) - 40px);
  max-height: calc(100dvh - var(--hd-h) - 40px);
  overscroll-behavior: contain;
  padding: var(--pp);
  border-radius: var(--r-card);
  background: var(--mist);
  overflow: auto;
}.sleepFactors-8qCbHG__detail {
  gap: 0;
  display: grid;
}.sleepFactors-8qCbHG__dTitle {
  letter-spacing: -.01em;
  text-wrap: balance;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.sleepFactors-8qCbHG__dSub {
  color: var(--ink-2);
  margin-top: 6px;
  font-size: 1rem;
  line-height: 1.5;
}.sleepFactors-8qCbHG__items {
  border-top: 1px solid var(--ink);
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}.sleepFactors-8qCbHG__items :is(li, .is-li) {
  border-bottom: 1px solid var(--hair-strong);
  padding: 6px 0 7px;
  font-size: .9375rem;
  line-height: 1.42;
}.sleepFactors-8qCbHG__rel {
  margin-top: 20px;
}.sleepFactors-8qCbHG__dRels {
  bottom: calc(-1 * var(--pp));
  margin: 0 calc(-1 * var(--pp)) calc(-1 * var(--pp));
  padding: 18px var(--pp) var(--pp);
  background: var(--mist);
  position: sticky;
}.sleepFactors-8qCbHG__dRels .sleepFactors-8qCbHG__rel:first-child {
  margin-top: 0;
}.sleepFactors-8qCbHG__relLabel {
  color: var(--fg-2);
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.4;
}.sleepFactors-8qCbHG__relList {
  gap: 2px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}.sleepFactors-8qCbHG__relList :is(li, .is-li) {
  display: grid;
}.sleepFactors-8qCbHG__relLink {
  min-height: 32px;
  color: var(--ink);
  font: inherit;
  text-align: left;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--hair-strong);
  text-decoration-color: var(--hair-strong);
  text-underline-offset: .24em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  background: none;
  border: 0;
  justify-self: start;
  padding: 4px 0;
  font-size: 1rem;
  line-height: 1.4;
  text-decoration-thickness: 1px;
}.sleepFactors-8qCbHG__relLink:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.sleepFactors-8qCbHG__relNote {
  color: var(--fg-2);
  margin-top: -2px;
  padding-bottom: 4px;
  font-size: .875rem;
  line-height: 1.4;
}.sleepFactors-8qCbHG__list {
  max-width: 46rem;
  margin-inline: auto;
}.sleepFactors-8qCbHG__mCenter {
  background: var(--tint-cyan);
  box-shadow: inset 0 0 0 1px var(--edge-cyan);
  scroll-margin-top: calc(var(--hd-h) + 16px);
  border-radius: 12px;
  padding: 16px 18px 17px;
}.sleepFactors-8qCbHG__mCenterTitle {
  letter-spacing: -.01em;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.sleepFactors-8qCbHG__mCenterSub {
  color: var(--ink-2);
  margin-top: 4px;
  font-size: 1rem;
  line-height: 1.5;
}.sleepFactors-8qCbHG__groupTitle {
  letter-spacing: -.01em;
  margin-top: 36px;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.sleepFactors-8qCbHG__rows {
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}.sleepFactors-8qCbHG__rowsApart {
  margin-top: 36px;
}.sleepFactors-8qCbHG__row {
  background: var(--tint);
  box-shadow: inset 0 0 0 1px var(--edge);
  scroll-margin-top: calc(var(--hd-h) + 16px);
  border-radius: 10px;
}.sleepFactors-8qCbHG__row:is([data-kind="feeder"], .aps-d-kind-feeder) {
  margin-left: 24px;
}.sleepFactors-8qCbHG__rowHead {
  cursor: pointer;
  border-radius: 10px;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 10px 16px;
  list-style: none;
  display: flex;
}.sleepFactors-8qCbHG__rowHead::-webkit-details-marker {
  display: none;
}.sleepFactors-8qCbHG__rowHead::marker {
  content: "";
}.sleepFactors-8qCbHG__rowTitle {
  flex: 1;
  min-width: 0;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.3;
}.sleepFactors-8qCbHG__rowCount {
  color: var(--slate);
  flex: none;
  font-size: .9375rem;
}.sleepFactors-8qCbHG__rowIcon {
  flex: none;
  width: 14px;
  height: 14px;
  position: relative;
}.sleepFactors-8qCbHG__rowIcon:before,
.sleepFactors-8qCbHG__rowIcon:after {
  content: "";
  background: var(--ink);
  width: 14px;
  height: 1.5px;
  transition: transform var(--dur-2) var(--ease-out);
  border-radius: 1px;
  position: absolute;
  top: 6.25px;
  left: 0;
}.sleepFactors-8qCbHG__rowIcon:after {
  transform: rotate(90deg);
}.sleepFactors-8qCbHG__row[open] .sleepFactors-8qCbHG__rowIcon:after {
  transform: rotate(0);
}.sleepFactors-8qCbHG__rowBody {
  padding: 0 16px 16px;
}.sleepFactors-8qCbHG__rowBody .sleepFactors-8qCbHG__items {
  border-top: 1px solid var(--edge);
  margin-top: 0;
}.sleepFactors-8qCbHG__rowBody .sleepFactors-8qCbHG__items :is(li, .is-li) {
  border-bottom-color: var(--edge);
}.sleepFactors-8qCbHG__rowBody .sleepFactors-8qCbHG__rel {
  margin-top: 14px;
}@media (prefers-reduced-motion: reduce) {.sleepFactors-8qCbHG__box,
.sleepFactors-8qCbHG__edge,
.sleepFactors-8qCbHG__arrowLabel,
.sleepFactors-8qCbHG__relLink,
.sleepFactors-8qCbHG__rowIcon:before,
.sleepFactors-8qCbHG__rowIcon:after {
    transition: none;
  }}.page-hq99Qa__mapSection {
  padding-top: clamp(40px, 5vw, 72px);
}.page-hq99Qa__head {
  margin-bottom: clamp(32px, 3.6vw, 48px);
}.page-hq99Qa__head .shead-lead {
  max-width: 50ch;
}.page-hq99Qa__chart {
  --fig-max: 935px;
  margin-inline: auto;
}.page-hq99Qa__caption {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 24px;
  margin-top: 16px;
  padding-inline: 4px;
  display: flex;
}.page-hq99Qa__captionText {
  color: var(--fg-2);
  font-size: .9375rem;
  line-height: 1.5;
}.page-hq99Qa__full {
  flex: none;
}.aps-pages-8RRcwW__statements {
  border-top: 1px solid var(--hair);
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}.aps-pages-8RRcwW__statement {
  border-bottom: 1px solid var(--hair);
  letter-spacing: -.02em;
  color: var(--fg, var(--ink));
  text-wrap: pretty;
  padding: clamp(18px, 2.2vw, 26px) 0;
  font-size: clamp(1.25rem, 1.08rem + .55vw, 1.625rem);
  font-weight: 350;
  line-height: 1.3;
}.aps-pages-8RRcwW__statementsLg .aps-pages-8RRcwW__statement {
  font-size: clamp(1.4rem, 1.15rem + .85vw, 2rem);
  font-weight: 300;
  line-height: 1.24;
}.tone-night .aps-pages-8RRcwW__statements {
  border-color: var(--hair-night);
}.tone-night .aps-pages-8RRcwW__statement {
  border-color: var(--hair-night);
}.aps-pages-8RRcwW__shellTop {
  min-height: min(56vh, 560px);
}.aps-pages-8RRcwW__shellHead {
  margin-bottom: clamp(28px, 3.4vw, 44px);
}.aps-pages-8RRcwW__moreLines {
  text-align: center;
  max-width: 40rem;
  margin: calc(-1 * clamp(12px, 1.6vw, 20px)) auto clamp(28px, 3.4vw, 44px);
}.aps-pages-8RRcwW__moreLine {
  color: var(--slate);
  margin: 0;
  font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);
  line-height: 1.5;
}.aps-pages-8RRcwW__shellStatements {
  margin-bottom: clamp(32px, 4vw, 52px);
}.aps-pages-8RRcwW__pending {
  border-radius: var(--r-pill);
  background: var(--mist);
  width: fit-content;
  max-width: 100%;
  color: var(--slate);
  text-align: center;
  margin: clamp(8px, 1.4vw, 16px) auto 0;
  padding: 12px 18px;
  font-size: .9375rem;
  line-height: 1.4;
}.aps-pages-8RRcwW__linkRows {
  border-top: 1px solid var(--hair-strong);
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
}.aps-pages-8RRcwW__linkRows > :is(li, .is-li) {
  border-bottom: 1px solid var(--hair);
}.aps-pages-8RRcwW__linkRow {
  min-height: 64px;
  color: var(--ink);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  font-size: clamp(1.125rem, 1.06rem + .28vw, 1.3125rem);
  line-height: 1.35;
  text-decoration: none;
  display: flex;
}.aps-pages-8RRcwW__linkArrow {
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out);
  flex: none;
}.aps-pages-8RRcwW__linkRow:hover .aps-pages-8RRcwW__linkArrow {
  color: var(--signal);
  transform: translateX(3px);
}.aps-pages-8RRcwW__subRows {
  margin: -6px 0 14px;
  padding: 0 0 0 18px;
  list-style: none;
}.aps-pages-8RRcwW__subRow {
  min-height: 44px;
  color: var(--slate);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 1.0625rem;
  text-decoration: none;
  display: flex;
}.aps-pages-8RRcwW__subRow:hover {
  color: var(--ink);
}.aps-pages-8RRcwW__docGroups {
  gap: clamp(28px, 3vw, 40px) var(--col-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 900px) {.aps-pages-8RRcwW__docGroups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }}.aps-pages-8RRcwW__docGroup .aps-pages-8RRcwW__linkRows {
  max-width: none;
}.aps-pages-8RRcwW__card {
  border-radius: var(--r-card);
  background: var(--white);
  max-width: 46rem;
  box-shadow: 0 0 0 1px var(--hair);
  color: var(--ink);
  transition: box-shadow var(--dur-2) var(--ease-out);
  gap: 10px;
  margin: 0 auto clamp(28px, 3vw, 40px);
  padding: clamp(22px, 2.6vw, 30px);
  text-decoration: none;
  display: grid;
}.aps-pages-8RRcwW__card:hover {
  box-shadow: 0 0 0 1px var(--hair-strong),
    0 18px 40px -26px #0b152659;
}.aps-pages-8RRcwW__cardTitle {
  letter-spacing: -.015em;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 1.25rem;
  font-weight: 450;
  display: flex;
}.aps-pages-8RRcwW__cardLine {
  color: var(--slate);
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
}.aps-pages-8RRcwW__centerLine {
  max-width: 40rem;
  color: var(--slate);
  text-align: center;
  text-wrap: pretty;
  margin: 0 auto clamp(24px, 3vw, 36px);
  font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);
  line-height: 1.5;
}.aps-pages-8RRcwW__statements {
  border-top: 1px solid var(--hair);
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}.aps-pages-8RRcwW__statement {
  border-bottom: 1px solid var(--hair);
  letter-spacing: -.02em;
  color: var(--fg, var(--ink));
  text-wrap: pretty;
  padding: clamp(18px, 2.2vw, 26px) 0;
  font-size: clamp(1.25rem, 1.08rem + .55vw, 1.625rem);
  font-weight: 350;
  line-height: 1.3;
}.aps-pages-8RRcwW__statementsLg .aps-pages-8RRcwW__statement {
  font-size: clamp(1.4rem, 1.15rem + .85vw, 2rem);
  font-weight: 300;
  line-height: 1.24;
}.tone-night .aps-pages-8RRcwW__statements {
  border-color: var(--hair-night);
}.tone-night .aps-pages-8RRcwW__statement {
  border-color: var(--hair-night);
}.aps-pages-8RRcwW__shellTop {
  min-height: min(56vh, 560px);
}.aps-pages-8RRcwW__shellHead {
  margin-bottom: clamp(28px, 3.4vw, 44px);
}.aps-pages-8RRcwW__moreLines {
  text-align: center;
  max-width: 40rem;
  margin: calc(-1 * clamp(12px, 1.6vw, 20px)) auto clamp(28px, 3.4vw, 44px);
}.aps-pages-8RRcwW__moreLine {
  color: var(--slate);
  margin: 0;
  font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);
  line-height: 1.5;
}.aps-pages-8RRcwW__shellStatements {
  margin-bottom: clamp(32px, 4vw, 52px);
}.aps-pages-8RRcwW__pending {
  border-radius: var(--r-pill);
  background: var(--mist);
  width: fit-content;
  max-width: 100%;
  color: var(--slate);
  text-align: center;
  margin: clamp(8px, 1.4vw, 16px) auto 0;
  padding: 12px 18px;
  font-size: .9375rem;
  line-height: 1.4;
}.aps-pages-8RRcwW__linkRows {
  border-top: 1px solid var(--hair-strong);
  max-width: 46rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
}.aps-pages-8RRcwW__linkRows > :is(li, .is-li) {
  border-bottom: 1px solid var(--hair);
}.aps-pages-8RRcwW__linkRow {
  min-height: 64px;
  color: var(--ink);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  font-size: clamp(1.125rem, 1.06rem + .28vw, 1.3125rem);
  line-height: 1.35;
  text-decoration: none;
  display: flex;
}.aps-pages-8RRcwW__linkArrow {
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out), color var(--dur-1) var(--ease-out);
  flex: none;
}.aps-pages-8RRcwW__linkRow:hover .aps-pages-8RRcwW__linkArrow {
  color: var(--signal);
  transform: translateX(3px);
}.aps-pages-8RRcwW__subRows {
  margin: -6px 0 14px;
  padding: 0 0 0 18px;
  list-style: none;
}.aps-pages-8RRcwW__subRow {
  min-height: 44px;
  color: var(--slate);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 1.0625rem;
  text-decoration: none;
  display: flex;
}.aps-pages-8RRcwW__subRow:hover {
  color: var(--ink);
}.aps-pages-8RRcwW__docGroups {
  gap: clamp(28px, 3vw, 40px) var(--col-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 900px) {.aps-pages-8RRcwW__docGroups {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }}.aps-pages-8RRcwW__docGroup .aps-pages-8RRcwW__linkRows {
  max-width: none;
}.aps-pages-8RRcwW__card {
  border-radius: var(--r-card);
  background: var(--white);
  max-width: 46rem;
  box-shadow: 0 0 0 1px var(--hair);
  color: var(--ink);
  transition: box-shadow var(--dur-2) var(--ease-out);
  gap: 10px;
  margin: 0 auto clamp(28px, 3vw, 40px);
  padding: clamp(22px, 2.6vw, 30px);
  text-decoration: none;
  display: grid;
}.aps-pages-8RRcwW__card:hover {
  box-shadow: 0 0 0 1px var(--hair-strong),
    0 18px 40px -26px #0b152659;
}.aps-pages-8RRcwW__cardTitle {
  letter-spacing: -.015em;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: 1.25rem;
  font-weight: 450;
  display: flex;
}.aps-pages-8RRcwW__cardLine {
  color: var(--slate);
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
}.aps-pages-8RRcwW__centerLine {
  max-width: 40rem;
  color: var(--slate);
  text-align: center;
  text-wrap: pretty;
  margin: 0 auto clamp(24px, 3vw, 36px);
  font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);
  line-height: 1.5;
}.product-VNjvSG__model {
  margin: 0;
}.product-VNjvSG__modelStage {
  aspect-ratio: 4 / 3;
  height: auto;
}.product-VNjvSG__modelPoster {
  object-fit: contain;
  opacity: 0;
  transition: opacity var(--dur-3) var(--ease-out);
}.product-VNjvSG__modelPoster:is([data-active], .aps-d-active) {
  opacity: 1;
}.product-VNjvSG__modelStage:is([data-loaded], .aps-d-loaded) .product-VNjvSG__modelPoster {
  opacity: 0;
}.product-VNjvSG__modelCap {
  color: var(--fg-2);
  margin-top: 14px;
  font-size: .9375rem;
}.product-VNjvSG__res {
  border-top: 1px solid var(--fg);
  margin: 0;
  padding: 0;
  list-style: none;
}.product-VNjvSG__resItem {
  border-bottom: 1px solid var(--line-strong);
}.product-VNjvSG__resLink {
  color: inherit;
  border-radius: 6px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 6px 20px;
  padding: 20px 0 22px;
  text-decoration: none;
  display: grid;
}.product-VNjvSG__resMain {
  gap: 4px;
  display: grid;
}.product-VNjvSG__resTitle {
  letter-spacing: -.012em;
  transition: color var(--dur-1) var(--ease-out);
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.product-VNjvSG__resDesc {
  color: var(--fg-2);
}.product-VNjvSG__resMeta {
  color: var(--fg-2);
  grid-column: 1;
  font-size: .875rem;
}.product-VNjvSG__resArrow {
  color: var(--fg);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  grid-area: 1 / 2;
  align-self: center;
}.product-VNjvSG__resLink:hover .product-VNjvSG__resTitle {
  color: var(--accent-text);
}.product-VNjvSG__resLink:hover .product-VNjvSG__resArrow {
  color: var(--accent-text);
  transform: translate(2px, -2px);
}.page-AMh69a__intro {
  padding-top: clamp(48px, 5.5vw, 88px);
}.page-AMh69a__index :is(ul, .is-ul) {
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}.page-AMh69a__indexLink {
  border: 1px solid var(--line-strong);
  border-radius: var(--r-pill);
  min-height: 40px;
  color: var(--fg);
  transition: border-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  align-items: center;
  padding: 0 16px;
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}.page-AMh69a__indexLink:hover {
  border-color: var(--fg);
}.page-AMh69a__intro .ag-ind-link {
  -webkit-text-decoration-color: var(--line-strong);
  text-decoration-color: var(--line-strong);
  text-underline-offset: .22em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
}.page-AMh69a__intro .ag-ind-link:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.page-AMh69a__ind + .page-AMh69a__ind {
  margin-top: var(--space-lg);
}.page-AMh69a__indGrid {
  gap: 32px var(--col-gap);
  align-items: center;
  display: grid;
}@media (min-width: 1000px) {.page-AMh69a__indGrid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }}.page-AMh69a__modelCrop .ms-stage {
  aspect-ratio: 13 / 8;
  overflow: clip;
}.page-AMh69a__modelCrop .ms-viewer {
  aspect-ratio: 4 / 3;
  height: auto;
  inset: auto 0 0;
}.page-AMh69a__modelCrop .ms-stage img {
  object-fit: cover;
  object-position: 50% 100%;
}.page-AMh69a__still {
  border-radius: var(--r-card);
  background: var(--porcelain);
  overflow: hidden;
}.page-AMh69a__stillImg {
  width: 100%;
  height: auto;
  display: block;
}.page-AMh69a__cards {
  gap: clamp(12px, 1.4vw, 16px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 720px) {.page-AMh69a__cardsPair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 980px;
    margin-inline: auto;
  }.page-AMh69a__cardsSolo {
    max-width: 482px;
    margin-inline: auto;
  }}.page-AMh69a__card {
  border-radius: var(--r-card);
  background: var(--surface);
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  padding: 14px 22px 14px 14px;
  display: grid;
  position: relative;
}.page-AMh69a__card:not(:has(.page-AMh69a__thumb)) {
  grid-template-columns: minmax(0, 1fr);
  padding: 22px;
}.tone-porcelain .page-AMh69a__card {
  background: var(--white);
}.tone-night .page-AMh69a__card {
  box-shadow: inset 0 0 0 1px var(--hair-night);
}.page-AMh69a__thumb {
  aspect-ratio: 4 / 3;
  border-radius: var(--r-inner);
  background: var(--porcelain);
  width: 160px;
  overflow: hidden;
}.page-AMh69a__thumb img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}.page-AMh69a__thumb:is([data-fit="contain"], .aps-d-fit-contain) {
  background: var(--white);
}.page-AMh69a__thumb:is([data-fit="contain"], .aps-d-fit-contain) img {
  object-fit: contain;
}.page-AMh69a__cardBody {
  gap: 4px;
  min-width: 0;
  display: grid;
}.page-AMh69a__cardTitle {
  letter-spacing: -.012em;
  text-wrap: balance;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.page-AMh69a__cardLine {
  color: var(--fg-2);
  font-size: .9375rem;
  line-height: 1.5;
}.page-AMh69a__cardMore {
  color: var(--fg-2);
  margin-top: 4px;
  font-size: .875rem;
  line-height: 1.5;
}.page-AMh69a__note {
  border: 1px solid var(--line-strong);
  border-radius: var(--r-card);
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 14px;
  margin-top: clamp(12px, 1.4vw, 16px);
  padding: 14px 22px;
  font-size: .9375rem;
  line-height: 1.5;
  display: flex;
}.page-AMh69a__noteLabel {
  color: var(--fg-2);
}.page-AMh69a__spec {
  border-top: 1px solid var(--fg);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 24px;
  max-width: 482px;
  margin: 0 auto;
  padding: 16px 2px 0;
  display: flex;
}.page-AMh69a__specLabel {
  color: var(--fg-2);
  font-size: .9375rem;
}.page-AMh69a__specName {
  letter-spacing: -.012em;
  margin: 0;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.page-AMh69a__cardLink {
  transition: color var(--dur-1) var(--ease-out);
  outline: none;
  text-decoration: none;
}.page-AMh69a__cardLink:after {
  content: "";
  z-index: 1;
  border-radius: inherit;
  position: absolute;
  inset: 0;
}.page-AMh69a__linkCard {
  transition: box-shadow var(--dur-2) var(--ease-out),
    transform var(--dur-2) var(--ease-out);
}.page-AMh69a__linkCard:hover {
  transform: translateY(-2px);
}.page-AMh69a__linkCard:hover .page-AMh69a__cardLink {
  color: var(--accent-text);
}.page-AMh69a__linkCard:has(.page-AMh69a__cardLink:focus-visible) {
  outline: 2px solid var(--signal-night);
  outline-offset: 3px;
}.page-AMh69a__cardFoot {
  border-top: 1px solid var(--line);
  color: var(--fg-2);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding-top: 10px;
  font-size: .875rem;
  display: flex;
}.page-AMh69a__cardArrow {
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  flex: none;
}.page-AMh69a__linkCard:hover .page-AMh69a__cardArrow {
  color: var(--accent-text);
  transform: translateX(4px);
}.page-AMh69a__answers {
  border-top: 1px solid var(--line);
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 14px 40px;
  margin-top: clamp(36px, 4vw, 52px);
  padding-top: 22px;
  display: flex;
}.page-AMh69a__answerGroup {
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  gap: 8px 24px;
  display: flex;
}.page-AMh69a__answerLabel {
  color: var(--fg-2);
  font-size: .9375rem;
}.page-AMh69a__toOrder {
  color: var(--fg-2);
}.page-AMh69a__sort {
  gap: clamp(12px, 1.4vw, 16px);
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 720px) {.page-AMh69a__sort {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }}.page-AMh69a__sortCard {
  border-radius: var(--r-card);
  background: var(--surface);
  align-content: start;
  justify-items: start;
  gap: 16px;
  padding: clamp(22px, 2.4vw, 30px);
  display: grid;
}.page-AMh69a__sortLine {
  color: var(--fg-2);
}@media (max-width: 719px) {.page-AMh69a__sort {
    grid-template-columns: minmax(0, 1fr);
  }.page-AMh69a__sortCard {
    padding: 20px;
  }.page-AMh69a__sortCard .btn {
    white-space: normal;
    text-align: center;
    max-width: 100%;
    padding: 10px 16px;
    line-height: 1.25;
  }.page-AMh69a__thumb {
    width: 112px;
  }.page-AMh69a__card {
    gap: 16px;
    padding: 12px 16px 12px 12px;
  }.page-AMh69a__cardTitle {
    font-size: 1.0625rem;
  }.page-AMh69a__answers {
    gap: 14px 28px;
  }}@media (max-width: 639.98px) {.page-AMh69a__answers,
.page-AMh69a__answerGroup {
    flex-direction: column;
    align-items: center;
  }.page-AMh69a__answerGroup {
    gap: 6px;
  }}.page-AMh69a__statements {
  margin-bottom: clamp(36px, 4.4vw, 56px);
}.page-AMh69a__orderActions {
  justify-content: center;
}.chairside-fGtDRq__root {
  min-width: 0;
}.chairside-fGtDRq__phases {
  gap: clamp(56px, 6vw, 88px);
  display: grid;
}.chairside-fGtDRq__phase {
  align-items: start;
  gap: 20px;
  display: grid;
}.chairside-fGtDRq__head {
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  display: flex;
}.chairside-fGtDRq__title {
  font-size: var(--fs-h3);
  letter-spacing: -.026em;
  color: var(--fg);
  text-wrap: balance;
  font-weight: 350;
  line-height: 1.15;
}.chairside-fGtDRq__range {
  color: var(--fg-2);
  flex: none;
  font-size: .9375rem;
}.chairside-fGtDRq__frame {
  scroll-margin-top: calc(var(--hd-h) + 72px);
  aspect-ratio: 1920 / 816;
  border-radius: var(--r-card);
  background: var(--porcelain);
  position: relative;
  overflow: hidden;
}.chairside-fGtDRq__poster {
  border-radius: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  width: 100%;
  padding: 0;
  display: block;
  position: absolute;
  inset: 0;
}.chairside-fGtDRq__still {
  object-fit: cover;
  transition: transform .9s var(--ease-out);
}.chairside-fGtDRq__poster:hover .chairside-fGtDRq__still {
  transform: scale(1.02);
}.chairside-fGtDRq__posterPlay {
  border-radius: var(--r-pill);
  background: var(--white);
  height: 34px;
  color: var(--ink);
  box-shadow: var(--shadow-1);
  transition: background-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  align-items: center;
  gap: 7px;
  padding: 0 14px 0 12px;
  font-size: .8125rem;
  display: inline-flex;
  position: absolute;
  bottom: 14px;
  left: 14px;
}.chairside-fGtDRq__poster:hover .chairside-fGtDRq__posterPlay,
.chairside-fGtDRq__poster:focus-visible .chairside-fGtDRq__posterPlay {
  background: var(--signal);
  color: #fff;
}.chairside-fGtDRq__poster:focus-visible {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
}.chairside-fGtDRq__clip {
  object-fit: cover;
  object-position: center top;
  background: var(--porcelain);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}.chairside-fGtDRq__caption {
  max-width: 62ch;
  color: var(--fg-2);
  margin-top: 14px;
  font-size: .9375rem;
  line-height: 1.5;
}.chairside-fGtDRq__stepsCol {
  min-width: 0;
}.chairside-fGtDRq__occ {
  margin-top: 28px;
}.chairside-fGtDRq__occ .spec-row {
  grid-template-columns: 6.5rem minmax(0, 1fr);
}@media (max-width: 899px) {.chairside-fGtDRq__phase {
    scroll-margin-top: calc(var(--hd-h) + 72px);
  }}@media (min-width: 900px) {.chairside-fGtDRq__phase {
    grid-template-rows: auto 1fr;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 24px clamp(32px, 4vw, 64px);
  }.chairside-fGtDRq__head {
    grid-area: 1 / 2;
  }.chairside-fGtDRq__visual {
    top: calc(var(--hd-h) + 72px);
    grid-area: 1 / 1 / span 2;
    position: sticky;
  }.chairside-fGtDRq__stepsCol {
    grid-area: 2 / 2;
  }}@media (min-width: 1024px) {.chairside-fGtDRq__frame {
    scroll-margin-top: calc(var(--hd-h) + 24px);
  }.chairside-fGtDRq__visual {
    top: calc(var(--hd-h) + 24px);
  }}@media (prefers-reduced-motion: reduce) {.chairside-fGtDRq__still,
.chairside-fGtDRq__posterPlay {
    transition: none;
  }.chairside-fGtDRq__poster:hover .chairside-fGtDRq__still {
    transform: none;
  }}.stepmap-3YqKFa__map {
  top: var(--hd-h);
  z-index: 30;
  background: var(--white);
  box-shadow: 0 1px 0 var(--hair);
  position: sticky;
}.stepmap-3YqKFa__inner {
  padding-block: 8px;
}.stepmap-3YqKFa__phases {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}.stepmap-3YqKFa__phase {
  flex-basis: 0;
  min-width: 0;
}.stepmap-3YqKFa__phaseTitle {
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}.stepmap-3YqKFa__steps {
  background: var(--mist);
  border-radius: 12px;
  gap: 2px;
  margin: 0;
  padding: 2px;
  list-style: none;
  display: flex;
}.stepmap-3YqKFa__step {
  flex: 1;
  min-width: 0;
}.stepmap-3YqKFa__stop {
  height: 42px;
  color: var(--ink);
  transition: background-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out),
    box-shadow var(--dur-1) var(--ease-out);
  border-radius: 10px;
  place-items: center;
  text-decoration: none;
  display: grid;
}.stepmap-3YqKFa__node {
  font-variant-numeric: tabular-nums;
  font-size: 1.0625rem;
  font-weight: 500;
}.stepmap-3YqKFa__name {
  display: none;
}.stepmap-3YqKFa__stop:hover {
  background: var(--white);
  box-shadow: 0 1px 2px #0b152614, 0 3px 10px -4px #0b15262e;
}@media (min-width: 1024px) {.stepmap-3YqKFa__map {
    box-shadow: 0 1px 0 var(--hair);
    position: static;
  }.stepmap-3YqKFa__inner {
    padding-block: 36px 40px;
  }.stepmap-3YqKFa__phases {
    gap: clamp(20px, 2.4vw, 36px);
  }.stepmap-3YqKFa__phaseTitle {
    clip-path: none;
    width: auto;
    height: auto;
    min-height: 2.7em;
    color: var(--slate);
    text-wrap: balance;
    margin: 0 0 16px;
    font-size: .875rem;
    line-height: 1.35;
    position: static;
    overflow: visible;
  }.stepmap-3YqKFa__steps {
    background: none;
    border-radius: 0;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
    gap: 0;
    padding: 0;
    display: grid;
    position: relative;
  }.stepmap-3YqKFa__steps:before {
    content: "";
    top: 17px;
    left: 18px;
    right: calc(100% / var(--n, 1) - 18px);
    background: var(--hair-strong);
    height: 1px;
    position: absolute;
  }.stepmap-3YqKFa__stop {
    height: auto;
    box-shadow: none;
    background: none;
    border-radius: 8px;
    place-items: start;
    gap: 14px;
    padding: 0 14px 4px 0;
    display: grid;
    position: relative;
  }.stepmap-3YqKFa__stop:hover {
    box-shadow: none;
    background: none;
  }.stepmap-3YqKFa__node {
    border: 1px solid var(--hair-strong);
    background: var(--white);
    width: 36px;
    height: 36px;
    transition: background-color var(--dur-1) var(--ease-out),
      border-color var(--dur-1) var(--ease-out),
      color var(--dur-1) var(--ease-out);
    border-radius: 50%;
    place-items: center;
    font-size: .9375rem;
    display: grid;
  }.stepmap-3YqKFa__name {
    color: var(--ink-2);
    text-wrap: pretty;
    text-underline-offset: 3px;
    transition: color var(--dur-1) var(--ease-out), text-decoration-color var(--dur-1) var(--ease-out);
    font-size: .9375rem;
    line-height: 1.35;
    -webkit-text-decoration: underline #0000;
    text-decoration: underline #0000;
    display: block;
  }.stepmap-3YqKFa__stop:hover .stepmap-3YqKFa__node {
    border-color: var(--ink);
    background: var(--ink);
    color: #fff;
  }.stepmap-3YqKFa__stop:hover .stepmap-3YqKFa__name {
    color: var(--ink);
    text-decoration-color: currentColor;
  }}@media (min-width: 1024px) and (max-width: 1279px) {.stepmap-3YqKFa__stop {
    padding-right: 10px;
  }.stepmap-3YqKFa__name {
    -webkit-hyphens: auto;
    hyphens: auto;
    font-size: .875rem;
  }}.stepmap-3YqKFa__contained {
  display: none;
}@media (min-width: 1024px) {.stepmap-3YqKFa__contained {
    box-shadow: none;
    background: none;
    display: block;
    position: static;
  }.stepmap-3YqKFa__contained .stepmap-3YqKFa__inner {
    padding-block: 0;
  }.stepmap-3YqKFa__contained .stepmap-3YqKFa__node {
    background: var(--bg);
  }}@media (prefers-reduced-motion: reduce) {.stepmap-3YqKFa__stop,
.stepmap-3YqKFa__node,
.stepmap-3YqKFa__name {
    transition: none;
  }}.howfar-XH7lCa__grid {
  --z-rest: var(--fg-2);
  --z-short: #9aa3ae;
  --z-right: var(--signal);
  --z-far: #d6584b;
  gap: 24px;
  max-width: 640px;
  margin-inline: auto;
  display: grid;
}.tone-night .howfar-XH7lCa__grid {
  --z-right: #6f9ff0;
  --z-far: #ea7a6e;
}.howfar-XH7lCa__grid:is([data-tone="rest"], .aps-d-tone-rest) {
  --z-on: var(--z-rest);
}.howfar-XH7lCa__grid:is([data-tone="short"], .aps-d-tone-short) {
  --z-on: var(--z-short);
}.howfar-XH7lCa__grid:is([data-tone="right"], .aps-d-tone-right) {
  --z-on: var(--z-right);
}.howfar-XH7lCa__grid:is([data-tone="far"], .aps-d-tone-far) {
  --z-on: var(--z-far);
}.howfar-XH7lCa__stage {
  aspect-ratio: 1290 / 816;
  border-radius: var(--r-card);
  background: #ecd9cf;
  margin: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 60px -40px #0000008c;
}.howfar-XH7lCa__frame {
  object-fit: cover;
  opacity: 0;
  transition: opacity .32s var(--ease-out);
}.howfar-XH7lCa__frame:is([data-on], .aps-d-on) {
  opacity: 1;
}.howfar-XH7lCa__control {
  gap: 14px;
  display: grid;
}.howfar-XH7lCa__readoutLabel {
  color: var(--fg-2);
  justify-self: center;
  font-size: .9375rem;
}.howfar-XH7lCa__track {
  height: 32px;
  position: relative;
}.howfar-XH7lCa__rail {
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  height: 6px;
  display: grid;
  position: absolute;
  inset: 13px 0 auto;
}.howfar-XH7lCa__rail > :is(span, .is-span) {
  opacity: .35;
  transition: opacity var(--dur-2) var(--ease-out);
  border-radius: 3px;
}.howfar-XH7lCa__zoneRest {
  background: var(--line-strong, var(--line));
  opacity: 1 !important;
}.howfar-XH7lCa__zoneShort {
  background: var(--z-short);
}.howfar-XH7lCa__zoneRight {
  background: var(--z-right);
}.howfar-XH7lCa__zoneFar {
  background: var(--z-far);
}.howfar-XH7lCa__grid:is([data-tone="short"], .aps-d-tone-short) .howfar-XH7lCa__zoneShort,
.howfar-XH7lCa__grid:is([data-tone="right"], .aps-d-tone-right) .howfar-XH7lCa__zoneRight,
.howfar-XH7lCa__grid:is([data-tone="far"], .aps-d-tone-far) .howfar-XH7lCa__zoneFar {
  opacity: 1;
}.howfar-XH7lCa__range {
  appearance: none;
  cursor: grab;
  background: none;
  width: calc(75% + 28px);
  margin: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(12.5% - 14px);
}.howfar-XH7lCa__range:active {
  cursor: grabbing;
}.howfar-XH7lCa__range::-webkit-slider-runnable-track {
  background: none;
  height: 32px;
}.howfar-XH7lCa__range::-moz-range-track {
  background: none;
  height: 32px;
}.howfar-XH7lCa__range::-webkit-slider-thumb {
  appearance: none;
  background: var(--white);
  border: 3px solid var(--z-on);
  width: 28px;
  height: 28px;
  transition: border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);
  border-radius: 50%;
  margin-top: 2px;
  box-shadow: 0 4px 14px -4px #00000073;
}.howfar-XH7lCa__range::-moz-range-thumb {
  background: var(--white);
  border: 3px solid var(--z-on);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  box-shadow: 0 4px 14px -4px #00000073;
}.howfar-XH7lCa__range:hover::-webkit-slider-thumb {
  transform: scale(1.08);
}.howfar-XH7lCa__range:focus-visible {
  outline: none;
}.howfar-XH7lCa__range:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px var(--bg, var(--night)),
    0 0 0 6px var(--focus, var(--signal));
}.howfar-XH7lCa__range:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 4px var(--bg, var(--night)),
    0 0 0 6px var(--focus, var(--signal));
}.howfar-XH7lCa__stops {
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.howfar-XH7lCa__stops :is(li, .is-li) {
  justify-content: center;
  display: flex;
}.howfar-XH7lCa__stop {
  border-radius: var(--r-pill);
  min-height: 40px;
  font: inherit;
  color: var(--fg-2);
  white-space: nowrap;
  cursor: pointer;
  transition: color var(--dur-1) var(--ease-out), background-color var(--dur-1) var(--ease-out);
  background: none;
  border: 0;
  padding: 8px 10px;
  font-size: .9375rem;
}.howfar-XH7lCa__stop:hover {
  color: var(--fg);
}.howfar-XH7lCa__stop[aria-pressed="true"] {
  color: var(--fg);
  font-weight: 500;
}.howfar-XH7lCa__stop[aria-pressed="true"]:is([data-tone="short"], .aps-d-tone-short) {
  color: var(--z-short);
}.howfar-XH7lCa__stop[aria-pressed="true"]:is([data-tone="right"], .aps-d-tone-right) {
  color: var(--z-right);
}.howfar-XH7lCa__stop[aria-pressed="true"]:is([data-tone="far"], .aps-d-tone-far) {
  color: var(--z-far);
}.howfar-XH7lCa__narration {
  text-align: center;
  margin: 8px 0 0;
}.howfar-XH7lCa__lines {
  align-items: start;
  display: grid;
}.howfar-XH7lCa__lines > * {
  grid-area: 1 / 1;
}.howfar-XH7lCa__quote {
  margin: 0;
}.howfar-XH7lCa__line {
  max-width: 32ch;
  font-size: var(--fs-quote);
  letter-spacing: -.02em;
  color: var(--fg);
  text-wrap: balance;
  margin: 0 auto;
  font-weight: 300;
  line-height: 1.24;
}.howfar-XH7lCa__sizer {
  visibility: hidden;
}.howfar-XH7lCa__sizer:after {
  content: "";
  height: calc(16px + 1.45313rem);
  display: block;
}.howfar-XH7lCa__live {
  animation: howfar-XH7lCa__line-in .36s var(--ease-out) both;
}.howfar-XH7lCa__cite {
  color: var(--fg-2);
  margin-top: 16px;
  font-size: .9375rem;
  line-height: 1.55;
}@keyframes howfar-XH7lCa__line-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
}@media (prefers-reduced-motion: reduce) {.howfar-XH7lCa__frame,
.howfar-XH7lCa__rail > :is(span, .is-span) {
    transition: none;
  }.howfar-XH7lCa__live {
    animation: none;
  }}.page-1Yf73q__nowrap {
  white-space: nowrap;
}.page-1Yf73q__top {
  overflow: clip;
}.page-1Yf73q__topGrid {
  align-items: center;
  gap: 28px var(--col-gap);
  padding-top: clamp(28px, 4vw, 56px);
  padding-bottom: clamp(28px, 3.6vw, 52px);
  display: grid;
}.page-1Yf73q__topTitle {
  max-width: 14ch;
}.page-1Yf73q__topLead {
  max-width: 40ch;
  margin-top: 18px;
}.page-1Yf73q__topActions {
  gap: 12px;
  margin-top: 28px;
  display: grid;
}.page-1Yf73q__topLinks {
  flex-wrap: wrap;
  gap: 4px 28px;
  margin-top: 14px;
  display: flex;
}.page-1Yf73q__topMedia {
  display: none;
}.page-1Yf73q__topPhoto {
  border-radius: var(--r-card);
  background: var(--porcelain);
  overflow: hidden;
}.page-1Yf73q__topPhotoImg {
  width: 100%;
  height: auto;
  display: block;
}@media (min-width: 640px) {.page-1Yf73q__topActions {
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    display: flex;
  }}@media (min-width: 760px) {.page-1Yf73q__topGrid {
    grid-template-columns: minmax(0, 1fr) clamp(240px, 30vw, 420px);
  }.page-1Yf73q__topPhoto {
    display: none;
  }.page-1Yf73q__topMedia {
    aspect-ratio: 1;
    margin-block: -12px;
    display: block;
    position: relative;
  }.page-1Yf73q__topRender {
    width: 122%;
    max-width: none;
    height: auto;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-47.3%, -58%);
  }}@media (max-width: 999px) {.page-1Yf73q__see .tp {
    row-gap: 16px;
  }.page-1Yf73q__see .tp-side .chl {
    min-width: 0;
    margin: 0 calc(-1 * var(--gutter));
    padding: 0 var(--gutter) 10px;
    overscroll-behavior-x: contain;
    scroll-padding-inline: var(--gutter);
    scrollbar-width: thin;
    scrollbar-color: var(--line-strong) transparent;
    border-top: 0;
    gap: 6px;
    display: flex;
    overflow: auto hidden;
  }.page-1Yf73q__see .tp-side .chl :is(li, .is-li) {
    flex: none;
  }.page-1Yf73q__see .tp-side .chl-btn {
    border: 1px solid var(--line-strong);
    border-radius: var(--r-pill);
    white-space: nowrap;
    align-items: center;
    gap: 8px;
    width: auto;
    min-height: 40px;
    padding: 0 14px;
    font-size: .9375rem;
    display: flex;
  }.page-1Yf73q__see .tp-side .chl-btn[aria-current] {
    border-color: var(--signal);
  }}.page-1Yf73q__photos,
.page-1Yf73q__slides {
  margin: clamp(40px, 5vw, 64px) calc(-1 * var(--gutter)) 0;
  padding: 0 var(--gutter) 6px;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: var(--gutter);
  scrollbar-width: thin;
  scrollbar-color: var(--line-strong) transparent;
  gap: 14px;
  list-style: none;
  display: flex;
  overflow-x: auto;
}.page-1Yf73q__photo,
.page-1Yf73q__slide {
  scroll-snap-align: start;
  flex: 0 0 84%;
  min-width: 0;
}.page-1Yf73q__slides {
  margin-top: 24px;
}.page-1Yf73q__slidesHead {
  border-top: 1px solid var(--line-strong);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px 24px;
  margin-top: clamp(48px, 6vw, 80px);
  padding-top: 24px;
  display: flex;
}.page-1Yf73q__slidesTitle {
  font-size: var(--fs-h3);
  letter-spacing: -.026em;
  color: var(--fg);
  font-weight: 350;
  line-height: 1.15;
}@media (max-width: 759px) {.page-1Yf73q__photo:first-child {
    display: none;
  }}@media (min-width: 640px) {.page-1Yf73q__slides {
    gap: clamp(28px, 3.2vw, 44px) var(--col-gap);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 32px 0 0;
    padding: 0;
    display: grid;
    overflow: visible;
  }}@media (min-width: 760px) {.page-1Yf73q__photos {
    gap: clamp(28px, 3.2vw, 44px) var(--col-gap);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
    padding: 0;
    display: grid;
    overflow: visible;
  }}@media (min-width: 1000px) {.page-1Yf73q__photos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }}.page-1Yf73q__before {
  gap: 32px var(--col-gap);
  align-items: start;
  display: grid;
}.page-1Yf73q__kitStill {
  aspect-ratio: 16 / 10;
  border-radius: var(--r-card);
  background: var(--porcelain);
  position: relative;
  overflow: hidden;
}.page-1Yf73q__kitImg {
  object-fit: cover;
}.page-1Yf73q__colTitle {
  letter-spacing: -.01em;
  color: var(--fg);
  margin-bottom: 14px;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.page-1Yf73q__list {
  border-top: 1px solid var(--fg);
  margin: 0;
  padding: 0;
  list-style: none;
}.page-1Yf73q__list :is(li, .is-li) {
  border-bottom: 1px solid var(--line-strong);
  padding: 13px 0 14px;
  line-height: 1.45;
}@media (min-width: 640px) {.page-1Yf73q__before {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.page-1Yf73q__kitStill {
    aspect-ratio: 1920 / 816;
    grid-column: 1 / -1;
  }}@media (min-width: 900px) {.page-1Yf73q__before {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.page-1Yf73q__kitStill {
    aspect-ratio: 16 / 10;
    grid-column: auto;
  }}.page-1Yf73q__map {
  margin-top: var(--space-md);
  border-top: 1px solid var(--line-strong);
  padding-top: 36px;
}.page-1Yf73q__chairside {
  margin-top: 48px;
}@media (min-width: 1024px) {.page-1Yf73q__chairside {
    margin-top: 72px;
  }}.page-1Yf73q__advGrid {
  gap: 32px var(--col-gap);
  align-items: start;
  display: grid;
}.page-1Yf73q__advStill {
  aspect-ratio: 4 / 3;
  border-radius: var(--r-card);
  background: var(--porcelain);
  position: relative;
  overflow: hidden;
}.page-1Yf73q__advImg {
  object-fit: cover;
}.page-1Yf73q__advList {
  border-top: 1px solid var(--fg);
  margin: 0;
  padding: 0;
  list-style: none;
}.page-1Yf73q__advRow {
  gap: 4px var(--col-gap);
  border-bottom: 1px solid var(--line-strong);
  padding: 18px 0 20px;
  display: grid;
}.page-1Yf73q__advTitle {
  letter-spacing: -.012em;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.page-1Yf73q__advBody {
  color: var(--fg-2);
  margin: 0;
}@media (min-width: 640px) and (max-width: 999px) {.page-1Yf73q__advStill {
    aspect-ratio: 21 / 9;
  }}@media (min-width: 1000px) {.page-1Yf73q__advGrid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }}.page-1Yf73q__orderMedia {
  aspect-ratio: 3 / 2;
  max-width: 520px;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}.page-1Yf73q__orderRender {
  width: 124%;
  max-width: none;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-49.8%, -51%);
}.page-1Yf73q__next {
  gap: 20px var(--col-gap);
  border-top: 1px solid var(--line);
  margin-top: clamp(40px, 5vw, 72px);
  padding-top: 28px;
  display: grid;
}.page-1Yf73q__nextTitle {
  font-size: var(--fs-h3);
  letter-spacing: -.025em;
  align-items: center;
  gap: 12px;
  font-weight: 300;
  line-height: 1.15;
  display: flex;
}.page-1Yf73q__nextDetail {
  max-width: 34ch;
  color: var(--fg-2);
  margin-top: 8px;
}.page-1Yf73q__nextBody {
  max-width: 54ch;
  color: var(--fg-2);
  justify-items: start;
  gap: 18px;
  display: grid;
}@media (min-width: 900px) {.page-1Yf73q__next {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }}.ConditionCard-f5lQwW__grid {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 640px) {.ConditionCard-f5lQwW__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }}@media (min-width: 1000px) {.ConditionCard-f5lQwW__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.ConditionCard-f5lQwW__grid2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 960px;
    margin-inline: auto;
  }}.ConditionCard-f5lQwW__card {
  grid-row: span 4;
  grid-template-rows: subgrid;
  border-radius: var(--r-card);
  background: var(--surface);
  transition: box-shadow var(--dur-2) var(--ease-out),
    transform var(--dur-2) var(--ease-out);
  row-gap: 8px;
  padding: clamp(22px, 2.2vw, 28px);
  display: grid;
  position: relative;
}.ConditionCard-f5lQwW__card:hover {
  box-shadow: var(--shadow-1);
  transform: translateY(-2px);
}.ConditionCard-f5lQwW__card:has(.ConditionCard-f5lQwW__link:focus-visible) {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
}.ConditionCard-f5lQwW__title {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.ConditionCard-f5lQwW__link {
  transition: color var(--dur-1) var(--ease-out);
  outline: none;
  text-decoration: none;
}.ConditionCard-f5lQwW__link:after {
  content: "";
  z-index: 1;
  border-radius: inherit;
  position: absolute;
  inset: 0;
}.ConditionCard-f5lQwW__card:hover .ConditionCard-f5lQwW__link {
  color: var(--signal-ink);
}.ConditionCard-f5lQwW__words {
  color: var(--slate);
  font-size: 1.0625rem;
  line-height: 1.4;
}.ConditionCard-f5lQwW__summary {
  color: var(--ink-2);
  margin-top: 6px;
  font-size: .9375rem;
  line-height: 1.55;
}.ConditionCard-f5lQwW__foot {
  border-top: 1px solid var(--hair);
  color: var(--slate);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 18px;
  font-size: .875rem;
  line-height: 1.4;
  display: flex;
}.ConditionCard-f5lQwW__metaList {
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}.ConditionCard-f5lQwW__metaList > :is(li, .is-li):not(:last-child):after {
  content: "·";
  padding-inline: .45em;
}.ConditionCard-f5lQwW__summary {
  margin-bottom: 10px;
}.ConditionCard-f5lQwW__arrow {
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  flex: none;
}.ConditionCard-f5lQwW__card:hover .ConditionCard-f5lQwW__arrow {
  color: var(--signal-ink);
  transform: translateX(4px);
}.NextSteps-sAo2DW__head {
  margin-inline: auto;
}.NextSteps-sAo2DW__head .shead-lead {
  max-width: 44ch;
  color: var(--ink-2);
}.NextSteps-sAo2DW__head .actions .lnk {
  min-height: 32px;
}.NextSteps-sAo2DW__stack {
  gap: clamp(14px, 1.6vw, 20px);
  display: grid;
}.NextSteps-sAo2DW__card {
  grid-row: span 2;
  grid-template-rows: subgrid;
  border-radius: var(--r-card);
  background: var(--surface);
  row-gap: 14px;
  padding: clamp(22px, 2.2vw, 28px);
  display: grid;
}.NextSteps-sAo2DW__title {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.NextSteps-sAo2DW__content {
  border-top: 1px solid var(--line-strong);
  align-content: start;
  justify-items: start;
  gap: 10px;
  padding-top: 14px;
  display: grid;
}.NextSteps-sAo2DW__body {
  color: var(--ink-2);
  font-size: 1rem;
  line-height: 1.55;
}.NextSteps-sAo2DW__labName {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.4;
}.NextSteps-sAo2DW__cardLink {
  min-height: 32px;
  margin-top: 4px;
}.NextSteps-sAo2DW__chart {
  border-radius: var(--r-card);
  background: var(--surface);
  gap: 18px;
  padding: clamp(22px, 2.6vw, 36px) clamp(22px, 2.6vw, 36px) clamp(10px, 1.2vw, 16px);
  display: grid;
}.NextSteps-sAo2DW__chartTitle {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.NextSteps-sAo2DW__chartTable .ag-group:last-child {
  border-bottom: 0;
}@media (min-width: 900px) {.NextSteps-sAo2DW__chartTable .ag-ind {
    font-size: 1.3125rem;
  }}.NextSteps-sAo2DW__indLink {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--line-strong);
  text-decoration-color: var(--line-strong);
  text-underline-offset: .22em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
  text-decoration-thickness: 1px;
}.NextSteps-sAo2DW__indLink:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.NextSteps-sAo2DW__indArrow {
  vertical-align: -.1em;
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  margin-left: 8px;
  display: inline-block;
}.NextSteps-sAo2DW__indLink:hover .NextSteps-sAo2DW__indArrow {
  color: currentColor;
  transform: translateX(3px);
}.NextSteps-sAo2DW__grid {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 640px) {.NextSteps-sAo2DW__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.NextSteps-sAo2DW__grid:is([data-width="narrow"], .aps-d-width-narrow) {
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
  }.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: 1 / -1;
  }}@media (min-width: 1000px) {.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: auto;
  }}.NextSteps-sAo2DW__steps {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 1000px) {.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) > .NextSteps-sAo2DW__card {
    column-gap: var(--col-gap);
    grid-row: auto;
    grid-template-rows: none;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    align-items: start;
    padding: clamp(24px, 4vw, 52px);
  }.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) .NextSteps-sAo2DW__content {
    border-top: 0;
    max-width: 62ch;
    padding-top: 0;
  }.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) .NextSteps-sAo2DW__title {
    font-size: var(--fs-h3);
    letter-spacing: -.018em;
    font-weight: 400;
    line-height: 1.2;
  }}@media (min-width: 640px) {.NextSteps-sAo2DW__steps:is([data-count="2"], .aps-d-count-2),
.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3),
.NextSteps-sAo2DW__steps:is([data-count="4"], .aps-d-count-4) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: 1 / -1;
  }}@media (min-width: 1000px) {.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: auto;
  }}.NextSteps-sAo2DW__steps > .NextSteps-sAo2DW__card {
  box-shadow: inset 0 0 0 1px var(--hair);
}.NextSteps-sAo2DW__steps .NextSteps-sAo2DW__body {
  font-size: 1.0625rem;
  line-height: 1.6;
}.NextSteps-sAo2DW__stepList {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li) {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 9px 0 10px 24px;
  line-height: 1.45;
  position: relative;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):first-child {
  padding-top: 0;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):last-child {
  border-bottom: 0;
  padding-bottom: 0;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):before {
  content: "";
  width: 8px;
  height: 8px;
  box-shadow: inset 0 0 0 1.5px var(--ink);
  border-radius: 50%;
  position: absolute;
  top: calc(5px + .72em);
  left: 2px;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):first-child:before {
  top: calc(.72em - 4px);
}.NextSteps-sAo2DW__itemLink {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--line-strong);
  text-decoration-color: var(--line-strong);
  text-underline-offset: .3em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
}.NextSteps-sAo2DW__itemLink:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.NextSteps-sAo2DW__itemArrow {
  vertical-align: -.15em;
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  margin-left: 6px;
  display: inline-block;
}.NextSteps-sAo2DW__itemLink:hover .NextSteps-sAo2DW__itemArrow {
  color: currentColor;
  transform: translateX(3px);
}.NextSteps-sAo2DW__items {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.NextSteps-sAo2DW__items > :is(li, .is-li) {
  gap: 2px;
  line-height: 1.45;
  display: grid;
}.NextSteps-sAo2DW__itemName {
  font-weight: 500;
}.NextSteps-sAo2DW__itemDetail {
  color: var(--ink-2);
}.page-bYkaJG__head {
  margin-inline: auto;
}.page-bYkaJG__head .shead-lead {
  max-width: 60ch;
  color: var(--ink-2);
}.page-bYkaJG__moreGroup {
  margin-top: var(--space-md);
}.page-bYkaJG__after {
  justify-content: center;
  margin-top: clamp(32px, 4vw, 48px);
  display: flex;
}.page-bYkaJG__cats {
  border-top: 1px solid var(--ink);
  max-width: 960px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}.page-bYkaJG__cat {
  gap: 8px var(--col-gap);
  border-bottom: 1px solid var(--hair-strong);
  scroll-margin-top: calc(var(--hd-h) + 24px);
  padding-block: 18px 20px;
  display: grid;
}@media (min-width: 760px) {.page-bYkaJG__cat {
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    align-items: baseline;
  }}.page-bYkaJG__cat:target {
  background: var(--signal-wash);
  box-shadow: -12px 0 0 var(--signal-wash), 12px 0 0 var(--signal-wash);
}.page-bYkaJG__catName {
  letter-spacing: -.01em;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.3;
}.page-bYkaJG__catGuides {
  flex-wrap: wrap;
  gap: 2px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}.page-bYkaJG__catLink {
  min-height: 36px;
  color: var(--ink-2);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--hair-strong);
  text-decoration-color: var(--hair-strong);
  text-underline-offset: .3em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
  align-items: center;
  gap: 8px;
  font-size: 1.0625rem;
  display: inline-flex;
}.page-bYkaJG__catLink:hover {
  color: var(--signal-ink);
  text-decoration-color: currentColor;
}.page-bYkaJG__catArrow {
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  flex: none;
}.page-bYkaJG__catLink:hover .page-bYkaJG__catArrow {
  color: currentColor;
  transform: translateX(3px);
}.ConditionCard-f5lQwW__grid {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 640px) {.ConditionCard-f5lQwW__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }}@media (min-width: 1000px) {.ConditionCard-f5lQwW__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.ConditionCard-f5lQwW__grid2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 960px;
    margin-inline: auto;
  }}.ConditionCard-f5lQwW__card {
  grid-row: span 4;
  grid-template-rows: subgrid;
  border-radius: var(--r-card);
  background: var(--surface);
  transition: box-shadow var(--dur-2) var(--ease-out),
    transform var(--dur-2) var(--ease-out);
  row-gap: 8px;
  padding: clamp(22px, 2.2vw, 28px);
  display: grid;
  position: relative;
}.ConditionCard-f5lQwW__card:hover {
  box-shadow: var(--shadow-1);
  transform: translateY(-2px);
}.ConditionCard-f5lQwW__card:has(.ConditionCard-f5lQwW__link:focus-visible) {
  outline: 2px solid var(--signal);
  outline-offset: 3px;
}.ConditionCard-f5lQwW__title {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.ConditionCard-f5lQwW__link {
  transition: color var(--dur-1) var(--ease-out);
  outline: none;
  text-decoration: none;
}.ConditionCard-f5lQwW__link:after {
  content: "";
  z-index: 1;
  border-radius: inherit;
  position: absolute;
  inset: 0;
}.ConditionCard-f5lQwW__card:hover .ConditionCard-f5lQwW__link {
  color: var(--signal-ink);
}.ConditionCard-f5lQwW__words {
  color: var(--slate);
  font-size: 1.0625rem;
  line-height: 1.4;
}.ConditionCard-f5lQwW__summary {
  color: var(--ink-2);
  margin-top: 6px;
  font-size: .9375rem;
  line-height: 1.55;
}.ConditionCard-f5lQwW__foot {
  border-top: 1px solid var(--hair);
  color: var(--slate);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 18px;
  font-size: .875rem;
  line-height: 1.4;
  display: flex;
}.ConditionCard-f5lQwW__metaList {
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}.ConditionCard-f5lQwW__metaList > :is(li, .is-li):not(:last-child):after {
  content: "·";
  padding-inline: .45em;
}.ConditionCard-f5lQwW__summary {
  margin-bottom: 10px;
}.ConditionCard-f5lQwW__arrow {
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  flex: none;
}.ConditionCard-f5lQwW__card:hover .ConditionCard-f5lQwW__arrow {
  color: var(--signal-ink);
  transform: translateX(4px);
}.education-xkOqtG__notice {
  border-radius: 14px;
  align-items: start;
  max-width: 64ch;
  line-height: 1.55;
  display: grid;
}.education-xkOqtG__noticeImportant {
  background: var(--white);
  box-shadow: inset 0 0 0 1.5px var(--ink),
    0 1px 2px #0b15260d,
    0 14px 30px -24px #0b152673;
  color: var(--ink);
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 14px;
  padding: 20px 24px 22px 20px;
}.education-xkOqtG__noticeImportant .education-xkOqtG__noticeText {
  font-weight: 500;
}.education-xkOqtG__noticeNote {
  background: var(--mist);
  color: var(--ink-2);
  padding: 22px 24px;
}.education-xkOqtG__noticeIcon {
  color: var(--ink);
  margin-top: 1px;
}.education-xkOqtG__noticeText {
  font-size: 1.0625rem;
}.education-xkOqtG__guide {
  display: grid;
}.education-xkOqtG__gs {
  gap: 32px var(--col-gap);
  border-top: 1px solid var(--line);
  padding-block: clamp(44px, 5.5vw, 72px);
  display: grid;
}.education-xkOqtG__gs:first-child {
  border-top: 0;
  padding-top: 8px;
}.education-xkOqtG__gs:last-child {
  padding-bottom: 0;
}.education-xkOqtG__gsText {
  max-width: 64ch;
}.education-xkOqtG__gsTitle.education-xkOqtG__gsTitle {
  letter-spacing: -.024em;
  margin: 0 0 .55em;
  font-size: clamp(1.5rem, 1.3rem + .6vw, 1.875rem);
  font-weight: 400;
  line-height: 1.15;
}.education-xkOqtG__gsTitle + * {
  margin-top: 0;
}.education-xkOqtG__gsFig {
  min-width: 0;
}@media (min-width: 1000px) {.education-xkOqtG__guideSplit .education-xkOqtG__gs {
    grid-template-columns: minmax(0, 11fr) minmax(0, 13fr);
    align-items: start;
  }.education-xkOqtG__guideSplit .education-xkOqtG__gsFig {
    top: calc(var(--hd-h) + 32px);
    grid-area: 1 / 2;
    position: sticky;
  }.education-xkOqtG__guideSplit .education-xkOqtG__gsText {
    grid-area: 1 / 1;
  }}.education-xkOqtG__guideSteps.education-xkOqtG__guideSteps > :is(li, .is-li):before {
  content: counter(aps-n);
  color: var(--ink);
  font-size: .9375rem;
  line-height: 1.95;
}.education-xkOqtG__guideNotice {
  margin-top: 1.6em;
}.education-xkOqtG__toc {
  font-size: .9375rem;
}.education-xkOqtG__tocList {
  margin: 0;
  padding: 0;
  list-style: none;
}.education-xkOqtG__tocLink {
  color: var(--slate);
  transition: color var(--dur-1) var(--ease-out);
  border-radius: 6px;
  text-decoration: none;
  display: block;
  position: relative;
}.education-xkOqtG__tocLink:hover {
  color: var(--ink);
}.education-xkOqtG__tocLink[aria-current] {
  color: var(--ink);
  font-weight: 500;
}@media (min-width: 1100px) {.education-xkOqtG__toc {
    top: calc(var(--hd-h) + 40px);
    max-height: calc(100dvh - var(--hd-h) - 72px);
    scrollbar-width: thin;
    align-self: start;
    padding: 4px 4px 4px 0;
    position: sticky;
    overflow-y: auto;
  }.education-xkOqtG__tocToggle {
    display: none;
  }.education-xkOqtG__tocTitle {
    color: var(--ink);
    margin-bottom: 18px;
    font-size: .875rem;
    font-weight: 500;
  }.education-xkOqtG__tocList {
    padding-left: 22px;
    display: grid;
    position: relative;
  }.education-xkOqtG__tocList:before {
    content: "";
    background: var(--hair-strong);
    width: 1px;
    position: absolute;
    top: 14px;
    bottom: 14px;
    left: 3.5px;
  }.education-xkOqtG__tocLink {
    padding: 7px 0;
    line-height: 1.35;
  }.education-xkOqtG__tocLink:before {
    content: "";
    background: var(--white);
    width: 8px;
    height: 8px;
    box-shadow: inset 0 0 0 1px var(--hair-strong);
    transition: background-color var(--dur-2) var(--ease-out),
      box-shadow var(--dur-2) var(--ease-out),
      transform var(--dur-2) var(--ease-out);
    border-radius: 50%;
    position: absolute;
    top: calc(3px + .675em);
    left: -22px;
  }.education-xkOqtG__tocLink:hover:before {
    box-shadow: inset 0 0 0 1px var(--ink);
  }.education-xkOqtG__tocLink[aria-current]:before {
    background: var(--signal);
    box-shadow: 0 0 0 3px var(--white);
    transform: scale(1.12);
  }}@media (max-width: 1099.98px) {.education-xkOqtG__toc {
    top: var(--hd-h);
    z-index: 30;
    min-width: 0;
    max-width: calc(100% + 2 * var(--gutter));
    margin-inline: calc(-1 * var(--gutter));
    padding-inline: var(--gutter);
    background: var(--white);
    box-shadow: 0 1px 0 var(--hair),
      0 12px 24px -22px #0b152666;
    position: sticky;
  }.education-xkOqtG__tocTitle {
    display: none;
  }.education-xkOqtG__tocToggle {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    font: inherit;
    color: var(--ink);
    text-align: left;
    background: none;
    border: 0;
    align-items: center;
    gap: 14px;
    padding: 0;
    display: flex;
  }.education-xkOqtG__tocToggleLabel {
    color: var(--slate);
    flex: none;
    font-size: .875rem;
  }.education-xkOqtG__tocCurrent {
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
    font-weight: 500;
    overflow: hidden;
  }.education-xkOqtG__tocChevron {
    transition: transform var(--dur-2) var(--ease-out);
    flex: none;
  }.education-xkOqtG__toc:is([data-open], .aps-d-open) .education-xkOqtG__tocChevron {
    transform: rotate(180deg);
  }.education-xkOqtG__tocList {
    border-top: 1px solid var(--hair);
    max-height: min(62dvh, 520px);
    padding: 2px 0 14px;
    display: none;
    overflow-y: auto;
  }.education-xkOqtG__toc:is([data-open], .aps-d-open) .education-xkOqtG__tocList {
    display: grid;
  }.education-xkOqtG__tocLink {
    padding: 11px 0;
    font-size: 1rem;
  }.education-xkOqtG__tocList :is(li, .is-li) + :is(li, .is-li) .education-xkOqtG__tocLink {
    border-top: 1px solid var(--hair);
    border-radius: 0;
  }.education-xkOqtG__tocLink[aria-current] {
    color: var(--signal-ink);
  }}.education-xkOqtG__faq {
  border-top: 1px solid var(--line-strong);
}.education-xkOqtG__faqItem {
  border-bottom: 1px solid var(--line);
}.education-xkOqtG__faqQ {
  font-size: inherit;
}.education-xkOqtG__faqBtn {
  width: 100%;
  font: inherit;
  letter-spacing: -.012em;
  color: var(--fg);
  text-align: left;
  transition: color var(--dur-1) var(--ease-out);
  background: none;
  border: 0;
  border-radius: 6px;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: center;
  gap: 24px;
  padding: 22px 0;
  font-size: clamp(1.125rem, 1.04rem + .32vw, 1.3125rem);
  font-weight: 450;
  line-height: 1.35;
  display: grid;
}.education-xkOqtG__faqBtn:hover {
  color: var(--ink-2);
}.education-xkOqtG__faqIcon {
  border-radius: var(--r-pill);
  width: 36px;
  height: 36px;
  box-shadow: inset 0 0 0 1px var(--line-strong);
  transition: box-shadow var(--dur-1) var(--ease-out),
    background-color var(--dur-2) var(--ease-out),
    color var(--dur-2) var(--ease-out);
  place-items: center;
  display: grid;
}.education-xkOqtG__faqBtn:hover .education-xkOqtG__faqIcon {
  box-shadow: inset 0 0 0 1px var(--fg);
}.education-xkOqtG__faqItem:is([data-open], .aps-d-open) .education-xkOqtG__faqIcon {
  background: var(--fg);
  color: var(--bg);
  box-shadow: none;
}.education-xkOqtG__faqIcon svg {
  transition: transform var(--dur-3) var(--ease-out),
    opacity var(--dur-2) var(--ease-out);
  grid-area: 1 / 1;
}.education-xkOqtG__faqMinus {
  opacity: 0;
  transform: rotate(-90deg);
}.education-xkOqtG__faqItem:is([data-open], .aps-d-open) .education-xkOqtG__faqPlus {
  opacity: 0;
  transform: rotate(90deg);
}.education-xkOqtG__faqItem:is([data-open], .aps-d-open) .education-xkOqtG__faqMinus {
  opacity: 1;
  transform: none;
}.education-xkOqtG__faqPanel {
  transition: grid-template-rows var(--dur-3) var(--ease-out);
  grid-template-rows: 0fr;
  display: grid;
}.education-xkOqtG__faqItem:is([data-open], .aps-d-open) .education-xkOqtG__faqPanel {
  grid-template-rows: 1fr;
}.education-xkOqtG__faqClip {
  min-height: 0;
  overflow: hidden;
}.education-xkOqtG__faqA {
  max-width: 62ch;
  color: var(--ink-2);
  opacity: 0;
  transition: opacity var(--dur-2) var(--ease-out),
    transform var(--dur-3) var(--ease-out);
  padding: 0 60px 28px 0;
  font-size: 1.0625rem;
  line-height: 1.65;
  transform: translateY(-6px);
}.education-xkOqtG__faqItem:is([data-open], .aps-d-open) .education-xkOqtG__faqA {
  opacity: 1;
  transform: none;
}@media (max-width: 560px) {.education-xkOqtG__faqA {
    padding-right: 0;
  }}.education-xkOqtG__gl {
  border-top: 1px solid var(--line-strong);
  margin: 0;
  padding: 0;
  list-style: none;
}.education-xkOqtG__glItem {
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(0, 1fr) 24px;
  align-items: baseline;
  gap: 4px 24px;
  padding: 22px 0;
  display: grid;
  position: relative;
}.education-xkOqtG__glTitle {
  letter-spacing: -.018em;
  font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem);
  font-weight: 400;
  line-height: 1.25;
}.education-xkOqtG__glLink {
  outline: none;
  text-decoration: none;
}.education-xkOqtG__glLink:after {
  content: "";
  border-radius: 10px;
  position: absolute;
  inset: 0;
}.education-xkOqtG__glItem:has(.education-xkOqtG__glLink:focus-visible) {
  outline: 2px solid var(--signal);
  outline-offset: 4px;
  border-radius: 10px;
}.education-xkOqtG__glClinical {
  color: var(--fg-2);
  grid-column: 1;
}.education-xkOqtG__glArrow {
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  grid-area: 1 / 2;
  align-self: center;
}.education-xkOqtG__glItem:hover .education-xkOqtG__glArrow {
  color: var(--accent-text);
  transform: translateX(4px);
}.education-xkOqtG__glItem:hover .education-xkOqtG__glTitle {
  color: var(--ink-2);
}@media (min-width: 760px) {.education-xkOqtG__glItem {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 24px;
  }.education-xkOqtG__glClinical {
    grid-area: 1 / 2;
  }.education-xkOqtG__glArrow {
    grid-column: 3;
  }}.education-xkOqtG__lib {
  display: grid;
}.education-xkOqtG__libBar {
  border-bottom: 1px solid var(--line-strong);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 14px 24px;
  padding-bottom: 28px;
  display: flex;
}.education-xkOqtG__libCount {
  color: var(--fg-2);
  font-size: .9375rem;
}.education-xkOqtG__libGroup {
  padding-top: clamp(56px, 7vw, 104px);
}.education-xkOqtG__libHead {
  gap: 28px var(--col-gap);
  margin-bottom: clamp(28px, 3.5vw, 44px);
  display: grid;
}@media (min-width: 900px) {.education-xkOqtG__libHead:has(.education-xkOqtG__libAside) {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    align-items: start;
  }}.education-xkOqtG__libHeadCopy {
  align-content: start;
  gap: 16px;
  display: grid;
}.education-xkOqtG__libLead {
  max-width: 52ch;
  color: var(--fg-2);
  font-size: 1.125rem;
  line-height: 1.6;
}.education-xkOqtG__libAside {
  min-width: 0;
}.education-xkOqtG__rows {
  border-top: 1px solid var(--line-strong);
  margin: 0;
  padding: 0;
  list-style: none;
}.education-xkOqtG__row {
  border-bottom: 1px solid var(--line);
  grid-template-columns: auto minmax(0, 1fr) 24px;
  grid-template-areas: "meta format icon"
                       "main main main";
  align-items: baseline;
  gap: 8px 10px;
  padding: 22px 0 24px;
  display: grid;
  position: relative;
}.education-xkOqtG__row:is([data-live], .aps-d-live):before {
  content: "";
  z-index: 0;
  background: var(--mist);
  opacity: 0;
  transition: opacity var(--dur-2) var(--ease-out);
  border-radius: 14px;
  position: absolute;
  inset: 0 calc(-1 * clamp(10px, 1.4vw, 18px));
}.education-xkOqtG__row:is([data-live], .aps-d-live):hover:before {
  opacity: 1;
}.education-xkOqtG__row > * {
  z-index: 1;
  position: relative;
}.education-xkOqtG__rowFormat {
  color: var(--fg-2);
  grid-area: format;
  font-size: .875rem;
}.education-xkOqtG__rowFormat:empty {
  display: none;
}.education-xkOqtG__rowFormat:before {
  content: "·";
  color: var(--fg-2);
  margin-right: 10px;
}.education-xkOqtG__rowMeta:empty + .education-xkOqtG__rowFormat:before {
  content: none;
}.education-xkOqtG__rowMain {
  grid-area: main;
  gap: 6px;
  display: grid;
}.education-xkOqtG__rowTitle {
  letter-spacing: -.014em;
  font-size: clamp(1.1875rem, 1.1rem + .3vw, 1.375rem);
  font-weight: 450;
  line-height: 1.3;
}.education-xkOqtG__rowLink {
  outline: none;
  text-decoration: none;
}.education-xkOqtG__rowLink:after {
  content: "";
  z-index: 2;
  border-radius: 14px;
  position: absolute;
  inset: 0;
}.education-xkOqtG__row:has(.education-xkOqtG__rowLink:focus-visible) {
  outline: 2px solid var(--signal);
  outline-offset: 4px;
  border-radius: 12px;
}.education-xkOqtG__rowDesc {
  max-width: 60ch;
  color: var(--fg-2);
  line-height: 1.55;
}.education-xkOqtG__rowState {
  border-radius: var(--r-pill);
  box-shadow: inset 0 0 0 1px var(--hair-strong);
  color: var(--ink-2);
  justify-self: start;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  padding: 5px 12px 5px 9px;
  font-size: .875rem;
  font-weight: 500;
  display: inline-flex;
}.education-xkOqtG__rowMeta {
  color: var(--ink);
  grid-area: meta;
  font-size: .875rem;
  font-weight: 500;
}.education-xkOqtG__rowMeta:empty {
  display: none;
}.education-xkOqtG__rowIcon {
  color: var(--ink);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  grid-area: icon;
  place-self: start end;
}.education-xkOqtG__row:is([data-live], .aps-d-live):hover .education-xkOqtG__rowIcon {
  color: var(--accent-text);
  transform: translate(2px, -2px);
}.education-xkOqtG__row:is([data-live], .aps-d-live):hover .education-xkOqtG__rowTitle {
  color: var(--ink-2);
}@media (min-width: 900px) {.education-xkOqtG__row {
    gap: 6px var(--col-gap);
    grid-template-columns: minmax(0, 1fr) minmax(9rem, 13rem) 4.5rem 24px;
    grid-template-areas: "main meta format icon";
    padding: 26px 0 28px;
  }.education-xkOqtG__rowMeta,
.education-xkOqtG__rowFormat {
    padding-top: 4px;
  }.education-xkOqtG__rowMeta {
    color: var(--fg-2);
    font-size: .9375rem;
    font-weight: 400;
  }.education-xkOqtG__rowFormat:before {
    content: none;
  }.education-xkOqtG__rowIcon {
    padding-top: 4px;
  }}.NextSteps-sAo2DW__head {
  margin-inline: auto;
}.NextSteps-sAo2DW__head .shead-lead {
  max-width: 44ch;
  color: var(--ink-2);
}.NextSteps-sAo2DW__head .actions .lnk {
  min-height: 32px;
}.NextSteps-sAo2DW__stack {
  gap: clamp(14px, 1.6vw, 20px);
  display: grid;
}.NextSteps-sAo2DW__card {
  grid-row: span 2;
  grid-template-rows: subgrid;
  border-radius: var(--r-card);
  background: var(--surface);
  row-gap: 14px;
  padding: clamp(22px, 2.2vw, 28px);
  display: grid;
}.NextSteps-sAo2DW__title {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.NextSteps-sAo2DW__content {
  border-top: 1px solid var(--line-strong);
  align-content: start;
  justify-items: start;
  gap: 10px;
  padding-top: 14px;
  display: grid;
}.NextSteps-sAo2DW__body {
  color: var(--ink-2);
  font-size: 1rem;
  line-height: 1.55;
}.NextSteps-sAo2DW__labName {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.4;
}.NextSteps-sAo2DW__cardLink {
  min-height: 32px;
  margin-top: 4px;
}.NextSteps-sAo2DW__chart {
  border-radius: var(--r-card);
  background: var(--surface);
  gap: 18px;
  padding: clamp(22px, 2.6vw, 36px) clamp(22px, 2.6vw, 36px) clamp(10px, 1.2vw, 16px);
  display: grid;
}.NextSteps-sAo2DW__chartTitle {
  letter-spacing: -.015em;
  text-wrap: balance;
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.25;
}.NextSteps-sAo2DW__chartTable .ag-group:last-child {
  border-bottom: 0;
}@media (min-width: 900px) {.NextSteps-sAo2DW__chartTable .ag-ind {
    font-size: 1.3125rem;
  }}.NextSteps-sAo2DW__indLink {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--line-strong);
  text-decoration-color: var(--line-strong);
  text-underline-offset: .22em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
  text-decoration-thickness: 1px;
}.NextSteps-sAo2DW__indLink:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.NextSteps-sAo2DW__indArrow {
  vertical-align: -.1em;
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  margin-left: 8px;
  display: inline-block;
}.NextSteps-sAo2DW__indLink:hover .NextSteps-sAo2DW__indArrow {
  color: currentColor;
  transform: translateX(3px);
}.NextSteps-sAo2DW__grid {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 640px) {.NextSteps-sAo2DW__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.NextSteps-sAo2DW__grid:is([data-width="narrow"], .aps-d-width-narrow) {
    width: 100%;
    max-width: 960px;
    margin-inline: auto;
  }.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: 1 / -1;
  }}@media (min-width: 1000px) {.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.NextSteps-sAo2DW__grid:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: auto;
  }}.NextSteps-sAo2DW__steps {
  gap: clamp(14px, 1.6vw, 20px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}@media (min-width: 1000px) {.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) > .NextSteps-sAo2DW__card {
    column-gap: var(--col-gap);
    grid-row: auto;
    grid-template-rows: none;
    grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
    align-items: start;
    padding: clamp(24px, 4vw, 52px);
  }.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) .NextSteps-sAo2DW__content {
    border-top: 0;
    max-width: 62ch;
    padding-top: 0;
  }.NextSteps-sAo2DW__steps:is([data-count="1"], .aps-d-count-1) .NextSteps-sAo2DW__title {
    font-size: var(--fs-h3);
    letter-spacing: -.018em;
    font-weight: 400;
    line-height: 1.2;
  }}@media (min-width: 640px) {.NextSteps-sAo2DW__steps:is([data-count="2"], .aps-d-count-2),
.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3),
.NextSteps-sAo2DW__steps:is([data-count="4"], .aps-d-count-4) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: 1 / -1;
  }}@media (min-width: 1000px) {.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.NextSteps-sAo2DW__steps:is([data-count="3"], .aps-d-count-3) > :last-child {
    grid-column: auto;
  }}.NextSteps-sAo2DW__steps > .NextSteps-sAo2DW__card {
  box-shadow: inset 0 0 0 1px var(--hair);
}.NextSteps-sAo2DW__steps .NextSteps-sAo2DW__body {
  font-size: 1.0625rem;
  line-height: 1.6;
}.NextSteps-sAo2DW__stepList {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li) {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  padding: 9px 0 10px 24px;
  line-height: 1.45;
  position: relative;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):first-child {
  padding-top: 0;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):last-child {
  border-bottom: 0;
  padding-bottom: 0;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):before {
  content: "";
  width: 8px;
  height: 8px;
  box-shadow: inset 0 0 0 1.5px var(--ink);
  border-radius: 50%;
  position: absolute;
  top: calc(5px + .72em);
  left: 2px;
}.NextSteps-sAo2DW__stepList > :is(li, .is-li):first-child:before {
  top: calc(.72em - 4px);
}.NextSteps-sAo2DW__itemLink {
  color: inherit;
  text-decoration: underline;
  -webkit-text-decoration-color: var(--line-strong);
  text-decoration-color: var(--line-strong);
  text-underline-offset: .3em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
}.NextSteps-sAo2DW__itemLink:hover {
  color: var(--accent-text);
  text-decoration-color: currentColor;
}.NextSteps-sAo2DW__itemArrow {
  vertical-align: -.15em;
  color: var(--slate);
  transition: transform var(--dur-2) var(--ease-out),
    color var(--dur-1) var(--ease-out);
  margin-left: 6px;
  display: inline-block;
}.NextSteps-sAo2DW__itemLink:hover .NextSteps-sAo2DW__itemArrow {
  color: currentColor;
  transform: translateX(3px);
}.NextSteps-sAo2DW__items {
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.NextSteps-sAo2DW__items > :is(li, .is-li) {
  gap: 2px;
  line-height: 1.45;
  display: grid;
}.NextSteps-sAo2DW__itemName {
  font-weight: 500;
}.NextSteps-sAo2DW__itemDetail {
  color: var(--ink-2);
}.page-NCLmMG__top {
  padding-top: clamp(24px, 3.4vw, 44px);
}.page-NCLmMG__back {
  min-height: 44px;
  color: var(--slate);
  transition: color var(--dur-1) var(--ease-out);
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  font-size: .9375rem;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}.page-NCLmMG__back:hover {
  color: var(--ink);
}.page-NCLmMG__backIcon {
  transition: transform var(--dur-2) var(--ease-out);
}.page-NCLmMG__back:hover .page-NCLmMG__backIcon {
  transform: translateX(-3px);
}.page-NCLmMG__mast {
  gap: 40px var(--col-gap);
  padding-top: clamp(16px, 2.4vw, 32px);
  padding-bottom: clamp(48px, 6vw, 80px);
  display: grid;
}@media (min-width: 1000px) {.page-NCLmMG__mast {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: start;
  }.page-NCLmMG__mast:is([data-hero], .aps-d-hero) {
    grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
    align-items: center;
  }}.page-NCLmMG__mastCopy {
  align-content: start;
  gap: 16px;
  display: grid;
}.page-NCLmMG__title {
  max-width: 22ch;
  font-size: var(--fs-h1);
  text-wrap: balance;
}.page-NCLmMG__words {
  max-width: 30ch;
  font-size: var(--fs-passage);
  letter-spacing: -.022em;
  color: var(--ink-2);
  font-weight: 300;
  line-height: 1.2;
}.page-NCLmMG__summary {
  max-width: 46ch;
  color: var(--ink-2);
  margin-top: 4px;
  font-size: clamp(1.125rem, 1.06rem + .28vw, 1.3125rem);
  line-height: 1.55;
}.page-NCLmMG__pending {
  max-width: 46ch;
  color: var(--slate);
  font-size: .9375rem;
  line-height: 1.5;
}.page-NCLmMG__byline {
  align-items: center;
  gap: 14px;
  margin-top: 10px;
  display: flex;
}.page-NCLmMG__bylinePortrait {
  object-fit: cover;
  object-position: 50% 12%;
  background: var(--porcelain);
  border-radius: 12px;
  flex: none;
  width: 44px;
  height: 44px;
}.page-NCLmMG__bylineText {
  line-height: 1.4;
  display: grid;
}.page-NCLmMG__bylineName {
  font-weight: 500;
}.page-NCLmMG__bylineMeta {
  color: var(--slate);
  font-size: .9375rem;
}.page-NCLmMG__bylineCat {
  color: var(--ink-2);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--hair-strong);
  text-decoration-color: var(--hair-strong);
  text-underline-offset: .28em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
}.page-NCLmMG__bylineCat:hover {
  color: var(--signal-ink);
  text-decoration-color: currentColor;
}.page-NCLmMG__mastFig {
  min-width: 0;
}.page-NCLmMG__signs {
  border-top: 1px solid var(--ink);
  gap: 4px;
  max-width: 46ch;
  margin-top: 6px;
  padding-top: 14px;
  display: grid;
}.page-NCLmMG__mast > .page-NCLmMG__signs {
  max-width: none;
  margin-top: 0;
}@media (min-width: 1000px) {.page-NCLmMG__mast > .page-NCLmMG__signs {
    margin-top: 8px;
  }}.page-NCLmMG__signsTitle {
  letter-spacing: -.006em;
  font-size: 1rem;
  font-weight: 500;
}.page-NCLmMG__signsList {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}.page-NCLmMG__signsList > :is(li, .is-li) {
  border-bottom: 1px solid var(--hair);
  padding: 10px 0 11px 24px;
  font-size: 1.0625rem;
  line-height: 1.45;
  position: relative;
}.page-NCLmMG__signsList > :is(li, .is-li):last-child {
  border-bottom: 0;
}.page-NCLmMG__mast > .page-NCLmMG__signs .page-NCLmMG__signsList > :is(li, .is-li) {
  padding-block: 13px 14px;
  font-size: clamp(1.0625rem, 1.02rem + .2vw, 1.1875rem);
}.page-NCLmMG__mast > .page-NCLmMG__signs .page-NCLmMG__signsList > :is(li, .is-li):last-child {
  border-bottom: 1px solid var(--hair);
}.page-NCLmMG__signsList > :is(li, .is-li):before {
  content: "";
  width: 8px;
  height: 8px;
  box-shadow: inset 0 0 0 1.5px var(--ink);
  border-radius: 50%;
  position: absolute;
  top: calc(6px + .72em);
  left: 2px;
}.page-NCLmMG__mast > .page-NCLmMG__signs .page-NCLmMG__signsList > :is(li, .is-li):before {
  top: calc(9px + .72em);
}.page-NCLmMG__fullSec {
  padding-bottom: var(--space-md);
  scroll-margin-top: calc(var(--hd-h) + 16px);
}.page-NCLmMG__dsc {
  align-items: center;
  column-gap: var(--col-gap);
  border-radius: var(--r-card);
  background: var(--mist);
  transition: background-color var(--dur-3) var(--ease-out),
    box-shadow var(--dur-3) var(--ease-out);
  padding: clamp(20px, 2.4vw, 30px) clamp(20px, 2.8vw, 36px);
  display: grid;
}.page-NCLmMG__dsc:is([data-open], .aps-d-open) {
  background: var(--white);
  box-shadow: inset 0 0 0 1px var(--hair);
}.page-NCLmMG__dsc .dsc-summary {
  min-width: 0;
  margin-bottom: 0;
}.page-NCLmMG__dsc .dsc-panel {
  grid-column: 1 / -1;
}@media (max-width: 699.98px) {.page-NCLmMG__dsc .dsc-btn {
    margin-top: 16px;
  }}@media (min-width: 700px) {.page-NCLmMG__dsc {
    grid-template-columns: minmax(0, 1fr) auto;
  }.page-NCLmMG__dsc .dsc-btn {
    justify-self: end;
  }}.page-NCLmMG__fullHead {
  gap: 6px;
  display: grid;
}.page-NCLmMG__fullTitle {
  font-size: var(--fs-h3);
  letter-spacing: -.02em;
  font-weight: 400;
  line-height: 1.2;
}.page-NCLmMG__fullIndex {
  color: var(--slate);
  flex-wrap: wrap;
  gap: 2px 0;
  margin: 0;
  padding: 0;
  font-size: .9375rem;
  line-height: 1.5;
  list-style: none;
  display: flex;
}.page-NCLmMG__fullIndex > :is(li, .is-li):not(:last-child):after {
  content: "·";
  color: var(--hair-strong);
  padding-inline: .55em;
}@media (max-width: 699.98px) {.page-NCLmMG__fullIndex:has( > :is(li, .is-li):nth-child(5)) {
    display: none;
  }}.page-NCLmMG__dsc .dsc-btn {
  border-color: var(--ink);
  background: var(--ink);
  min-height: 52px;
  color: var(--white);
  white-space: nowrap;
  transition: background-color var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out);
  justify-self: start;
  padding: 0 24px 0 8px;
  font-size: 1rem;
}.page-NCLmMG__dsc .dsc-btn:hover {
  border-color: var(--ink-2);
  background: var(--ink-2);
}.page-NCLmMG__dsc .dsc-icon {
  background: var(--white);
  width: 36px;
  height: 36px;
  color: var(--ink);
}.page-NCLmMG__dsc:is([data-open], .aps-d-open) .dsc-btn {
  border-color: var(--line-strong);
  color: var(--ink);
  background: none;
}.page-NCLmMG__dsc:is([data-open], .aps-d-open) .dsc-btn:hover {
  border-color: var(--ink);
}.page-NCLmMG__dsc:is([data-open], .aps-d-open) .dsc-icon {
  background: var(--ink);
  color: var(--white);
}.page-NCLmMG__dsc .dsc-content {
  padding-top: clamp(24px, 3vw, 40px);
}.page-NCLmMG__allLink {
  color: var(--ink-2);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--hair-strong);
  text-decoration-color: var(--hair-strong);
  text-underline-offset: .3em;
  transition: color var(--dur-1) var(--ease-out),
    text-decoration-color var(--dur-1) var(--ease-out);
  border-radius: 4px;
  font-size: .9375rem;
  font-weight: 500;
}.page-NCLmMG__allLink:hover {
  color: var(--signal-ink);
  text-decoration-color: currentColor;
}@media (min-width: 640px) and (max-width: 999.98px) {.page-NCLmMG__related > :nth-child(3) {
    display: none;
  }}


/* ──────────────────────────────────────────────────────────────────────────
   ArrowPath design for WordPress blocks. The page content is ordinary
   blocks (Group, Heading, Paragraph, List, Buttons, Image) with these
   classes (Block → Advanced → Additional CSS class), so Dr. Droter edits
   words and links in place and the layout holds. Values are the reviewed
   design's (aps-hero.module.css, aps-home.module.css). Not layered: these
   win over the design-system layers, as the CSS modules do in the draft.
   ────────────────────────────────────────────────────────────────────────── */

/* ── The frame ─────────────────────────────────────────────────────────── */

body.aps {
  min-height: 100vh;
  margin: 0;
}
.aps main > .alignfull,
.aps .alignfull {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}
/* Blocks carry no margins of their own; the design's spacing (section
   heads, bands) sets them. Layered, so the design's rules win. */
@layer base {
  .aps main :where(.wp-block-group, .wp-block-list, .wp-block-buttons, .wp-block-image, .wp-block-heading, p) {
    margin-block: 0;
  }
}
.aps .wp-block-group {
  box-sizing: border-box;
}
/* Classic themes wrap a Group's blocks in an inner container; it must not
   take part in the layout (grids and centring apply to the blocks), so
   selectors here reach blocks as descendants, not children. */
.aps .wp-block-group__inner-container {
  display: contents;
}
/* The content column inside a band (the design's .wrap; named apart from
   WordPress's own admin .wrap, which the editor also loads). */
.aps .aps-wrap {
  width: 100%;
  max-width: calc(var(--maxw) + 2 * var(--gutter));
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* Header: the menu button shows one icon at a time; the bar clears the admin bar. */
.aps .hd-toggle[aria-expanded="true"] .aps-icon-menu,
.aps .hd-toggle:not([aria-expanded="true"]) .aps-icon-close {
  display: none;
}
.admin-bar.aps .hd {
  top: 32px;
}
@media (max-width: 782px) {
  .admin-bar.aps .hd {
    top: 46px;
  }
}
@media (max-width: 600px) {
  .admin-bar.aps .hd {
    top: 0;
  }
}

/* ── Buttons (Button block → Styles: ArrowPath blue / outline / text link) ── */

.aps .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}
.aps .wp-block-button {
  margin: 0;
}
.aps .wp-block-button > .wp-block-button__link {
  --btn-h: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: var(--btn-h);
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.006em;
  text-decoration: none;
  white-space: nowrap;
  background: var(--signal);
  color: #ffffff;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / 0.16),
    0 1px 2px rgb(11 21 38 / 0.14),
    0 8px 20px -12px rgb(42 111 219 / 0.7);
  transition:
    background-color var(--dur-1) var(--ease-out),
    border-color var(--dur-1) var(--ease-out),
    color var(--dur-1) var(--ease-out),
    box-shadow var(--dur-2) var(--ease-out),
    transform var(--dur-1) var(--ease-out);
}
/* The arrow after every button label (the draft's icon="arrow"). */
.aps .wp-block-button > .wp-block-button__link::after {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--aps-arrow) center / contain no-repeat;
  mask: var(--aps-arrow) center / contain no-repeat;
  transition: transform var(--dur-2) var(--ease-out);
}
.aps .wp-block-button > .wp-block-button__link:hover::after {
  transform: translateX(3px);
}
.aps .wp-block-button > .wp-block-button__link:active {
  transform: translateY(1px);
}
.aps .wp-block-button > .wp-block-button__link:hover {
  background: var(--signal-hover);
}

.aps .wp-block-button.is-style-aps-secondary > .wp-block-button__link {
  border-color: var(--line-strong);
  background: transparent;
  color: var(--fg);
  box-shadow: none;
}
.aps .wp-block-button.is-style-aps-secondary > .wp-block-button__link:hover {
  border-color: var(--fg);
  background: transparent;
}

.aps .wp-block-button.is-style-aps-quiet > .wp-block-button__link {
  min-height: 44px;
  padding: 0;
  border-radius: 6px;
  background: none;
  box-shadow: none;
  color: var(--fg);
  text-decoration: underline;
  text-decoration-color: var(--line-strong);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.32em;
}
.aps .wp-block-button.is-style-aps-quiet > .wp-block-button__link:hover {
  background: none;
  color: var(--accent-text);
  text-decoration-color: currentColor;
}

.aps {
  --aps-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10h13M11.5 5l5 5-5 5'/%3E%3C/svg%3E");
}

/* ── Section heads (Group with "shead shead-center": Heading + Paragraph) ── */

.aps .aps-center {
  justify-content: center;
  margin-top: clamp(28px, 3vw, 40px);
}

/* ── Opening: dawn (night lifting to a lit horizon under the links) ───── */

/* One dark band, in Dr. Droter's order (Oct 23): his tagline; his photo in
   a darker panel; the 83-diseases line; Common Sleep Disruptors on the
   horizon. */
.aps .aps-hero.aps-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(64px, 8vw, 112px) var(--space-lg);
  background-image: linear-gradient(180deg, #08101d 0%, var(--night) 30%, #0e1f3d 70%, #1a3c78 100%);
}
.aps .aps-hero__head {
  display: grid;
  justify-items: center;
  text-align: center;
}
/* "ArrowPath Sleep … should be the biggest title" (Oct 23 call): the name
   as a lockup, the mark above it; then his tagline, then his line. */
.aps .aps-hero__brand {
  display: grid;
  justify-items: center;
  gap: clamp(14px, 1.6vw, 20px);
  font-size: var(--fs-display);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.035em;
  color: var(--fg);
}
.aps .aps-hero__brand::before {
  content: "";
  width: 0.82em;
  aspect-ratio: 436.68 / 486.11;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 436.68 486.11'%3E%3Cpath d='M154.24 37.01 218.34 0.00 282.44 37.01 282.44 111.02 218.34 148.03 218.34 74.01ZM154.24 206.05 218.34 169.04 282.44 206.05 282.44 280.06 218.34 317.07 218.34 243.06ZM154.24 375.09 218.34 338.09 282.44 375.09 282.44 449.11 218.34 486.11 218.34 412.10ZM0.00 121.53 64.10 84.52 128.19 121.53 128.19 195.54 64.10 232.55 64.10 158.53ZM0.00 290.57 64.10 253.56 128.19 290.57 128.19 364.58 64.10 401.59 64.10 327.58ZM308.48 121.53 372.58 84.52 436.68 121.53 436.68 195.54 372.58 232.55 372.58 158.53ZM308.48 290.57 372.58 253.56 436.68 290.57 436.68 364.58 372.58 401.59 372.58 327.58Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 436.68 486.11'%3E%3Cpath d='M154.24 37.01 218.34 0.00 282.44 37.01 282.44 111.02 218.34 148.03 218.34 74.01ZM154.24 206.05 218.34 169.04 282.44 206.05 282.44 280.06 218.34 317.07 218.34 243.06ZM154.24 375.09 218.34 338.09 282.44 375.09 282.44 449.11 218.34 486.11 218.34 412.10ZM0.00 121.53 64.10 84.52 128.19 121.53 128.19 195.54 64.10 232.55 64.10 158.53ZM0.00 290.57 64.10 253.56 128.19 290.57 128.19 364.58 64.10 401.59 64.10 327.58ZM308.48 121.53 372.58 84.52 436.68 121.53 436.68 195.54 372.58 232.55 372.58 158.53ZM308.48 290.57 372.58 253.56 436.68 290.57 436.68 364.58 372.58 401.59 372.58 327.58Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.aps .aps-hero__tagline {
  max-width: 24ch;
  margin-top: clamp(18px, 2vw, 26px);
  font-size: clamp(1.5rem, 1.2rem + 0.95vw, 2.125rem);
  font-weight: 300;
  line-height: 1.18;
  letter-spacing: -0.022em;
  color: var(--fg);
  text-wrap: balance;
}
/* His tagline is a full sentence: held below the display cap. */
.aps .aps-hero__title {
  max-width: 21ch;
  font-size: clamp(2.125rem, 1.55rem + 1.75vw, 3.25rem);
  line-height: 1.06;
  text-wrap: balance;
}
.aps .aps-hero__lead {
  max-width: 40ch;
  margin-top: 14px;
  text-wrap: balance;
}
.aps .aps-hero__actions {
  justify-content: center;
  margin-top: 32px;
}

/* His photo and words: a panel darker than the night around it, the
   portrait beside the text from 800px. */
.aps .aps-intro {
  display: grid;
  gap: 24px clamp(32px, 4vw, 56px);
  max-width: 60rem;
  margin: clamp(48px, 6vw, 80px) auto 0;
  padding: clamp(24px, 4vw, 48px);
  border-radius: var(--r-card);
  background: rgb(3 8 17 / 0.62);
  box-shadow:
    inset 0 0 0 1px var(--hair-night),
    0 30px 60px -40px rgb(0 0 0 / 0.7);
}
.aps .aps-intro .aps-portrait {
  width: clamp(132px, 34vw, 168px);
  margin: 0;
}
.aps .aps-intro__body {
  display: grid;
  align-content: center;
  justify-items: start;
  text-align: left;
}
.aps .aps-intro__statement {
  max-width: 22ch;
  font-size: var(--fs-quote);
  font-weight: 300;
  line-height: 1.16;
  letter-spacing: -0.022em;
  color: var(--fg);
  text-wrap: balance;
}
.aps .aps-intro .aps-byline {
  justify-items: start;
  gap: 4px;
  margin-top: clamp(20px, 2.4vw, 28px);
  padding-top: 18px;
  border-top: 1px solid var(--line);
  width: 100%;
}
.aps .aps-intro__name {
  font-size: 1.25rem;
  font-weight: 450;
  line-height: 1.3;
  letter-spacing: -0.014em;
  color: var(--fg);
}
.aps .aps-intro .aps-cred {
  font-size: 0.9375rem;
}
.aps .aps-intro__formed {
  max-width: 52ch;
  margin-top: 16px;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--fg-2);
}
.aps .aps-intro .wp-block-buttons {
  margin-top: 8px;
}
@media (min-width: 800px) {
  .aps .aps-intro {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }
  .aps .aps-intro .aps-portrait {
    width: 220px;
  }
}

/* The 83-diseases line, set as a statement between the panel and the cards. */
.aps .aps-diseases {
  max-width: 44rem;
  margin: clamp(56px, 7vw, 96px) auto 0;
  font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.875rem);
  font-weight: 300;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--fg);
  text-align: center;
  text-wrap: balance;
}
.aps .aps-diseases strong {
  font-weight: 450;
}
/* The citation under it: small, centred, numbered to match the mark. */
.aps .aps-citation {
  max-width: 46rem;
  margin: 16px auto 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--fg-2);
  text-align: center;
  text-wrap: balance;
}
.aps .aps-citation sup {
  margin-right: 2px;
  font-size: 0.8em;
  line-height: 0;
  vertical-align: super;
}
/* The citation mark after the statement. */
.aps .aps-fn {
  margin-left: 2px;
  font-size: 0.55em;
  line-height: 0;
  vertical-align: super;
  color: var(--fg-2);
}

/* Common Sleep Disruptors: the heading, then the cards on the horizon. */
.aps .aps-looking-title {
  margin-top: clamp(56px, 7vw, 88px);
  font-size: var(--fs-h3);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.018em;
  color: var(--fg);
  text-align: center;
}
.aps .aps-looking-title + .aps-looking {
  margin-top: clamp(52px, 5vw, 68px);
}
/* The horizon: a vast curve whose rim catches the light, its crown just
   above the cards; the band clips it. */
.aps .aps-hero__ground {
  position: relative;
}
.aps .aps-hero__ground .aps-looking {
  position: relative;
}
.aps .aps-hero__ground .aps-looking::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: calc(-1 * clamp(18px, 2vw, 26px));
  width: max(1100px, 160vw);
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translateX(-50%);
  background: radial-gradient(closest-side, var(--night) 97%, rgb(11 21 38 / 0));
  box-shadow:
    0 0 0 1px rgb(170 198 245 / 0.42),
    0 -24px 80px rgb(143 178 242 / 0.34),
    0 -80px 200px rgb(42 111 219 / 0.4),
    inset 0 40px 90px rgb(143 178 242 / 0.12);
  pointer-events: none;
}

/* The second lead under a section head, in full ink (his "quality" line). */
.aps .aps-lead-strong {
  color: var(--fg);
}

/* What patients come for: four plain link cards (two on phones). */
.aps .aps-looking {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 64rem;
  margin: clamp(44px, 5vw, 68px) auto 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 900px) {
  .aps .aps-looking {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.aps .aps-looking > li {
  display: flex;
  margin: 0;
}
.aps .aps-looking a {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 72px;
  padding: 16px 18px;
  border-radius: 14px;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px var(--line);
  font-size: 1.0625rem;
  font-weight: 450;
  line-height: 1.3;
  color: var(--fg);
  text-decoration: none;
  transition: box-shadow var(--dur-2) var(--ease-out);
}
.aps .aps-looking a:hover {
  box-shadow:
    inset 0 0 0 1px var(--line-strong, var(--hair-strong)),
    0 14px 30px -22px rgb(11 21 38 / 0.35);
}

/* Arrows after link cards and link rows. */
.aps :is(.aps-looking, .aps-doc-cols) a::after {
  content: "";
  flex: none;
  width: 18px;
  height: 18px;
  background: var(--fg-2);
  -webkit-mask: var(--aps-arrow) center / contain no-repeat;
  mask: var(--aps-arrow) center / contain no-repeat;
  transition: transform var(--dur-2) var(--ease-out), background-color var(--dur-1) var(--ease-out);
}
.aps .aps-doc-cols a::after {
  width: 16px;
  height: 16px;
}
.aps :is(.aps-looking, .aps-doc-cols) a:hover::after {
  transform: translateX(3px);
  background: var(--signal);
}

/* ── His statements: side by side on rules (a third makes three columns) ── */

.aps .aps-whoa {
  display: grid;
  gap: clamp(28px, 3.4vw, 48px) var(--col-gap);
}
@media (min-width: 1000px) {
  .aps .aps-whoa {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
  .aps .aps-whoa:has(p:nth-of-type(3)) {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
  }
}
.aps .aps-whoa p {
  padding-top: clamp(18px, 2vw, 24px);
  border-top: 1px solid var(--hair-strong);
  font-size: clamp(1.375rem, 1.15rem + 0.7vw, 1.875rem);
  font-weight: 300;
  line-height: 1.22;
  letter-spacing: -0.022em;
  color: var(--ink);
  text-wrap: pretty;
}
.aps .aps-whoa strong {
  font-weight: 450;
}

/* ── 10 categories of sleep factors: plain names on rules ──────────────── */

.aps .aps-categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 var(--col-gap);
  max-width: 64rem;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--hair-strong);
}
@media (min-width: 900px) {
  .aps .aps-categories {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.aps .aps-categories > li {
  display: flex;
  align-items: center;
  min-height: 64px;
  margin: 0;
  padding: 12px 0;
  border-bottom: 1px solid var(--hair);
  font-size: 1rem;
  line-height: 1.3;
  color: var(--ink);
}
.aps .aps-categories a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 4px;
  transition: text-decoration-color var(--dur-1) var(--ease-out);
}
.aps .aps-categories a:hover {
  text-decoration-color: currentColor;
}

/* ── Airway: his narration, then narrow and open as two stills ─────────── */

.aps .aps-airway-head .shead-lead {
  max-width: 50ch;
}
.aps .aps-airway-pair {
  display: grid;
  gap: 28px var(--col-gap);
  max-width: 1080px;
  margin: 0 auto;
}
@media (min-width: 800px) {
  .aps .aps-airway-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.aps .aps-airway-pair .wp-block-image {
  display: grid;
  gap: 14px;
  margin: 0;
}
.aps .aps-airway-pair .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 30% 50%;
  border-radius: var(--r-card);
  background: var(--porcelain);
}
.aps .aps-airway-pair figcaption {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--fg-2);
  text-align: center;
}
.aps .aps-airway-pair + .wp-block-buttons {
  column-gap: 32px;
}

/* ── I am a doctor: his pages in three columns of link rows ────────────── */

.aps .aps-doc-cols {
  display: grid;
  gap: 0 var(--col-gap);
  max-width: 64rem;
  margin: 0 auto;
}
@media (min-width: 900px) {
  .aps .aps-doc-cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.aps .aps-doc-cols ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.aps .aps-doc-cols ul:first-of-type {
  border-top: 1px solid var(--hair-strong);
}
@media (min-width: 900px) {
  .aps .aps-doc-cols ul {
    border-top: 1px solid var(--hair-strong);
  }
}
.aps .aps-doc-cols li {
  margin: 0;
  border-bottom: 1px solid var(--hair);
}
.aps .aps-doc-cols a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 64px;
  padding: 12px 0;
  font-size: 1.0625rem;
  line-height: 1.35;
  color: var(--ink);
  text-decoration: none;
}

/* ── Dr. Droter: a modest portrait, his name and credit, his line ──────── */

.aps .aps-droter {
  row-gap: 20px;
}
.aps .aps-portrait {
  width: 168px;
  margin: 0 0 8px;
}
@media (min-width: 640px) {
  .aps .aps-portrait {
    width: 220px;
  }
}
.aps .aps-portrait img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 30%;
  border-radius: var(--r-card);
  background: var(--porcelain);
  box-shadow:
    0 1px 2px rgb(11 21 38 / 0.04),
    0 22px 44px -32px rgb(11 21 38 / 0.4);
}
.aps .aps-byline {
  display: grid;
  justify-items: center;
  gap: 8px;
}
.aps .aps-cred {
  font-size: 1rem;
  line-height: 1.5;
  color: var(--fg-2);
}

/* ── Converted pages: images, video, the static forms of interactive parts ── */

/* An image block keeps the design's crop: the classes the draft put on the
   <img> sit on the block's figure here, so the picture inherits its fit. */
.aps .wp-block-image > img {
  object-fit: inherit;
  object-position: inherit;
}
/* "Fill" images cover a framed box (the draft's next/image fill). */
.aps .wp-block-image.is-fill {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}
:where(.aps .wp-block-image.is-fill) {
  object-fit: cover;
}
.aps .wp-block-image.is-fill > img {
  display: block;
  width: 100%;
  height: 100%;
}
.aps .aps-model-still {
  margin: 0;
}
.aps .aps-model-still > img {
  display: block;
  width: 100%;
  height: auto;
}

/* Small and full-width buttons (the draft's btn-sm / btn-block). */
.aps .wp-block-button.aps-btn-sm > .wp-block-button__link {
  --btn-h: 40px;
  padding: 0 18px;
  font-size: 0.9375rem;
}
.aps .wp-block-button.aps-btn-block,
.aps .wp-block-button.aps-btn-block > .wp-block-button__link {
  display: flex;
  width: 100%;
}

/* Sleep factors: the full list of rows shows at every width (the clickable
   map is a later addition). */
.aps .aps-force-show {
  display: block !important;
}

/* The tutorial: the video, then its chapters. */
.aps .aps-tutorial {
  display: grid;
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
}
.aps .aps-video {
  margin: 0;
}
.aps .aps-video video {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--r-card);
  background: var(--night);
}
.aps .aps-chapters {
  display: grid;
  gap: 6px 32px;
  margin: 0;
  padding-left: 1.4em;
  font-size: 0.9375rem;
  color: var(--fg-2);
  list-style: decimal;
}
@media (min-width: 800px) {
  .aps .aps-chapters {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* "How far do you move it forward?": the four stills, labelled, then his narration. */
.aps .aps-howfar {
  display: grid;
  gap: clamp(28px, 3vw, 40px);
}
.aps .aps-howfar-stills {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px var(--col-gap);
}
@media (min-width: 900px) {
  .aps .aps-howfar-stills {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.aps .aps-howfar-still {
  display: grid;
  gap: 10px;
  margin: 0;
}
.aps .aps-howfar-still > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: 30% 50%;
  border-radius: var(--r-inner);
}
.aps .aps-howfar-still figcaption {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--fg-2);
  text-align: center;
}
.aps .aps-howfar-lines {
  display: grid;
  gap: 8px;
  max-width: 46rem;
  margin: 0 auto;
  text-align: center;
}
.aps .aps-howfar-line {
  font-size: var(--fs-lead);
  line-height: 1.45;
}
.aps .aps-howfar-cite {
  margin-top: 6px;
  font-size: 0.9375rem;
  color: var(--fg-2);
}

/* "The complete version": a Details block that opens in place. */
.aps .aps-disclosure > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  font-size: var(--fs-h3);
  font-weight: 450;
  line-height: 1.2;
  letter-spacing: -0.018em;
  cursor: pointer;
}

/* A text link that had an arrow icon in the draft. */
.aps a.aps-arrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.aps a.aps-arrow::after {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--aps-arrow) center / contain no-repeat;
  mask: var(--aps-arrow) center / contain no-repeat;
  transition: transform var(--dur-2) var(--ease-out);
}
.aps a.aps-arrow:hover::after {
  transform: translateX(3px);
}

/* Generated by scripts/wp/export-pages.cjs: the draft's inline styles as classes. */
.aps .aps-st-11lhpyh { --fig-max:960px !important; }
.aps .aps-st-11knoiq { --fig-max:800px !important; }
.aps .aps-st-q0t6hn { flex-grow:2 !important; --n:2 !important; }
.aps .aps-st-1bdptjx { flex-grow:3 !important; --n:3 !important; }
