.topic-page { padding-bottom: 12px; }
.info-page-layout, .info-page-bottom, .placement-plans { max-width: 1000px; }
.info-page-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 64px; padding-block: 12px 48px; }
.info-page-copy h2, .contact-note h2, .advertise-note h2, .info-page-bottom h2 { font-size: 1.9rem; line-height: 1.25; text-wrap: balance; }
.info-page-copy p, .contact-note p, .advertise-note p, .info-page-bottom p, .placement-grid p { font-size: 1rem; line-height: 1.75; }
.info-page-copy > p, .contact-note p, .advertise-note h2, .advertise-note h2 + p, .info-page-bottom p { margin-top: 18px; }
.contact-reason { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--rule); }
.contact-reason h3 { font-size: 1.4rem; line-height: 1.3; margin-bottom: 10px; color: var(--oxblood); }
.contact-note { align-self: start; padding: 24px 0 24px 28px; border-left: 1px solid var(--rule); }
.contact-note .about-brand-mark { margin-bottom: 24px; }
.advertise-note { align-self: start; padding: 28px; background: var(--dusk-blue); color: var(--paper); border-radius: 3px; }
.info-note-label { font-size: .875rem !important; letter-spacing: .05em; }
.placement-plans { padding-block: 8px 40px; }
.placement-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.placement-grid article { padding: 28px; background: #e8d6ad; border-radius: 3px; }
.placement-grid article + article { background: var(--oxblood); color: var(--paper); }
.placement-grid h3 { font-size: 1.65rem; line-height: 1.25; margin: 16px 0; text-wrap: balance; }
.info-page-bottom { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; border-top: 1px solid var(--rule); padding-block: 32px 56px; }
.info-page-link { display: inline-flex; min-height: 44px; align-items: center; align-self: start; margin-top: 18px; font-size: 1rem; text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 700px) { .info-page-layout, .placement-grid, .info-page-bottom { grid-template-columns: 1fr; gap: 28px; } .contact-note { border-left: 0; border-top: 1px solid var(--rule); padding: 24px 0; } .info-page-layout { padding-bottom: 28px; } .info-page-bottom .info-page-link { margin-top: 0; } }
.about-story, .about-expect, .about-next { max-width: 1000px; }
.about-story { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 64px; padding-block: 12px 48px; }
.about-story-copy { font-size: 1rem; line-height: 1.85; }
.about-story-copy p + p { margin-top: 22px; }
.about-opening { font: 1.65rem/1.45 var(--serif); }
.about-margin { align-self: start; padding: 32px 24px 36px; text-align: center; }
.about-margin p { font: 1.6rem/1.4 var(--serif); max-width: 240px; margin: 20px auto 0; text-wrap: balance; }
.about-brand-mark { display: block; width: 104px; height: 94px; margin-inline: auto; background: linear-gradient(to bottom, var(--ink) 65%, var(--oxblood) 65%); mask: url('assets/stacked-logo-transparent.png') center / contain no-repeat; }
.about-expect { border-top: 1px solid var(--rule); padding-block: 32px 48px; }
.about-expect > h2, .about-next h2 { font-size: clamp(1.8rem, 3vw, 2.3rem); line-height: 1.25; }
.about-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; align-items: start; padding-bottom: 18px; }
.about-principles > div { padding: 28px 24px; background: var(--dusk-blue); color: var(--paper); border-radius: 3px; }
.about-principles > div:nth-child(2) { background: var(--oxblood); margin-top: 22px; }
.about-principles > div:nth-child(3) { background: #e8d6ad; color: var(--ink); margin-top: 8px; }
.about-principles h3 { font-size: 1.5rem; line-height: 1.25; color: inherit; margin-bottom: 16px; text-wrap: balance; }
.about-principles p, .about-next p { font-size: 1rem; line-height: 1.75; }
.about-next { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding-block: 32px 48px; border-top: 1px solid var(--rule); }
.about-next p { margin-top: 12px; }
.about-next nav { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.about-next a { display: flex; align-items: center; min-height: 48px; padding: 12px 18px; border: 1px solid var(--rule); border-radius: 3px; font-size: 1rem; white-space: normal; transition: background .15s ease, border-color .15s ease; }
.about-next a:hover { background: #e8d6ad; border-color: var(--brass); }
@media (max-width: 700px) { .about-story, .about-principles, .about-next { grid-template-columns: 1fr; gap: 28px; } .about-margin { transform: none; max-width: 380px; width: 100%; justify-self: center; } .about-principles > div:nth-child(n) { margin-top: 0; } }
@media (prefers-reduced-motion: reduce) { .about-next a { transition: none; } }
.market-ticker { margin-top: 16px; }
.ticker-filter { display: flex; align-items: center; gap: 14px; padding-bottom: 12px; font-size: .875rem; }
.ticker-filter select { min-height: 44px; padding: 8px 32px 8px 12px; border: 1px solid var(--rule); background: var(--paper); color: var(--ink); font: 1rem var(--sans); }
.ticker-filter select:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 3px; }
.ticker-track li > .ticker-unit-text { font-weight: 400; }
.ticker-strip { display: flex; align-items: stretch; background: var(--dusk-blue); color: var(--paper); min-height: 48px; font: 400 .9375rem/1.5 var(--sans); }
.ticker-label { display: flex; align-items: center; padding: 10px 18px; border-right: 1px solid #485054; color: #edb49e; white-space: nowrap; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.ticker-window { flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; }
.ticker-track { display: flex; width: max-content; animation: market-scroll 110s linear infinite; }
.ticker-track ul { display: flex; flex-shrink: 0; align-items: center; gap: 32px; list-style: none; padding: 0 32px 0 0; margin: 0; }
.ticker-track li { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.ticker-track li::before { content: '·'; color: var(--brass); padding-right: 22px; }
.ticker-track strong, .ticker-track li > span { color: var(--paper); font-weight: 600; }
.ticker-pause { background: var(--dusk-blue); color: var(--paper); border: 0; border-left: 1px solid #647382; padding: 10px 16px; font-size: .75rem; min-width: 72px; }
.ticker-disclaimer { font-size: .75rem; color: #485054; padding-top: 8px; }
.ticker-window:hover .ticker-track, .ticker-window:focus-within .ticker-track, .is-paused .ticker-track { animation-play-state: paused; }
.ticker-window:focus-visible { outline: 2px solid #edb49e; outline-offset: -3px; }
@keyframes market-scroll { to { transform: translateX(-50%); } }
@media (max-width: 650px) { .ticker-label { padding-inline: 10px; font-size: .6875rem; } .ticker-pause { min-width: 60px; padding-inline: 8px; } }
@media (prefers-reduced-motion: reduce) {
  .ticker-track { animation: none; }
  .ticker-window { overflow-x: auto; }
  .ticker-track ul[aria-hidden] { display: none; }
  .ticker-pause { display: none; }
}
.context-ribbon { max-width: 1000px; margin-top: 28px; padding: 24px 28px 18px; background: #eae6dc; border-top: 2px solid var(--oxblood); }
.context-top { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.context-top h2 { font-size: 1.4rem; }
.context-preview { color: var(--oxblood); font-size: .8125rem; }
.context-numbers { display: grid; grid-template-columns: 1.1fr 1fr 1.1fr; gap: 28px; align-items: center; margin-block: 22px; }
.context-label { font-size: .875rem; }
.context-value { font: 2.6rem/1.2 var(--serif); margin-top: 8px; font-variant-numeric: tabular-nums; }
.context-value small { font: .875rem var(--sans); white-space: nowrap; }
.context-change { border-inline: 1px solid var(--rule); padding-inline: 24px; }
.context-change > span { color: var(--oxblood); font-size: 1rem; }
.context-change p, .context-explainer { font-size: .875rem; line-height: 1.6; }
.context-filters { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
.context-filters label { display: grid; gap: 6px; font-size: .875rem; flex: 1; max-width: 220px; }
.context-filters select { min-height: 44px; border: 1px solid var(--rule); background: var(--paper); color: var(--ink); font: 1rem var(--sans); padding: 8px 12px; width: 100%; }
.context-filters select:focus-visible, .context-history summary:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 4px; }
.context-history { border-top: 1px solid var(--rule); }
.context-history summary { cursor: pointer; padding-block: 14px; font-size: .875rem; }
.context-history summary span { float: right; }
.context-history[open] summary span { transform: rotate(45deg); }
.context-history figcaption { font-size: .875rem; margin-top: 8px; }
.context-chart { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); align-items: end; gap: 16px; margin-top: 24px; }
.context-bar { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: .875rem; font-variant-numeric: tabular-nums; }
.context-bar > div { width: 100%; max-width: 70px; background: var(--dusk-blue); }
.context-bar:last-child > div { background: var(--oxblood); }
.context-bar small { font-size: .8125rem; }
.context-chart-note, .context-source { font-size: .8125rem; line-height: 1.6; color: #485054; margin-top: 16px; }
@media (max-width:700px) {
  .context-ribbon { padding: 20px 18px; }
  .context-numbers { grid-template-columns: 1fr 1fr; gap: 18px; }
  .context-change { border-right: 0; padding-inline: 16px 0; }
  .context-explainer { grid-column: 1 / -1; }
  .context-chart { gap: 6px; }
  .context-bar { font-size: .75rem; }
  .context-value { font-size: 2.2rem; }
  .context-filters label { min-width: 120px; }
}
.topic-heading, .topic-content, .topic-nav { max-width: 1000px; }
.topic-heading { padding-block: 36px 32px; }
.topic-back { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.topic-heading .category { margin-top: 22px; color: var(--oxblood); font-size: .875rem; }
.topic-heading h1 { font-size: clamp(2.4rem, 5vw, 4.25rem); line-height: 1.08; letter-spacing: -.035em; max-width: 850px; margin: 12px 0 22px; text-wrap: balance; }
.topic-intro { max-width: 640px; font-size: 1.0625rem; line-height: 1.7; color: #485054; }
.topic-nav { display: flex; gap: 8px 24px; flex-wrap: wrap; border-block: 1px solid var(--rule); padding-block: 10px; }
.topic-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.topic-nav [aria-current="page"] { color: var(--oxblood); text-decoration: underline; text-underline-offset: 7px; }
.topic-content { padding-block: 40px 56px; }
.topic-feature { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 48px; align-items: start; margin-bottom: 44px; }
.topic-feature h2 { font-size: clamp(1.9rem, 3.5vw, 2.7rem); line-height: 1.18; margin: 14px 0; letter-spacing: -.025em; }
.topic-feature p { max-width: 600px; }
.topic-feature .sample-label { font-size: .875rem; color: var(--oxblood); }
.topic-feature a.read-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 18px; text-decoration: underline; text-underline-offset: 5px; }
.topic-note { border-top: 2px solid var(--oxblood); background: #eae6dc; padding: 24px; }
.topic-note p { font: 1.4rem/1.5 var(--serif); }
.topic-note small { display: block; margin-top: 18px; font-size: .875rem; }
.topic-queue-heading { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.topic-queue-heading h2 { font-size: 1.8rem; }
.topic-queue-heading p { color: #485054; font-size: .875rem; }
.topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.topic-card { border-top: 1px solid var(--rule); padding-block: 24px 30px; }
.topic-card .category { color: var(--oxblood); font-size: .875rem; letter-spacing: .06em; }
.topic-card h3 { font-size: 1.65rem; line-height: 1.25; margin: 12px 0; text-wrap: balance; }
.topic-card > p:not(.category) { color: #485054; font-size: 1rem; }
.topic-card a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; font-size: .875rem; text-decoration: underline; text-underline-offset: 4px; }
.story-topic-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; margin-top: 12px; color: var(--oxblood); }
@media (max-width: 700px) {
  .topic-heading { padding-block: 20px 28px; }
  .topic-feature { grid-template-columns: 1fr; gap: 24px; }
  .topic-grid { grid-template-columns: 1fr; }
  .topic-content { padding-block: 28px 36px; }
  .topic-nav { gap: 4px 20px; }
}

/* Dated, source-linked Market updates. */
.ticker-track a { color: var(--paper); text-decoration: none; }
.ticker-track a:hover { text-decoration: underline; }
.ticker-track a:focus-visible { outline: 2px solid #edb49e; outline-offset: 3px; }
.ticker-category { color: #edb49e; font-weight: 600; margin-right: 8px; }
.ticker-track small { font-size: .75rem; margin-left: 12px; opacity: .85; }
.ticker-window:focus-within { overflow-x: auto; }
.context-chart { overflow-x: auto; }
.context-bar { min-width: 65px; }

.legal-copy { padding-bottom: 64px; }
.legal-copy > * { max-width: 760px; }
.legal-copy h2 { font: 1.65rem/1.3 var(--serif); margin: 32px 0 12px; }
.legal-copy p { font: 1rem/1.8 var(--sans); margin-bottom: 16px; }
.legal-copy a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-copy .legal-date { color: #545b5e; font-size: .875rem; }
.footer-bottomline nav > a { font-size: .75rem; }
