/* Reference-derived alternatives-guide geometry; RyseList colours and fonts. */
.ry-alt-main {
  --alt-ink: #231f23;
  --alt-body: #646064;
  --alt-muted: #767176;
  --alt-accent: #44662c;
  --alt-lime: #c5ef57;
  --alt-line: #231f2314;
  --alt-shadow: 0 1px 2px #231f230d, 0 14px 34px #231f2312, inset 0 1.5px #ffffffe6, inset 0 -1.5px 2px #231f230d;
  color: var(--alt-ink);
  background: radial-gradient(900px 480px at 50% -120px, #c5ef571a, transparent 70%), linear-gradient(180deg, #f4f3ee, #f7f6f5 320px);
  padding-bottom: 110px;
  overflow-x: clip;
}
.ry-alt-main *, .ry-alt-main *::before, .ry-alt-main *::after { box-sizing: border-box; }
.ry-alt-main :is(h1,h2,h3,p,ul,ol) { margin: 0; }
.ry-alt-main :is(h1,h2,h3) { text-wrap: initial; }
.ry-alt-main ul { list-style: none; padding: 0; }
.ry-alt-main button { font: inherit; cursor: pointer; }
.ry-alt-main a { color: inherit; }
.ry-alt-main .ry-alt-shell { width: 100%; max-width: 1180px; padding-inline: 24px; margin-inline: auto; }
.ry-alt-main .ry-alt-block { margin-top: 72px; }
.ry-alt-main .ry-alt-card { background: linear-gradient(#fefefd, #fbfaf8); border-radius: 22px; box-shadow: var(--alt-shadow); }
.ry-alt-main .ry-alt-hero { padding-top: 150px; }
.ry-alt-main .ry-alt-hero-inner { display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
.ry-alt-main .ry-alt-crumb { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; color: var(--alt-muted); font-size: 13px; line-height: 1.5; }
.ry-alt-main .ry-alt-crumb a { text-decoration: none; }
.ry-alt-main .ry-alt-crumb span:last-child { color: var(--alt-ink); }
.ry-alt-main .ry-alt-pill { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; padding: 4px 12px; border: 1px solid var(--alt-line); border-radius: 999px; background: #fff; box-shadow: 0 1px 2px #0000000f; font-size: 13px; line-height: 1.4; font-weight: 500; }
.ry-alt-main .ry-alt-dot { display: inline-block; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--alt-accent); }
.ry-alt-main .ry-alt-title { max-width: 18ch; color: var(--alt-ink); font-size: clamp(40px,6vw,86px); line-height: .97; letter-spacing: -.04em; font-weight: 500; }
.ry-alt-main .ry-alt-title em { color: var(--alt-accent); font-style: italic; font-weight: 500; }
.ry-alt-main .ry-alt-lead { max-width: 740px; color: var(--alt-body); font-size: clamp(15px,1.3vw,18px); line-height: 1.5; }
.ry-alt-main .ry-alt-h2 { color: var(--alt-ink); font-size: clamp(34px,4.6vw,64px); line-height: 1; letter-spacing: -.035em; font-weight: 500; text-align: center; margin-bottom: 34px; }
.ry-alt-main .ry-alt-answer { display: flex; flex-direction: column; gap: 14px; padding: 30px 34px 32px; }
.ry-alt-main .ry-alt-eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--alt-ink); font: 500 13px/1.5 var(--typography-font-label, monospace); letter-spacing: .04em; text-transform: uppercase; }
.ry-alt-main .ry-alt-answer p { color: var(--alt-body); font-size: 16px; line-height: 1.6; }
.ry-alt-main .ry-alt-answer .ry-alt-answer-main { color: var(--alt-ink); font-size: clamp(16px,1.5vw,19px); line-height: 1.55; letter-spacing: -.01em; font-weight: 500; }
.ry-alt-main .ry-alt-why { max-width: 820px; margin-inline: auto; padding: 28px 32px; }
.ry-alt-main .ry-alt-why ul { display: flex; flex-direction: column; gap: 12px; }
.ry-alt-main .ry-alt-why li { display: flex; align-items: flex-start; gap: 12px; color: var(--alt-body); font-size: 15px; line-height: 1.55; }
.ry-alt-main .ry-alt-why .ry-alt-dot { margin-top: 7px; opacity: .75; }
.ry-alt-main .ry-alt-list { display: flex; flex-direction: column; gap: 18px; margin-top: 18px; }
.ry-alt-main .ry-alt-option { display: flex; flex-direction: column; gap: 16px; padding: 30px 32px; scroll-margin-top: 110px; }
.ry-alt-main .ry-alt-option--us { outline: 1.5px solid #7f9b5759; outline-offset: -1.5px; box-shadow: var(--alt-shadow), 0 18px 44px #769a3717; }
.ry-alt-main .ry-alt-option-head { display: flex; align-items: center; gap: 16px; }
.ry-alt-main .ry-alt-rank { display: grid; place-items: center; flex: none; width: 38px; height: 38px; border-radius: 50%; color: #fff; background: var(--alt-ink); font: 500 16px/1 var(--typography-font-label, monospace); box-shadow: 0 6px 14px #0000002e, inset 0 1.5px #ffffff38, inset 0 -2px 2px #0000004d; }
.ry-alt-main .ry-alt-option--us .ry-alt-rank { background: var(--alt-lime); color: var(--alt-ink); box-shadow: 0 6px 14px #9cb9464d, inset 0 1.5px #ffffff4d, inset 0 -2px 2px #00000025; }
.ry-alt-main .ry-alt-option-head h3 { font-size: clamp(20px,2.2vw,26px); line-height: 1.2; letter-spacing: -.025em; font-weight: 500; }
.ry-alt-main .ry-alt-option-head a { text-decoration: none; }
.ry-alt-main .ry-alt-option-head a:hover { color: var(--alt-accent); }
.ry-alt-main .ry-alt-what { color: var(--alt-muted); margin-top: 2px; font-size: 13.5px; line-height: 1.5; }
.ry-alt-main .ry-alt-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-block: 10px; border-block: 1px solid var(--alt-line); color: var(--alt-body); font-size: 14px; line-height: 1.5; }
.ry-alt-main .ry-alt-meta strong { color: var(--alt-ink); font-weight: 500; }
.ry-alt-main .ry-alt-option-copy { color: var(--alt-body); font-size: 15px; line-height: 1.6; }
.ry-alt-main .ry-alt-caps { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.ry-alt-main .ry-alt-caps li { display: flex; align-items: flex-start; gap: 9px; color: var(--alt-body); font-size: 14.5px; line-height: 1.5; }
.ry-alt-main .ry-alt-tick { flex: none; color: var(--alt-accent); }
.ry-alt-main .ry-alt-note { color: var(--alt-muted); font-size: 13px; line-height: 1.6; }
.ry-alt-main .ry-alt-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 4px; }
.ry-alt-main .ry-alt-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; max-width: 100%; padding: 12px 22px; border: 0; border-radius: 10px; text-align: center; font-family: var(--typography-font-body); font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: -.01em; text-decoration: none; transition: background .18s, box-shadow .18s; }
.ry-alt-main .ry-alt-btn::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 1.5px #ffffff4d, inset 0 -2px 2px #00000029; }
.ry-alt-main .ry-alt-btn--primary { background: var(--alt-lime); color: var(--alt-ink); box-shadow: 0 6px 18px #9bb83f38; }
.ry-alt-main .ry-alt-btn--primary:hover { background: #bce64a; box-shadow: 0 10px 26px #9bb83f4d; }
.ry-alt-main .ry-alt-btn--secondary { background: #fff; color: var(--alt-ink); border: 1px solid #231f231f; }
.ry-alt-main .ry-alt-btn--secondary:hover { background: #f0eee9; }
.ry-alt-main .ry-alt-option-link { display: inline-flex; align-self: flex-start; align-items: center; gap: 7px; color: var(--alt-accent); font-size: 14px; line-height: 1.5; font-weight: 500; text-decoration: none; }
.ry-alt-main .ry-alt-option-link:hover { text-decoration: underline; }
.ry-alt-main .ry-alt-tablewrap { overflow-x: auto; scroll-margin-top: 110px; }
.ry-alt-main .ry-alt-table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; font-size: 14.5px; line-height: 1.5; }
.ry-alt-main .ry-alt-table :is(th,td) { padding: 15px 20px; border-top: 1px solid var(--alt-line); text-align: left; vertical-align: top; }
.ry-alt-main .ry-alt-table thead th { padding-block: 18px; border-top: 0; color: var(--alt-muted); font: 500 12.5px/1.5 var(--typography-font-label, monospace); letter-spacing: .05em; text-transform: uppercase; }
.ry-alt-main .ry-alt-table td { color: var(--alt-body); }
.ry-alt-main .ry-alt-table tbody th { font-weight: 500; color: var(--alt-ink); }
.ry-alt-main .ry-alt-table .ry-alt-us-row :is(th,td) { background: #c5ef570f; color: var(--alt-ink); }
.ry-alt-main .ry-alt-table a { text-decoration: none; }
.ry-alt-main .ry-alt-table a:hover { text-decoration: underline; }
.ry-alt-main .ry-alt-scroll-hint { display: none; color: var(--alt-muted); font-size: 12px; margin-top: 10px; }
.ry-alt-main .ry-alt-sources { max-width: 980px; margin: 20px auto 0; color: var(--alt-muted); font-size: 13px; line-height: 1.6; scroll-margin-top: 110px; }
.ry-alt-main .ry-alt-sources summary { width: fit-content; max-width: 100%; cursor: pointer; padding-block: 6px; }
.ry-alt-main .ry-alt-sources p { margin-top: 10px; }
.ry-alt-main .ry-alt-sources ul { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 12px; }
.ry-alt-main .ry-alt-sources a { text-decoration: underline; text-underline-offset: 3px; }
.ry-alt-main .ry-alt-faq-list { display: flex; flex-direction: column; gap: 14px; max-width: 820px; margin-inline: auto; }
.ry-alt-main .ry-alt-faq-card { padding: 22px 26px; }
.ry-alt-main .ry-alt-faq-card h3 { font-size: 17px; line-height: 1.35; font-weight: 500; letter-spacing: -.015em; margin-bottom: 8px; }
.ry-alt-main .ry-alt-faq-card p { color: var(--alt-body); font-size: 15px; line-height: 1.6; }
.ry-alt-main .ry-alt-related { text-align: center; }
.ry-alt-main .ry-alt-related-label { color: var(--alt-muted); font-size: 14px; margin-bottom: 14px; }
.ry-alt-main .ry-alt-related-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ry-alt-main .ry-alt-related-row a { min-height: 38px; padding-inline: 16px; text-decoration: none; }
.ry-alt-main .ry-alt-related-row a:hover { color: var(--alt-accent); box-shadow: 0 10px 30px #231f2314; }
.ry-alt-main .ry-alt-cta { position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 64px 32px 68px; border-radius: 34px; background: radial-gradient(620px 300px at 50% 130%,#87b94366,transparent 70%),#231f23; color: #f7f6f5; text-align: center; overflow: hidden; box-shadow: 0 30px 60px #231f231f,0 8px 20px #231f230f,inset 0 1.5px #ffffff1f; }
.ry-alt-main .ry-alt-cta h2 { max-width: 18ch; color: #fff; font-size: clamp(28px,3.6vw,46px); line-height: 1.15; font-weight: 500; letter-spacing: -.03em; }
.ry-alt-main .ry-alt-cta p { max-width: 52ch; color: #cbc6cb; font-size: 16px; line-height: 1.55; }
.ry-alt-main .ry-alt-cta .ry-alt-actions { justify-content: center; margin-top: 10px; }
.ry-alt-main :is(a,button,summary,[tabindex]):focus-visible { outline: 2px solid var(--alt-accent); outline-offset: 4px; }
.ry-alt-main .ry-alt-cta :is(a,button):focus-visible { outline-color: var(--alt-lime); }
.ry-alt-main .ry-alt-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
/* Page-specific presentation of shared components, with their canonical HTML intact. */
body:has(.ry-alt-main) .ry-header-minimal:not(.is-condensed) .ry-header-bar { width: 100%; max-width: 1180px; padding-inline: 24px; background: transparent; }
.ry-alt-main + .ry-site-footer .ry-mf-close h2 { max-width: 100%; font-size: clamp(38px, calc(24px + 2.777778vw), 64px); line-height: 1.04; letter-spacing: -.035em; text-wrap: balance; }
@media(max-width:860px) {
  .ry-alt-main .ry-alt-hero { padding-top: 120px; }
  .ry-alt-main .ry-alt-block { margin-top: 56px; }
  .ry-alt-main .ry-alt-answer { padding: 24px 22px 26px; }
  .ry-alt-main .ry-alt-cta { padding: 48px 22px 52px; }
}
@media(max-width:720px) {
  .ry-alt-main .ry-alt-option { padding: 24px 22px; }
  .ry-alt-main .ry-alt-caps { grid-template-columns: 1fr; }
  .ry-alt-main .ry-alt-scroll-hint { display: block; }
  .ry-alt-main .ry-alt-why { padding: 24px 22px; }
}
@media(prefers-reduced-motion:reduce) { .ry-alt-main :is(a,button) { transition: none; } }
