/* Approved Precision Workshop homepage theme. Home/Index is also rendered
   by the Development-only preview route, so both use the same composition.
   Scoped rules leave Studio and the cat error page alone. The layer keeps
   authored colors above legacy unlayered !important theme closures. */
@layer printpass-home {
  /* Navigation uses the shared site theme. These small details extend its
     existing three-line signature without changing placement or controls. */
  body:has(#home-experience) .ecosystem-nav__menu > li:has(.dropdown-divider) { position: relative; }
  body:has(#home-experience) .ecosystem-nav__menu > li:has(.dropdown-divider)::after {
    content: "";
    position: absolute;
    top: -.2rem;
    right: 1.2rem;
    width: 3.5rem;
    height: .6rem;
    border-top: 1px solid var(--ecosystem-nav-accent);
    border-right: 1px solid var(--ecosystem-nav-accent);
    transform: skewX(-32deg);
    opacity: .25;
    pointer-events: none;
  }
  body:has(#home-experience) .ecosystem-nav__menu[aria-labelledby="solveDropdown"] > li:has(.dropdown-divider)::after,
  body:has(#home-experience) .ecosystem-nav__menu[aria-labelledby="accountDropdown"] > li:has(.dropdown-divider):nth-child(odd)::after {
    right: auto;
    left: 1.4rem;
    width: 2.4rem;
    transform: skewX(32deg);
  }
  body:has(#home-experience) .ecosystem-nav__menu::after {
    content: "";
    display: block;
    width: 3.5rem;
    height: .55rem;
    margin: .4rem 1rem .35rem auto;
    border-bottom: 1px solid var(--ecosystem-nav-accent);
    border-left: 1px solid var(--ecosystem-nav-accent);
    transform: skewX(-32deg);
    opacity: .2;
    pointer-events: none;
  }
  body:has(#home-experience) .ecosystem-nav__menu[aria-labelledby="exploreDropdown"]::after { margin-inline: 1rem auto; width: 2.5rem; }
  body:has(#home-experience) .pa-dev-plan-switcher { left: .75rem !important; right: auto !important; min-width: 0 !important; max-width: calc(100vw - 6rem) !important; }
  body:has(#home-experience):has(.pa-cookie-banner) .pa-dev-plan-switcher { display: none !important; }

  #home-experience {
    --home-evergreen: #071e2d !important;
    --home-green: #087f88 !important;
    --home-green-accent: #087f88 !important;
    --home-ink: #102b3a !important;
    --home-ink-soft: #415d6b !important;
    --home-paper: #fbfcfc !important;
    --home-white: #fff !important;
    --home-ice: #f0f5f6 !important;
    --home-ice-secondary: #e5eef0 !important;
    --home-cyan-soft: #e9f5f5 !important;
    --home-aqua-soft: #e5f1f1 !important;
    --home-muted: #536b78 !important;
    --home-teal: #066d78 !important;
    --home-cyan: #86e3df !important;
    --home-cyan-bright: #087f88 !important;
    --home-line: #c7d7dc !important;
    --preview-hero-background: #eef6f7;
    --preview-geometry-line: #6397a34f;
    --preview-geometry-fill: #88bfc72b;
    --preview-geometry-highlight: #ffffffb3;
    --preview-grid: #619ba333;
    --preview-readout: #edf6f7;
    --preview-deep-green: #123b43;
    --preview-deep-green-soft: #245862;
    --preview-on-green: #f2fbfb;
    --preview-on-green-muted: #cfe5e7;
    --preview-control-shadow: 0 .65rem 1.3rem #143b4326;
    --preview-rail: var(--pa-shell-max, 92.5rem);
    --preview-gutter: var(--pa-shell-gutter, 2rem);
    --preview-section-space: clamp(3.5rem, 6vw, 6.5rem);
    --preview-font: "Manrope", "Segoe UI", system-ui, sans-serif;
    font-family: var(--preview-font) !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--home-paper) !important;
    color: var(--home-ink-soft) !important;
  }

  html[data-pa-theme="dark"] #home-experience {
    --home-evergreen: var(--page-bg) !important;
    --home-green: var(--primary-teal) !important;
    --home-green-accent: var(--bright-teal) !important;
    --home-ink: var(--text-main) !important;
    --home-ink-soft: var(--text-body) !important;
    --home-paper: var(--page-bg) !important;
    --home-white: var(--surface) !important;
    --home-ice: var(--section-bg) !important;
    --home-ice-secondary: var(--surface-elevated) !important;
    --home-cyan-soft: var(--surface-hover) !important;
    --home-aqua-soft: var(--surface-elevated) !important;
    --home-muted: var(--text-muted) !important;
    --home-teal: var(--bright-teal) !important;
    --home-cyan: var(--aqua-accent) !important;
    --home-cyan-bright: var(--bright-teal) !important;
    --home-line: var(--border) !important;
    --preview-hero-background: var(--section-bg);
    --preview-geometry-line: var(--border);
    --preview-geometry-fill: var(--surface-elevated);
    --preview-geometry-highlight: rgba(241, 248, 249, .08);
    --preview-grid: var(--surface-hover);
    --preview-readout: var(--surface-elevated);
    --preview-deep-green: var(--surface);
    --preview-deep-green-soft: var(--surface-elevated);
    --preview-on-green: var(--text-main);
    --preview-on-green-muted: var(--text-body);
    --preview-control-shadow: 0 .65rem 1.3rem rgba(8, 22, 32, .4);
  }

  .pa-main:has(> #home-experience) {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #home-experience :is(h1, h2, h3, p, a, button, strong, small) {
    font-family: var(--preview-font) !important;
    text-shadow: none !important;
  }

  #home-experience :is(h1, h2, h3) {
    font-weight: 550 !important;
    letter-spacing: -.045em !important;
    line-height: 1.12 !important;
    word-spacing: normal !important;
    text-wrap: pretty;
  }

  #home-experience h2 { font-size: clamp(2rem, 3.4vw, 3.65rem) !important; }
  #home-experience h3 { font-weight: 650 !important; }
  #home-experience p { line-height: 1.75 !important; }
  #home-experience :is(a, button, input, canvas):focus-visible { outline: 3px solid var(--home-teal) !important; outline-offset: 5px !important; }
  #home-experience .pa-home-hero :is(a, button, canvas):focus-visible { outline-color: var(--home-teal) !important; }
  #home-experience .pa-home-kicker { font-size: .7rem !important; font-weight: 700 !important; letter-spacing: .15em !important; }
  #home-experience [data-pa-home-reveal] { opacity: 1 !important; transform: none !important; }
  #home-experience .btn { font-weight: 650 !important; box-shadow: none !important; }
  #home-experience .pa-home-button { min-height: 3.15rem !important; padding: .85rem 1.4rem !important; border-radius: 999px !important; font-weight: 650 !important; box-shadow: none !important; }
  #home-experience .pa-home-button--primary { border-color: var(--home-teal) !important; background: var(--home-teal) !important; color: #fff !important; }
  html[data-pa-theme="dark"] #home-experience .pa-home-button--primary { color: var(--page-bg) !important; }
  html[data-pa-theme="dark"] #home-experience .pa-home-score .pa-home-button--signin { border-color: var(--border) !important; background: var(--surface-elevated) !important; color: var(--text-main) !important; box-shadow: none !important; }
  html[data-pa-theme="dark"] #home-experience .pa-home-score .pa-home-button--signin :is(i, span, strong) { color: var(--text-main) !important; }

  /* Match the shared controls' lift, with a stationary keyboard focus ring. */
  #home-experience :is(.btn, .pa-home-button, .pa-home-mode-switcher button, .pa-home-model-toast button, .pa-home-printer button:not(.pa-home-printer__status-dot), .pa-home-route a, .pa-home-dropzone) {
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease !important;
  }
  #home-experience :is(.btn, .pa-home-button, .pa-home-mode-switcher button, .pa-home-model-toast button, .pa-home-printer button:not(.pa-home-printer__status-dot)):focus-visible {
    box-shadow: var(--preview-control-shadow) !important;
  }
  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    #home-experience :is(.btn, .pa-home-button, .pa-home-mode-switcher button, .pa-home-model-toast button, .pa-home-printer button:not(.pa-home-printer__status-dot), .pa-home-route a):not(:disabled, .disabled, [aria-disabled="true"]):hover {
      transform: translateY(-3px) !important;
      box-shadow: var(--preview-control-shadow) !important;
    }
  }

  /* A small review label belongs to the copy, not the site's navigation. */
  #home-experience .pa-home-preview-notice { background: var(--home-ice) !important; border-bottom: 1px solid var(--home-line); }
  #home-experience .pa-home-preview-notice > div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; width: min(calc(100% - var(--preview-gutter)), var(--preview-rail)); margin: auto; padding-block: .6rem; font-size: .72rem; color: var(--home-ink-soft) !important; }
  #home-experience .pa-home-preview-notice strong { color: var(--home-ink) !important; font-weight: 650 !important; }
  #home-experience .pa-home-preview-notice a { display: inline-flex; align-items: center; gap: .6rem; color: var(--home-teal) !important; text-underline-offset: .2em; }

  /* One continuous scene. The existing real WebGL model has an alpha canvas,
     so it can sit directly in the shared field rather than in another card. */
  #home-experience .pa-home-opening { position: relative; isolation: isolate; background: var(--preview-hero-background) !important; }
  #home-experience .pa-home-hero {
    --home-muted: #47616f !important;
    --home-teal: #076a73 !important;
    --home-cyan: var(--home-teal) !important;
    display: block !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-hero { --home-muted: var(--text-body) !important; --home-teal: var(--aqua-accent) !important; }
  #home-experience .pa-home-hero::before { display: none !important; }
  #home-experience .pa-home-preview-scene { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 4vw, 4rem); width: min(calc(100% - var(--preview-gutter)), var(--preview-rail)); margin-inline: auto; padding-block: clamp(2rem, 3vw, 3.5rem); }
  #home-experience .pa-home-hero-copy { width: 100% !important; min-width: 0; max-width: none !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; animation: none !important; }
  /* Keep the approved hero title isolated from legacy #home-title paint. */
  #home-experience #home-experience-title { display: block !important; max-width: 20ch !important; margin: 1rem 0 !important; padding: 0 !important; background: transparent !important; color: var(--home-ink) !important; -webkit-text-fill-color: currentColor !important; font-size: clamp(2.5rem, 3.65vw, 3.8rem) !important; font-weight: 550 !important; line-height: 1.08 !important; }
  #home-experience .pa-home-hero-lede { max-width: 46ch !important; margin-bottom: 1.3rem !important; font-size: clamp(1rem, 1.1vw, 1.1rem) !important; color: var(--home-ink-soft) !important; }
  #home-experience .pa-home-hero .pa-home-kicker { color: var(--home-muted) !important; }
  #home-experience .pa-home-hero .pa-home-kicker span { color: var(--home-teal) !important; }
  #home-experience .pa-home-hero .pa-home-button--quiet { background: transparent !important; border-color: var(--home-line) !important; color: var(--home-ink) !important; }
  #home-experience .pa-home-proofline { gap: .65rem 1.2rem !important; margin-top: 1.2rem !important; padding-top: .9rem !important; border-color: var(--home-line) !important; font-weight: 500 !important; font-size: .75rem !important; }

  #home-experience .pa-home-troubleshoot-callout { width: fit-content !important; max-width: 100% !important; min-height: 44px !important; margin: 1.1rem 0 0 !important; padding: .75rem 1rem !important; border: 1px solid var(--home-line) !important; border-radius: 1.2rem .4rem 1.2rem .4rem !important; background: var(--home-ice) !important; box-shadow: none !important; }
  #home-experience .pa-home-troubleshoot-callout::before { display: none !important; }
  #home-experience .pa-home-troubleshoot-callout__icon { width: 1.3rem !important; height: 1.3rem !important; border: 0 !important; background: transparent !important; color: var(--home-teal) !important; box-shadow: none !important; }
  #home-experience .pa-home-troubleshoot-callout__copy { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: .3rem .55rem !important; align-items: baseline !important; min-width: 0 !important; padding: 0 !important; background: transparent !important; }
  #home-experience .pa-home-troubleshoot-callout__copy > :is(small, strong) { display: inline !important; width: auto !important; padding: 0 !important; background: transparent !important; }
  #home-experience .pa-home-troubleshoot-callout__copy small { color: var(--home-muted) !important; font-size: .8rem !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
  #home-experience .pa-home-troubleshoot-callout__copy strong { font-size: .8rem !important; font-weight: 650 !important; color: var(--home-teal) !important; }
  #home-experience .pa-home-troubleshoot-callout__copy > span { display: none !important; }

  #home-experience .pa-home-model { width: 100% !important; min-width: 0; align-self: center !important; margin: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; clip-path: none !important; transform: none !important; animation: none !important; }
  #home-experience .pa-home-model::before { display: none !important; }
  #home-experience :is(.pa-home-model-bar, .pa-home-model-controls) { padding: .8rem 0 !important; background: var(--preview-hero-background) !important; border-color: var(--home-line) !important; color: var(--home-ink-soft) !important; }
  #home-experience .pa-home-model-bar strong { font-weight: 600 !important; color: var(--home-ink) !important; }
  #home-experience .pa-home-live-dot { width: .4rem !important; height: .4rem !important; box-shadow: none !important; }
  #home-experience .pa-home-model-viewport { min-height: clamp(20rem, 26vw, 27rem) !important; background: transparent !important; }
  html[data-pa-theme="dark"] #home-experience .pa-home-model-viewport { background: var(--section-bg) !important; background-image: none !important; }
  #home-experience .pa-home-model-viewport::after { display: none !important; }
  #home-experience [data-pa-model-canvas] { background: transparent !important; }
  #home-experience .pa-home-model-fallback[hidden] { display: none !important; }
  #home-experience .pa-home-model-readout { top: .75rem !important; left: .75rem !important; bottom: auto !important; max-width: min(60%, 20rem) !important; gap: .3rem !important; padding: .8rem 1rem !important; border: 1px solid var(--home-line) !important; border-left: 3px solid var(--home-teal) !important; border-radius: .9rem .3rem .9rem .3rem !important; background: var(--preview-readout) !important; color: var(--home-muted) !important; backdrop-filter: none !important; }
  /* Legacy light-theme closures paint each of these children dark. Reset the
     actual children as well as the parent so foreground and surface agree. */
  #home-experience .pa-home-model-readout > :is(span, strong, small) { display: block !important; width: auto !important; padding: 0 !important; background: transparent !important; -webkit-text-fill-color: currentColor !important; line-height: 1.5 !important; }
  #home-experience .pa-home-model-readout > span { color: var(--home-muted) !important; font-size: .66rem !important; letter-spacing: .09em !important; }
  /* Proportional insets leave room for the filename in a narrow hero column. */
  #home-experience .pa-home-measure--width { left: 62% !important; right: 6% !important; }
  #home-experience .pa-home-model-readout strong { color: var(--home-ink) !important; font-weight: 650 !important; font-size: .82rem !important; white-space: normal !important; overflow-wrap: anywhere !important; }
  #home-experience .pa-home-model-toast { position: relative !important; inset: auto !important; width: 100% !important; margin: 0 !important; padding: .45rem 0 !important; border: 0 !important; border-top: 1px solid var(--home-line) !important; border-radius: 0 !important; background: var(--preview-hero-background) !important; box-shadow: none !important; isolation: isolate !important; }
  #home-experience .pa-home-model-toast p { margin: 0 !important; background: transparent !important; color: var(--home-ink-soft) !important; font-size: .9rem !important; font-weight: 500 !important; line-height: 1.5 !important; text-wrap: pretty !important; }
  #home-experience .pa-home-model-toast [data-pa-model-status] { position: relative; z-index: 2; background: var(--preview-hero-background) !important; }
  #home-experience .pa-home-model-toast button { width: 44px !important; min-height: 44px !important; border: 0 !important; border-radius: .25rem !important; background: transparent !important; color: var(--home-ink-soft) !important; font-size: 1rem !important; }
  #home-experience .pa-home-model-toast button:is(:hover, :focus-visible) { background: var(--home-ice-secondary) !important; }
  #home-experience .pa-home-model-controls { flex-wrap: wrap !important; gap: .75rem !important; }
  #home-experience .pa-home-model-controls > a { padding: .5rem 0 !important; color: var(--home-teal) !important; font-size: .78rem !important; }
  #home-experience .pa-home-mode-switcher { overflow: visible !important; padding: .25rem !important; gap: .3rem !important; border: 1px solid var(--home-line) !important; border-radius: 999px !important; background: var(--home-white) !important; }
  #home-experience .pa-home-mode-switcher button { min-height: 44px !important; padding: .5rem .85rem !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; color: var(--home-ink-soft) !important; font-weight: 600 !important; }
  #home-experience .pa-home-mode-switcher button.is-active { color: var(--preview-on-green) !important; background: var(--preview-deep-green) !important; }
  #home-experience .pa-home-measure { border-color: var(--home-muted) !important; color: var(--home-muted) !important; }
  #home-experience .pa-home-scroll-cue { display: none !important; }
  #home-experience .pa-home-mode-switcher button:not(.is-active):is(:hover, :focus-visible) { color: var(--home-ink) !important; background: var(--home-ice-secondary) !important; }
  #home-experience .pa-home-model-readout small { color: var(--home-teal) !important; font-size: .65rem !important; letter-spacing: .035em !important; }
  #home-experience .pa-home-measure::before, #home-experience .pa-home-measure::after { background: var(--home-muted) !important; }
  #home-experience .pa-home-measure span { background: var(--preview-readout) !important; padding: .15rem .3rem; }
  html[data-pa-theme="dark"] #home-experience .pa-home-model-readout {
    border-left-color: var(--border) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-model-readout small {
    color: var(--text-body) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-measure {
    border-color: var(--border) !important;
    color: var(--text-muted) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-measure::before,
  html[data-pa-theme="dark"] #home-experience .pa-home-measure::after {
    background: var(--surface-hover) !important;
  }

  /* Ribbons and construction lines sit behind the real model, inside its
     viewport. They cannot cross the headline or intercept a drag gesture. */
  #home-experience .pa-home-preview-geometry { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
  #home-experience .pa-home-preview-ribbon { position: absolute; display: block; width: 112%; height: 36%; border: 1px solid var(--preview-geometry-line); border-radius: 999px; background: linear-gradient(100deg, transparent, var(--preview-geometry-fill)); box-shadow: inset 0 1px 0 var(--preview-geometry-highlight); }
  #home-experience .pa-home-preview-ribbon--one { top: -7%; right: -22%; transform: rotate(-18deg); }
  #home-experience .pa-home-preview-ribbon--two { right: -31%; bottom: 8%; height: 25%; transform: rotate(14deg); }
  #home-experience .pa-home-hero-grid { display: block !important; inset: 0 !important; z-index: 0 !important; background: radial-gradient(circle, var(--preview-grid) 1px, transparent 1.5px) !important; background-size: 16px 16px !important; opacity: 1 !important; mask-image: linear-gradient(145deg, transparent 48%, #000 100%); }
  #home-experience .pa-home-hero-orbit { display: block !important; z-index: 0 !important; border-color: var(--preview-geometry-line) !important; opacity: 1 !important; transform: none !important; animation: none !important; }
  #home-experience .pa-home-hero-orbit--one { top: 3% !important; right: -7% !important; width: 77% !important; }
  #home-experience .pa-home-hero-orbit--two { top: 11% !important; right: 1% !important; width: 61% !important; }


  /* Equal tracks keep this strip half in the hero and half in the next
     chapter at every width, without clipping hover lift or keyboard focus. */
  #home-experience .pa-home-ecosystem-bridge { display: grid; grid-template: 1fr 1fr / minmax(0, 1fr); }
  #home-experience .pa-home-ecosystem-bridge::before { content: ""; grid-area: 2 / 1 / 3 / 2; background: var(--home-paper); pointer-events: none; }
  #home-experience .pa-home-ecosystem { position: relative !important; z-index: 4; grid-area: 1 / 1 / 3 / 2 !important; grid-template-columns: repeat(6, minmax(0, 1fr)) !important; align-self: center; gap: .35rem !important; width: min(calc(100% - var(--preview-gutter)), var(--preview-rail)) !important; margin: 0 auto !important; padding: .65rem !important; border: 1px solid var(--home-line) !important; border-radius: 3rem 1rem 3rem 1rem !important; background: var(--home-white) !important; backdrop-filter: none !important; box-shadow: 0 1.4rem 2.6rem #143b431a !important; overflow: visible !important; }
  #home-experience .pa-home-ecosystem a { align-content: start !important; gap: .3rem !important; min-height: 7rem !important; padding: 1.15rem 1rem !important; border: 0 !important; border-radius: 2.4rem .7rem 2.4rem .7rem !important; background: transparent !important; box-shadow: none !important; text-align: left !important; }
  #home-experience .pa-home-ecosystem a:is(:hover, :focus-visible) { background: var(--home-ice-secondary) !important; }
  #home-experience .pa-home-ecosystem :is(strong, small) { white-space: normal !important; overflow: visible !important; }
  #home-experience .pa-home-ecosystem strong { color: var(--home-ink) !important; font-weight: 650 !important; }
  #home-experience .pa-home-ecosystem small { color: var(--home-muted) !important; line-height: 1.6 !important; }
  #home-experience .pa-home-ecosystem span { min-height: 1.8em; color: var(--home-teal) !important; font-weight: 600 !important; }

  /* Same menu-aligned rails through every chapter; narrower measures only
     inside the rail for readable paragraphs. No nested outer cards. */
  #home-experience :is(.pa-home-workflow, .pa-home-story, .pa-home-proof, .pa-home-printer) { padding-inline: max(calc(var(--preview-gutter) / 2), calc((100% - var(--preview-rail)) / 2)) !important; }
  #home-experience :is(.pa-home-workflow, .pa-home-story, .pa-home-proof) { padding-block: var(--preview-section-space) !important; }
  #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading, .pa-home-route, .pa-home-branch-note, .pa-home-score, .pa-home-result, .pa-home-evidence, .pa-home-printer__intro-field, .pa-home-printer__intro, .pa-home-printer__scrolly) { max-width: none !important; }
  #home-experience .pa-home-workflow { position: relative; isolation: isolate; background: var(--home-paper) !important; border: 0 !important; }
  #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading) { grid-template-columns: minmax(0, 1fr) minmax(0, .78fr) !important; gap: 1.3rem clamp(2rem, 7vw, 7rem) !important; }
  #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading) h2 { max-width: 22ch !important; }
  #home-experience .pa-home-route { margin-top: 3rem !important; background: transparent !important; }
  #home-experience .pa-home-route a { min-height: 8rem !important; padding: 1.2rem 1.2rem 1.5rem !important; border-radius: 1.4rem .4rem 1.4rem .4rem !important; }
  #home-experience .pa-home-route a:is(:hover, :focus-visible) { background: var(--home-ice) !important; }
  #home-experience .pa-home-route strong { font-size: 1.12rem !important; font-weight: 650 !important; }
  #home-experience .pa-home-route :is(li, a) { border-color: var(--home-line) !important; }
  #home-experience .pa-home-route a::before { display: none !important; }
  #home-experience .pa-home-route a > span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; margin-bottom: .6rem; border: 1px solid var(--preview-deep-green); border-radius: .85rem .2rem .85rem .2rem; background: var(--preview-deep-green) !important; color: var(--preview-on-green) !important; font-weight: 650; }
  #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading) > .pa-home-kicker { display: flex; align-items: center; gap: .8rem; }
  #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading) > .pa-home-kicker::before { content: ""; flex: 0 0 1.6rem; height: 2px; background: var(--home-teal); }
  #home-experience .pa-home-workflow::after { content: none !important; display: none !important; }
  #home-experience .pa-home-route-line span { transform: scaleX(1) !important; }
  #home-experience .pa-home-branch-note { margin-top: 1.5rem !important; padding: .5rem !important; background: var(--home-ice) !important; border: 1px solid var(--home-line) !important; border-radius: 1.6rem .5rem 1.6rem .5rem !important; gap: .5rem !important; }
  #home-experience .pa-home-branch-note p { padding: 1rem 1.2rem !important; border: 0 !important; }

  #home-experience .pa-home-story { background: var(--home-ice) !important; border: 0 !important; }
  #home-experience .pa-home-story::before { display: none !important; content: none !important; }
  #home-experience .pa-home-story::after { content: ""; position: absolute; z-index: 0; top: 2rem; left: -8rem; width: min(48vw, 42rem); aspect-ratio: 1; border: 1px solid var(--preview-geometry-line); border-radius: 50%; pointer-events: none; }
  #home-experience .pa-home-story-stage { position: relative; z-index: 1; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) !important; gap: clamp(2rem, 6vw, 6rem) !important; }
  #home-experience .pa-home-story-media { outline: 1px solid var(--home-line); outline-offset: .65rem; height: min(75svh, 48rem, calc(100svh - 9.4rem)) !important; min-height: min(28rem, calc(100svh - 9.4rem)) !important; border: 0 !important; clip-path: none !important; border-radius: 2rem .6rem 2rem .6rem !important; box-shadow: none !important; }
  #home-experience .pa-home-story-copy { overflow: visible !important; border: 0 !important; box-shadow: none !important; background: transparent !important; }
  #home-experience .pa-home-story-copy > header { position: relative; isolation: isolate; overflow: hidden; min-height: 0 !important; padding: clamp(1.6rem, 3vw, 3rem) !important; border: 0 !important; border-radius: 2.25rem .65rem 2.25rem .65rem !important; background: var(--preview-deep-green) !important; }
  #home-experience .pa-home-story-copy > header::after { display: none !important; content: none !important; }
  #home-experience .pa-home-story-copy > header :is(h2, p) { color: var(--preview-on-green) !important; background: transparent !important; }
  #home-experience .pa-home-story-copy > header > p:last-child { color: var(--preview-on-green-muted) !important; margin-bottom: 0 !important; }
  #home-experience .pa-home-story-copy > header .pa-home-kicker { color: #9aebe3 !important; }
  #home-experience .pa-home-story-copy > header h2 { max-width: 15ch !important; }
  #home-experience .pa-home-story-step { min-height: 40svh !important; margin-top: 1.25rem !important; padding: clamp(1.5rem, 2.5vw, 2.75rem) !important; border: 1px solid var(--home-line) !important; border-radius: 1.5rem .5rem 1.5rem .5rem !important; background: var(--home-white) !important; box-shadow: none !important; }
  #home-experience .pa-home-story-step.is-active { border-color: var(--home-teal) !important; background: var(--home-cyan-soft) !important; box-shadow: inset 3px 0 var(--home-teal) !important; }
  #home-experience .pa-home-story-step h3 { max-width: 22ch !important; font-size: clamp(1.4rem, 2.1vw, 2rem) !important; }
  #home-experience .pa-home-story-step > span { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; margin-bottom: 1rem !important; border-radius: .85rem .2rem .85rem .2rem; background: var(--preview-deep-green) !important; color: var(--preview-on-green) !important; }
  #home-experience .pa-home-story-step > a { padding: .75rem 1rem !important; border: 1px solid var(--home-line) !important; border-radius: 999px !important; background: var(--home-white) !important; }
  #home-experience .pa-home-story-frame figcaption { padding: 1.1rem 1.3rem !important; border: 1px solid #6f9ca166 !important; border-radius: 1.2rem .4rem 1.2rem .4rem !important; background: #123b43 !important; box-shadow: none !important; }
  #home-experience .pa-home-story-frame figcaption > :is(span, strong) { padding: 0 !important; background: transparent !important; }
  #home-experience .pa-home-story-frame figcaption > span { color: #9aebe3 !important; }
  #home-experience .pa-home-story-frame figcaption strong { color: var(--preview-on-green) !important; font-size: clamp(1.6rem, 2.5vw, 2.7rem) !important; font-weight: 550 !important; line-height: 1.15 !important; }
  #home-experience .pa-home-story-index { padding: .7rem .9rem !important; border: 1px solid #6f9ca166 !important; border-radius: 1.1rem .3rem 1.1rem .3rem !important; background: var(--preview-deep-green) !important; color: var(--preview-on-green) !important; }
  #home-experience .pa-home-story-index :is(span, small) { color: var(--preview-on-green) !important; background: transparent !important; }
  #home-experience .pa-home-capability-rail { margin-top: 4.5rem !important; padding: .5rem 1rem !important; border: 1px solid #416870 !important; border-radius: 2rem .6rem 2rem .6rem !important; background: var(--preview-deep-green) !important; }
  #home-experience .pa-home-capability-rail span { border-right: 0 !important; color: var(--preview-on-green) !important; background: transparent !important; font-weight: 600 !important; letter-spacing: .03em !important; }

  /* The Light art direction above intentionally uses a few softened custom
     paints. In Dark mode, keep the same composition while resolving every
     visible surface, border, label, and shadow through the approved palette. */
  html[data-pa-theme="dark"] #home-experience .pa-home-ecosystem {
    box-shadow: var(--preview-control-shadow) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-story::before {
    opacity: 1 !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-story-copy > header::after {
    border-color: var(--border) !important;
    box-shadow: 0 1.2rem 0 -.95rem rgba(8, 22, 32, .4) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-story-copy > header .pa-home-kicker,
  html[data-pa-theme="dark"] #home-experience .pa-home-story-frame figcaption > span {
    color: var(--text-body) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-story-frame figcaption {
    border-color: var(--border) !important;
    background: var(--surface-elevated) !important;
  }
  html[data-pa-theme="dark"] #home-experience :is(.pa-home-story-index, .pa-home-capability-rail) {
    border-color: var(--border) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-story-step.is-active,
  html[data-pa-theme="dark"] #home-experience .pa-home-printer__beat[data-pa-printer-active] .pa-home-printer__beat-body {
    border-color: var(--border) !important;
    box-shadow: none !important;
  }

  #home-experience .pa-home-proof { background: var(--home-paper) !important; }
  #home-experience .pa-home-proof-heading { margin-bottom: 2.5rem !important; }
  #home-experience .pa-home-score { border-radius: 2.5rem .8rem 2.5rem .8rem !important; border-color: var(--home-line) !important; box-shadow: none !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  #home-experience .pa-home-score-copy { padding: clamp(1.5rem, 3.3vw, 3.5rem) !important; background: var(--home-ice) !important; color: var(--home-ink-soft) !important; }
  html[data-pa-theme="light"] #home-experience :is(.pa-home-score, .pa-home-upload) .pa-home-kicker { color: var(--home-teal) !important; }
  #home-experience .pa-home-score-copy :is(h3, strong) { color: var(--home-ink) !important; }
  #home-experience .pa-home-score-copy h3 { max-width: 18ch !important; font-size: clamp(1.6rem, 2.5vw, 2.5rem) !important; }
  #home-experience .pa-home-score-copy :is(p:not(.pa-home-kicker), ul, li) { color: var(--home-ink-soft) !important; }
  #home-experience .pa-home-score-copy .pa-home-inline-link { color: var(--home-teal) !important; }
  #home-experience .pa-home-score-copy ul { border-color: var(--home-line) !important; }
  #home-experience .pa-home-score-copy li i { color: var(--home-teal) !important; }
  #home-experience .pa-home-upload { min-width: 0; padding: clamp(1.25rem, 3vw, 3rem) !important; background: var(--home-white) !important; }
  #home-experience .pa-home-upload-icon { transform: none !important; border: 1px solid var(--home-line) !important; border-radius: 1.5rem .4rem 1.5rem .4rem !important; background: var(--home-ice-secondary) !important; }
  #home-experience .pa-home-upload-icon i { transform: none !important; }
  #home-experience .pa-home-dropzone { position: relative !important; width: 100% !important; min-width: 0; min-height: 18rem !important; padding: clamp(1.5rem, 3vw, 2.75rem) !important; border: 1px dashed var(--home-teal) !important; border-radius: 2.5rem .8rem 2.5rem .8rem !important; background: var(--home-paper) !important; color: var(--home-ink) !important; }
  #home-experience .pa-home-dropzone:focus-within { outline: 3px solid var(--home-teal) !important; outline-offset: 4px !important; background: var(--home-cyan-soft) !important; }
  #home-experience .pa-home-dropzone .pa-file-name { max-width: 100%; overflow-wrap: anywhere; }
  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    #home-experience .pa-home-dropzone:hover { transform: translateY(-2px) !important; background: var(--home-cyan-soft) !important; box-shadow: var(--preview-control-shadow) !important; }
  }
  #home-experience .pa-home-score-trust { padding: 1.4rem clamp(1.5rem, 3.3vw, 3.5rem) !important; background: var(--home-ice) !important; font-size: .82rem !important; }
  html[data-pa-theme="dark"] #home-experience .pa-home-dropzone {
    border-color: var(--border) !important;
  }
  html[data-pa-theme="dark"] #home-experience .pa-home-score-copy li i,
  html[data-pa-theme="dark"] #home-experience .pa-home-printer__beat-index {
    color: var(--text-body) !important;
  }
  #home-experience .pa-home-evidence { margin-top: 3rem !important; border: 0 !important; gap: clamp(1.5rem, 3vw, 3rem) !important; }
  #home-experience .pa-home-evidence article { padding: 0 !important; border: 0 !important; background: transparent !important; }
  #home-experience .pa-home-evidence article > div:last-child { padding: .35rem 1.25rem 1.25rem !important; }
  #home-experience .pa-home-evidence-media { border-radius: 1.8rem .5rem 1.8rem .5rem !important; }
  #home-experience .pa-home-evidence-media::after { display: none !important; }
  #home-experience .pa-home-evidence-media-note { padding: .6rem .8rem !important; border-radius: .8rem .25rem .8rem .25rem !important; background: var(--preview-deep-green) !important; color: var(--preview-on-green) !important; line-height: 1.5 !important; }
  #home-experience .pa-home-evidence a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .65rem 1rem !important; border: 1px solid var(--home-line) !important; border-radius: 999px !important; background: var(--home-white) !important; }
  #home-experience .pa-home-evidence h3 { font-size: 1.25rem !important; line-height: 1.35 !important; }

  #home-experience .pa-home-printer {
    --pa-printer-ink: var(--home-ink) !important;
    --pa-printer-muted: var(--home-muted) !important;
    --pa-printer-paper: var(--home-paper) !important;
    --pa-printer-ice: var(--home-ice) !important;
    --pa-printer-ice-secondary: var(--home-ice) !important;
    --pa-printer-line: var(--home-line) !important;
    --pa-printer-teal: var(--home-teal) !important;
    padding-bottom: var(--preview-section-space) !important;
  }
  #home-experience .pa-home-printer::before { opacity: .16 !important; }
  #home-experience .pa-home-printer__intro-field { border: 0 !important; background: transparent !important; box-shadow: none !important; }
  #home-experience .pa-home-printer__intro {
    overflow: hidden;
    padding: clamp(1.5rem, 3.5vw, 3.5rem) !important;
    border: 1px solid var(--home-line) !important;
    border-radius: 2.5rem .8rem 2.5rem .8rem !important;
    background: var(--home-ice) !important;
  }
  #home-experience .pa-home-printer__intro h2 { max-width: 21ch !important; }
  #home-experience .pa-home-printer__intro > p:last-child { color: var(--home-ink-soft) !important; font-weight: 500 !important; border-color: var(--home-line) !important; }
  #home-experience .pa-home-printer__beat-body {
    padding: clamp(1.5rem, 2.8vw, 2.75rem) !important;
    border: 1px solid var(--home-line) !important;
    border-radius: 1.5rem .5rem 1.5rem .5rem !important;
    background: var(--home-ice) !important;
    box-shadow: none !important;
  }
  #home-experience .pa-home-printer__beat[data-pa-printer-active] .pa-home-printer__beat-body { border-color: var(--home-teal) !important; background: var(--home-cyan-soft) !important; box-shadow: inset 3px 0 var(--home-teal) !important; }
  #home-experience :is(.pa-home-printer__intro, .pa-home-printer__beat-body) > :is(h2, h3, p) { background: transparent !important; }
  #home-experience :is(.pa-home-printer__intro h2, .pa-home-printer__beat-body h3) { color: var(--home-ink) !important; }
  #home-experience .pa-home-printer__beat-body h3 { max-width: 18ch !important; font-size: clamp(1.5rem, 2.5vw, 2.7rem) !important; }
  #home-experience .pa-home-printer__beat-index { color: var(--home-teal) !important; }
  #home-experience .pa-home-printer__beat-body > p:last-child { color: var(--home-ink-soft) !important; font-size: .95rem !important; font-weight: 500 !important; }

  /* The source artwork is now relit. Keep its actual exposure in both media
     paths; only the copy side receives a soft, theme-aware contrast wash. */
  #home-finale {
    --finale-ink: #102b3a;
    --finale-muted: #304d5c;
    --finale-link: #00515c;
    --finale-paper: #edf5f7;
    --finale-quiet: #f4fafbcc;
    --finale-line: #65929d;
    --finale-wash: linear-gradient(90deg, #edf5f7f2 0%, #edf5f7d6 28%, #edf5f773 40%, #edf5f700 53%);
    font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
  }
  html[data-pa-theme="dark"] #home-finale {
    --finale-ink: var(--text-main);
    --finale-muted: var(--text-body);
    --finale-link: var(--aqua-accent);
    --finale-paper: var(--page-bg);
    --finale-quiet: rgba(24, 50, 64, .85);
    --finale-line: var(--border);
    --finale-wash: linear-gradient(90deg, rgba(8, 22, 32, .96) 0%, rgba(8, 22, 32, .91) 28%, rgba(8, 22, 32, .55) 40%, rgba(8, 22, 32, 0) 53%);
  }
  html[data-pa-theme="dark"] #home-finale .pa-home-button--primary {
    border-color: var(--primary-teal) !important;
    background: var(--primary-teal) !important;
    color: var(--page-bg) !important;
  }
  html[data-pa-theme="dark"] #home-finale .pa-home-final-media {
    background: var(--surface-elevated) !important;
  }
  html[data-pa-theme="dark"] #home-finale :is(.pa-home-kicker, .pa-home-final-community) {
    color: var(--text-body) !important;
  }
  #home-finale .pa-home-final {
    min-height: 42rem !important;
    aspect-ratio: 2 / 1;
    padding: clamp(3rem, 5vw, 6rem) clamp(1.5rem, 6vw, 8rem) !important;
    background: var(--finale-paper) !important;
  }
  #home-finale .pa-home-final::before {
    content: "";
    display: block !important;
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--finale-wash) !important;
    pointer-events: none;
  }
  #home-finale .pa-home-final-copy {
    width: min(100%, 30rem) !important;
    align-self: start !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  #home-finale .pa-home-final-copy > :is(h2, p, .pa-home-actions, .pa-home-final-community) { background: transparent !important; }
  #home-finale .pa-home-final h2 {
    max-width: 14ch !important;
    color: var(--finale-ink) !important;
    font-family: inherit !important;
    font-size: clamp(2.6rem, 3.5vw, 4rem) !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    letter-spacing: -.045em !important;
  }
  #home-finale .pa-home-final-copy > p:not(.pa-home-kicker) { color: var(--finale-muted) !important; font-size: clamp(1rem, 1.2vw, 1.1rem) !important; }
  #home-finale :is(.pa-home-kicker, .pa-home-final-community) { color: var(--finale-link) !important; }
  #home-finale .pa-home-final-community { max-width: 43ch; line-height: 1.65 !important; }
  #home-finale .pa-home-actions { gap: .75rem !important; }
  #home-finale .pa-home-button { min-height: 48px; padding: .8rem 1.25rem !important; border-radius: 999px !important; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease; }
  #home-finale .pa-home-button--primary { border-color: #087f88 !important; background: #08717c !important; color: #fff !important; }
  #home-finale .pa-home-button--quiet { border-color: var(--finale-line) !important; background: var(--finale-quiet) !important; color: var(--finale-ink) !important; }
  #home-finale a:focus-visible { outline: 3px solid var(--finale-link) !important; outline-offset: 4px !important; }
  #home-finale .pa-home-final-media { background: #a1b7c7 !important; }
  #home-finale .pa-home-final-media::after { display: none !important; }
  #home-finale .pa-home-final-media figcaption span + span::before { content: none !important; }
  #home-finale .pa-home-final-media > :is(img.pa-light-authored-media, canvas.pa-dark-authored-media) { filter: none !important; object-position: 50% center !important; }
  #home-finale .pa-home-final-media > img.pa-home-final-brand { top: clamp(1.5rem, 3vw, 3rem) !important; right: clamp(1.5rem, 3vw, 3rem) !important; }
  @media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    #home-finale .pa-home-button:hover { transform: translateY(-3px); box-shadow: 0 .65rem 1.3rem #143b4326 !important; }
    html[data-pa-theme="dark"] #home-finale .pa-home-button:hover { box-shadow: var(--preview-control-shadow) !important; }
  }
  /* Give the picture its own uncrowded space once the copy and printer no
     longer fit side by side. The 4:3 phone crop retains the penguin's feet. */
  @media (max-width: 1100px) {
    #home-finale .pa-home-final { display: block !important; min-height: 0 !important; aspect-ratio: auto; padding: 0 !important; }
    #home-finale .pa-home-final::before { display: none !important; }
    #home-finale .pa-home-final-copy { width: 100% !important; max-width: 46rem; padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 5vw, 3rem) !important; }
    #home-finale .pa-home-final h2 { max-width: 19ch !important; }
    #home-finale .pa-home-final-media { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; min-height: 0 !important; aspect-ratio: 2 / 1 !important; }
    #home-finale .pa-home-final-media > img.pa-home-final-brand { top: 1rem !important; right: 1rem !important; left: auto !important; width: min(32%, 14rem) !important; }
  }
  @media (max-width: 620px) {
    #home-finale .pa-home-final-media { aspect-ratio: 4 / 3 !important; }
    #home-finale .pa-home-final-media > :is(img.pa-light-authored-media, canvas.pa-dark-authored-media) { object-position: 68% center !important; }
    #home-finale .pa-home-final h2 { font-size: clamp(2.25rem, 8.5vw, 3rem) !important; }
    #home-finale .pa-home-final-media > img.pa-home-final-brand { width: min(45%, 12rem) !important; }
    /* Keep scrolling chapter text clear of the fixed 44px guide control. */
    #home-experience .pa-home-printer__beat-body { padding-right: 3.75rem !important; }
  }
  @media (max-width: 620px) and (min-height: 681px) {
    /* Tall phones can show the chapter under the sticky printer sooner. */
    #home-experience .pa-home-printer__beat { min-height: 80svh !important; }
  }
  @media (prefers-reduced-motion: reduce) {
    #home-finale .pa-home-button { transition: none !important; }
    #home-finale .pa-home-button:hover { transform: none !important; }
  }

  @media (max-width: 1050px) {
    #home-experience .pa-home-preview-scene { gap: 2rem !important; }
    #home-experience #home-experience-title { font-size: clamp(2.5rem, 4.3vw, 3.2rem) !important; }
    #home-experience .pa-home-ecosystem { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; overflow: visible !important; }
    #home-experience .pa-home-route ol { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    #home-experience .pa-home-route li:nth-child(4) { border-left: 0 !important; }
    #home-experience .pa-home-route li:nth-child(n+4) { border-top: 1px solid var(--home-line) !important; }
    #home-experience .pa-home-story-stage { gap: 2rem !important; }
  }

  @media (max-width: 800px) {
    #home-experience .pa-home-preview-scene { grid-template-columns: 1fr !important; padding-block: 2.75rem 1.5rem !important; }
    #home-experience #home-experience-title { max-width: 20ch !important; font-size: clamp(2.6rem, 7vw, 3.5rem) !important; }
    #home-experience .pa-home-hero-copy { max-width: 40rem !important; }
    #home-experience .pa-home-model-viewport { min-height: clamp(18rem, 54vw, 25rem) !important; }
    #home-experience :is(.pa-home-section-intro, .pa-home-proof-heading, .pa-home-story-stage, .pa-home-score) { grid-template-columns: 1fr !important; }
    #home-experience .pa-home-section-intro > p:last-child { max-width: 65ch; }
    /* In one column the image stays in normal flow so it cannot cover text. */
    #home-experience .pa-home-story-media { position: relative !important; top: auto !important; min-height: 0 !important; height: clamp(15rem, 55vw, 28rem) !important; }
    #home-experience .pa-home-story-copy > header h2 { max-width: 22ch !important; }
    #home-experience .pa-home-story-copy { margin-bottom: 0 !important; }
    #home-experience .pa-home-story-step { min-height: 0 !important; align-content: start !important; }
    #home-experience .pa-home-branch-note { grid-template-columns: 1fr !important; gap: 1rem !important; }
    #home-experience .pa-home-evidence article { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) !important; }
  }

  @media (max-width: 520px) {
    #home-experience .pa-home-workflow::after { display: none; }
    #home-experience .pa-home-story::after { display: none; }
    #home-experience .pa-home-story-media { outline-offset: .35rem; }
    #home-experience .pa-home-preview-notice a { padding-block: .3rem; }
    #home-experience #home-experience-title { font-size: clamp(2.1rem, 8.3vw, 2.7rem) !important; }
    #home-experience .pa-home-actions { align-items: stretch !important; gap: .65rem !important; }
    #home-experience .pa-home-actions .pa-home-button { width: 100% !important; }
    #home-experience .pa-home-ecosystem { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: .5rem !important; border-radius: 2rem .75rem 2rem .75rem !important; }
    #home-experience .pa-home-ecosystem a { min-height: 0 !important; padding: 1rem .8rem !important; border-radius: 1.6rem .5rem 1.6rem .5rem !important; }
    #home-experience .pa-home-ecosystem span { font-size: .6rem !important; letter-spacing: .06em !important; }
    #home-experience .pa-home-model-bar > span { display: none !important; }
    #home-experience .pa-home-model-controls { display: flex !important; }
    #home-experience .pa-home-route ol { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    #home-experience .pa-home-route li { border: 0 !important; border-bottom: 1px solid var(--home-line) !important; }
    #home-experience .pa-home-route a { padding: 1rem !important; }
    #home-experience .pa-home-route { overflow: visible !important; }
    #home-experience .pa-home-capability-rail { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    #home-experience .pa-home-capability-rail span { padding-block: .75rem !important; }
    #home-experience .pa-home-evidence article { grid-template-columns: 1fr !important; gap: 1rem !important; }
    #home-experience .pa-home-story-media { min-height: 0 !important; height: clamp(15rem, 60vw, 22rem) !important; }
    #home-experience .pa-home-model-readout { max-width: 75% !important; }
    #home-experience .pa-home-score-copy { padding: 1.5rem !important; }
    #home-experience .pa-home-upload { min-height: 0 !important; }
  }

  @media (min-width: 801px) and (max-height: 850px) {
    #home-experience .pa-home-preview-scene { padding-block: 1.75rem !important; }
    #home-experience #home-experience-title { font-size: clamp(2.5rem, 3.5vw, 3.4rem) !important; }
    #home-experience .pa-home-model-viewport { min-height: 20rem !important; }
  }

  @media (prefers-reduced-motion: reduce) {
    #home-experience *, #home-experience *::before, #home-experience *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    #home-experience :is(.btn, .pa-home-button, .pa-home-mode-switcher button, .pa-home-model-toast button, .pa-home-printer button:not(.pa-home-printer__status-dot), .pa-home-route a, .pa-home-dropzone):hover { transform: none !important; }
  }

  @media (forced-colors: active) {
    body:has(#home-experience) .ecosystem-nav__menu::after,
    body:has(#home-experience) .ecosystem-nav__menu > li:has(.dropdown-divider)::after,
    #home-experience .pa-home-preview-geometry,
    #home-experience .pa-home-story-copy > header::after { display: none; }
    #home-experience :is(.pa-home-ecosystem, .pa-home-model-readout, .pa-home-story-copy > header, .pa-home-story-step, .pa-home-dropzone) { border: 1px solid CanvasText !important; }
  }
}
