/* FIX-4. Fresh page layouts using the purchased template's tokens and components. */
.ry-pages-root [hidden] { display: none !important; }
.ry-pages-root img { height: auto; }
.ry-pages-main, .ry-pages-main * { min-width: 0; }
.ry-pages-main { overflow-wrap: anywhere; }
.ry-pages-main :is(h1,h2,h3,h4,p,figure,dl) { margin: 0; }
.ry-pages-main :is(h1,h2,h3,h4) { text-wrap: balance; }
.ry-pages-main a:not(.cta_primary) { text-underline-offset: var(--spacing--4); }
.ry-pages-main :is(p,li,dd) a { text-decoration: underline; }
.ry-pages-main :is(button,summary,a,input,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--color-tokens-tone-strong);
  outline-offset: var(--spacing--4);
}
.ry-pages-container { max-width: var(--container--large); }
.ry-pages-hero { padding-block: var(--section-padding--medium) var(--spacing--64); }
.ry-pages-hero-copy { max-width: var(--width--9-columns); gap: var(--spacing--24); }
.ry-pages-hero-copy h1 { max-width: var(--width--10-columns); }
.ry-pages-hero-copy > p { max-width: var(--width--6-columns); }
.ry-pages-block { padding-bottom: var(--spacing--80); }
.ry-pages-flow, .ry-pages-stack { display: flex; flex-direction: column; gap: var(--spacing--24); }
.ry-pages-flow > .ry-pages-section { margin: 0; }
.ry-pages-section + .ry-pages-section { margin-top: var(--spacing--64); }
.ry-pages-heading { display: flex; flex-direction: column; gap: var(--spacing--16); margin-bottom: var(--spacing--32); }
.ry-pages-heading h2 { max-width: var(--width--9-columns); }
.ry-pages-section > h2 { margin-bottom: var(--spacing--24); }
.ry-pages-section > p { margin-bottom: var(--spacing--32); }
.ry-pages-copy { color: var(--color-tokens-tone-medium); }
.ry-pages-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing--16); }
.ry-pages-list { margin: 0; padding-left: var(--spacing--24); }
.ry-pages-list li + li { margin-top: var(--spacing--12); }
.ry-pages-list li::marker { color: var(--color-tokens-tone-subtle); }
.ry-pages-grid-two, .ry-pages-grid-three, .ry-pages-gallery, .ry-pages-rules {
  display: grid; gap: var(--spacing--24); align-items: start;
}
.ry-pages-grid-two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ry-pages-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ry-pages-gallery { grid-template-columns: repeat(4,minmax(0,1fr)); }
.ry-pages-rules { grid-template-columns: repeat(5,minmax(0,1fr)); }
.ry-pages-list:is(.ry-pages-grid-two,.ry-pages-grid-three,.ry-pages-rules) { padding: 0; list-style: none; }
.ry-pages-list:is(.ry-pages-grid-two,.ry-pages-grid-three,.ry-pages-rules) > li { margin: 0; }
.ry-pages-card, .ry-pages-panel {
  padding: var(--spacing--24);
  border: 1px solid var(--color-tokens-tone-faint);
  border-radius: var(--radius-general-large);
  background: var(--color-tokens-background-lift);
}
.ry-pages-card { gap: var(--spacing--16); height: 100%; text-align: left; color: inherit; }
.ry-pages-panel { display: grid; gap: var(--spacing--24); }
.ry-pages-card h3 { font-size: var(--typography-size-h5); line-height: var(--typography-line-height-h5); }
.ry-pages-rules .ry-pages-card h3 { font-size: var(--typography-size-h6); line-height: var(--typography-line-height-h6); }
.ry-pages-dark { background: var(--color-tokens-tone-strong); color: var(--color-tokens-background-base); }
.ry-pages-dark p { color: inherit; }
.ry-pages-accent { background: var(--color-tokens-color-nssyntaxmint); }
.ry-pages-warning { border: 1px solid var(--color-base-ui-error); border-radius: var(--radius-general-large); }
.ry-pages-span-all { grid-column: 1 / -1; }
.ry-pages-kicker { color: var(--color-tokens-tone-subtle); }
.ry-pages-image { display: block; width: 100%; height: auto; border-radius: var(--radius-general-default); }
.ry-pages-media { position: relative; overflow: hidden; border-radius: var(--radius-general-large); }
.ry-pages-media > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ry-pages-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--spacing--4); }
.ry-pages-media-grid > span { grid-column: 1 / -1; }
.ry-pages-gallery img { aspect-ratio: 4 / 3; object-fit: cover; }
.ry-pages-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--spacing--16); }
.ry-pages-strip figure img { aspect-ratio: 4 / 3; object-fit: cover; }
.ry-pages-table-wrap { overflow-x: auto; max-width: 100%; border: 1px solid var(--color-tokens-tone-faint); border-radius: var(--radius-general-large); }
.ry-pages-table { width: 100%; border-collapse: collapse; text-align: left; }
.ry-pages-table :is(th,td) { padding: var(--spacing--24); vertical-align: top; border-bottom: 1px solid var(--color-tokens-tone-faint); }
.ry-pages-table th { background: var(--color-tokens-background-depth); }
.ry-pages-table :is(th,td):nth-child(2) { background: var(--color-tokens-color-nssyntaxmint); }
.ry-pages-faq { padding: var(--spacing--24); border-radius: var(--radius-general-default); background: var(--color-tokens-background-depth); }
.ry-pages-faq + .ry-pages-faq { margin-top: var(--spacing--12); }
.ry-pages-summary { display: flex; align-items: center; gap: var(--spacing--24); cursor: pointer; list-style: none; font-size: var(--typography-size-b1); line-height: var(--typography-line-height-b1); }
.ry-pages-summary::-webkit-details-marker { display: none; }
.ry-pages-summary::after { content: '+'; margin-left: auto; flex: 0 0 auto; font-size: var(--typography-size-h5); }
.ry-pages-faq[open] > .ry-pages-summary::after { content: '−'; }
.ry-pages-faq > :not(summary) { margin-top: var(--spacing--24); color: var(--color-tokens-tone-medium); }
.ry-pages-question-number { color: var(--color-tokens-tone-subtle); }
.ry-pages-question-copy { display: flex; flex-direction: column; gap: var(--spacing--8); text-transform: none; }
.ry-pages-question-copy > i { font: inherit; font-style: normal; color: var(--color-tokens-tone-subtle); }
.ry-pages-question-copy > b { font-family: var(--typography-font-body); font-size: var(--typography-size-b1); line-height: var(--typography-line-height-b1); font-weight: var(--typography-weight-body-bold); letter-spacing: var(--typography-letter-spacing-b1); }
.ry-pages-main[data-ry-pages-page="help"] .ry-pages-grid-two:has(> .ry-pages-sidebar) { grid-template-columns: minmax(0,1fr) minmax(0,3fr); gap: var(--spacing--48); }
.ry-pages-sidebar { display: grid; gap: var(--spacing--24); position: sticky; top: var(--spacing--120); }
.ry-pages-topic { display: flex; justify-content: space-between; align-items: center; gap: var(--spacing--12); padding: var(--spacing--12) var(--spacing--16); text-align: left; border: 1px solid var(--color-tokens-tone-faint); border-radius: var(--radius-general-small); background: var(--color-tokens-background-lift); color: inherit; }
.ry-pages-topic[aria-pressed="true"], .ry-pages-volume-button[aria-pressed="true"], .ry-pages-tab[aria-selected="true"] { background: var(--color-tokens-tone-strong); color: var(--color-tokens-background-base); }
.ry-pages-label { display: grid; gap: var(--spacing--8); }
.ry-pages-form { display: grid; gap: var(--spacing--24); padding: var(--spacing--32); background: var(--color-tokens-background-lift); border-radius: var(--radius-general-large); }
.ry-pages-main .input { width: 100%; min-height: var(--spacing--48); padding: var(--spacing--16); border: 1px solid var(--color-tokens-input-default-border); border-radius: var(--radius-ui-input); background: var(--color-tokens-input-default-background); color: var(--color-tokens-tone-strong); }
.ry-pages-main textarea { resize: vertical; }
.ry-pages-form .cta_primary { justify-self: start; }
.ry-pages-cta { border: 0; padding: 0; width: fit-content; max-width: 100%; }
.ry-pages-root .cta_primary .btn-bg { background: #c5ef57; }
.ry-pages-root .cta_primary { color: var(--color-tokens-tone-strong); }
.ry-pages-cta .button_text-mask { min-width: 0; }
.ry-pages-cta .text-button { white-space: normal; }
.ry-pages-closing-panel { width: 100%; max-width: none; padding: var(--spacing--48); text-align: left; align-items: stretch; }
.ry-pages-closing-panel .ry-pages-grid-two { align-items: center; }
.ry-pages-closing-panel h2 { font-size: var(--typography-size-h2); line-height: var(--typography-line-height-h2); }
.ry-pages-closing-points { display: grid; gap: var(--spacing--24); }
.ry-pages-closing-panel .ry-pages-row { padding-top: var(--spacing--24); border-top: 1px solid var(--color-tokens-tone-faint); }
.ry-pages-price strong { display: flex; align-items: baseline; gap: var(--spacing--8); font-size: var(--typography-size-h1); line-height: var(--typography-line-height-h1); }
.ry-pages-price small { font-size: var(--typography-size-b1); }
.ry-pages-main[data-ry-pages-page="pricing"] #pricing.body-inverted {
  padding: var(--spacing--32);
  border-radius: var(--radius-general-large);
  background: var(--color-tokens-background-base);
  color: var(--color-tokens-tone-strong);
}
.ry-pages-main input[type="range"] { width: 100%; accent-color: var(--color-tokens-tone-strong); margin-block: var(--spacing--24); }
.ry-pages-volume-button, .ry-pages-tab { border: 1px solid var(--color-tokens-tone-faint); border-radius: var(--radius-ui-button-base); background: var(--color-tokens-background-depth); padding: var(--spacing--8) var(--spacing--12); color: inherit; }
.ry-pages-ghost { visibility: hidden; }
.ry-pages-payments, .ry-pages-timer, .ry-pages-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--spacing--12); }
.ry-pages-payments img { width: var(--spacing--48); max-height: var(--spacing--32); object-fit: contain; border-radius: 0; }
.ry-pages-timer span { display: grid; text-align: center; }
.ry-pages-offer { display: grid; gap: var(--spacing--16); padding: var(--spacing--24); border-radius: var(--radius-general-default); background: var(--color-tokens-color-nssyntaxmint); }
.ry-pages-offer b { font-size: var(--typography-size-h5); }
.ry-pages-scheduler { display: grid; gap: var(--spacing--24); }
.ry-pages-scheduler .ry-pages-scheduler { padding: 0; }
.ry-pages-scheduler-link { margin-block: var(--spacing--24); }
.ry-pages-video { aspect-ratio: 16 / 9; background: var(--color-tokens-tone-strong); }
.ry-pages-video-poster, .ry-pages-video-frame { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; }
.ry-pages-video-poster { padding: 0; background: var(--color-tokens-background-depth); color: inherit; text-align: left; cursor: pointer; }
.ry-pages-video-poster > img { display: block; aspect-ratio: 16 / 9; width: 100%; height: auto; object-fit: cover; }
.ry-pages-video :is(button,iframe):focus-visible { outline: 2px solid var(--color-tokens-background-base); outline-offset: calc(-1 * var(--spacing--8)); }
.ry-pages-video-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, var(--color-base-base-dark-0) 40%, var(--color-tokens-tone-medium)); }
.ry-pages-video-caption { position: absolute; bottom: var(--spacing--16); left: var(--spacing--16); max-width: calc(100% - var(--spacing--32)); padding: var(--spacing--8) var(--spacing--12); border-radius: var(--radius-general-full); background: var(--color-tokens-background-lift); color: var(--color-tokens-tone-strong); }
.ry-pages-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); border-radius: var(--radius-general-full); width: var(--spacing--64); height: var(--spacing--64); display: grid; place-items: center; background: var(--color-base-accent-primary); color: var(--color-tokens-tone-strong); }
.ry-pages-play svg { width: var(--spacing--32); height: var(--spacing--32); }
.ry-pages-tab { cursor: pointer; }
.ry-pages-training-footer { padding: var(--spacing--48) var(--layout-grid--margin); text-align: center; color: var(--color-tokens-tone-medium); }
.ry-pages-swatch { display: grid; gap: var(--spacing--8); padding: var(--spacing--16); border: 1px solid var(--color-tokens-tone-faint); border-radius: var(--radius-general-default); }
.ry-pages-recent-card { overflow: hidden; padding: var(--spacing--8); border-radius: var(--radius-general-large); background: var(--color-tokens-background-lift); }
.ry-pages-recent-hero { aspect-ratio: 4 / 3; object-fit: cover; }
.ry-pages-recent-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--spacing--4); margin-top: var(--spacing--8); }
.ry-pages-recent-strip img { aspect-ratio: 1; object-fit: cover; border-radius: var(--radius-general-small); }
.ry-pages-more-thumb { position: relative; }
.ry-pages-more-thumb span { position: absolute; inset: auto var(--spacing--4) var(--spacing--4) auto; padding: var(--spacing--4); border-radius: var(--radius-general-small); background: var(--color-tokens-tone-strong); color: var(--color-tokens-background-base); }
.ry-pages-more-listings > summary { width: fit-content; margin: var(--spacing--32) auto; padding: var(--spacing--16) var(--spacing--24); border-radius: var(--radius-ui-button-base); background: var(--color-tokens-tone-strong); color: var(--color-tokens-background-base); cursor: pointer; }
.ry-pages-more-listings[open] > summary { background: var(--color-tokens-background-depth); color: var(--color-tokens-tone-strong); }
.ry-pages-sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* Long reading pages retain the template's column measure. */
.ry-pages-main[data-ry-pages-page^="blog__"] > .ry-pages-block:first-of-type .ry-pages-container,
.ry-pages-main:is([data-ry-pages-page="privacy"],[data-ry-pages-page="terms"],[data-ry-pages-page="disclaimer"]) > .ry-pages-block:first-of-type .ry-pages-container { max-width: var(--width--9-columns); }
@media screen and (max-width: 991px) {
  .ry-pages-rules, .ry-pages-grid-three, .ry-pages-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ry-pages-main[data-ry-pages-page="help"] .ry-pages-grid-two:has(> .ry-pages-sidebar) { grid-template-columns: minmax(0,1fr); }
  .ry-pages-sidebar { position: static; }
  .ry-pages-sidebar .ry-pages-stack { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--spacing--8); }
}
@media screen and (max-width: 767px) {
  .ry-pages-grid-two { grid-template-columns: minmax(0,1fr); }
  .ry-pages-hero { padding-top: var(--spacing--120); padding-bottom: var(--spacing--48); }
  .ry-pages-block { padding-bottom: var(--spacing--48); }
  .ry-pages-closing-panel, .ry-pages-form { padding: var(--spacing--24); }
  .ry-pages-table :is(th,td) { padding: var(--spacing--16); }
  .ry-pages-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ry-pages-faq { padding: var(--spacing--16); }
  .ry-pages-summary { gap: var(--spacing--12); }
}
@media screen and (max-width: 479px) {
  .ry-pages-play { width: var(--spacing--48); height: var(--spacing--48); }
  .ry-pages-video-caption { bottom: var(--spacing--12); }
  .ry-pages-grid-three, .ry-pages-rules { grid-template-columns: minmax(0,1fr); }
  .ry-pages-sidebar .ry-pages-stack { grid-template-columns: minmax(0,1fr); }
  .ry-pages-gallery { gap: var(--spacing--12); }
  .ry-pages-closing-panel h2 { font-size: var(--typography-size-h3); line-height: var(--typography-line-height-h3); }
  .ry-pages-table { min-width: var(--width--6-columns); }
}
.ry-pages-reveal { transition: opacity .35s var(--ry-motion-ease, ease), transform .35s var(--ry-motion-ease, ease); }
.ry-pages-reveal-pending { opacity: 0; transform: translateY(var(--spacing--32)); }
@media (prefers-reduced-motion: reduce) {
  .ry-pages-reveal { opacity: 1; transform: none; transition: none; }
}
.ry-pages-section > :is(h3,h4) { margin-block: var(--spacing--24) var(--spacing--16); }
.ry-pages-main dd { margin: var(--spacing--12) 0 0; color: var(--color-tokens-tone-medium); }
.ry-pages-main dt { font-weight: var(--typography-weight-body-bold); }
.ry-pages-main[data-ry-pages-page="training"] .ry-pages-tabs { margin-bottom: var(--spacing--24); }
.ry-pages-main [data-ry-pages-trial] { margin-block: var(--spacing--16); }
.ry-pages-grid-two > .ry-pages-heading { grid-column: 1 / -1; }
.ry-pages-grid-three > .ry-pages-card > :is(h2,h3) { font-size: var(--typography-size-h5); line-height: var(--typography-line-height-h5); }
.ry-pages-main[data-ry-pages-page="affiliates"] .ry-pages-flow > div:last-child,
.ry-pages-main[data-ry-pages-page="careers"] .ry-pages-flow > div:last-child { gap: var(--spacing--16); }
