/* Native HTML/CSS orbit. No asset changes, external fonts or continuous animation. */
.ucsf-page .ucsf-orbit { min-width: 0; width: 100%; max-width: 560px; margin-inline: auto; padding-block: 20px; }
.ucsf-page .ucsf-orbit-caption { color: var(--ucsf-muted); text-align: center; font-size: .8rem; }
.ucsf-page .ucsf-orbit-stage { position: relative; width: 100%; height: clamp(345px, 35vw, 460px); touch-action: pan-y; margin-block: 12px 4px; }
.ucsf-page .ucsf-orbit-track { position: absolute; inset: 15% 16%; border: 1px solid rgba(66, 120, 195, .28); border-radius: 50%; pointer-events: none; }
.ucsf-page .ucsf-orbit-track::before { content: ""; position: absolute; inset: 15%; border: 1px dashed rgba(66, 120, 195, .25); border-radius: 50%; }
.ucsf-page .ucsf-orbit-track::after { content: ""; position: absolute; inset: -10%; border: 1px solid rgba(66, 120, 195, .08); border-radius: 50%; }
.ucsf-page .ucsf-orbit-core { position: absolute; width: 25%; aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 0; border: 2px solid #9bbce5; border-radius: 50%; background: rgba(226, 238, 254, .9); color: white; cursor: pointer; z-index: 2; box-shadow: 0 0 0 7px rgba(37, 101, 190, .07), 0 12px 28px rgba(31, 87, 164, .12); transition: border-color .15s, box-shadow .15s, background-color .15s; -webkit-tap-highlight-color: transparent; }
.ucsf-page .ucsf-orbit-core::after { content: "↻"; position: absolute; right: 1%; bottom: 3%; display: grid; place-items: center; width: 28%; aspect-ratio: 1; border-radius: 50%; border: 2px solid #fff; background: #fff; color: var(--ucsf-blue); font-size: clamp(.7rem, 1.4vw, 1rem); font-weight: 700; box-shadow: 0 3px 9px rgba(20, 66, 130, .2); }
.ucsf-page .ucsf-orbit-core span { position: absolute; inset: 11px; display: grid; place-items: center; width: auto; height: auto; border-radius: 29%; background: var(--ucsf-blue); color: white; font-size: clamp(1.7rem, 3vw, 2.6rem); font-weight: 700; letter-spacing: -.06em; pointer-events: none; }
.ucsf-page .ucsf-orbit-core:hover, .ucsf-page .ucsf-orbit-core:focus-visible { border-color: var(--ucsf-blue); background: #f4f8ff; box-shadow: 0 0 0 8px rgba(37, 101, 190, .14), 0 14px 34px rgba(31, 87, 164, .2); outline: none; }
.ucsf-page .ucsf-orbit-core:active { box-shadow: 0 0 0 5px rgba(37, 101, 190, .13), 0 7px 18px rgba(31, 87, 164, .17); }
.ucsf-page .ucsf-orbit-node { position: absolute; left: calc(50% + var(--orbit-x, 0%)); top: calc(50% + var(--orbit-y, 0%)); transform: translate(-50%, -50%); width: 28%; min-height: 58px; padding: 12px 9px; border: 1px solid #c3d5ef; border-radius: 15px; background: rgba(255, 255, 255, .96); color: #2b527f; box-shadow: 0 4px 18px rgba(54, 94, 151, .035); font-size: .84rem; font-weight: 600; line-height: 1.35; z-index: 1; transition: left .3s cubic-bezier(.2,.7,.2,1), top .3s cubic-bezier(.2,.7,.2,1), background-color .15s, border-color .15s, box-shadow .15s; }
.ucsf-page .ucsf-orbit-node span { display: inline-block; margin-left: 5px; color: #6289bb; font-weight: 400; }
.ucsf-page .ucsf-orbit-node:hover, .ucsf-page .ucsf-orbit-node:focus-visible { border-color: var(--ucsf-blue); background: #fff; box-shadow: 0 5px 22px rgba(32, 93, 182, .13); z-index: 2; }
.ucsf-page .ucsf-orbit-node.is-current { border: 2px solid var(--ucsf-blue); background: #eaf3ff; color: #143f75; box-shadow: 0 0 0 5px rgba(37, 101, 190, .13), 0 10px 28px rgba(32, 93, 182, .19); font-weight: 700; z-index: 3; }
.ucsf-page .ucsf-orbit-node.is-current span { color: var(--ucsf-blue); font-weight: 700; }
.ucsf-page .ucsf-orbit.is-pointer-paused .ucsf-orbit-node { transition-property: background-color, border-color, box-shadow; }
.ucsf-page .ucsf-orbit-toolbar { display: flex; align-items: center; justify-content: center; gap: 18px; }
.ucsf-page .ucsf-orbit-arrows { display: flex; gap: 6px; }
.ucsf-page .ucsf-orbit-toolbar button, .ucsf-page .ucsf-orbit-back { min-width: 44px; min-height: 44px; border: 1px solid #c5d6eb; border-radius: 10px; background: rgba(255, 255, 255, .9); color: #29517f; padding: 8px 13px; line-height: 1.4; }
.ucsf-page .ucsf-orbit-toolbar button:hover, .ucsf-page .ucsf-orbit-back:hover { border-color: var(--ucsf-blue); background: #fff; }
.ucsf-page .ucsf-orbit-toolbar button:disabled { opacity: .55; cursor: default; }
.ucsf-page .ucsf-orbit-hint { max-width: 340px; margin: 10px auto 0; text-align: center; color: var(--ucsf-muted); font-size: .73rem; line-height: 1.6; }
.ucsf-page .ucsf-orbit-panels { display: grid; gap: 12px; margin-top: 20px; }
.ucsf-page .ucsf-orbit-panel { border: 1px solid #c7d8ed; border-radius: 21px; background: rgba(255, 255, 255, .97); padding: 22px; box-shadow: 0 12px 38px rgba(54, 94, 151, .055); min-width: 0; }
.ucsf-page .ucsf-orbit-panel summary { cursor: pointer; font-weight: 600; color: #2b527f; }
.ucsf-page .ucsf-orbit.is-ready .ucsf-orbit-panel summary { display: none; }
.ucsf-page .ucsf-orbit .ucsf-orbit-heading { font-size: 1.4rem !important; margin-top: 20px; letter-spacing: -.025em; }
.ucsf-page .ucsf-orbit-back { font-size: .78rem; }
.ucsf-page .ucsf-orbit-product { margin-top: 22px; }
.ucsf-page .ucsf-orbit-product + .ucsf-orbit-product { border-top: 1px solid var(--ucsf-line); padding-top: 20px; }
.ucsf-page .ucsf-orbit-product h4 { font-size: 1.06rem; line-height: 1.4; margin: 0 0 8px; color: var(--ucsf-ink); }
.ucsf-page .ucsf-orbit-product p { font-size: .84rem; line-height: 1.65; color: var(--ucsf-muted); }
.ucsf-page .ucsf-orbit-product-links { display: flex; gap: 8px 16px; flex-wrap: wrap; margin-top: 14px; }
.ucsf-page .ucsf-orbit-product-links a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: .8rem; color: var(--ucsf-blue); }
.ucsf-page .ucsf-orbit-product-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ucsf-page .ucsf-orbit-product-links .ucsf-orbit-open { padding: 8px 12px; background: #eaf2fe; border: 1px solid #c7daf5; border-radius: 8px; }
.ucsf-page .ucsf-orbit-product { border: 1px solid transparent; border-radius: 14px; padding: 14px; margin-inline: -14px; transition: border-color .15s, background-color .15s, box-shadow .15s; }
.ucsf-page .ucsf-orbit-product + .ucsf-orbit-product { margin-top: 8px; }
.ucsf-page .ucsf-orbit-product.is-selected { border-color: var(--ucsf-blue); background: #f2f7ff; box-shadow: 0 0 0 4px rgba(37,101,190,.09); }
.ucsf-page .ucsf-orbit-product-links .ucsf-orbit-compare-select { min-height: 44px; padding: 8px 12px; border: 1px solid #8eb3e5; border-radius: 8px; background: #fff; color: var(--ucsf-blue); font: inherit; font-size: .8rem; }
.ucsf-page .ucsf-orbit-product-links .ucsf-orbit-compare-select:hover, .ucsf-page .ucsf-orbit-product-links .ucsf-orbit-compare-select[aria-pressed="true"] { border-color: var(--ucsf-blue); background: #e6f0ff; }
.ucsf-page .ucsf-orbit-compare-picker { margin-top: 18px; padding: 16px; border: 1px solid #bcd2ed; border-radius: 13px; background: #eef5ff; }
.ucsf-page .ucsf-orbit-compare-picker p { margin: 0 0 10px; color: var(--ucsf-ink); font-size: .82rem; }
.ucsf-page .ucsf-orbit-compare-options { display: flex; flex-wrap: wrap; gap: 8px; }
.ucsf-page .ucsf-orbit-compare-options button { min-height: 44px; padding: 9px 13px; border: 1px solid var(--ucsf-blue); border-radius: 9px; background: var(--ucsf-blue); color: #fff; font-weight: 650; }
.ucsf-page .ucsf-orbit-compare-options button:hover, .ucsf-page .ucsf-orbit-compare-options button[aria-pressed="true"] { background: #123f7c; }
.ucsf-page .ucsf-orbit-comparison { margin-top: 18px; }
.ucsf-page .ucsf-orbit-comparison > summary { display: none; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table { display: block; overflow: visible; border: 0; border-radius: 0; background: transparent; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table thead, .ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tbody, .ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tfoot { display: block; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 10px; border: 1px solid var(--ucsf-line); border-radius: 12px; overflow: hidden; background: #fff; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table th, .ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table td { display: block; min-width: 0; padding: 12px 10px; font-size: .76rem; line-height: 1.55; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tr > * + * { border-left: 0; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tr > :last-child { border-left: 1px solid var(--ucsf-line); }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table th:first-child { width: auto; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table .ucsf-comparison-corner { display: none; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tbody th { grid-column: 1 / -1; border-top: 0; padding-block: 9px; font-size: .78rem; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table tfoot td { border-top: 0; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-brand { font-size: 1rem; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-tagline { font-size: .65rem; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-mobile-brand { display: block; font-size: .64rem; color: #205db6; font-weight: 650; margin-bottom: 6px; }
.ucsf-page .ucsf-orbit-comparison .ucsf-comparison-table .ucsf-button { gap: 5px; padding-inline: 7px; font-size: .7rem; }
@media (min-width: 701px) and (max-width: 1050px) {
    .ucsf-page .ucsf-orbit-node { font-size: .72rem; padding-inline: 5px; }
    .ucsf-page .ucsf-orbit-node span { display: none; }
    .ucsf-page .ucsf-orbit-panel { padding: 18px; }
}
@media (max-width: 700px) {
    .ucsf-page .ucsf-orbit { max-width: 450px; padding-top: 18px; }
    .ucsf-page .ucsf-orbit-stage { height: clamp(330px, 91vw, 405px); }
    .ucsf-page .ucsf-orbit-node { font-size: .78rem; padding-inline: 6px; }
}
@media (max-width: 380px) {
    .ucsf-page .ucsf-orbit-node { font-size: .7rem; width: 28%; min-height: 52px; }
    .ucsf-page .ucsf-orbit-node span { display: none; }
    .ucsf-page .ucsf-orbit-panel { padding: 18px; }
}
@media (prefers-reduced-motion: reduce) {
    .ucsf-page .ucsf-orbit-node, .ucsf-page .ucsf-orbit-core { transition: none; }
}
