/* ============================================================================
   ls_evergreen.css — shared external stylesheet for DG4 EVERGREEN topic pages
   (/<state>-<topic>/ fleet).

   LIVES IN THE THEME: assets/css/ls_evergreen.css, created/pasted manually by
   the owner via Ghost Admin > Design > Edit theme (theme files are not
   API-writable). Served at https://hoaweekly.com/assets/css/ls_evergreen.css

   SOURCE OF TRUTH: theme-mirror/assets/css/ls_evergreen.css in the repo.
   DELIVERY: ONE sitewide <link> in Ghost Admin > Settings > Code Injection >
   Site Header (pages carry NO css links of their own). Any change here must
   be re-pasted into the theme by the owner AND the ?v= number bumped in that
   ONE injection line. (Why ?v= at all: Ghost(Pro) neither refreshes its
   {{asset}} hash nor purges the CDN on theme-editor saves, and theme assets
   are browser-cached for 1 year — verified 2026-08-05.)
   This file is loaded SITEWIDE: every selector is either #hw-solar-scoped,
   element-scoped (.hw-ticker-mirror), or gated by body:has(#hw-solar), so it
   is inert on non-evergreen pages.

   Content below is the verbatim HW-SOLAR-STYLE block formerly embedded in
   each page's HTML (pilot: alabama-pet-restrictions, 2026-08-05). The
   "ALASKA STATE PAGE" banner is a template artifact — this CSS is the
   shared evergreen-fleet stylesheet, kept byte-identical for the migration.
   ========================================================================= */
/* ============ HW DG4 ALASKA STATE PAGE ============ */
#hw-solar, #hw-solar * { box-sizing: border-box; margin: 0; padding: 0; }
#hw-solar {
  --bg: #0b0e14;
  --bg-deep: #080a0f;
  --bg-panel: rgba(19, 24, 34, 0.82);
  --gold: #ac7d46;
  --gold-bright: #e0a04c;
  --gold-dim: rgba(172, 125, 70, 0.55);
  --ink: #f4f1e9;
  --ink-dim: #aab1bd;
  --ink-faint: #7e8694;
  --hairline: rgba(255, 255, 255, 0.08);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-family: var(--sans);
  background: var(--bg);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
#hw-solar a { text-decoration: none; color: inherit; }
#hw-solar .hw-wrap { max-width: 1480px; margin: 0 auto; padding: 0 44px; }
#hw-solar .hw-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--gold); display: inline-block; flex: none;
  box-shadow: 0 0 6px rgba(172, 125, 70, 0.8);
}

/* ---------- header ---------- */
#hw-solar .hw-header {
  display: flex; align-items: center;
  padding-top: 22px; padding-bottom: 22px;
}
#hw-solar .hw-logo { display: flex; align-items: baseline; gap: 10px; }
#hw-solar .hw-logo .hw-logo-hoa {
  font-family: var(--serif); font-weight: 700;
  font-size: 34px; letter-spacing: 0.01em; color: #fff; line-height: 1;
}
#hw-solar .hw-logo .hw-logo-weekly {
  font-size: 13px; letter-spacing: 0.42em; text-transform: uppercase;
  color: var(--gold); font-weight: 500;
}
#hw-solar .hw-nav {
  display: flex; gap: 38px; margin-left: 92px;
  font-size: 12.5px; letter-spacing: 0.13em; text-transform: uppercase; font-weight: 500;
}
#hw-solar .hw-nav a { color: rgba(244, 241, 233, 0.92); padding: 6px 0; }
#hw-solar .hw-nav a:hover { color: var(--gold-bright); }
#hw-solar .hw-nav a.hw-nav-here { color: var(--gold); }
#hw-solar .hw-header-right { margin-left: auto; display: flex; align-items: center; gap: 22px; }
#hw-solar .hw-search-btn { display: inline-flex; color: rgba(244, 241, 233, 0.9); cursor: pointer; }
#hw-solar .hw-signin { font-size: 13px; letter-spacing: 0.09em; text-transform: uppercase; font-weight: 500; color: rgba(244, 241, 233, 0.92); }
#hw-solar .hw-header-div { width: 1px; height: 22px; background: rgba(255, 255, 255, 0.22); }
#hw-solar .hw-btn-gold {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  background: var(--gold); color: #fff;
  font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600;
  padding: 12px 24px; border-radius: 4px; border: none; cursor: pointer;
  font-family: var(--sans);
}
#hw-solar .hw-btn-gold:hover { background: var(--gold-bright); }

/* ---------- hero (capitol plate + grade, headline left) ---------- */
#hw-solar .hw-hero {
  position: relative;
  background-color: var(--bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  overflow: hidden;
}
#hw-solar .hw-hero-bg {
  /* NO image URLs in this file (owner rule): each page sets its own hero
     via an inline style on the .hw-hero-bg div — background-image plus its
     per-plate background-position crop tune. */
  position: absolute; inset: 0;
  background-size: cover;
}
#hw-solar .hw-hero-grade {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(11, 14, 20, 0.3) 0%, rgba(11, 14, 20, 0.02) 34%, rgba(10, 12, 16, 0.45) 82%, #0a0c10 100%),
    linear-gradient(90deg, #0b0e14 0%, rgba(11, 14, 20, 0.85) 27%, rgba(11, 14, 20, 0.16) 52%, rgba(11, 14, 20, 0) 78%);
}
#hw-solar .hw-hero-in { position: relative; z-index: 2; }
#hw-solar .hw-hero-body { padding-top: 96px; padding-bottom: 132px; }
#hw-solar .hw-eyebrow {
  font-size: 13px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); font-weight: 600;
}
#hw-solar .hw-eyebrow-rule { width: 54px; height: 2px; background: var(--gold); margin-top: 14px; }
#hw-solar .hw-h1 {
  font-family: var(--serif); font-weight: 400;
  font-size: 47px; line-height: 1.15; letter-spacing: 0.002em;
  color: #fbf9f4; max-width: 680px; margin-top: 22px;
  text-shadow: 0 2px 24px rgba(8, 10, 15, 0.55);
}

/* ---------- stat strip ---------- */
#hw-solar .hw-statstrip { background: #0a0c10; padding: 44px 0 8px; }
#hw-solar .hw-updates-head { display: flex; align-items: center; gap: 18px; margin-bottom: 30px; }
#hw-solar .hw-updates-title {
  font-size: 13.5px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); font-weight: 700;
}
#hw-solar .hw-updates-rule { width: 62px; height: 1px; background: rgba(172, 125, 70, 0.6); }
#hw-solar .hw-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
#hw-solar .hw-stat {
  padding: 20px 18px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
#hw-solar .hw-stat-num {
  font-family: var(--serif); font-size: 34px; line-height: 1; color: #f5f2ea;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
#hw-solar .hw-stat-num svg { color: var(--gold); opacity: 0.85; flex: none; }
#hw-solar .hw-stat-label {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin-top: 9px;
}
#hw-solar .hw-stat-desc { font-size: 12.5px; line-height: 1.5; color: var(--ink-faint); margin-top: 8px; }

/* ---------- article shell + "On this page" rail ---------- */
#hw-solar .hw-article { background: #0a0c10; padding: 50px 0 70px; }
#hw-solar .hw-article-lay {
  display: grid; grid-template-columns: minmax(0, 1fr) 250px;
  gap: 52px; align-items: start;
}
#hw-solar .hw-article-in { max-width: 1100px; min-width: 0; }
#hw-solar .hw-toc-rail { position: sticky; top: 84px; }
#hw-solar .hw-toc-panel {
  padding: 20px 22px 22px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--hairline);
  max-height: calc(100vh - 120px); overflow-y: auto;
}
#hw-solar .hw-toc-kicker {
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin-bottom: 12px;
}
#hw-solar .hw-toc-list { list-style: none; }
#hw-solar .hw-toc-list a {
  display: block; font-size: 13px; line-height: 1.45;
  color: var(--ink-dim); padding: 5px 0 5px 12px;
  border-left: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
}
#hw-solar .hw-toc-list .hw-toc-h3 a {
  padding-left: 28px; font-size: 12.5px; color: var(--ink-faint);
}
#hw-solar .hw-toc-list a:hover { color: var(--gold-bright); }
#hw-solar .hw-toc-list a.hw-toc-here {
  color: var(--gold); border-left-color: var(--gold); font-weight: 600;
}
/* anchor jumps land clear of the sticky notice bar */
#hw-solar .hw-article h2[id], #hw-solar .hw-article h3[id] { scroll-margin-top: 92px; }

/* neutralize the site's global bare-element rules (h2 border-bottom,
   h4 uppercase) that would otherwise leak into this page's content */
#hw-solar h2 { border-bottom: none; padding-bottom: 0; }
#hw-solar h4 { text-transform: none; letter-spacing: normal; }

/* section headers: the source h2s, worn as DG4 gold-caps headers */
#hw-solar .hw-article h2 {
  display: flex; align-items: center; gap: 18px;
  font-family: var(--sans); font-weight: 700;
  font-size: 13.5px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-top: 66px;
}
#hw-solar .hw-article h2::after {
  content: ""; width: 62px; height: 1px; background: rgba(172, 125, 70, 0.6); flex: none;
}
#hw-solar .hw-article-in > h2:first-child { margin-top: 0; }
#hw-solar .hw-article h3 {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: 15px; color: var(--gold); margin-top: 44px;
}
#hw-solar .hw-article h4 {
  font-family: var(--sans); font-weight: 600;
  font-size: 12.5px; letter-spacing: 0.04em;
  color: rgba(244, 241, 233, 0.88);
  margin-top: 38px; line-height: 1.5;
}
#hw-solar .hw-article h4::before {
  content: ""; display: inline-block; width: 18px; height: 1px;
  background: rgba(172, 125, 70, 0.6); margin-right: 10px; vertical-align: middle;
}
#hw-solar .hw-article-in > p {
  font-size: 16.5px; line-height: 1.75; color: var(--ink-dim);
  max-width: 880px; margin-top: 20px;
}
#hw-solar .hw-article-in > p strong { color: var(--ink); font-weight: 600; }
#hw-solar .hw-article-in > p a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
#hw-solar .hw-article-in > p a:hover { color: var(--gold-bright); }
/* internal-links panel (skill_internal-linking block, DG4-skinned) */
#hw-solar .hw-article-in > section { max-width: 880px; }
#hw-solar .hw-article-in section ul { list-style: none; }
#hw-solar .hw-article-in section ul li { margin-top: 8px; font-size: 14.5px; }
#hw-solar .hw-article-in section ul li::before {
  content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold); margin-right: 11px; vertical-align: 2px;
  box-shadow: 0 0 5px rgba(172, 125, 70, 0.7);
}
#hw-solar .hw-article-in section a { color: rgba(244, 241, 233, 0.92); }
#hw-solar .hw-article-in section a:hover { color: var(--gold-bright); }
#hw-solar .hw-article-in section p a { color: var(--gold); font-weight: 600; }
#hw-solar .hw-article sup { font-size: 11px; line-height: 0; }
#hw-solar .hw-article sup a { color: var(--gold); }
#hw-solar .hw-article sup a:hover { color: var(--gold-bright); }

/* section 2's resource list -> card grid */
#hw-solar .hw-article-in > ul {
  list-style: none; margin-top: 26px;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 13px;
}
#hw-solar .hw-article-in > ul > li {
  padding: 22px 24px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--hairline);
  font-size: 14px; line-height: 1.65; color: var(--ink-dim);
  transition: border-color 0.25s ease;
}
#hw-solar .hw-article-in > ul > li:hover { border-color: var(--gold-dim); }
#hw-solar .hw-article-in > ul > li strong {
  display: block; font-family: var(--serif); font-weight: 400;
  font-size: 18.5px; line-height: 1.35; color: #fbf9f4; margin-bottom: 8px;
}
#hw-solar .hw-article-in > ul > li a { color: var(--gold); }
#hw-solar .hw-article-in > ul > li a:hover { color: var(--gold-bright); }

/* ---------- statute-era timeline (chrome graphic) ---------- */
#hw-solar .hw-statline {
  margin-top: 46px; padding: 28px 32px 30px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--hairline); border-radius: 10px;
  max-width: 1020px;
}
#hw-solar .hw-statline-kicker {
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); font-weight: 700;
}
#hw-solar .hw-statline-cap { font-size: 13.5px; color: var(--ink-faint); margin-top: 7px; }
#hw-solar .hw-statline-track { display: flex; align-items: center; gap: 30px; margin-top: 26px; }
#hw-solar .hw-statline-era { flex: 1; min-width: 0; }
#hw-solar .hw-statline-era:first-child { text-align: right; }
#hw-solar .hw-statline-ch { font-family: var(--serif); font-weight: 400; font-size: 20px; color: #fbf9f4; }
#hw-solar .hw-statline-act { font-size: 13.5px; color: var(--ink-dim); margin-top: 5px; }
#hw-solar .hw-statline-when {
  font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold); font-weight: 600; margin-top: 9px;
}
#hw-solar .hw-statline-mid { flex: none; width: 190px; text-align: center; }
#hw-solar .hw-statline-rule { position: relative; height: 1px; }
#hw-solar .hw-statline-fill {
  display: block; height: 1px;
  background: linear-gradient(90deg, rgba(172, 125, 70, 0), var(--gold) 30%, var(--gold) 70%, rgba(172, 125, 70, 0));
}
#hw-solar .hw-statline-rule::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 9px; height: 9px; border-radius: 50%;
  transform: translate(-50%, -50%);
  background: var(--gold); box-shadow: 0 0 8px rgba(172, 125, 70, 0.9);
}
#hw-solar .hw-statline.hw-pre .hw-statline-fill { transform: scaleX(0); }
#hw-solar .hw-statline.hw-go .hw-statline-fill {
  transform: scaleX(1); transition: transform 0.7s ease-out;
}
#hw-solar .hw-statline-year { font-family: var(--serif); font-size: 31px; color: #f5f2ea; margin-top: 13px; line-height: 1; }
#hw-solar .hw-statline-yearcap {
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--ink-faint); font-weight: 600; margin-top: 6px;
}

/* ---------- compliance topics grid (source markup, DG4 skin) ---------- */
#hw-solar #hwak-topic-cards-section { display: block; margin-top: 0; }
#hw-solar .hwak-topics-groups {
  margin-top: 26px; display: grid; grid-template-columns: 1fr 1fr;
  gap: 26px 46px; align-items: start;
}
#hw-solar .hwak-topics-section-header { display: flex; align-items: center; gap: 11px; }
#hw-solar .hwak-topics-section-dot {
  width: 7px; height: 7px; border-radius: 50%; flex: none;
  background: var(--gold); box-shadow: 0 0 6px rgba(172, 125, 70, 0.8);
}
#hw-solar .hwak-topics-section-label {
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: rgba(244, 241, 233, 0.92); font-weight: 600;
}
#hw-solar .hwak-topics-section-count {
  font-size: 10.5px; letter-spacing: 0.08em; color: var(--ink-faint);
  border: 1px solid var(--hairline); border-radius: 999px; padding: 2px 9px;
}
#hw-solar .hwak-topics-grid-v2 { margin-top: 6px; display: block; }
#hw-solar .hwak-topic-card {
  display: flex; align-items: center; gap: 12px;
  padding: 9px 2px; border-bottom: 1px solid var(--hairline);
  background: none; border-radius: 0;
  transition: border-color 0.25s ease;
}
#hw-solar .hwak-topic-card:hover { border-bottom-color: var(--gold-dim); }
#hw-solar .hwak-topic-icon { display: inline-flex; color: var(--gold); flex: none; }
#hw-solar .hwak-topic-icon svg { width: 16px; height: 16px; stroke-width: 1.5; }
#hw-solar .hwak-topic-title { flex: 1; min-width: 0; font-size: 14px; font-weight: 500; color: rgba(244, 241, 233, 0.92); }
#hw-solar .hwak-topic-card:hover .hwak-topic-title { color: var(--gold-bright); }
#hw-solar .hwak-topic-cat {
  flex: none; font-size: 9px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--ink-faint); margin: 0;
}

/* ---------- guides-per-category bars (chrome; counts from the grid headers) ---------- */
#hw-solar .hw-catbars { margin: 24px 0 4px; max-width: 560px; display: flex; flex-direction: column; gap: 9px; }
#hw-solar .hw-catbar { display: grid; grid-template-columns: 148px 1fr 22px; align-items: center; gap: 13px; }
#hw-solar .hw-catbar-label {
  font-size: 10.5px; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--ink-dim); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#hw-solar .hw-catbar-track { height: 6px; border-radius: 999px; background: rgba(255, 255, 255, 0.06); overflow: hidden; }
#hw-solar .hw-catbar-fill {
  display: block; height: 100%; border-radius: 999px;
  background: var(--gold); transform-origin: left;
}
#hw-solar .hw-catbars.hw-pre .hw-catbar-fill { transform: scaleX(0); }
#hw-solar .hw-catbars.hw-go .hw-catbar-fill { transform: scaleX(1); transition: transform 0.7s ease-out; }
#hw-solar .hw-catbars.hw-go .hw-catbar:nth-child(3) .hw-catbar-fill { transition-delay: 0.06s; }
#hw-solar .hw-catbars.hw-go .hw-catbar:nth-child(4) .hw-catbar-fill { transition-delay: 0.12s; }
#hw-solar .hw-catbars.hw-go .hw-catbar:nth-child(5) .hw-catbar-fill { transition-delay: 0.18s; }
#hw-solar .hw-catbars.hw-go .hw-catbar:nth-child(6) .hw-catbar-fill { transition-delay: 0.24s; }
#hw-solar .hw-catbars.hw-go .hw-catbar:nth-child(7) .hw-catbar-fill { transition-delay: 0.3s; }
#hw-solar .hw-catbar-n { font-size: 12.5px; color: var(--ink-faint); font-family: var(--serif); text-align: right; }

/* ---------- bill / case / reg cards (source markup, DG4 skin) ---------- */
#hw-solar .hwak-bill-card, #hw-solar .hwak-case-card, #hw-solar .hwak-reg-card {
  margin-top: 24px; border-radius: 10px; overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--hairline);
}
#hw-solar .hwak-bill-card-header, #hw-solar .hwak-case-card-header, #hw-solar .hwak-reg-card-header {
  display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 13px 26px; background: rgba(255, 255, 255, 0.02);
}
#hw-solar .hwak-bill-status, #hw-solar .hwak-case-status, #hw-solar .hwak-reg-status,
#hw-solar .hwak-bill-verified, #hw-solar .hwak-case-verified, #hw-solar .hwak-reg-verified {
  display: flex; align-items: center; gap: 9px;
  font-size: 10.5px; letter-spacing: 0.13em; text-transform: uppercase;
}
#hw-solar .hwak-bill-status-dot, #hw-solar .hwak-case-status-dot, #hw-solar .hwak-reg-status-dot {
  width: 8px; height: 8px; border-radius: 50%; flex: none;
}
#hw-solar .hwak-dot-signed, #hw-solar .hwak-dot-final, #hw-solar .hwak-dot-current {
  background: var(--gold); box-shadow: 0 0 6px rgba(172, 125, 70, 0.8);
}
#hw-solar .hwak-dot-pending { background: transparent; border: 1.5px solid var(--gold); }
#hw-solar .hwak-bill-status-label, #hw-solar .hwak-case-status-label, #hw-solar .hwak-reg-status-label,
#hw-solar .hwak-bill-verified-label, #hw-solar .hwak-case-verified-label, #hw-solar .hwak-reg-verified-label {
  color: var(--ink-faint); font-weight: 600;
}
#hw-solar .hwak-bill-status-value, #hw-solar .hwak-case-status-value, #hw-solar .hwak-reg-status-value {
  color: var(--ink); font-weight: 700;
}
#hw-solar .hwak-bill-verified-icon, #hw-solar .hwak-case-verified-icon, #hw-solar .hwak-reg-verified-icon {
  color: var(--gold); font-size: 14px; line-height: 1;
}
#hw-solar .hwak-bill-verified-value, #hw-solar .hwak-case-verified-value, #hw-solar .hwak-reg-verified-value {
  color: var(--ink-dim); font-weight: 500;
}
#hw-solar .hwak-bill-card-accent, #hw-solar .hwak-case-card-accent, #hw-solar .hwak-reg-card-accent {
  height: 2px; background: linear-gradient(90deg, var(--gold), rgba(172, 125, 70, 0)); opacity: 0.75;
}
#hw-solar .hwak-bill-card-body, #hw-solar .hwak-case-card-body, #hw-solar .hwak-reg-card-body {
  padding: 26px 28px 28px;
}
#hw-solar .hwak-bill-card-top, #hw-solar .hwak-case-card-top, #hw-solar .hwak-reg-card-top {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap;
}
#hw-solar .hwak-bill-docket-block, #hw-solar .hwak-case-docket-block, #hw-solar .hwak-reg-docket-block {
  min-width: 0; flex: 1 1 380px;
}
#hw-solar .hwak-bill-docket-label, #hw-solar .hwak-case-docket-label, #hw-solar .hwak-reg-docket-label {
  font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); font-weight: 700;
}
#hw-solar .hwak-bill-docket-id, #hw-solar .hwak-case-docket-id, #hw-solar .hwak-reg-docket-id {
  font-family: var(--serif); font-weight: 400;
  font-size: 23px; line-height: 1.3; color: #fbf9f4; margin-top: 8px;
}
#hw-solar .hwak-bill-docket-session {
  font-family: var(--sans); font-size: 12.5px; letter-spacing: 0.02em; color: var(--ink-faint);
}
#hw-solar .hwak-case-subtitle, #hw-solar .hwak-reg-subtitle {
  font-size: 12.5px; color: var(--ink-faint); margin-top: 7px;
}
#hw-solar .hwak-bill-side-boxes, #hw-solar .hwak-case-side-boxes, #hw-solar .hwak-reg-side-boxes {
  display: flex; gap: 10px; flex: none;
}
#hw-solar .hwak-bill-side-box, #hw-solar .hwak-case-side-box, #hw-solar .hwak-reg-side-box {
  border: 1px solid var(--hairline); border-radius: 8px; padding: 10px 16px;
  min-width: 112px; background: rgba(255, 255, 255, 0.02);
}
#hw-solar .hwak-bill-side-label, #hw-solar .hwak-case-side-label, #hw-solar .hwak-reg-side-label {
  font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-faint); font-weight: 600;
}
#hw-solar .hwak-bill-side-value, #hw-solar .hwak-case-side-value, #hw-solar .hwak-reg-side-value {
  font-size: 13.5px; color: var(--ink); margin-top: 5px; white-space: nowrap;
}
#hw-solar .hwak-bill-title {
  font-family: var(--serif); font-style: italic; font-weight: 400;
  font-size: 17px; line-height: 1.5; color: var(--ink-dim);
  margin-top: 18px; max-width: 780px;
}
#hw-solar .hwak-bill-divider, #hw-solar .hwak-case-divider, #hw-solar .hwak-reg-divider {
  border: none; border-top: 1px solid var(--hairline); margin: 22px 0 0;
}
#hw-solar .hwak-bill-section-label, #hw-solar .hwak-case-section-label, #hw-solar .hwak-reg-section-label {
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; margin-top: 22px;
}
#hw-solar .hwak-bill-synopsis, #hw-solar .hwak-case-synopsis, #hw-solar .hwak-reg-synopsis {
  font-size: 15px; line-height: 1.7; color: var(--ink-dim); margin-top: 10px; max-width: 880px;
}
#hw-solar .hwak-bill-footnote-ref, #hw-solar .hwak-case-footnote-ref, #hw-solar .hwak-reg-footnote-ref {
  color: var(--gold); font-size: 11px; vertical-align: super; margin-left: 2px;
}
#hw-solar .hwak-bill-footnote-ref:hover, #hw-solar .hwak-case-footnote-ref:hover, #hw-solar .hwak-reg-footnote-ref:hover {
  color: var(--gold-bright);
}
#hw-solar .hwak-bill-impact-title, #hw-solar .hwak-case-impact-title, #hw-solar .hwak-reg-impact-title {
  font-size: 13.5px; font-weight: 600; color: var(--ink); margin-top: 10px;
}
#hw-solar .hwak-bill-impact-table, #hw-solar .hwak-case-impact-table, #hw-solar .hwak-reg-impact-table {
  width: 100%; border-collapse: collapse; margin-top: 12px;
}
#hw-solar .hwak-bill-impact-table td, #hw-solar .hwak-case-impact-table td, #hw-solar .hwak-reg-impact-table td {
  padding: 13px 16px 13px 0; border-top: 1px solid var(--hairline);
  vertical-align: top; font-size: 14px; line-height: 1.65; color: var(--ink-dim);
}
#hw-solar .hwak-bill-impact-role, #hw-solar .hwak-case-impact-role, #hw-solar .hwak-reg-impact-role {
  width: 225px; padding-right: 26px !important; white-space: nowrap;
  font-size: 11px !important; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold) !important; font-weight: 700; padding-top: 16px !important;
}
#hw-solar .hwak-bill-highlight, #hw-solar .hwak-case-highlight, #hw-solar .hwak-reg-highlight {
  color: var(--gold);
}

/* ---------- plain source-content tables (unclassed <table> straight from the article) ---------- */
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) {
  width: 100%; max-width: 880px; table-layout: fixed; border-collapse: collapse; margin: 32px 0; font-size: 14px; line-height: 1.6;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) th,
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) td {
  padding: 13px 20px 13px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--hairline);
  overflow-wrap: break-word; word-break: break-word;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) th:first-child,
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) td:first-child {
  width: 220px;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) thead th {
  padding-top: 0; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; border-bottom: 1px solid var(--gold-dim);
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tbody td:first-child,
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tbody th:first-child {
  color: var(--ink); font-weight: 600; text-align: left;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tbody td:last-child {
  color: var(--ink-dim);
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tbody tr:last-child td {
  border-bottom: none;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) a {
  color: var(--gold); text-decoration: underline; text-underline-offset: 2px;
}
#hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) a:hover {
  color: var(--gold-bright);
}

/* ---------- footnotes ---------- */
#hw-solar ol.hwak-footnotes {
  list-style: none; counter-reset: hwfn; margin-top: 26px;
  column-count: 2; column-gap: 52px;
  font-size: 13px; line-height: 1.6; color: var(--ink-faint);
}
#hw-solar ol.hwak-footnotes li {
  counter-increment: hwfn; position: relative; padding-left: 32px;
  margin-bottom: 12px; break-inside: avoid;
}
#hw-solar ol.hwak-footnotes li::before {
  content: counter(hwfn);
  position: absolute; left: 0; top: 1px;
  width: 20px; height: 20px; border-radius: 50%;
  border: 1px solid var(--hairline);
  color: var(--gold); font-size: 10px; line-height: 18px; text-align: center;
}
#hw-solar ol.hwak-footnotes a { color: var(--ink-faint); }
#hw-solar ol.hwak-footnotes a:hover { color: var(--gold-bright); }
#hw-solar ol.hwak-footnotes a[href^="#ref"] { color: var(--gold); }

/* ---------- subscribe band (signup card text, DG4 skin) ---------- */
#hw-solar .hw-subscribe {
  position: relative; text-align: center;
  background:
    radial-gradient(ellipse 760px 320px at 50% 0%, rgba(172, 125, 70, 0.07), rgba(172, 125, 70, 0) 65%),
    var(--bg);
  border-top: 1px solid var(--hairline);
  padding: 66px 0 72px;
}
#hw-solar .hw-subscribe-title {
  font-family: var(--serif); font-weight: 400;
  font-size: 31px; line-height: 1.25; color: #fbf9f4;
}
#hw-solar .hw-subscribe-sub {
  font-size: 15.5px; line-height: 1.65; color: var(--ink-dim);
  max-width: 590px; margin: 16px auto 0;
}
#hw-solar .hw-subscribe-form { display: flex; flex-wrap: wrap; gap: 10px; max-width: 460px; margin: 28px auto 0; }
#hw-solar .hw-subscribe-form input[type="email"] {
  flex: 1; min-width: 0;
  background: #0d1118; color: rgba(244, 241, 233, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 6px;
  font-family: var(--sans); font-size: 14.5px; padding: 12px 16px;
}
#hw-solar .hw-subscribe-form input[type="email"]::placeholder { color: var(--ink-faint); }
#hw-solar .hw-subscribe-form input[type="email"]:focus { outline: 2px solid var(--gold-dim); outline-offset: 1px; }
#hw-solar .hw-form-msg { display: none; font-size: 13px; margin-top: 10px; width: 100%; }
#hw-solar form.success .hw-form-success { display: block; color: var(--gold); }
#hw-solar form.error .hw-form-error { display: block; color: #e0876a; }
#hw-solar .hw-subscribe-disclaimer { font-size: 12.5px; color: var(--ink-faint); margin-top: 16px; }

/* ---------- footer ---------- */
#hw-solar .hw-footer {
  background: #07090d; border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 42px 0 26px; text-align: center;
}
#hw-solar .hw-footer-nav {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 34px;
  font-size: 13.5px; font-weight: 500; color: rgba(244, 241, 233, 0.9);
}
#hw-solar .hw-footer-nav a:hover { color: var(--gold-bright); }
/* footer wordmark: identical to the header logo (same font, size, kerning) */
#hw-solar .hw-footer-logo { display: inline-flex; align-items: baseline; gap: 10px; margin-top: 34px; }
#hw-solar .hw-footer-tag { font-size: 14.5px; line-height: 1.6; color: var(--ink-dim); max-width: 620px; margin: 14px auto 0; }
#hw-solar .hw-footer-form { display: flex; flex-wrap: wrap; gap: 10px; max-width: 430px; margin: 24px auto 0; }
#hw-solar .hw-footer-form input {
  flex: 1; min-width: 0;
  background: #0d1118; color: rgba(244, 241, 233, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 6px;
  font-family: var(--sans); font-size: 14.5px; padding: 12px 16px;
}
#hw-solar .hw-footer-form input::placeholder { color: var(--ink-faint); }
#hw-solar .hw-footer-form input:focus { outline: 2px solid var(--gold-dim); outline-offset: 1px; }
#hw-solar .hw-footer-legal { font-size: 13px; line-height: 1.6; color: var(--ink-faint); margin-top: 26px; }
#hw-solar .hw-footer-legal a { text-decoration: underline; text-underline-offset: 2px; }
#hw-solar .hw-footer-legal a:hover { color: var(--gold-bright); }
#hw-solar .hw-footer-copy { font-size: 12.5px; color: #67707e; margin-top: 12px; }

/* ---------- responsive ---------- */
@media (max-width: 1280px) {
  #hw-solar .hw-nav { margin-left: 48px; gap: 26px; }
  #hw-solar .hw-h1 { font-size: 40px; max-width: 600px; }
  #hw-solar .hw-stats { grid-template-columns: repeat(2, 1fr); }
  #hw-solar .hwak-topics-grid-v2 { grid-template-columns: repeat(2, 1fr); }
  /* rail becomes an inline outline panel above the article */
  #hw-solar .hw-article-lay { grid-template-columns: 1fr; gap: 40px; }
  #hw-solar .hw-toc-rail { position: static; grid-row: 1; }
  #hw-solar .hw-article-in { grid-row: 2; }
  #hw-solar .hw-toc-panel { max-height: none; overflow: visible; }
}
@media (max-width: 980px) {
  #hw-solar .hwak-topics-groups { grid-template-columns: 1fr; gap: 22px; }
  #hw-solar .hw-catbar { grid-template-columns: 120px 1fr 22px; }
  #hw-solar .hw-nav { display: none; }
  #hw-solar ol.hwak-footnotes { column-count: 1; }
  #hw-solar .hwak-bill-card-top, #hw-solar .hwak-case-card-top, #hw-solar .hwak-reg-card-top { flex-direction: column; }
  /* in column direction the 380px flex-basis would become HEIGHT */
  #hw-solar .hwak-bill-docket-block, #hw-solar .hwak-case-docket-block, #hw-solar .hwak-reg-docket-block { flex: 0 0 auto; }
}
@media (max-width: 720px) {
  #hw-solar .hw-wrap { padding: 0 22px; }
  #hw-solar .hw-h1 { font-size: 31px; }
  #hw-solar .hw-hero-body { padding-top: 36px; padding-bottom: 46px; }
  #hw-solar .hw-header-div { display: none; }
  #hw-solar .hw-header-right .hw-signin { display: none; }
  #hw-solar .hw-header-right { gap: 14px; }
  #hw-solar .hw-header .hw-btn-gold { padding: 11px 16px; }
  #hw-solar .hw-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  #hw-solar .hw-stat-num { font-size: 28px; }
  #hw-solar .hwak-topics-grid-v2 { grid-template-columns: 1fr; }
  #hw-solar .hw-statline { padding: 24px 22px 26px; }
  #hw-solar .hw-statline-track { flex-direction: column; align-items: stretch; gap: 22px; }
  #hw-solar .hw-statline-era:first-child { text-align: left; }
  #hw-solar .hw-statline-mid { width: auto; }
  #hw-solar .hwak-bill-card-body, #hw-solar .hwak-case-card-body, #hw-solar .hwak-reg-card-body { padding: 22px 20px 24px; }
  #hw-solar .hwak-bill-card-header, #hw-solar .hwak-case-card-header, #hw-solar .hwak-reg-card-header { padding: 12px 20px; }
  #hw-solar .hwak-bill-side-boxes, #hw-solar .hwak-case-side-boxes, #hw-solar .hwak-reg-side-boxes { width: 100%; }
  #hw-solar .hwak-bill-side-box, #hw-solar .hwak-case-side-box, #hw-solar .hwak-reg-side-box { flex: 1; }
  #hw-solar .hwak-bill-impact-table tr, #hw-solar .hwak-case-impact-table tr, #hw-solar .hwak-reg-impact-table tr { display: block; padding: 13px 0; border-top: 1px solid var(--hairline); }
  #hw-solar .hwak-bill-impact-table td, #hw-solar .hwak-case-impact-table td, #hw-solar .hwak-reg-impact-table td { display: block; border-top: none; padding: 0; }
  #hw-solar .hwak-bill-impact-role, #hw-solar .hwak-case-impact-role, #hw-solar .hwak-reg-impact-role { width: auto; white-space: normal; padding: 0 0 5px !important; }
  #hw-solar .hw-footer-nav { gap: 12px 22px; }
  #hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) thead { display: none; }
  #hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tr { display: block; padding: 14px 0; border-bottom: 1px solid var(--hairline); }
  #hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) tbody tr:last-child { border-bottom: none; }
  #hw-solar .hw-article-in table:not(.hwak-bill-impact-table):not(.hwak-case-impact-table):not(.hwak-reg-impact-table) td { display: block; border-bottom: none; padding: 3px 0; width: auto; }
}

/* ---------- bespoke visualizations (chrome; data quoted from the page) ---------- */
#hw-solar .hw-viz { margin: 34px 0 10px; max-width: 880px; padding: 24px 26px 26px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.02); border: 1px solid var(--hairline); }
#hw-solar .hw-viz-kicker { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; }
#hw-solar .hw-viz-note { font-size: 13px; line-height: 1.55; color: var(--ink-faint); margin-top: 14px; }
#hw-solar .hw-spec { margin-top: 20px; }
#hw-solar .hw-spec-track { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5px; }
#hw-solar .hw-spec-seg { height: 10px; border-radius: 999px; background: rgba(255,255,255,0.07); transform-origin: left; }
#hw-solar .hw-spec-seg.hw-on { background: var(--gold); box-shadow: 0 0 10px rgba(172,125,70,0.5); }
#hw-solar .hw-viz.hw-pre .hw-spec-seg { transform: scaleX(0); }
#hw-solar .hw-viz.hw-go .hw-spec-seg { transform: scaleX(1); transition: transform 0.55s ease-out; }
#hw-solar .hw-viz.hw-go .hw-spec-seg:nth-child(2) { transition-delay: 0.1s; }
#hw-solar .hw-viz.hw-go .hw-spec-seg:nth-child(3) { transition-delay: 0.2s; }
#hw-solar .hw-spec-labels { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 5px; margin-top: 10px; }
#hw-solar .hw-spec-lab { font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); font-weight: 600; }
#hw-solar .hw-spec-lab.hw-on { color: var(--gold); }
#hw-solar .hw-spec-pin { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; color: var(--ink); font-weight: 600; }
#hw-solar .hw-spec-pin .hw-dot { width: 8px; height: 8px; }
#hw-solar .hw-cmp { margin-top: 18px; display: grid; gap: 9px; }
#hw-solar .hw-cmp-row { display: grid; grid-template-columns: minmax(120px, 220px) 1fr 52px; gap: 13px; align-items: center; }
#hw-solar .hw-cmp-lab { font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-dim); font-weight: 600; }
#hw-solar .hw-cmp-track { height: 8px; border-radius: 999px; background: rgba(255,255,255,0.06); overflow: hidden; }
#hw-solar .hw-cmp-fill { display: block; height: 100%; border-radius: 999px; background: var(--gold); transform-origin: left; }
#hw-solar .hw-viz.hw-pre .hw-cmp-fill { transform: scaleX(0); }
#hw-solar .hw-viz.hw-go .hw-cmp-fill { transform: scaleX(1); transition: transform 0.7s ease-out; }
#hw-solar .hw-cmp-n { font-size: 13px; color: var(--ink-dim); font-family: var(--serif); text-align: right; }
#hw-solar .hw-tl { margin-top: 22px; display: flex; align-items: flex-start; }
#hw-solar .hw-tl-step { flex: 1; position: relative; padding-top: 18px; }
/* the path: a gray track each segment overlays with a traveling gold fill */
#hw-solar .hw-tl-step::before {
  content: ""; position: absolute; top: 3px; left: 0; right: 0; height: 2px;
  background:
    linear-gradient(90deg, var(--gold), var(--gold)) no-repeat 0 0 / 100% 100%,
    rgba(255, 255, 255, 0.1);
}
#hw-solar .hw-viz.hw-pre .hw-tl-step::before { background-size: 0% 100%, auto; }
#hw-solar .hw-viz.hw-go .hw-tl-step::before {
  background-size: 100% 100%, auto;
  transition: background-size 0.4s linear;
}
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(2)::before { transition-delay: 0.4s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(3)::before { transition-delay: 0.8s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(4)::before { transition-delay: 1.2s; }
/* nodes ignite as the path reaches them; the last node is the destination */
#hw-solar .hw-tl-step::after {
  content: ""; position: absolute; top: 0; left: 0; width: 8px; height: 8px;
  border-radius: 50%; background: var(--gold);
  box-shadow: 0 0 6px rgba(172, 125, 70, 0.8);
}
#hw-solar .hw-viz.hw-pre .hw-tl-step::after { background: rgba(172, 125, 70, 0.25); box-shadow: none; }
#hw-solar .hw-viz.hw-go .hw-tl-step::after { transition: background 0.3s ease-out, box-shadow 0.3s ease-out; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(2)::after { transition-delay: 0.4s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(3)::after { transition-delay: 0.8s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(4)::after { transition-delay: 1.2s; }
#hw-solar .hw-tl-step:last-child::after {
  width: 10px; height: 10px; top: -1px;
  box-shadow: 0 0 0 3px #0a0c10, 0 0 0 4.5px rgba(172, 125, 70, 0.65), 0 0 10px rgba(224, 160, 76, 0.6);
}
#hw-solar .hw-tl-when { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); font-weight: 700; }
#hw-solar .hw-tl-what { font-size: 13px; line-height: 1.5; color: var(--ink-dim); margin-top: 5px; padding-right: 18px; }
#hw-solar .hw-viz.hw-pre .hw-tl-step { opacity: 0; transform: translateY(6px); }
#hw-solar .hw-viz.hw-go .hw-tl-step { opacity: 1; transform: none; transition: opacity 0.5s ease-out, transform 0.5s ease-out; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(2) { transition-delay: 0.12s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(3) { transition-delay: 0.24s; }
#hw-solar .hw-viz.hw-go .hw-tl-step:nth-child(4) { transition-delay: 0.36s; }
#hw-solar .hw-ledg { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 40px; }
#hw-solar .hw-ledg-head {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gold); font-weight: 700; padding-bottom: 10px;
  border-bottom: 1px solid var(--hairline); margin-bottom: 4px;
}
#hw-solar .hw-ledg-row { display: flex; gap: 12px; padding: 9px 0; align-items: flex-start; }
#hw-solar .hw-ledg-row + .hw-ledg-row { border-top: 1px solid rgba(255, 255, 255, 0.05); }
#hw-solar .hw-ledg-mark { flex: none; width: 9px; height: 9px; border-radius: 50%; margin-top: 5px; }
#hw-solar .hw-ledg-solid { background: var(--gold); box-shadow: 0 0 6px rgba(172, 125, 70, 0.7); }
#hw-solar .hw-ledg-hollow { background: transparent; border: 1.5px solid var(--gold); }
#hw-solar .hw-ledg-txt { font-size: 13.5px; line-height: 1.55; color: var(--ink-dim); }
#hw-solar .hw-viz.hw-pre .hw-ledg-row { opacity: 0; transform: translateY(5px); }
#hw-solar .hw-viz.hw-go .hw-ledg-row { opacity: 1; transform: none; transition: opacity 0.45s ease-out, transform 0.45s ease-out; }
#hw-solar .hw-viz.hw-go .hw-ledg-row:nth-child(3) { transition-delay: 0.08s; }
#hw-solar .hw-viz.hw-go .hw-ledg-row:nth-child(4) { transition-delay: 0.16s; }
@media (max-width: 720px) { #hw-solar .hw-ledg { grid-template-columns: 1fr; } }
/* process diagram: node chips connected by drawing arrows */
#hw-solar .hw-pd { margin-top: 22px; display: flex; align-items: stretch; gap: 0; }
#hw-solar .hw-pd-node {
  flex: 1; min-width: 0; position: relative;
  padding: 14px 16px 15px; border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--hairline);
}
#hw-solar .hw-pd-label {
  font-size: 10.5px; letter-spacing: 0.13em; text-transform: uppercase;
  color: var(--gold); font-weight: 700;
}
#hw-solar .hw-pd-text { font-size: 12.5px; line-height: 1.5; color: var(--ink-dim); margin-top: 6px; }
#hw-solar .hw-pd-arrow {
  flex: none; width: 34px; display: flex; align-items: center; justify-content: center;
  color: var(--gold); position: relative;
}
#hw-solar .hw-pd-arrow svg { width: 22px; height: 12px; }
#hw-solar .hw-pd-node:last-child { border-color: rgba(172, 125, 70, 0.55); box-shadow: 0 0 14px rgba(172, 125, 70, 0.12) inset; }
#hw-solar .hw-viz.hw-pre .hw-pd-node { opacity: 0; transform: translateX(-8px); }
#hw-solar .hw-viz.hw-go .hw-pd-node { opacity: 1; transform: none; transition: opacity 0.45s ease-out, transform 0.45s ease-out; }
#hw-solar .hw-viz.hw-pre .hw-pd-arrow { opacity: 0; }
#hw-solar .hw-viz.hw-go .hw-pd-arrow { opacity: 1; transition: opacity 0.3s ease-out; }
#hw-solar .hw-viz.hw-go .hw-pd-arrow:nth-child(2) { transition-delay: 0.35s; }
#hw-solar .hw-viz.hw-go .hw-pd-node:nth-child(3) { transition-delay: 0.4s; }
#hw-solar .hw-viz.hw-go .hw-pd-arrow:nth-child(4) { transition-delay: 0.75s; }
#hw-solar .hw-viz.hw-go .hw-pd-node:nth-child(5) { transition-delay: 0.8s; }
#hw-solar .hw-viz.hw-go .hw-pd-arrow:nth-child(6) { transition-delay: 1.15s; }
#hw-solar .hw-viz.hw-go .hw-pd-node:nth-child(7) { transition-delay: 1.2s; }
@media (max-width: 860px) {
  #hw-solar .hw-pd { flex-direction: column; }
  #hw-solar .hw-pd-arrow { width: auto; padding: 4px 0; transform: rotate(90deg); }
}
#hw-solar .hw-flowfig { margin: 34px auto 10px; max-width: 680px; }
#hw-solar .hw-flowfig img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid var(--hairline); }
#hw-solar .hw-flowsteps { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }
#hw-solar .hw-flowstep { flex: 1; text-align: center; }
#hw-solar .hw-flowstep-n { font-family: var(--serif); font-size: 17px; color: var(--gold); }
#hw-solar .hw-flowstep-t { font-size: 11.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-dim); font-weight: 600; margin-top: 3px; }
#hw-solar .hw-flowfig-cap { font-size: 12.5px; line-height: 1.55; color: var(--ink-faint); margin-top: 12px; text-align: center; }
@media (max-width: 720px) {
  #hw-solar .hw-cmp-row { grid-template-columns: 1fr; gap: 5px; }
  #hw-solar .hw-cmp-n { text-align: left; }
  #hw-solar .hw-tl { flex-direction: column; gap: 16px; }
  #hw-solar .hw-tl-step::before { display: none; }
  #hw-solar .hw-flowsteps { flex-direction: column; gap: 8px; }
  #hw-solar .hw-flowstep { text-align: left; }
}

/* ---- embedded HOAWeekly Tools widget (hoafrc, client-rendered): dark skin.
   The tool injects its own light stylesheet into <head> at runtime; these
   ID-scoped overrides outrank it. Presentation only — tool text/function untouched. */
#hw-solar .hoafrc {
  background: rgba(255, 255, 255, 0.02) !important;
  color: rgba(244, 241, 233, 0.92) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-left: 4px solid var(--gold) !important;
  border-radius: 8px;
}
#hw-solar .hoafrc-label, #hw-solar .hoafrc-form legend, #hw-solar .hoafrc-results-h,
#hw-solar .hoafrc-radio, #hw-solar .hoafrc-p { color: rgba(244, 241, 233, 0.92) !important; }
#hw-solar .hoafrc-help, #hw-solar .hoafrc-gov, #hw-solar .hoafrc-same, #hw-solar .hoafrc-sec-h,
#hw-solar .hoafrc-verified, #hw-solar .hoafrc-disclaimer { color: rgba(244, 241, 233, 0.58) !important; }
#hw-solar .hoafrc-select, #hw-solar .hoafrc-input {
  background: #0a0c10 !important;
  color: rgba(244, 241, 233, 0.94) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
}
#hw-solar .hoafrc-select:focus, #hw-solar .hoafrc-input:focus,
#hw-solar .hoafrc-btn:focus, #hw-solar .hoafrc-chip:focus { outline: 2px solid var(--gold) !important; }
#hw-solar .hoafrc-radio input { accent-color: var(--gold) !important; }
#hw-solar .hoafrc-btn, #hw-solar .hoafrc a.hoafrc-btn, #hw-solar .hoafrc button.hoafrc-btn {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: #fff !important;
}
#hw-solar .hoafrc-btn:hover, #hw-solar .hoafrc a.hoafrc-btn:hover,
#hw-solar .hoafrc button.hoafrc-btn:hover { background: var(--gold-bright) !important; border-color: var(--gold-bright) !important; }
#hw-solar .hoafrc-btn-ghost, #hw-solar .hoafrc a.hoafrc-btn-ghost,
#hw-solar .hoafrc button.hoafrc-btn-ghost { background: transparent !important; color: var(--gold) !important; border-color: var(--gold) !important; }
#hw-solar .hoafrc a.hoafrc-btn-ghost:hover { background: var(--gold) !important; color: #fff !important; }
#hw-solar .hoafrc-chip, #hw-solar .hoafrc a.hoafrc-chip {
  color: var(--gold) !important;
  border: 1px solid var(--gold-dim) !important;
}
#hw-solar .hoafrc-chip:hover, #hw-solar .hoafrc a.hoafrc-chip:hover { background: var(--gold) !important; color: #fff !important; }
#hw-solar .hoafrc-card { border-top: 2px solid var(--gold) !important; }
#hw-solar .hoafrc-stack-h { color: var(--gold) !important; }
#hw-solar .hoafrc-gov a, #hw-solar .hoafrc a { color: var(--gold) !important; }
#hw-solar .hoafrc-badge { border: 1px solid rgba(255, 255, 255, 0.3) !important; color: rgba(244, 241, 233, 0.75) !important; }

/* ============================================================================
   v2 ADDITIONS (2026-08-05) — everything below was previously embedded
   per-page. Bump the consuming pages' ?v= to 2.
   ========================================================================= */

/* ---- Ticker mirror (canonical markup/JS: redesign/shared/ticker-mirror.html;
   its <style> block now lives here — pages load the snippet without it) ---- */
.hw-ticker-mirror {
  background: #050608;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 11.5px;
  letter-spacing: 0.08em;
  position: relative;
  z-index: 5;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  color: #f4f1e9;
}
/* margin/padding carry !important so this snippet survives inside any
   page's `#hw-<page> *` reset (ID specificity beats these class rules) */
.hw-ticker-mirror .hw-ticker-in {
  display: flex; align-items: center; gap: 0;
  min-height: 40px;
  max-width: 1480px; margin: 0 auto !important; padding: 0 44px !important;
}
.hw-ticker-mirror .hw-ticker-seg { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.hw-ticker-mirror .hw-ticker-seg + .hw-ticker-seg {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  margin-left: 22px !important; padding-left: 22px !important;
}
.hw-ticker-mirror .hw-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #ac7d46; display: inline-block; flex: none;
  box-shadow: 0 0 6px rgba(172, 125, 70, 0.8);
}
.hw-ticker-mirror .hw-gold-caps { color: #ac7d46; text-transform: uppercase; font-weight: 600; }
.hw-ticker-mirror .hw-date { color: rgba(244, 241, 233, 0.85); text-transform: uppercase; }
.hw-ticker-mirror .hw-sep { color: rgba(244, 241, 233, 0.35); }
.hw-ticker-mirror .hw-ticker-news { color: rgba(244, 241, 233, 0.75); letter-spacing: 0.015em; font-size: 12.5px; overflow: hidden; text-overflow: ellipsis; }
.hw-ticker-mirror .hw-ticker-spacer { flex: 1; min-width: 20px; }
/* link color also carries !important: pages set `#hw-<page> a { color:
   inherit }` (ID specificity), which would turn this gold link white */
.hw-ticker-mirror .hw-arrow-link { color: #ac7d46 !important; text-transform: uppercase; font-weight: 600; display: inline-flex; align-items: center; gap: 7px; text-decoration: none; }
.hw-ticker-mirror .hw-arrow-link:hover { color: #e0a04c !important; }
.hw-ticker-mirror .hw-arrow-link svg { flex: none; }
@media (max-width: 980px) {
  .hw-ticker-mirror .hw-ticker-seg.hw-ticker-newswrap,
  .hw-ticker-mirror .hw-ticker-seg.hw-ticker-view { display: none; }
}
@media (max-width: 720px) {
  .hw-ticker-mirror .hw-ticker-in { padding: 0 22px !important; }
}

/* ---- Theme-chrome hiding + page furniture (previously each page's
   ghost-page-head.html <style>; identical across the evergreen fleet) ---- */
  /* Hide the Source theme chrome + injected site furniture on this page only,
     so the DG4 block renders full-bleed with its own header/nav.
     Deliberately NOT hidden: .hw-notice-bar (the sticky "not legal advice"
     bar) — it should appear on this page like everywhere else.
     .hw-footer-note is hidden because the DG4 block has its own footer with
     the same copyright line. */
  body:has(#hw-solar) .gh-navigation, body:has(#hw-solar) .gh-footer,
  body:has(#hw-solar) .gh-article-header, body:has(#hw-solar) .gh-article-image,
  body:has(#hw-solar) .hw-article-note, body:has(#hw-solar) .hw-footer-note,
  body:has(#hw-solar) .site-copyright-notice,
  body:has(#hw-solar) #hw-toc, body:has(#hw-solar) .last-updated,
  body:has(#hw-solar) #topic-cards-section { display: none !important; }
  /* ^ the theme renders its own topics grid on tag-states pages between
     the article header and content; the DG4 body carries the grid at the
     same anchor position, so the theme copy must not double-render. */

  body:has(#hw-solar) { background: #0b0e14; }

  /* The legal disclaimer bar's skin USED TO BE OVERRIDDEN HERE. Deleted
     2026-08-19: it now has exactly ONE home,
     website/assets/css/ls_notice.css, which the build links into every
     served page. That file also owns the FREEZE (position:sticky), which
     this sheet never set. Do not re-add .hw-notice-bar rules here. */
  body:has(#hw-solar) .gh-main, body:has(#hw-solar) .gh-article { padding: 0 !important; margin: 0 !important; }
  body:has(#hw-solar) .gh-content.gh-canvas {
    display: block !important;
    max-width: none !important;
    padding: 0 !important; margin: 0 !important;
  }
  body:has(#hw-solar) .gh-content.gh-canvas > * { margin: 0 !important; max-width: none !important; }

/* ---- Former inline style attributes (converted to classes) ---- */
/* Header search button (was style="background:none;border:none;padding:0") */
#hw-solar .hw-search-btn { background: none; border: none; padding: 0; }

/* HOAW-INTERNAL-LINKS "Related Topics" panel (was 4 inline style attrs;
   the section now carries class="hw-related" — hrefs/text untouched) */
#hw-solar .hw-related {
  margin: 2.5rem 0;
  padding: 1.5rem 1.75rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-left: 4px solid #ac7d46;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
}
#hw-solar .hw-related h2 { margin-top: 0; }
#hw-solar .hw-related ul { margin: 0.75rem 0 0; padding-left: 1.25rem; line-height: 1.9; }
#hw-solar .hw-related p { margin: 1rem 0 0; }

/* ============================================================================
   v3 FIXES (2026-08-05, owner-directed) — bump consuming pages to ?v=3
   ========================================================================= */

/* (a) NOTHING renders into the margin: every article widget caps at the
   880px prose measure, same as paragraphs and .hw-viz. The bill/case/reg
   tracker cards previously filled the 1100px article column and spilled
   past the prose edge; .hw-statline sat at 1020px. */
#hw-solar .hwak-bill-card, #hw-solar .hwak-case-card, #hw-solar .hwak-reg-card { max-width: 880px; }
#hw-solar .hw-statline { max-width: 880px; }

/* (b) Source ordered lists (Recommendations etc.) had NO rules at all, so
   they fell through to base warm-white + browser-default bold — the "stark
   bold white chunks". Style them exactly like prose paragraphs. Footnotes
   (ol.hwak-footnotes) keep their own class styling — :not([class]) spares
   them. */
#hw-solar .hw-article-in > ol:not([class]) { max-width: 880px; margin-top: 20px; padding-left: 24px; }
#hw-solar .hw-article-in > ol:not([class]) > li {
  font-size: 16.5px; line-height: 1.75; color: var(--ink-dim); margin-top: 14px;
}
#hw-solar .hw-article-in > ol:not([class]) > li::marker { color: var(--gold); font-weight: 600; }
#hw-solar .hw-article-in > ol:not([class]) strong { color: var(--ink); font-weight: 600; }
#hw-solar .hw-article-in > ol:not([class]) a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
#hw-solar .hw-article-in > ol:not([class]) a:hover { color: var(--gold-bright); }

/* ============================================================================
   v4 (2026-08-05, owner-directed) — STRUCTURAL MARGIN GUARANTEE
   ========================================================================= */

/* The article column IS the prose measure. Nothing placed inside it —
   today's widgets or any future graphic, animation, video, or embed —
   can render into the right gutter, because the CONTAINER stops at 880px
   and clips horizontal overflow. Never widen a child past the container;
   if the measure itself ever changes, change it HERE only. */
#hw-solar .hw-article-in { max-width: 880px; overflow-x: clip; }
#hw-solar .hw-article-in > * { max-width: 100%; }
#hw-solar .hw-article-in img,
#hw-solar .hw-article-in video { max-width: 100%; height: auto; }
#hw-solar .hw-article-in iframe,
#hw-solar .hw-article-in embed,
#hw-solar .hw-article-in object,
#hw-solar .hw-article-in svg,
#hw-solar .hw-article-in canvas { max-width: 100%; }
