/* Draft 119 visual revision: only Home and Question Anything discovery surfaces.
   Current Site tokens, navigation, native readers and specialist pages are untouched. */
.tbw-home-enriched #top.hero .hero-actions { top: 0; margin-top: 2.25rem; }
.tbw-home-enriched #top.hero .hero-actions .button { min-width: min(13rem,100%); max-width: 100%; }
.tbw-home-enriched #top.hero { padding-bottom: clamp(3rem,5vw,4.5rem); }

/* Actual approved Resource first page, with native text and actions alongside. */
.tbw-resource-feature { background: var(--paper); color: var(--ink); padding: clamp(3rem,6vw,6rem) var(--pad); color-scheme: light; }
.tbw-feature-inner { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); align-items: center; gap: clamp(2.5rem,7vw,7rem); max-width: var(--max); margin-inline: auto; }
.tbw-feature-inner > * { min-width: 0; }
.tbw-editorial-label { display: flex; align-items: center; gap: .8rem; font-size: .875rem; line-height: 1.5; letter-spacing: .08em; font-weight: 750; margin: 0 0 2rem; }
.tbw-resource-feature .tbw-editorial-label::before { content: ''; flex: 0 0 1.75rem; height: 3px; background: #B01272; }
.tbw-resource-id { font-size: .8125rem; font-weight: 650; letter-spacing: .06em; margin: 0 0 1.2rem; color: #555; }
.tbw-resource-name { font-size: 1rem; letter-spacing: .055em; font-weight: 750; margin: 0 0 .75rem; }
.tbw-resource-feature h2 { margin: 0; max-width: 15ch; font-size: clamp(2.5rem,4.8vw,4.8rem); line-height: 1.04; letter-spacing: -.045em; font-weight: 700; text-wrap: balance; }
.tbw-resource-feature:not(.tbw-home-resource) h2 { font-size: clamp(2.4rem,4.5vw,4.5rem); letter-spacing: -.035em; }
.tbw-resource-lead { margin: 1.2rem 0 0; font-size: clamp(1.7rem,2.7vw,2.6rem); letter-spacing: -.03em; line-height: 1.25; }
.tbw-resource-orientation { margin: 1.5rem 0 0; max-width: 34ch; font-size: 1.125rem; line-height: 1.6; color: #555; }
.tbw-editorial-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.75rem; margin-top: 2rem; }
.tbw-editorial-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.25rem; max-width: 100%; min-height: 48px; padding: .8rem 0; font-size: .875rem; font-weight: 700; line-height: 1.5; letter-spacing: .025em; text-decoration: none; }
.tbw-editorial-link span { flex: 0 0 auto; font-size: 1.35rem; }
.tbw-editorial-link:hover { text-decoration: underline; text-underline-offset: .3em; }
.tbw-editorial-primary { color: white; background: var(--brand-teal); padding: .9rem 1.3rem; border-radius: 999px; }
.tbw-editorial-primary:hover { color: white; background: var(--ink); text-decoration: none; }
.tbw-resource-preview { position: relative; isolation: isolate; width: min(100%,27rem); margin-inline: auto; padding: 1.25rem 1.5rem 0; }
.tbw-resource-preview img { position: relative; z-index: 1; width: 100%; height: auto; display: block; transform: rotate(-3deg); border: 1px solid #B9BEC2; }
.tbw-preview-number { position: absolute; z-index: 0; left: -.035em; top: -.08em; font: 700 clamp(10rem,20vw,21rem)/1 Georgia,serif; color: #B01272; opacity: .14; letter-spacing: -.1em; }
.tbw-preview-caption { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.8rem; border-bottom: 1px solid #B9BEC2; padding-bottom: .65rem; font-size: .8125rem; line-height: 1.5; letter-spacing: .06em; color: #555; }

/* A Question is an editorial focal point, visually distinct from a Resource page. */
.tbw-home-follow, .ql-follow-feature { background: var(--brand-teal); color: white; padding: clamp(3.5rem,7vw,6.5rem) var(--pad); }
.tbw-follow-inner { display: grid; grid-template-columns: minmax(0,.65fr) minmax(0,1.7fr); align-items: start; gap: clamp(2rem,6vw,6rem); max-width: var(--max); margin-inline: auto; }
.tbw-follow-inner > * { min-width: 0; }
.tbw-follow-number { display: block; margin-top: 1.25rem; font: 400 clamp(4rem,10vw,10rem)/1 Georgia,serif; color: white; opacity: .26; letter-spacing: -.07em; }
.tbw-home-follow .tbw-editorial-label { margin-bottom: 1rem; }
.tbw-follow-id { margin: 0; font-size: .8125rem; letter-spacing: .06em; }
.tbw-home-follow h2, .ql-follow-feature h2 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(2.4rem,4.3vw,4.5rem); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; max-width: 24ch; margin: 0; text-wrap: balance; }
.tbw-follow-description { max-width: 46ch; margin: 1.5rem 0 0; font-size: 1.125rem; line-height: 1.65; }
.tbw-follow-primary { background: var(--ink); color: white; border-radius: 999px; padding: .9rem 1.3rem; }
.tbw-follow-primary:hover { color: var(--ink); background: white; text-decoration: none; }
.tbw-home-follow .tbw-editorial-link:not(.tbw-follow-primary) { border-bottom: 1px solid white; }

/* Entrance: dark orientation, light equal pathways, real Resource, teal Question. */
.question-libraries-page .ql-inner { padding-bottom: 0; }
.ql-entrance .ql-orientation { padding-bottom: clamp(3rem,5vw,5rem); }
.ql-entrance .ql-orientation h1 { max-width: 25ch; }
.ql-entrance .ql-orientation h1 { overflow-wrap: anywhere; }
.ql-entrance .ql-pathways { display: block; background: var(--paper); color: var(--ink); padding: clamp(2.5rem,5vw,4.5rem) 0; color-scheme: light; }
.ql-pathway-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2.5rem,6vw,6rem); }
.ql-entrance .ql-pathway { border-color: #B9BEC2; padding-top: 1.5rem; }
.ql-pathway-number { font: 400 clamp(3.7rem,6vw,6rem)/1 Georgia,serif; color: #777; margin-bottom: 1.2rem; letter-spacing: -.07em; }
.ql-entrance .ql-pathway h2 { font-size: clamp(2rem,3.6vw,3.6rem); line-height: 1.1; max-width: 13ch; margin: 1rem 0; }
.ql-entrance .ql-pathway > p:not(.ql-eyebrow) { color: #555; max-width: 43ch; }
.ql-entrance .ql-pathway > .ql-pathway-meaning { color: var(--ink) !important; }
.ql-entrance .ql-pathway .ql-link { color: var(--ink); border-bottom: 2px solid var(--brand-teal); margin-top: .2rem; }
.ql-entrance .ql-pathway .ql-link span { color: var(--ink); }
.ql-entrance .tbw-resource-feature { background: white; border-top: 1px solid #B9BEC2; }
.ql-entrance .ql-follow-feature { display: block; border: 0; }
.ql-follow-feature .ql-inner { width: 100%; }
.ql-follow-feature .ql-eyebrow::before { background: white; }
.ql-follow-feature :is(.ql-identity,.ql-link,.ql-link > span) { color: white; }
.ql-follow-feature .ql-identity { margin-top: 1rem; }
.ql-follow-feature .ql-primary { background: var(--ink); }
.ql-follow-feature .ql-primary:hover { background: white; color: var(--ink); }
.ql-follow-feature .ql-primary:hover span { color: var(--ink); }
.ql-follow-feature .ql-feature-actions .ql-link:not(.ql-primary) { border-bottom: 1px solid white; }

/* Broad archive fields, not individual dashboard cards. */
.ql-library-intro-stage .ql-library-heading { padding-bottom: clamp(2rem,4vw,3rem); }
.ql-light-field { color-scheme: light; background: var(--paper); color: var(--ink); padding: clamp(2rem,4vw,3.5rem) 0 clamp(3.5rem,7vw,6rem); }
.ql-light-field .ql-search { margin-top: 0; margin-bottom: 2.5rem; }
.ql-light-field .ql-search-control { border-color: #777; background: white; border-radius: 0; }
.ql-light-field .ql-search input { background: white; color: var(--ink); border-radius: 0; }
.ql-light-field .ql-search input::placeholder { color: #555; }
.ql-light-field .ql-search button { background: white; color: var(--ink); border-color: #B9BEC2; border-radius: 0; }
.ql-light-field .ql-search button:hover { background: var(--paper); }
.ql-light-field .ql-search [role="status"] { color: #555; }
.ql-light-field .ql-collection { border: 0; }
.ql-light-field .ql-collection > summary { background: var(--ink); color: white; padding: 1.5rem; border-top: 4px solid var(--brand-teal); }
.ql-light-field .ql-collection > summary:hover { background: #202020; }
.ql-light-field .ql-collection-count { color: var(--brand-gray); }
.ql-light-field .ql-collection-title { overflow-wrap: anywhere; }
.ql-light-field .ql-resource-row { border-color: #B9BEC2; }
.ql-light-field .ql-resource-row:last-child { border-bottom: 1px solid #B9BEC2; }
.ql-light-field .ql-resource-row > summary { grid-template-columns: minmax(9rem,.9fr) minmax(0,3.2fr) 44px; align-items: center; padding: 1.75rem 0; gap: 1.5rem; }
.ql-light-field .ql-resource-row > summary:hover { background: white; }
.ql-resource-identity { display: flex; align-items: center; gap: 1rem; }
.ql-resource-identity img { display: block; width: 4.25rem; height: auto; border: 1px solid #B9BEC2; border-bottom: 4px solid var(--qr-preview-accent); }
.ql-light-field .ql-identity { color: #555; font-size: .8125rem; }
.ql-collection-position { display: block; margin-top: .45rem; font-size: .75rem; font-weight: 400; letter-spacing: .025em; white-space: nowrap; }
.ql-light-field .ql-resource-title { font-size: .875rem; letter-spacing: .045em; }
.ql-light-field .ql-resource-question { font-size: clamp(1.45rem,2.3vw,2.2rem); line-height: 1.2; font-weight: 550; }
.ql-light-field .ql-resource-row .ql-expand { color: var(--ink); border: 1px solid #777; border-radius: 50%; }
.ql-light-field .ql-resource-detail { padding: 0 4rem 2rem calc(21.95% + 1.5rem); }
.ql-light-field .ql-resource-detail > p:first-child { color: #555; }
.ql-light-field .ql-coming { color: #555; }
.ql-light-field .ql-empty { border-color: #B9BEC2; }
.ql-light-field .ql-empty p { color: #555; }

/* Question Index: white magazine index, serif Questions, quiet oversized numbering. */
.ql-question-index .ql-light-field { background: white; }
.ql-question-index .ql-question-entry { grid-template-columns: minmax(8rem,.75fr) minmax(0,3fr); padding: clamp(2.2rem,4vw,4rem) 0; border-color: #B9BEC2; gap: clamp(1.5rem,4vw,4rem); }
.ql-index-number { display: block; font: 400 clamp(4.2rem,8vw,8rem)/.9 Georgia,serif; color: var(--brand-gray); letter-spacing: -.09em; margin-bottom: 1rem; }
.ql-question-identity .ql-identity { border-top: 3px solid var(--brand-teal); padding-top: .65rem; width: fit-content; }
.ql-question-index .ql-question-entry h2 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.9rem,3.8vw,3.7rem); font-weight: 400; max-width: 28ch; letter-spacing: -.035em; line-height: 1.13; margin-bottom: 1.4rem; }
.ql-question-index .ql-associated-work .ql-link { color: var(--ink); letter-spacing: .07em; border-bottom-width: 2px; }
.ql-question-index .ql-associated-work .ql-link span { color: var(--ink); }

/* Contrasting focus is scoped to each surface; no color-only affordances. */
:is(.tbw-resource-feature,.tbw-home-follow) a:focus-visible { outline: 3px solid var(--ink) !important; outline-offset: 5px; }
.tbw-home-follow a:focus-visible { outline-color: white !important; }
.question-libraries-page :is(.ql-pathways,.ql-light-field,.tbw-resource-feature) :is(a,button,input,summary):focus-visible { outline: 3px solid var(--ink) !important; outline-offset: 5px; }
.question-libraries-page .ql-light-field .ql-collection > summary:focus-visible { outline-color: var(--brand-teal) !important; }

@media (max-width: 800px) {
  .tbw-feature-inner { grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); gap: 2rem; }
  .tbw-resource-preview { padding-inline: .65rem; }
  .tbw-resource-feature h2 { font-size: clamp(2.2rem,5.5vw,3.5rem); }
  .tbw-follow-inner { grid-template-columns: minmax(0,1fr); gap: 1.8rem; }
  .tbw-follow-inner > div:first-child { position: relative; padding-right: 7rem; min-height: 5rem; }
  .tbw-follow-number { position: absolute; top: 0; right: 0; margin: 0; font-size: 5.5rem; }
  .ql-light-field .ql-resource-row > summary { grid-template-columns: 8rem minmax(0,1fr) 44px; gap: 1.1rem; }
  .ql-resource-identity { flex-direction: column; align-items: start; gap: .65rem; }
  .ql-light-field .ql-resource-detail { padding-left: 9.1rem; }
}
@media (max-width: 620px) {
  .ql-pathway-grid { grid-template-columns: minmax(0,1fr); gap: 2.75rem; }
  .ql-entrance .ql-pathway h2 { max-width: none; }
  .ql-pathway-number { font-size: 4.5rem; }
  .tbw-feature-inner { grid-template-columns: minmax(0,1fr); gap: 2.25rem; }
  .tbw-resource-preview { width: min(100%,22rem); padding-inline: 1.25rem; }
  .tbw-resource-feature h2 { font-size: clamp(2.3rem,9vw,3.3rem); max-width: 15ch; }
  .tbw-resource-feature:not(.tbw-home-resource) h2 { font-size: clamp(2.1rem,8vw,3.1rem); }
  .tbw-resource-feature, .tbw-home-follow, .ql-follow-feature { padding-block: 3rem; }
  .tbw-editorial-label { font-size: .8125rem; letter-spacing: .055em; margin-bottom: 1.5rem; }
  .tbw-editorial-link { gap: .8rem; letter-spacing: .01em; font-size: .8125rem; }
  .ql-light-field .ql-collection > summary { padding: 1rem; }
  .ql-light-field .ql-resource-row > summary { grid-template-columns: minmax(0,1fr) 44px; gap: 1rem .65rem; padding: 1.5rem 0; }
  .ql-resource-identity { grid-column: 1; flex-direction: row; align-items: center; gap: 1rem; }
  .ql-resource-identity img { width: 3.25rem; }
  .ql-light-field .ql-resource-heading { grid-column: 1 / -1; padding-right: .5rem; }
  .ql-light-field .ql-resource-row .ql-expand { grid-column: 2; grid-row: 1; }
  .ql-light-field .ql-resource-detail { padding: 0 0 1.75rem; }
  .ql-light-field .ql-resource-question { font-size: 1.65rem; }
  .ql-question-index .ql-question-entry { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
  .ql-question-identity { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
  .ql-index-number { font-size: 4.3rem; margin-bottom: 0; }
  .ql-question-identity .ql-identity { margin: 0; }
  .ql-question-index .ql-question-entry h2 { font-size: clamp(1.9rem,7.2vw,2.5rem); }
  .tbw-home-enriched .site-header { flex-wrap: wrap; }
  .tbw-home-enriched .wordmark { min-width: min(100%,8rem); }
  .tbw-home-enriched .footer-links { grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); }
  .tbw-home-enriched footer p { overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .tbw-home-enriched #top.hero { padding-top: 10.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .tbw-resource-preview img { transform: none; }
  :is(.tbw-resource-feature,.tbw-home-follow,.ql-pathways,.ql-light-field) * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
