/* Order017-A.2: this stylesheet is loaded only by /compare/. */
.ladder-shell { width:min(1120px,calc(100% - 40px)); padding:38px 0 42px; }
.ladder-shell .page-hero { padding-bottom:18px; }
.ladder-shell .page-hero h1 { font-size:clamp(30px,4vw,46px); line-height:1.12; }
.ladder-shell .page-hero>p:last-child { margin:12px 0 0; font-size:15px; line-height:1.5; }
.ladder-shell .prose { padding-top:18px; }
.compare-ladder { color:var(--copy-strong); }
.ladder-views { display:flex; flex-wrap:wrap; gap:8px; }
.ladder-views button { min-height:44px; padding:9px 16px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--copy-strong); font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; }
.ladder-views button[aria-pressed=true] { background:var(--cyan); color:var(--button-copy); }
.ladder-views button:disabled { cursor:not-allowed; color:var(--muted); }
.ladder-views button span { font-size:11px; font-weight:400; }
.ladder-shell .ladder-key { margin:12px 0 22px; font-size:12px; line-height:1.5; color:var(--muted); }
.ladder-shell .ladder-section { display:block; margin:40px 0 0; padding:0; min-width:0; }
.ladder-shell .ladder-section h2 { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin:0 0 6px; font-size:21px; line-height:1.3; }
.ladder-count { font-size:12px; font-weight:400; color:var(--muted); }
.ladder-shell .ladder-section-meta { margin:0 0 8px; font-size:12px; line-height:1.5; color:var(--muted); }
.ladder-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,1.1fr) minmax(0,.73fr) 72px; align-items:center; gap:14px; min-width:0; min-height:64px; box-sizing:border-box; padding:12px 0; border-bottom:1px solid var(--line); }
.ladder-names { min-width:0; }
.ladder-shell .ladder-name { display:block; font-size:14px; font-weight:650; line-height:1.25; color:var(--cyan); text-decoration:none; overflow-wrap:break-word; }
.ladder-shell .ladder-name-1 { color:var(--copy-strong); margin-top:3px; }
.ladder-name:hover { text-decoration:underline; }
.ladder-name:focus-visible,.ladder-views button:focus-visible { outline:3px solid var(--cyan); outline-offset:3px; }
.ladder-letter { font-size:11px; font-weight:500; }
/* Reserve the tooltip's 25px ascent plus 3px clearance in normal flow. */
.ladder-prices { min-width:0; padding-top:28px; }
.compare-ladder .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.ladder-line { display:block; width:100%; height:84px; overflow:visible; }
.ladder-scale { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,1.1fr) minmax(0,.73fr) 72px; gap:14px; align-items:center; margin:0 0 8px; color:var(--muted); font-size:12px; }
.ladder-scale-labels { display:block; width:100%; height:auto; }
.ladder-axis,.ladder-tick { stroke:var(--muted); stroke-width:1; opacity:.6; }
.ladder-tick-label { fill:var(--muted); font-family:inherit; }
.ladder-marker-0 { color:var(--cyan); }
.ladder-marker-1 { color:var(--copy-strong); }
.ladder-marker-shape { pointer-events:none; }
.ladder-arrowhead { fill:currentColor; pointer-events:visiblePainted; }
.ladder-stem { stroke:currentColor; pointer-events:visiblePainted; }
.ladder-marker-price { fill:currentColor; font-family:inherit; font-size:12px; font-weight:700; pointer-events:visiblePainted; }
.ladder-dot-target { cursor:help; outline:none; }
.ladder-dot-target:focus-visible .ladder-arrowhead { stroke:var(--copy-strong); stroke-width:2; }
.ladder-tooltip { visibility:hidden; pointer-events:none; }
.ladder-dot-target:hover>.ladder-tooltip,.ladder-dot-target:focus>.ladder-tooltip { visibility:visible; }
.ladder-line:has(.ladder-dot-target:focus) .ladder-dot-target:not(:focus)>.ladder-tooltip { visibility:hidden; }
.ladder-tooltip rect { fill:var(--surface-solid); stroke:var(--muted); }
.ladder-tooltip text { fill:var(--copy-strong); font-family:inherit; }
.ladder-unplotted { fill:var(--muted); font-family:inherit; }
.ladder-shell .ladder-relation { margin:0; font-size:11px; line-height:1.3; color:var(--muted); text-align:center; }
.ladder-shell .ladder-verdict { margin:0; padding:6px 9px; border-radius:12px; background:var(--surface-solid); color:var(--copy-strong); font-size:12px; font-weight:600; line-height:1.35; overflow-wrap:break-word; }
.ladder-shell .ladder-verdict-program { background:var(--cyan); color:var(--button-copy); }
.ladder-date { font-size:11px; color:var(--muted); white-space:nowrap; }
.ladder-shell .ladder-empty { margin:10px 0 0; font-size:14px; line-height:1.5; color:var(--copy); }
@media(max-width:1050px) {
  .ladder-row { grid-template-columns:minmax(0,1fr) minmax(320px,1fr); }
  .ladder-scale { grid-template-columns:minmax(0,1fr) minmax(320px,1fr); }
  .ladder-verdict { grid-column:1; }
  .ladder-date { grid-column:2; justify-self:end; }
}
@media(max-width:700px) {
  .ladder-shell { width:calc(100% - 28px); padding:20px 0 16px; }
  .ladder-shell .page-hero h1 { font-size:30px; }
  .ladder-shell .page-hero>p:last-child { font-size:14px; }
  .ladder-shell .ladder-key { margin-bottom:10px; }
  .ladder-shell .ladder-section h2 { font-size:18px; }
  .ladder-row { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:14px 0; }
  .ladder-scale { display:block; margin-bottom:12px; }
  .ladder-scale>span { display:block; }
  .ladder-names,.ladder-prices { grid-column:1 / -1; }
  .ladder-prices { min-width:240px; }
  .ladder-shell .ladder-name { font-size:13px; line-height:1.2; }
  .ladder-shell .ladder-name-1 { margin-top:2px; }
  .ladder-shell .ladder-verdict { padding:4px 8px; font-size:11px; line-height:1.25; }
  .ladder-date { align-self:center; }
  .ladder-views button { padding:8px 10px; font-family:inherit; }
}
