/* Active homepage refinements. The saved original keeps its own presentation. */
html { scrollbar-gutter: stable; }
body { font-size: 1rem; font-optical-sizing: auto; }

/* Tracking follows the size of the type, rather than one display setting. */
.hero h1 { font-size: clamp(3.375rem, 5.25vw, 5.75rem); letter-spacing: -.04em; line-height: 1.09; text-wrap: balance; }
.hero-description { letter-spacing: 0; }
.platform-heading h2 { font-size: clamp(2.25rem, 3.65vw, 3.875rem); letter-spacing: -.035em; text-wrap: balance; }
.prepared-sale-intro h2, .standards-intro h2, .capacity-heading h2 {
  font-size: clamp(2.4375rem, 3.7vw, 3.8125rem);
  letter-spacing: -.035em;
  line-height: 1.16;
}
.platform-card h3 { font-size: clamp(1.6875rem, 2.55vw, 2.6875rem); letter-spacing: -.025em; }
.platform-card-copy > p { font-size: 1rem; }
.platform-card-action { font-size: .875rem; }
.morning-heading h2, .case-title h3, .finding h4, .platform-product h4 { letter-spacing: -.025em; }
.methodology-trust h2 { letter-spacing: -.018em; }
.methodology-name { letter-spacing: -.025em; }
.results-heading h2 { letter-spacing: -.03em; }
.result-row dt > span, .standard-row h3 { letter-spacing: -.015em; }
.result-number { letter-spacing: -.055em; }
.closing h2 { letter-spacing: -.035em; text-wrap: balance; }
.capacity-metric output, .capacity-value-note output { letter-spacing: -.035em; }
.preview-toolbar > span:last-child, .example-label, .hero-note { color: #61717f; }
.product-dialog .product-dialog-note { color: #586b7e; }

/* Controls respond on press; motion settles quickly and has no overshoot. */
:root { --settle: cubic-bezier(.2, .8, .2, 1); }
:is(button, a, input, [tabindex="0"]):focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.platform-card-action:focus-visible { outline-color: #fff; }
.button, .platform-card-action, .queue-tab, .menu-toggle, .dialog-close {
  transition: background-color 160ms, border-color 160ms, color 160ms, box-shadow 160ms, transform 180ms var(--settle);
}
.button:active { background: #1738ba; box-shadow: none; transform: scale(.98); transition-duration: 80ms; }
.platform-card-action:active { background: #ffffff24; border-color: #fff; transform: scale(.98); transition-duration: 80ms; }
.queue-tab:active { background: #e8eefb; border-color: #839bdd; transform: scale(.985); transition-duration: 80ms; }
.desktop-nav a, .text-link, .quiet-link { transition: color 160ms, text-decoration-color 160ms; }
.text-link:active, .quiet-link:active, .desktop-nav a:active { color: #1738ba; }

/* Generous hit areas, without oversized visual elements. */
.desktop-nav a, .text-link, .quiet-link { display: inline-flex; align-items: center; min-height: 2.75rem; }
.button-small { min-height: 2.75rem; }
.prepared-sale-section .source-link, .product-dialog .source-link { min-height: 2.75rem; }
.dialog-close { width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; line-height: 1; padding: 0; }
.dialog-close:hover, .menu-toggle:hover { background: #17273508; }
.dialog-close:active, .menu-toggle:active { background: #17273512; transform: scale(.94); transition-duration: 80ms; }
.product-dialog .dialog-close { top: 9px; right: 13px; }
.citation { position: relative; }
/* Inline evidence links stay within their line so adjacent citations never overlap. */
.citation::after { content: ""; position: absolute; width: 2.75rem; height: 2rem; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.citation:active { background: #1738ba; color: white; }
.source-link:active { color: #1738ba; text-decoration-color: currentColor; }
.source-number { flex-shrink: 0; }

/* Preserve the six-pixel visual track inside a full-height input target. */
.sales-heading { margin-bottom: .625rem; }
#sales-range { height: 2.75rem; border-radius: 0; background: transparent; }
#sales-range::-webkit-slider-runnable-track { height: 6px; border-radius: 3px; background: linear-gradient(to right, var(--blue) var(--fill, 50%), #dce5ef var(--fill, 50%)); }
#sales-range::-webkit-slider-thumb { margin-top: -8px; transition: box-shadow 160ms; }
#sales-range::-moz-range-track { height: 6px; border-radius: 3px; background: linear-gradient(to right, var(--blue) var(--fill, 50%), #dce5ef var(--fill, 50%)); }
#sales-range::-moz-range-thumb { transition: box-shadow 160ms; }
#sales-range:hover::-webkit-slider-thumb { box-shadow: 0 0 0 4px #2548d910; }
#sales-range:active::-webkit-slider-thumb { box-shadow: 0 0 0 6px #2548d91a; }
#sales-range:hover::-moz-range-thumb { box-shadow: 0 0 0 4px #2548d910; }
#sales-range:active::-moz-range-thumb { box-shadow: 0 0 0 6px #2548d91a; }
.sales-ticks { margin-top: -4px; }

/* Dialog surfaces stay solid; only the surroundings recede. */
.dialog { overscroll-behavior: contain; }
.product-dialog-heading { position: sticky; top: 0; z-index: 2; background: #f3f6f9; }
.source-dialog { padding-top: 3.25rem; }
.dialog h2 { letter-spacing: -.025em; }

@media (min-width: 1600px) {
  .platform-card-copy > p { font-size: 1.125rem; }
  .platform-card-action { font-size: .9375rem; }
}
@media (max-width: 1000px) {
  .prepared-sale-intro h2 { font-size: 2.6875rem; }
}
@media (max-width: 800px) {
  .menu-toggle { flex: 0 0 2.75rem; width: 2.75rem; height: 2.75rem; align-items: center; padding: 0; border-radius: 5px; }
  .navigation { gap: 1rem; }
  .mobile-nav a { min-height: 2.75rem; }
  .mobile-nav a:active { color: var(--blue); }
  .hero h1 { font-size: clamp(2.625rem, 7.2vw, 3.75rem); }
  .prepared-sale-intro h2, .standards-intro h2, .capacity-heading h2 { font-size: 2.6875rem; letter-spacing: -.03em; }
  /* Let copy grow with text preferences; the product preview remains a crop. */
  .platform-card { height: auto; min-height: 38.125rem; display: flex; flex-direction: column; }
  .platform-card-copy { flex: 0 0 auto; }
  .platform-product { flex: 1 0 18rem; max-height: 23rem; overflow: hidden; }
  .platform-card h3 { font-size: 2.0625rem; }
}
@media (max-width: 480px) {
  .navigation { gap: .5rem; }
  .navigation .brand { width: clamp(110px, calc(100vw - 232px), 156px); }
  .button-small { font-size: .75rem; padding-inline: .75rem; }
  .hero h1 { font-size: clamp(2rem, 9.4vw, 2.8125rem); letter-spacing: -.035em; line-height: 1.12; }
  .hero-description { font-size: 1rem; line-height: 1.75; }
  .platform-heading h2 { font-size: 2.1875rem; letter-spacing: -.03em; }
  .prepared-sale-intro h2, .standards-intro h2, .capacity-heading h2 { font-size: 2.25rem; }
  .platform-card { min-height: 36.375rem; }
  .platform-card h3 { font-size: 1.75rem; }
  .platform-product { max-height: 20rem; }
  .closing h2 { font-size: 2.125rem; letter-spacing: -.03em; }
  .source-dialog { padding: 3.25rem 1.5rem 1.75rem; }
}
@media (max-width: 360px) {
  .navigation { gap: .375rem; }
  .navigation .brand { width: 112px; }
  .button-small { padding-inline: .625rem; font-size: .6875rem; }
}
@media (prefers-reduced-transparency: reduce) {
  .dialog::backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; background: #152b45a6; }
}
@media (prefers-contrast: more) {
  :root { --muted: #405465; --line: #8998a7; }
  .site-header, .mobile-nav { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; }
  .muted, .hero-description, .platform-heading > p:last-child, .prepared-sale-intro > p:last-child { color: #405465; }
  .queue-tab, .case-panel, .capacity-calculator, .dialog { border-color: #8998a7; }
  .queue-tab.active { border-color: var(--blue); }
  .platform-card-action { border-color: #fff; }
  .dialog::backdrop { background: #152b45a6; backdrop-filter: none; }
  .text-link, .quiet-link, .source-link { text-decoration-color: currentColor; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; }
  .button:active, .platform-card-action:active, .queue-tab:active, .dialog-close:active, .menu-toggle:active { transform: none; }
}

/* Keep the existing determination within the visible part of the illustration. */
.record-preview .preview-determination {
  margin-top: 18px;
  padding-block: 14px 16px;
  border-block: 1px solid #e1e8ef;
  align-items: center;
}
.record-preview .preview-record-label { margin-top: 20px; }
.record-preview .preview-sources { border-bottom: 0; }

/* The recommendation uses the existing quiet detail line beside the review status. */
.morning-workspace .sale-classification > span { white-space: nowrap; }
@media (max-width: 1200px) {
  .morning-workspace .sale-row:has(.sale-classification) {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    column-gap: 12px;
    row-gap: 5px;
  }
  .morning-workspace .sale-row:has(.sale-classification) .file-icon { grid-column: 1; grid-row: 1 / 3; }
  .morning-workspace .sale-row:has(.sale-classification) .sale-name { grid-column: 2; grid-row: 1; min-width: 0; }
  .morning-workspace .sale-row .sale-classification { display: block; grid-column: 2; grid-row: 2; margin: 0; line-height: 1.5; }
  .morning-workspace .sale-row:has(.sale-classification) .status { grid-column: 3; grid-row: 1 / 3; }
}
@media (max-width: 480px) {
  .morning-workspace .sale-row:has(.sale-classification) { grid-template-columns: minmax(0, 1fr) auto; gap: 5px 10px; }
  .morning-workspace .sale-row:has(.sale-classification) .sale-name,
  .morning-workspace .sale-row .sale-classification { grid-column: 1; }
  .morning-workspace .sale-row:has(.sale-classification) .status { grid-column: 2; }
  .morning-workspace .sale-classification { font-size: 11px; }
}
