/* Shared layouts for Construct's static section pages. */
.section-content { width: min(1180px, 100%); margin: auto; padding: 3rem 2.5rem 5rem; }
.section-page h1 { font-size: clamp(2.8rem, 5.8vw, 5.7rem); line-height: 1.04; letter-spacing: -.045em; text-transform: none; }
.section-page h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.15; letter-spacing: -.025em; text-transform: none; }
.section-page h3 { font-size: 1.15rem; line-height: 1.4; margin: .8rem 0; }
.section-page p { line-height: 1.75; }
.section-lead { max-width: 720px; color: #aebfc8; font-size: 1.12rem; margin: 1.5rem 0; }
.section-meta, .section-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; color: var(--muted); font-size: .75rem; }
.section-meta { margin-bottom: 1.5rem; }
.section-footer { margin: 0 2.5rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.status-tag { display: inline-block; padding: .4rem .65rem; border: 1px solid #38605e; color: #acded2; font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.section-card { padding: 1.7rem; border: 1px solid var(--line); background: #0b151dec; }
.section-card p, .research-note p { color: var(--muted); }
.page-block { margin-top: 4rem; scroll-margin-top: 10rem; }
.three-columns { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
.card-number { font: .72rem ui-monospace, monospace; color: #8dc9bd; }
.text-link { display: inline-block; margin-top: 1rem; color: #bcebdc; border-bottom: 1px solid #53766d; padding-bottom: .35rem; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }
.section-page a:focus-visible, .construct-rail-item:focus-visible { outline: 2px solid #a7ebd9; outline-offset: 4px; }
.article-header { max-width: 900px; }
.article-header h1 { font-family: Georgia, serif; font-weight: 400; font-size: clamp(3rem, 6vw, 6rem); }
.article-byline { display: flex; gap: 1.5rem; flex-wrap: wrap; padding: 1.5rem 0; color: #a9b5bb; font-size: .8rem; border-top: 1px solid var(--line); }
.article-figure { margin: 1.5rem 0 3rem; }
.editorial-art { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 290px; padding: 2rem; overflow: hidden; background: linear-gradient(135deg, #243b43, #10232c 65%, #386364); }
.editorial-art > span { font: clamp(2rem, 5vw, 4.8rem) Georgia, serif; letter-spacing: .08em; color: #e0e5d6; z-index: 1; }
.editorial-art small { z-index: 1; text-transform: uppercase; letter-spacing: .15em; }
.building-lines { position: absolute; width: 65%; height: 85%; right: -4%; bottom: -25%; transform: skewY(-12deg); border: 1px solid #789c9d; background: repeating-linear-gradient(90deg, transparent 0 35px, #8aaead55 36px 38px), repeating-linear-gradient(0deg, #142c34 0 26px, #87aaa955 27px 28px); box-shadow: -25px -22px 0 #122d35; }
.article-figure figcaption { color: var(--muted); font-size: .72rem; margin-top: .75rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(220px, 1fr); gap: 4rem; }
.article-body { max-width: 720px; }
.article-body h2 { font-family: Georgia, serif; font-weight: 400; margin: 2rem 0 1rem; scroll-margin-top: 10rem; }
.article-body p { color: #b9c6cc; font-size: 1.06rem; }
.article-body .article-intro { font-size: 1.3rem; color: #e1e8e9; }
.article-body blockquote { margin: 2rem 0; border-left: 2px solid #afcbb7; padding: .5rem 1.5rem; font: 1.6rem/1.5 Georgia, serif; color: #d7e4dc; }
.article-sidebar > a { display: block; padding: 1rem 0; border-top: 1px solid var(--line); font-size: .8rem; }
.article-sidebar .section-card { margin-top: 2rem; }
.trader-hero { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(300px,1fr); gap: 3rem; align-items: center; }
.trader-hero h1 { margin-top: 1.5rem; }
.trader-hero em { color: #a5e8d3; font-style: normal; }
.strategy-preview { border: 1px solid #36564f; background: linear-gradient(145deg,#102c2c,#0a131d); padding: 1.7rem; box-shadow: 0 25px 90px #0005; }
.prompt-example { padding: 1.4rem; border: 1px solid #86b4a74d; background: #c2f5dd08; font-size: 1.18rem; color: #d1e8e0; }
.reasoning-step { display: flex; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--line); }
.reasoning-step > span { font: .75rem monospace; color: #8cd0bb; }
.reasoning-step strong { font-size: .9rem; }
.reasoning-step p { font-size: .82rem; color: var(--muted); margin: .4rem 0 0; }
.preview-bottom { margin-top: 1.5rem; color: #9ab6ac; font-size: .68rem; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #9acaad; margin-right: .4rem; }
.api-section { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.signal-tabs { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; border-bottom: 1px solid var(--line); margin-bottom: 3rem; }
.signal-tabs a { padding: .8rem 0; font-size: .82rem; color: var(--muted); border-bottom: 2px solid transparent; }
.signal-tabs a[aria-current], .signal-tabs a:hover { color: #bfe8ce; border-color: #bfe8ce; }
.signal-heading h1 { max-width: 800px; }
.signal-stats { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid var(--line); margin-top: 2.5rem; }
.signal-stats > div { padding: 1.5rem 1rem; border-right: 1px solid var(--line); }
.signal-stats > div:last-child { border-right: 0; }
.signal-stats span { display: block; font: .7rem monospace; text-transform: uppercase; color: var(--muted); margin-bottom: .75rem; }
.signal-stats strong { font-size: clamp(1rem,2vw,1.6rem); font-weight: 500; }
.signal-list { border-top: 1px solid var(--line); }
.signal-row { display: grid; grid-template-columns: 2rem 1fr auto 1rem; align-items: center; gap: 1.5rem; padding: 1.3rem 1rem; border-bottom: 1px solid var(--line); transition: background .15s; }
.signal-row:hover { background: #aee8ce08; }
.signal-row h3 { margin: 0; }
.signal-row p { margin: .35rem 0 0; color: var(--muted); font-size: .85rem; }
.row-number, .row-status { color: #a3c4b1; font: .7rem monospace; }
.research-note { border-left: 2px solid #8fac98; padding: 1rem 1.5rem; margin-top: 3rem; max-width: 780px; }
.empty-feed { text-align: center; padding: 3rem 1rem; max-width: 600px; margin: auto; }
.empty-symbol { color: #a1c8b3; font-size: 3rem; }
.empty-feed .button { margin-top: 1rem; }
.launch-hero { min-height: 65vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1.5rem; }
@media (max-width: 1100px) { .trader-hero { grid-template-columns: 1fr; } .strategy-preview { max-width: 650px; } }
/* Keep the expanded mobile navigation above, rather than over, page content. */
@media (max-width: 920px) {
  .construct-rail, .construct-rail:hover, .construct-rail:focus-within { position: relative; flex-wrap: wrap; }
  .construct-rail-nav { flex: 1 1 100%; gap: .3rem; }
  .construct-rail-item { width: auto; padding: .6rem; gap: .5rem; }
  .construct-breadcrumb-bar { position: relative; top: auto; left: auto; min-height: 3.5rem; flex-wrap: wrap; }
  .construct-shell { padding-top: 0; }
  .section-content { padding: 2rem 1.25rem 3rem; }
  .article-layout { gap: 2rem; }
  .three-columns { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .article-layout, .api-section { grid-template-columns: 1fr; }
  .section-meta { gap: .75rem; }
  .construct-breadcrumb-link, .construct-breadcrumb-current { font-size: .63rem; letter-spacing: .05em; }
  .construct-rail-icon { width: 1rem; height: 1rem; }
  .signal-row { grid-template-columns: 1.5rem 1fr 1rem; gap: .6rem; padding-inline: 0; }
  .row-status { display: none; }
  .signal-stats > div { padding: 1rem .5rem; }
  .signal-stats span { font-size: .6rem; }
  .editorial-art { min-height: 230px; padding: 1.25rem; }
  .section-footer { margin-inline: 1.25rem; }
}
.construct-rail-item { cursor: pointer; }

/* Western PA / Eastern Ohio research library. Content remains readable without JS. */
.research-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 3rem; align-items: start; }
.research-sidebar { position: sticky; top: 6rem; }
.research-sidebar nav > a { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; padding: 1rem 0; border-top: 1px solid var(--line); font-size: .85rem; line-height: 1.5; }
.research-sidebar nav > a:hover { color: #a5e8d3; }
.research-sidebar small { flex-shrink: 0; color: #9aaeb7; font: .68rem ui-monospace, monospace; }
.research-source-note { margin-top: 1.8rem; color: #91a4ae; font-size: .76rem; }
.research-controls { margin-bottom: 2.5rem; }
.research-search-row { display: flex; gap: .75rem; margin-top: .7rem; }
.research-controls input { flex: 1; }
.research-controls .button { cursor: pointer; }
#research-count { font-size: .76rem; color: var(--muted); margin: .75rem 0 0; }
.research-category { margin-bottom: 3.5rem; scroll-margin-top: 6rem; }
.research-category-header { padding-bottom: 1.5rem; border-bottom: 1px solid #74998e; }
.research-category-header .eyebrow { font-size: .68rem; margin-bottom: .7rem; }
.research-category-header h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); }
.research-entry { padding: 1.75rem 0; border-bottom: 1px solid var(--line); scroll-margin-top: 6rem; }
.research-entry:target { background: #b5e6ca09; outline: 1px solid #6c9688; outline-offset: .65rem; }
.research-entry-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: #a6c3ba; font-size: .7rem; line-height: 1.5; }
.section-page .research-entry h3 { font-size: 1.3rem; line-height: 1.4; margin: .7rem 0; }
.research-entry h3 a:hover { color: #a5e8d3; }
.external-arrow { color: #8bac9f; white-space: nowrap; font-size: .9rem; }
.research-entry p { color: #acbcc4; font-size: .93rem; margin: .75rem 0 1rem; }
.research-entry-footer { display: flex; justify-content: space-between; gap: 1rem; color: #8e9fa8; font-size: .7rem; overflow-wrap: anywhere; }
.research-entry-footer a { color: #b2cdc3; }
.research-empty { border: 1px solid var(--line); padding: 2rem; color: var(--muted); }
.research-controls[hidden], .research-entry[hidden], .research-category[hidden], .research-empty[hidden] { display: none; }
@media (max-width: 920px) { .research-sidebar { position: static; } .research-layout { grid-template-columns: 1fr; gap: 2rem; } .research-sidebar nav { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.5rem; } .research-sidebar .eyebrow { grid-column: 1 / -1; } }
@media (max-width: 480px) { .research-sidebar nav { grid-template-columns: 1fr; } .research-search-row { flex-wrap: wrap; } .research-search-row input { flex-basis: 100%; } }
