/*
 * DWF Custom Theme - Chapter Hub CSS.
 *
 * Ported from Eric's reference file (Chapter-Resource-Center-HTML-FInal.html,
 * 8/17/26 session) - his own words: "an almost perfect version of what I
 * would like for these chapter hubs." Every selector is scoped under
 * .dwf-hub-wrap (the hub template's outer wrapper) so this stylesheet can
 * only ever affect Chapter Hub pages, never leak onto the rest of the
 * site. CSS custom properties are prefixed --dwf-hub-* for the same
 * reason, and use the reference file's own color values as-is - these
 * have NOT yet been reconciled against the official Style Guide palette
 * (President/House/Senate/Judicial/Agencies colors) - that reconciliation
 * is part of the deferred typography/Style Guide round, not this pass.
 *
 * Only enqueued on single Chapter Hub pages - see the wp_enqueue_scripts
 * hook in includes/chapter-hub-fields.php... actually see functions.php,
 * dwf_enqueue_chapter_hub_assets().
 */

:root{
  --dwf-hub-rust:var(--dwf-red);
  --dwf-hub-rust-2:#ad4630;
  --dwf-hub-ink:#111111;
  --dwf-hub-muted:#5f5a54;
  --dwf-hub-rule:#e6ddd7;
  --dwf-hub-soft:#faf7f4;
  --dwf-hub-paper:#ffffff;
  --dwf-hub-blue:#14233d;
  --dwf-hub-green:#1f7a43;
  --dwf-hub-red:#a5282c;
}.dwf-hub-wrap *{box-sizing:border-box}.dwf-hub-wrap html{scroll-behavior:smooth}
.dwf-hub-wrap{
  margin:0;
  background:#fff;
  color:var(--dwf-hub-ink);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}.dwf-hub-wrap a{color:inherit;text-decoration:none}.dwf-hub-wrap p{margin:0 0 18px}.dwf-hub-wrap ul{margin:0 0 20px 20px;padding:0}.dwf-hub-wrap li{margin:0 0 10px}.dwf-hub-wrap .wrap{
  max-width:1120px;
  margin:0 auto;
  padding:52px 34px 86px;
}.dwf-hub-wrap .eyebrow{
  margin:0 0 14px;
  color:var(--dwf-hub-rust);
  font-size:12px;
  line-height:1.1;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:900;
}.dwf-hub-wrap .hero{
  display:grid;
  grid-template-columns:minmax(0,0.52fr) minmax(440px,0.48fr);
  gap:42px;
  align-items:center;
  border-top:1px solid var(--dwf-hub-rule);
  padding-top:42px;
  margin-bottom:58px;
}.dwf-hub-wrap .hero-copy{max-width:560px}.dwf-hub-wrap .hero h1{
  margin:0 0 22px;
  color:var(--dwf-hub-rust);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(58px,7.25vw,92px);
  line-height:.88;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.07em;
}.dwf-hub-wrap .summary{
  max-width:550px;
  margin:0 0 24px;
  color:#1f252b;
  font-size:clamp(19px,2vw,26px);
  line-height:1.42;
  font-weight:400;
}.dwf-hub-wrap .hero-action{
  display:flex;
  justify-content:flex-end;
  max-width:550px;
}.dwf-hub-wrap .read-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:13px 26px 12px;
  border-radius:999px;
  background:#000;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}.dwf-hub-wrap .hero-art{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
}.dwf-hub-wrap .hero-art img{
  display:block;
  width:min(100%,560px);
  max-height:390px;
  object-fit:contain;
}.dwf-hub-wrap .resource-area{
  display:grid;
  grid-template-columns:minmax(300px,.42fr) minmax(0,.58fr);
  gap:52px;
  align-items:start;
  padding:46px 0 52px;
  margin:0 0 48px;
}.dwf-hub-wrap .resource-intro h2, .dwf-hub-wrap .panel h2{
  margin:0 0 14px;
  color:var(--dwf-hub-ink);
  font-size:35px;
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.045em;
}.dwf-hub-wrap .resource-intro .intro-text{
  color:#30343a;
  font-size:17px;
  line-height:1.55;
  max-width:410px;
  margin-bottom:26px;
}.dwf-hub-wrap .resource-nav{
  margin-top:26px;
}.dwf-hub-wrap .resource-link{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
  font:inherit;
}.dwf-hub-wrap .resource-link:hover .link-title, .dwf-hub-wrap .resource-link.active .link-title{color:var(--dwf-hub-rust)}.dwf-hub-wrap .resource-link.active{padding-left:0}.dwf-hub-wrap .link-title{
  display:block;
  color:#1b1b1b;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.025em;
  transition:color .18s ease;
}.dwf-hub-wrap .link-desc{
  display:block;
  margin-top:6px;
  color:var(--dwf-hub-muted);
  font-size:14px;
  line-height:1.38;
  font-weight:400;
}.dwf-hub-wrap .link-arrow{
  color:var(--dwf-hub-rust-2);
  font-size:20px;
  line-height:1;
  transform:translateY(-1px);
}.dwf-hub-wrap .stage{
  min-width:0;
  padding-top:146px;
}.dwf-hub-wrap .panel{
  display:none;
  min-height:600px;
  padding:0;
}.dwf-hub-wrap .panel.active{display:block}.dwf-hub-wrap .panel .lead{
  margin:0 0 20px;
  color:#2b3036;
  font-size:21px;
  line-height:1.42;
  font-weight:700;
  letter-spacing:-.025em;
}.dwf-hub-wrap .panel p, .dwf-hub-wrap .panel li{
  color:#30343a;
  font-size:16px;
  line-height:1.62;
}.dwf-hub-wrap .panel h3{
  margin:30px 0 10px;
  color:var(--dwf-hub-rust);
  font-size:13px;
  line-height:1.15;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-weight:900;
}.dwf-hub-wrap .note-box{
  margin:28px 0;
  padding:24px 26px;
  background:var(--dwf-hub-soft);
}.dwf-hub-wrap .note-box h3{
  margin:0 0 10px;
}.dwf-hub-wrap .note-box p{margin-bottom:0}.dwf-hub-wrap .mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:24px 0 6px;
}.dwf-hub-wrap .mini-card{
  border-top:3px solid var(--dwf-hub-blue);
  padding:16px 0 0;
}.dwf-hub-wrap .mini-card strong{
  display:block;
  margin-bottom:8px;
  color:var(--dwf-hub-rust);
  font-size:15px;
  line-height:1.2;
  font-weight:900;
}.dwf-hub-wrap .mini-card span{
  display:block;
  color:#363b42;
  font-size:14px;
  line-height:1.46;
}.dwf-hub-wrap .quiz-intro{
  color:#30343a;
  font-size:17px;
  line-height:1.55;
  margin-bottom:26px;
}.dwf-hub-wrap .quiz-card{
  padding-top:0;
}.dwf-hub-wrap .quiz-progress{
  height:5px;
  background:#ece7e2;
  overflow:hidden;
  margin:0 0 24px;
}.dwf-hub-wrap .quiz-progress span{
  display:block;
  height:100%;
  width:0;
  background:var(--dwf-hub-rust);
  transition:width .25s ease;
}.dwf-hub-wrap .qnum{
  margin:0 0 9px;
  color:var(--dwf-hub-rust);
  font-size:12px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
}.dwf-hub-wrap .qtext{
  margin:0 0 22px;
  color:#111;
  font-size:21px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.025em;
}.dwf-hub-wrap .choices{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:18px;
}.dwf-hub-wrap .choice{
  border:1px solid var(--dwf-hub-rule);
  background:#fff;
  color:#111;
  min-height:50px;
  padding:13px 18px;
  text-align:left;
  font-size:15px;
  line-height:1.2;
  font-weight:900;
  cursor:pointer;
}.dwf-hub-wrap .choice:hover{border-color:var(--dwf-hub-rust)}.dwf-hub-wrap .choice.correct{border-color:var(--dwf-hub-green);background:#eef8f1;color:var(--dwf-hub-green)}.dwf-hub-wrap .choice.wrong{border-color:var(--dwf-hub-red);background:#faeeee;color:var(--dwf-hub-red)}.dwf-hub-wrap .explain, .dwf-hub-wrap .score-box{
  display:none;
  padding:14px 0 14px 0;
  color:#30343a;
  font-size:15px;
  line-height:1.55;
}.dwf-hub-wrap .restart{
  display:none;
  margin-top:20px;
  border:0;
  background:transparent;
  color:var(--dwf-hub-rust);
  padding:0;
  font-size:13px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  cursor:pointer;
}.dwf-hub-wrap .related{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:52px;
  margin-top:28px;
}.dwf-hub-wrap .related h2{
  margin:0 0 20px;
  color:#111;
  font-size:35px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.045em;
}.dwf-hub-wrap .related-list{
}.dwf-hub-wrap .related-list a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  padding:15px 0;
  color:var(--dwf-hub-rust-2);
  font-size:17px;
  line-height:1.2;
  font-weight:900;
}.dwf-hub-wrap .related-list a::after{content:'→';font-weight:700}
@media(max-width:850px){.dwf-hub-wrap .wrap{padding:34px 22px 64px}.dwf-hub-wrap .hero, .dwf-hub-wrap .resource-area, .dwf-hub-wrap .related{grid-template-columns:1fr;gap:32px}.dwf-hub-wrap .hero{padding-top:30px;margin-bottom:42px}.dwf-hub-wrap .hero h1{font-size:clamp(50px,15vw,78px)}.dwf-hub-wrap .hero-action{justify-content:flex-start}.dwf-hub-wrap .hero-art{justify-content:flex-start}.dwf-hub-wrap .hero-art img{width:min(100%,440px)}.dwf-hub-wrap .resource-area{padding:34px 0 40px}.dwf-hub-wrap .stage{padding-top:0}.dwf-hub-wrap .panel{min-height:0}.dwf-hub-wrap .mini-grid, .dwf-hub-wrap .choices{grid-template-columns:1fr}
}

/* 3.4.8 Grok 890 — chapter-hub archive cards (Eric 10/29: white, 1px border, no kicker). */
.dwf-chapter-hub-archive .archive-card,
.post-type-archive-chapter_hub .archive-card,
.page-slug-chapter-hubs .archive-card,
.dwf-chapter-hub-cards article {
	background: #fff;
	border: 1px solid var(--dwf-rule, #e5e1d8);
	border-radius: 10px;
	padding: 20px 22px;
	box-shadow: none;
}
.dwf-chapter-hub-archive .archive-card .kicker,
.dwf-chapter-hub-archive .archive-card .eyebrow,
.post-type-archive-chapter_hub .kicker,
.page-slug-chapter-hubs .kicker,
.dwf-chapter-hub-cards .kicker {
	display: none !important;
}
.dwf-chapter-hub-archive .archive-card h2,
.dwf-chapter-hub-archive .archive-card h3 {
	font-style: italic; /* chapter area keeps italic titles */
	margin: 0 0 8px;
	color: var(--dwf-navy, #16233b);
}
