/* Resources menu — hub, case studies, blog, guides, help centre, product tour.
   School-OS tokens only (tokens-school-os.css); light, dark/oled and 390px. */
.mkt-res { display: block; min-inline-size: 0; color: var(--school-ink); }
.mkt-res h1, .mkt-res h2, .mkt-res h3 { color: var(--school-ink); }
.mkt-res__eyebrow { margin: 0 0 0.5rem; font: 700 0.75rem/1 var(--font-mono, monospace); letter-spacing: 0.08em; text-transform: uppercase; color: var(--school-green); }
.mkt-res__h1 { margin: 0 0 0.75rem; font-size: clamp(2rem, 4.6vw, 3.25rem); line-height: 1.08; }
.mkt-res__lead { margin: 0; max-inline-size: 42rem; font-size: 1.125rem; color: var(--school-ink-muted); }
.mkt-res__sec { padding-block: 2rem 1rem; }
.mkt-res__sec > h2 { margin: 0 0 0.4rem; font-size: 1.5rem; }
.mkt-res__sub { margin: 0 0 1.25rem; max-inline-size: 44rem; color: var(--school-ink-muted); }
.mkt-res__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; padding-block: 1.5rem 3rem; }
.mkt-res__tag { display: inline-block; padding: 0.15rem 0.55rem; border: 1px solid var(--school-ruled); border-radius: 999px; background: var(--school-paper); color: var(--school-ink-muted); font: 600 0.6875rem/1.4 var(--font-mono, monospace); letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; }
.mkt-res__tag--live { color: var(--school-green); border-color: var(--school-green); }
.mkt-res__tag--none { color: var(--school-brown); }

/* Hub: split hero with audience chooser */
.mkt-res-hero { display: grid; gap: 2rem; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; padding-block: 3rem 1.5rem; }
.mkt-res-pick { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.6rem; }
.mkt-res-pick a { display: grid; gap: 0.2rem; padding: 0.9rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-left: 4px solid var(--school-highlighter); border-radius: 0.5rem; color: var(--school-ink); text-decoration: none; }
.mkt-res-pick a:hover, .mkt-res-pick a:focus-visible { border-left-color: var(--school-green); }
.mkt-res-pick strong { font-size: 1.0625rem; }
.mkt-res-pick span { color: var(--school-ink-muted); font-size: 0.9375rem; }
.mkt-res-pick small { font: 700 0.6875rem/1 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-green); }

/* Shelves: labelled rail on the left, ruled rows on the right */
.mkt-res-shelf { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.25rem; padding-block: 1.25rem; border-top: 2px solid var(--school-ruled); }
.mkt-res-shelf__label h2 { margin: 0 0 0.25rem; font-size: 1.125rem; }
.mkt-res-shelf__label p { margin: 0; font-size: 0.875rem; color: var(--school-ink-muted); }
.mkt-res-rows { margin: 0; padding: 0; list-style: none; background: var(--school-tile); border: 1px solid var(--school-ruled); border-left: 3px solid var(--school-margin); border-radius: 0.5rem; }
.mkt-res-rows > li { border-bottom: 1px solid var(--school-ruled); }
.mkt-res-rows > li:last-child { border-bottom: 0; }
.mkt-res-row { display: grid; grid-template-columns: minmax(9rem, 14rem) minmax(0, 1fr) auto; gap: 0.25rem 1rem; align-items: baseline; padding: 0.9rem 1.15rem; color: var(--school-ink); text-decoration: none; }
.mkt-res-row:hover, .mkt-res-row:focus-visible { background: var(--school-manila); }
.mkt-res-row__name { font-weight: 700; color: var(--school-green); }
.mkt-res-row__body { color: var(--school-ink-muted); }

/* Case studies: status slab, measure table, fill-in sheet */
.mkt-res-notice { margin-block: 2.5rem 1rem; padding: 1.75rem 2rem 1.75rem 3rem; position: relative; background: var(--school-manila); border: 1px solid var(--school-ruled); border-radius: 0.5rem; }
.mkt-res-notice::before { content: ""; position: absolute; inset-block: 0; inset-inline-start: 1.9rem; inline-size: 2px; background: var(--school-margin); }
.mkt-res-notice h1 { margin: 0 0 0.6rem; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.1; }
.mkt-res-notice h1 mark { background: var(--school-highlighter); color: var(--school-ink); padding: 0 0.2em; }
.mkt-res-notice p { margin: 0 0 0.5rem; max-inline-size: 44rem; color: var(--school-ink-muted); }
.mkt-res-stages { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); counter-reset: st; }
.mkt-res-stages li { counter-increment: st; padding: 1rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-top: 3px solid var(--school-blue); border-radius: 0.5rem; display: grid; gap: 0.35rem; align-content: start; }
.mkt-res-stages li::before { content: counter(st, decimal-leading-zero); font: 700 0.8125rem/1 var(--font-mono, monospace); color: var(--school-blue); }
.mkt-res-stages span { color: var(--school-ink-muted); font-size: 0.9375rem; }
.mkt-res-tablewrap { overflow-x: auto; border: 1px solid var(--school-ruled); border-radius: 0.5rem; background: var(--school-tile); }
.mkt-res-table { inline-size: 100%; border-collapse: collapse; min-inline-size: 38rem; }
.mkt-res-table th, .mkt-res-table td { padding: 0.8rem 1rem; text-align: start; vertical-align: top; border-bottom: 1px solid var(--school-ruled); color: var(--school-ink); }
.mkt-res-table th { font: 700 0.75rem/1.2 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-ink-muted); background: var(--school-paper); }
.mkt-res-table tr:last-child td { border-bottom: 0; }
.mkt-res-table td:nth-child(3) { color: var(--school-ink-muted); }
.mkt-res-blank { display: block; min-inline-size: 5rem; block-size: 1.4rem; border-bottom: 2px dashed var(--school-ruled); }
.mkt-res-sheet { margin: 0; padding: 1.25rem 1.5rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-left: 4px solid var(--school-gold); border-radius: 0.5rem; display: grid; gap: 0.9rem 2rem; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); }
.mkt-res-sheet dt { font: 700 0.75rem/1.2 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-ink-muted); }
.mkt-res-sheet dd { margin: 0.2rem 0 0; padding-block-end: 0.25rem; border-bottom: 1px dashed var(--school-ruled); color: var(--school-ink); min-block-size: 1.6rem; }

/* Blog: masthead + desks */
.mkt-res-mast { margin-block: 2rem 1.5rem; padding-block: 1.5rem; text-align: center; border-block: 4px double var(--school-ink); }
.mkt-res-mast .mkt-res__lead { margin-inline: auto; }
.mkt-res-feature { display: grid; gap: 0.5rem; padding: 1.75rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-top: 4px solid var(--school-green); border-radius: 0.5rem; }
.mkt-res-feature h2 { margin: 0; font-size: clamp(1.5rem, 3vw, 2.25rem); }
.mkt-res-feature a { color: var(--school-ink); text-decoration: none; }
.mkt-res-feature time, .mkt-res-post time { font: 600 0.75rem/1 var(--font-mono, monospace); color: var(--school-ink-muted); }
.mkt-res-posts { margin: 1.25rem 0 0; padding: 0; list-style: none; display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); }
.mkt-res-post { padding: 1.1rem 1.25rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; display: grid; gap: 0.4rem; align-content: start; }
.mkt-res-post h3 { margin: 0; font-size: 1.125rem; }
.mkt-res-post a { color: var(--school-green); text-decoration: none; }
.mkt-res-post p { margin: 0; color: var(--school-ink-muted); }
.mkt-res-desks { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; grid-template-columns: repeat(auto-fit, minmax(min(13rem, 100%), 1fr)); border: 1px solid var(--school-ruled); border-radius: 0.5rem; background: var(--school-tile); }
.mkt-res-desks li { padding: 1rem 1.25rem; border-inline-end: 1px solid var(--school-ruled); display: grid; gap: 0.35rem; align-content: start; }
.mkt-res-desks li:last-child { border-inline-end: 0; }
.mkt-res-desks strong { color: var(--school-ink); }
.mkt-res-desks span { color: var(--school-ink-muted); font-size: 0.9375rem; }

/* Guides: contents page */
.mkt-res-book { display: grid; gap: 2rem; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); padding-block: 3rem 1rem; align-items: start; }
.mkt-res-book__side { position: sticky; inset-block-start: 6rem; }
.mkt-res-toc { margin: 0; padding: 0; list-style: none; counter-reset: ch; border-top: 2px solid var(--school-ink); }
.mkt-res-toc li { counter-increment: ch; display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 0 0.75rem; padding: 1.1rem 0; border-bottom: 1px solid var(--school-ruled); }
.mkt-res-toc li::before { content: counter(ch, decimal-leading-zero); font: 700 1.25rem/1.2 var(--font-mono, monospace); color: var(--school-margin); }
.mkt-res-toc h3 { margin: 0 0 0.25rem; font-size: 1.1875rem; }
.mkt-res-toc p { margin: 0 0 0.5rem; color: var(--school-ink-muted); }
.mkt-res-toc__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; align-items: center; }
.mkt-res-toc__links a { color: var(--school-green); font-weight: 600; text-decoration: none; }

/* Help centre: search-first chalkboard */
.mkt-res-board { margin-block: 2rem 1.5rem; padding: 2.5rem 2rem; background: var(--school-chalkboard); color: var(--school-chalk); border: 1px solid var(--school-ruled); border-radius: 0.75rem; text-align: center; }
.mkt-res-board h1 { margin: 0 0 0.5rem; color: var(--school-chalk); font-size: clamp(1.75rem, 4vw, 2.75rem); }
body.marketing-surface .mkt-res .mkt-res-board h1, body.marketing-surface .mkt-res .mkt-res-board p { color: var(--school-chalk) !important; }
body.marketing-surface .mkt-res .mkt-res-search button { color: var(--school-chalkboard) !important; }
.mkt-res-board p { margin: 0 auto 1.25rem; max-inline-size: 38rem; }
.mkt-res-search { display: flex; gap: 0.5rem; max-inline-size: 36rem; margin-inline: auto; }
.mkt-res-search input { flex: 1 1 auto; min-inline-size: 0; padding: 0.8rem 1rem; border: 2px solid var(--school-chalk); border-radius: 0.5rem; background: var(--school-paper); color: var(--school-ink); font-size: 1rem; }
.mkt-res-search button { padding: 0.8rem 1.25rem; border: 0; border-radius: 0.5rem; background: var(--school-highlighter); color: var(--school-ink); font-weight: 700; cursor: pointer; }
.mkt-res-board__count { margin: 0.9rem 0 0 !important; font: 600 0.8125rem/1 var(--font-mono, monospace); }
.mkt-res-topics { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.mkt-res-topics a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; color: var(--school-ink); font-weight: 600; text-decoration: none; }
.mkt-res-topics a:hover, .mkt-res-topics a:focus-visible { border-color: var(--school-green); }
.mkt-res-topics span { color: var(--school-ink-muted); font: 600 0.8125rem/1.6 var(--font-mono, monospace); }
.mkt-res-ways { margin: 0; padding: 0; list-style: none; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); }
.mkt-res-ways li { padding: 1rem 1.1rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-left: 4px solid var(--school-gold); border-radius: 0.5rem; display: grid; gap: 0.3rem; align-content: start; }
.mkt-res-ways a { color: var(--school-green); font-weight: 700; text-decoration: none; }
.mkt-res-ways span { color: var(--school-ink-muted); font-size: 0.9375rem; }

/* Product tour: route list with a sticky index */
.mkt-res-tourhead { padding-block: 3rem 0.5rem; }
.mkt-res-route { display: grid; gap: 2rem; grid-template-columns: 13rem minmax(0, 1fr); padding-block: 1.5rem 1rem; align-items: start; }
.mkt-res-route__index { position: sticky; inset-block-start: 6rem; margin: 0; padding: 0; list-style: none; border-inline-start: 2px solid var(--school-ruled); }
.mkt-res-route__index a { display: block; padding: 0.35rem 0 0.35rem 0.9rem; color: var(--school-ink-muted); text-decoration: none; font-size: 0.9375rem; }
.mkt-res-route__index a:hover, .mkt-res-route__index a:focus-visible { color: var(--school-green); }
.mkt-res-stops { margin: 0; padding: 0; list-style: none; display: grid; gap: 1rem; }
.mkt-res-stop { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.25rem 1rem; padding: 1.25rem 1.4rem; background: var(--school-tile); border: 1px solid var(--school-ruled); border-radius: 0.5rem; scroll-margin-block-start: 6rem; }
.mkt-res-stop > :not(.mkt-res-stop__n) { grid-column: 2; }
.mkt-res-stop__n { grid-row: span 4; font: 700 1.75rem/1 var(--font-mono, monospace); color: var(--school-blue); }
.mkt-res-stop h3 { margin: 0; font-size: 1.1875rem; }
.mkt-res-stop p { margin: 0; color: var(--school-ink-muted); }
.mkt-res-stop__who { font: 700 0.6875rem/1.6 var(--font-mono, monospace); letter-spacing: 0.06em; text-transform: uppercase; color: var(--school-green); }
.mkt-res-stop a { color: var(--school-green); font-weight: 600; text-decoration: none; }

@media (max-width: 52rem) {
  .mkt-res-hero, .mkt-res-book, .mkt-res-route { grid-template-columns: minmax(0, 1fr); }
  .mkt-res-book__side, .mkt-res-route__index { position: static; }
  .mkt-res-route__index { display: flex; flex-wrap: wrap; gap: 0.25rem 1rem; border-inline-start: 0; }
  .mkt-res-route__index a { padding: 0.25rem 0; }
  .mkt-res-shelf { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; }
  .mkt-res-row { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 30rem) {
  .mkt-res-notice { padding: 1.25rem 1rem 1.25rem 2rem; }
  .mkt-res-notice::before { inset-inline-start: 1rem; }
  .mkt-res-board { padding: 1.75rem 1rem; }
  .mkt-res-search { flex-direction: column; }
  .mkt-res-stop { grid-template-columns: minmax(0, 1fr); }
  .mkt-res-stop__n { grid-row: auto; }
  .mkt-res-stop > :not(.mkt-res-stop__n) { grid-column: 1; }
}
