/* Road Observer 1.2: article reading layout and progressive table of contents. */
.ro-single-v12 {
  --ro-sticky-top: 24px;
  --ro-anchor-offset: 88px;
  padding-block: 64px 80px;
  margin: 0;
  background: var(--ro-paper, #f7f7f2);
  color: var(--ro-ink, #142d34);
}
body.admin-bar .ro-single-v12 { --ro-sticky-top: 56px; --ro-anchor-offset: 120px; }
.ro-single-v12 .ro-single-heading { max-width: 1120px !important; padding-bottom: 48px; }
.ro-single-v12 .ro-single-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin: 0 0 24px; }
.ro-single-v12 .ro-single-kicker > * { margin: 0; }
.ro-single-v12 .ro-single-kicker .ro-eyebrow { font-size: 11px; color: var(--ro-slate, #526970); }
.ro-single-v12 .ro-single-category { padding-inline-start: 22px; border-inline-start: 1px solid var(--ro-amber, #efb746); font-size: 12px; line-height: 1.6; font-weight: 600; letter-spacing: .06em; }
.ro-single-v12 .ro-single-category a { text-decoration: none; }
.ro-single-v12 .ro-single-title { max-width: 21ch; margin: 0 0 26px; font-family: var(--wp--preset--font-family--heading, "Manrope", sans-serif); font-size: clamp(40px, 5vw, 76px); line-height: 1.065; font-weight: 800; letter-spacing: -.055em; overflow-wrap: anywhere; text-wrap: balance; }
.ro-single-v12 .ro-single-deck { max-width: 64ch; margin: 0; color: var(--ro-slate, #526970); font-size: clamp(20px, 1.75vw, 25px); line-height: 1.45; }
.ro-single-v12 .ro-single-deck p { margin: 0; }
.ro-single-v12 .ro-single-meta, .ro-single-v12 .ro-single-author { display: flex; align-items: baseline; flex-wrap: wrap; }
.ro-single-v12 .ro-single-meta { gap: 10px 24px; margin-top: 28px; color: var(--ro-slate, #526970); font-size: 14px; line-height: 1.6; }
.ro-single-v12 .ro-single-author { gap: 4px; }
.ro-single-v12 .ro-single-meta > *, .ro-single-v12 .ro-single-author > * { margin: 0; }
.ro-single-v12 .ro-single-meta a { color: var(--ro-ink, #142d34); text-decoration-color: var(--ro-amber, #efb746); text-underline-offset: 4px; }
.ro-single-v12 .ro-single-image { position: relative; isolation: isolate; margin-block: 0 68px; }
.ro-single-v12 .ro-single-image::before { content: ""; position: absolute; inset: 20px -14px -14px 36%; border-radius: 8px; background: var(--ro-sage, #e6ece8); z-index: -1; }
.ro-single-v12 .ro-single-image img { display: block; width: 100%; border-radius: 8px; object-fit: cover; }
.ro-single-v12 .ro-single-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(240px, 280px); gap: 64px; max-width: 1160px !important; justify-content: center; align-items: start; }
.ro-single-v12 .ro-single-article { grid-column: 1; grid-row: 1; min-width: 0; margin: 0; }
.ro-single-v12 .ro-single-aside { grid-column: 2; grid-row: 1; position: sticky; top: var(--ro-sticky-top); max-height: calc(100vh - var(--ro-sticky-top) - 24px); max-height: calc(100dvh - var(--ro-sticky-top) - 24px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #b7c7c0 transparent; scrollbar-gutter: stable; min-width: 0; margin: 0; }
.ro-single-v12 .ro-entry-content { font-size: 19px; line-height: 1.8; overflow-wrap: break-word; }
.ro-single-v12 .ro-entry-content > :first-child { margin-top: 0; }
.ro-single-v12 .ro-entry-content > .alignwide, .ro-single-v12 .ro-entry-content > .alignfull { width: 100%; max-width: 100%; margin-inline: 0 !important; }
.ro-single-v12 .ro-entry-content :is(h2, h3) { position: relative; scroll-margin-block-start: var(--ro-anchor-offset); overflow-wrap: anywhere; }
.ro-single-v12 .ro-entry-content h2 { margin-block: 48px 18px; font-size: clamp(28px, 2.4vw, 36px); line-height: 1.2; letter-spacing: -.045em; }
.ro-single-v12 .ro-entry-content h3 { margin-block: 34px 14px; font-size: clamp(22px, 1.9vw, 27px); line-height: 1.3; letter-spacing: -.035em; }
.ro-single-v12 .ro-entry-content :is(h2, h3):focus-visible { outline: 2px solid var(--ro-amber-dark, #975700); outline-offset: 8px; }
.ro-single-v12 .ro-entry-content a { text-decoration-color: var(--ro-amber-dark, #975700); text-underline-offset: 4px; overflow-wrap: anywhere; }
.ro-single-v12 .ro-entry-content li { padding-inline-start: 4px; margin-block-end: 9px; }
.ro-single-v12 .ro-entry-content figure { margin-block: 30px; }
.ro-single-v12 .ro-entry-content figcaption { font-size: 14px; line-height: 1.6; color: var(--ro-slate, #526970); }
.ro-single-v12 .ro-entry-content :is(pre, .wp-block-table) { overflow-x: auto; max-width: 100%; }
.ro-single-v12 .ro-entry-content .wp-block-quote { margin-inline: 0; padding: 24px 28px; border-inline-start: 3px solid var(--ro-amber, #efb746); background: var(--ro-sage, #e6ece8); }
.ro-single-v12 .ro-entry-content .wp-block-quote > :last-child { margin-bottom: 0; }
.ro-single-v12 .ro-toc[hidden] { display: none; }
.ro-single-v12 .ro-toc { padding: 22px 0 24px; margin: 0; border-top: 2px solid var(--ro-amber, #efb746); border-bottom: 1px solid var(--ro-line, #dce3df); }
.ro-single-v12 .ro-toc summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; color: var(--ro-ink, #142d34); font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.ro-single-v12 .ro-toc summary::-webkit-details-marker { display: none; }
.ro-single-v12 .ro-toc-toggle { display: block; width: 8px; height: 8px; margin-inline-end: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); flex: 0 0 auto; }
.ro-single-v12 .ro-toc details[open] .ro-toc-toggle { transform: rotate(225deg); }
.ro-single-v12 .ro-toc nav { margin-top: 17px; }
.ro-single-v12 .ro-toc-list, .ro-single-v12 .ro-toc-list ol { padding: 0; margin: 0; list-style: none; }
.ro-single-v12 .ro-toc-list > li + li { margin-top: 4px; }
.ro-single-v12 .ro-toc-list ol { margin: 2px 0 8px 13px; border-inline-start: 1px solid var(--ro-line, #dce3df); }
.ro-single-v12 .ro-toc-link { display: block; padding: 7px 12px; border-inline-start: 2px solid transparent; font-size: 15px; line-height: 1.45; font-weight: 500; text-decoration: none; color: var(--ro-slate, #526970); overflow-wrap: anywhere; }
.ro-single-v12 .ro-toc-list ol .ro-toc-link { font-size: 14px; padding-block: 6px; }
.ro-single-v12 .ro-toc-link:hover, .ro-single-v12 .ro-toc-link.is-active { color: var(--ro-ink, #142d34); background: var(--ro-sage, #e6ece8); border-inline-start-color: var(--ro-amber-dark, #975700); }
.ro-single-v12 .ro-toc-link:focus-visible, .ro-single-v12 .ro-toc summary:focus-visible { outline: 2px solid var(--ro-amber-dark, #975700); outline-offset: 2px; }
.ro-single-v12 .ro-toc-anchor { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: 0; height: 0; scroll-margin-block-start: var(--ro-anchor-offset); }
.ro-single-v12 .ro-single-help { margin: 26px 0 0; padding: 24px; border-radius: 7px; background: var(--ro-sage, #e6ece8); }
.ro-single-v12 .ro-single-help .ro-eyebrow { margin-bottom: 14px; font-size: 10px; }
.ro-single-v12 .ro-single-help h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.25; letter-spacing: -.035em; }
.ro-single-v12 .ro-single-help p { margin: 0 0 14px; font-size: 15px; line-height: 1.5; color: var(--ro-slate, #526970); }
.ro-single-v12 .ro-single-help > :last-child { margin-bottom: 0; }
.ro-single-v12 .ro-single-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; margin-top: 56px; padding-top: 26px; border-top: 1px solid var(--ro-line, #dce3df); font-size: 15px; line-height: 1.5; }
.ro-single-v12 .ro-single-next > * { margin: 0; overflow-wrap: anywhere; }
.ro-single-v12 .ro-single-next a { display: block; margin-top: 8px; font-family: var(--wp--preset--font-family--heading, "Manrope", sans-serif); font-size: 18px; font-weight: 700; line-height: 1.35; text-decoration-color: var(--ro-amber, #efb746); text-underline-offset: 4px; }
.ro-single-v12 .ro-single-next .post-navigation-link-next { text-align: right; }
/* A template preview; live links are built only from the rendered post. */
.editor-styles-wrapper .ro-single-v12 .ro-toc[hidden] { display: block !important; }
.editor-styles-wrapper .ro-single-v12 .ro-toc:empty::before { content: "On this page"; display: block; font-weight: 700; font-size: 14px; }
.editor-styles-wrapper .ro-single-v12 .ro-toc:empty::after { content: "Article headings appear here on the website."; display: block; margin-top: 14px; color: var(--ro-slate, #526970); font-size: 14px; line-height: 1.5; }
.editor-styles-wrapper .ro-single-v12 .ro-single-aside { display: block !important; position: static; max-height: none; }
.editor-styles-wrapper .ro-single-layout > .block-editor-inner-blocks, .editor-styles-wrapper .ro-single-layout > .block-editor-inner-blocks > .block-editor-block-list__layout { display: contents; }
@media (max-width: 1100px) {
  .ro-single-v12 .ro-single-layout { column-gap: 36px; grid-template-columns: minmax(0, 1fr) 250px; }
}
@media (max-width: 1023px) {
  .ro-single-v12 { padding-block: 44px 56px; }
  .ro-single-v12 .ro-single-heading { padding-bottom: 34px; }
  .ro-single-v12 .ro-single-title { font-size: clamp(36px, 6vw, 62px); }
  .ro-single-v12 .ro-single-layout { grid-template-columns: minmax(0, 1fr); gap: 30px; max-width: 760px !important; }
  .ro-single-v12 .ro-single-aside { grid-column: 1; grid-row: 1; position: static; max-height: none; overflow: visible; scrollbar-gutter: auto; }
  .ro-single-v12 .ro-single-article { grid-column: 1; grid-row: 2; }
  .ro-single-v12:not(.has-ro-toc) .ro-single-aside, .ro-single-v12 .ro-single-help { display: none; }
  .ro-single-v12:not(.has-ro-toc) .ro-single-article { grid-row: 1; }
  .ro-single-v12 .ro-toc { padding: 18px 20px; border: 1px solid var(--ro-line, #dce3df); border-top: 2px solid var(--ro-amber, #efb746); border-radius: 6px; background: var(--ro-sage, #e6ece8); }
  .ro-single-v12 .ro-single-image { margin-bottom: 44px; }
}
@media (max-width: 599px) {
  .ro-single-v12 { padding-block: 32px 44px; --ro-anchor-offset: 40px; }
  body.admin-bar .ro-single-v12 { --ro-anchor-offset: 48px; }
  .ro-single-v12 .ro-single-title { font-size: clamp(33px, 8.7vw, 48px); margin-bottom: 20px; letter-spacing: -.05em; }
  .ro-single-v12 .ro-single-kicker { gap: 9px 15px; margin-bottom: 20px; }
  .ro-single-v12 .ro-single-category { padding-inline-start: 15px; font-size: 11px; }
  .ro-single-v12 .ro-single-deck { font-size: 20px; }
  .ro-single-v12 .ro-single-meta { margin-top: 22px; gap: 6px 18px; font-size: 13px; }
  .ro-single-v12 .ro-single-image img { aspect-ratio: 4 / 3 !important; height: auto !important; }
  .ro-single-v12 .ro-single-image::before { inset: 12px -8px -8px 35%; }
  .ro-single-v12 .ro-entry-content { font-size: 18px; line-height: 1.75; }
  .ro-single-v12 .ro-entry-content h2 { margin-top: 38px; font-size: 28px; }
  .ro-single-v12 .ro-entry-content h3 { font-size: 23px; }
  .ro-single-v12 .ro-entry-content .wp-block-quote { padding: 22px 20px; }
  .ro-single-v12 .ro-single-next { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; }
  .ro-single-v12 .ro-single-next .post-navigation-link-next { text-align: left; }
}
@media print {
  .ro-single-v12 { padding: 0; }
  .ro-single-v12 .ro-single-aside, .ro-single-v12 .ro-single-next, .ro-single-v12 .ro-single-image::before { display: none !important; }
  .ro-single-v12 .ro-single-layout { display: block; max-width: none !important; }
  .ro-single-v12 .ro-entry-content :is(h2, h3) { break-after: avoid; }
}
