/* McClellan Meadows — project overrides on the shared Canvas 8 (c2) theme.
   Palette: community green primary + navy accents. Component classes for the
   ported BadHOA laws/tools/accountability pages get added here in Phase 1. */

:root{
	--cnvs-themecolor:#1f5c3d;              /* overrides the c2 demo teal */
	--cnvs-themecolor-rgb:31,92,61;
	--mm-green:#1f5c3d; --mm-green-d:#164529;
	--mm-navy:#0f223c;
	--mm-ink:#1e2a24; --mm-muted:#5c6b62; --mm-rule:#e4eae6;
	--mm-sand:#f6f4ee;
	--body-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
	--heading-font:'Playfair Display',Georgia,'Times New Roman',serif;
}

body{ font-family:var(--body-font); color:var(--mm-ink); }
h1,h2,h3,h4,.font-primary{ font-family:var(--heading-font); color:var(--mm-navy); }
.text-uppercase{ font-family:var(--body-font); }

a{ color:var(--mm-green); }
a:hover{ color:var(--mm-green-d); }

/* Header / nav */
#header.full-header #header-wrap{ border-bottom:1px solid var(--mm-rule); }
.primary-menu .menu-link{ font-weight:500; }
.menu-item.current > .menu-link, .menu-link:hover{ color:var(--mm-green) !important; }

/* Buttons pick up the green accent from --cnvs-themecolor automatically. */
.button.button-green{ background:var(--mm-green); border-color:var(--mm-green); color:#fff; }

/* Simple hero band for interior pages / homepage. */
.mm-hero{ position:relative; background-size:cover; background-position:center; color:#fff; }
.mm-hero::before{ content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(15,34,60,.55),rgba(15,34,60,.72)); }
.mm-hero > .container{ position:relative; z-index:1; }
.mm-hero h1{ color:#fff; text-shadow:0 2px 18px rgba(0,0,0,.35); }
.mm-hero p.lead{ color:rgba(255,255,255,.92); }

/* Stat tiles */
.mm-stat{ background:#fff; border:1px solid var(--mm-rule); border-radius:.6rem; padding:1.4rem 1rem; text-align:center; }
.mm-stat .n{ display:block; font-family:var(--heading-font); font-size:2.1rem; font-weight:700; color:var(--mm-green); line-height:1.1; }
.mm-stat .l{ display:block; margin-top:.35rem; font-size:.82rem; letter-spacing:.04em; text-transform:uppercase; color:var(--mm-muted); }

/* Feature cards */
.mm-card{ height:100%; background:#fff; border:1px solid var(--mm-rule); border-radius:.6rem; padding:1.5rem; transition:box-shadow .15s,border-color .15s; }
.mm-card:hover{ border-color:var(--mm-green); box-shadow:0 6px 24px rgba(15,34,60,.08); }
.mm-card .i{ font-size:1.8rem; color:var(--mm-green); }
.mm-card h3{ font-size:1.15rem; margin:.5rem 0 .4rem; }

.mm-independent{ background:var(--mm-sand); border-radius:.5rem; padding:1.1rem 1.4rem; font-size:.92rem; color:var(--mm-muted); }
.no-print{}
@media print{ .no-print{ display:none !important; } }

/* ===== ported from badhoa.css: .acct-* / .statute-* component classes for the BadHOA-sourced pages ===== */
/* ===========================================================================
   BadHOA.com project styles — Canvas 8
   Palette via CSS variables (do not inherit demo teal). Print stylesheet.
   Audience: Arizona homeowners, older, mobile-heavy, often reading under stress.
   Goals: calm, trustworthy, high-contrast (WCAG AA), no commerce styling.
   =========================================================================== */

:root {
  /* Deep, accessible blue — ~5.6:1 on white (AA for text and button fills) */
  --cnvs-themecolor: #1e5aa8;
  --cnvs-themecolor-rgb: 30, 90, 168;
  --bs-primary: #1e5aa8;
  --bs-primary-rgb: 30, 90, 168;

  --bh-ink: #1c2733;          /* near-black slate for body text */
  --bh-muted: #5b6b7a;
  --bh-rule: #e3e8ee;
  --bh-amended: #b45309;      /* amber for "amended effective" callouts */
}

body { color: var(--bh-ink); }

/* ---- Article hero banner (single article) ---- */
.article-hero { margin: 0 0 1.75rem; border-radius: .6rem; overflow: hidden; background: #eef2f7; box-shadow: 0 1px 2px rgba(28,39,51,.06), 0 10px 30px rgba(28,39,51,.08); }
.article-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }

/* ---- Articles index card grid ---- */
.article-card { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--bh-rule); border-radius: .7rem; overflow: hidden; box-shadow: 0 1px 2px rgba(28,39,51,.05); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.article-card:hover { transform: translateY(-3px); box-shadow: 0 6px 14px rgba(28,39,51,.10), 0 18px 40px rgba(28,39,51,.10); border-color: #ccd6e2; }
.article-card-media { display: block; position: relative; aspect-ratio: 16 / 9; background: #eef2f7; overflow: hidden; }
.article-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.article-card:hover .article-card-media img { transform: scale(1.035); }
/* Branded placeholder for articles awaiting their generated image */
.article-card-media[style*="--ph"] { background: linear-gradient(135deg, var(--ph, #1e5aa8), color-mix(in srgb, var(--ph, #1e5aa8) 62%, #0d2135)); }
.article-card-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: rgba(255,255,255,.82); font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: .18em; font-size: 1.35rem; }
.article-card-ph::after { content: ""; position: absolute; left: 50%; bottom: 30%; width: 46px; height: 3px; background: rgba(255,255,255,.5); transform: translateX(-50%); border-radius: 2px; }
.article-card-body { display: flex; flex-direction: column; gap: .5rem; padding: 1rem 1.15rem 1.15rem; flex: 1 1 auto; }
.article-card-title { font-size: 1.14rem; line-height: 1.28; margin: 0; text-wrap: balance; }
.article-card-title a { color: var(--bh-ink); text-decoration: none; }
.article-card-title a:hover { color: var(--cnvs-themecolor); }
.article-card-sub { color: var(--bh-muted); font-size: .9rem; line-height: 1.45; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.article-card-meta { color: #8593a4; font-size: .78rem; margin: auto 0 0; padding-top: .35rem; }

[data-bs-theme="dark"] .article-card { background: #16202b; border-color: #263341; box-shadow: 0 1px 2px rgba(0,0,0,.4); }
[data-bs-theme="dark"] .article-card:hover { border-color: #33475a; }
[data-bs-theme="dark"] .article-card-title a { color: #e7edf4; }
[data-bs-theme="dark"] .article-card-media, [data-bs-theme="dark"] .article-hero { background: #0f1720; }

@media (prefers-reduced-motion: reduce) { .article-card, .article-card-media img { transition: none; } .article-card:hover { transform: none; } .article-card:hover .article-card-media img { transform: none; } }

/* ---- Site search ---- */
.site-search { display: flex; gap: .5rem; }
.site-search .form-control { height: 48px; font-size: 1.05rem; }
.site-search .button { flex: none; }
.search-group-title { font-size: 1.15rem; display: flex; align-items: baseline; gap: .5rem; margin: 0 0 1rem; padding-bottom: .5rem; border-bottom: 1px solid var(--bh-rule); }
.search-group-title span { font-size: .8rem; font-weight: 600; color: #fff; background: var(--cnvs-themecolor); border-radius: 999px; padding: .1rem .55rem; }
.search-list { display: flex; flex-direction: column; gap: .75rem; }
.search-hit { display: flex; gap: 1rem; align-items: center; padding: .7rem; border: 1px solid var(--bh-rule); border-radius: .6rem; background: #fff; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .05s; }
.search-hit:hover { border-color: var(--cnvs-themecolor); box-shadow: 0 4px 14px rgba(28,39,51,.08); }
.search-hit:active { transform: translateY(1px); }
.search-hit-thumb { flex: none; width: 120px; aspect-ratio: 16 / 9; border-radius: .4rem; overflow: hidden; background: #eef2f7; display: grid; place-items: center; }
.search-hit-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.search-hit-thumb-ph { color: #fff; background: linear-gradient(135deg, #1e5aa8, #0d2135); font-family: "Playfair Display", Georgia, serif; font-weight: 700; letter-spacing: .12em; font-size: .8rem; }
.search-hit-sec { flex: none; width: 120px; text-align: center; font-weight: 700; color: var(--cnvs-themecolor); background: rgba(30,90,168,.08); border-radius: .4rem; padding: .6rem .3rem; font-variant-numeric: tabular-nums; }
.search-hit-body { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.search-hit-kind { font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--bh-muted); }
.search-hit-title { font-weight: 600; color: var(--bh-ink); line-height: 1.3; }
.search-hit-sub { color: var(--bh-muted); font-size: .9rem; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.search-hit:hover .search-hit-title { color: var(--cnvs-themecolor); }
@media (max-width: 480px) { .search-hit-thumb, .search-hit-sec { width: 84px; } }

[data-bs-theme="dark"] .search-hit { background: #16202b; border-color: #263341; }
[data-bs-theme="dark"] .search-hit-title { color: #e7edf4; }
[data-bs-theme="dark"] .search-group-title { border-color: #263341; }

/* ---- Homepage photoreal sections ---- */
.home-hero { position: relative; padding: clamp(80px, 12vw, 150px) 0; background-size: cover; background-position: center 62%; color: #fff; }
.home-hero h1 { color: #fff; text-shadow: 0 2px 22px rgba(0,0,0,.4); text-wrap: balance; }
.home-hero .lead { color: rgba(255,255,255,.94); }
.home-hero-inner { position: relative; z-index: 1; }

.home-split { }
.home-shot { margin: 0; border-radius: .8rem; overflow: hidden; box-shadow: 0 12px 38px rgba(28,39,51,.20); }
.home-shot img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.home-split h2 { text-wrap: balance; }

.home-band { position: relative; padding: clamp(72px, 10vw, 120px) 0; background-size: cover; background-position: center 55%; color: #fff; }
.home-band h2 { color: #fff; text-shadow: 0 2px 22px rgba(0,0,0,.4); text-wrap: balance; }
.home-band .lead { color: rgba(255,255,255,.94); }

.mt-6 { margin-top: clamp(3rem, 6vw, 5rem) !important; }
.mb-6 { margin-bottom: clamp(3rem, 6vw, 5rem) !important; }

@media (max-width: 991px) {
  .home-split { text-align: center; }
  .home-shot { margin-bottom: 1.5rem; }
}

/* ---- Route-driven page-title photo banners ---- */
.has-page-banner .page-title { position: relative; background-image: var(--page-banner); background-size: cover; background-position: center; background-repeat: no-repeat; overflow: hidden; padding: clamp(3rem, 6vw, 5rem) 0; }
.has-page-banner .page-title::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,34,60,.60), rgba(15,34,60,.78)); z-index: 0; }
.has-page-banner .page-title > * { position: relative; z-index: 1; }
.has-page-banner .page-title h1 { color: #fff; text-shadow: 0 2px 18px rgba(0,0,0,.4); }
.has-page-banner .page-title .page-title-content span { color: rgba(255,255,255,.9); }
.has-page-banner .page-title .breadcrumb-item,
.has-page-banner .page-title .breadcrumb-item a,
.has-page-banner .page-title .breadcrumb-item.active,
.has-page-banner .page-title .breadcrumb-item + .breadcrumb-item::before { color: #fff !important; }
.has-page-banner .page-title .breadcrumb-item a { opacity: .9; }

/* ---- About story figures (float beside the prose) ---- */
.about-figure { margin: .5rem 0 1.25rem; border-radius: .6rem; overflow: hidden; box-shadow: 0 8px 26px rgba(28,39,51,.16); background: #eef2f7; }
.about-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.about-figure figcaption { font-size: .8rem; line-height: 1.4; color: var(--bh-muted); padding: .55rem .7rem .65rem; background: var(--panel-2, #f6f9fc); }
@media (min-width: 768px) {
  .about-figure-right { float: right; width: 42%; margin: .35rem 0 1rem 2rem; clear: both; }
  .about-figure-left  { float: left;  width: 42%; margin: .35rem 2rem 1rem 0; clear: both; }
}
@media (max-width: 767px) { .about-figure { width: 100%; } }
/* About story: aligned image/text rows for multi-point sections */
.about-row { display: flex; gap: 2rem; align-items: center; margin: 2.25rem 0; }
.about-row-rev { flex-direction: row-reverse; }
.about-row-media { flex: 0 0 44%; }
.about-row-media .about-figure { margin: 0; }
.about-row-text { flex: 1 1 auto; min-width: 0; }
.about-row-text > p { margin: 0; }
@media (max-width: 767px) { .about-row, .about-row-rev { flex-direction: column; gap: 1rem; } .about-row-media { flex: 0 0 auto; width: 100%; } }

/* ---- Social share bar ---- */
.share-bar { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 1.75rem 0 .5rem; }
.share-label { font-weight: 600; color: var(--bh-muted); font-size: .9rem; margin-right: .25rem; }
.share-btn { width: 40px; height: 40px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--bh-rule); background: #fff; color: var(--bh-ink); cursor: pointer; text-decoration: none; padding: 0; transition: background .15s, color .15s, border-color .15s, transform .08s; }
.share-btn svg { width: 18px; height: 18px; display: block; }
.share-btn:hover { transform: translateY(-2px); color: #fff; }
.share-x:hover  { background:#000;     border-color:#000; }
.share-fb:hover { background:#1877f2;  border-color:#1877f2; }
.share-li:hover { background:#0a66c2;  border-color:#0a66c2; }
.share-rd:hover { background:#ff4500;  border-color:#ff4500; }
.share-wa:hover { background:#25d366;  border-color:#25d366; }
.share-em:hover { background:#5b6b7a;  border-color:#5b6b7a; }
.share-copy:hover, .share-native:hover { background: var(--cnvs-themecolor); border-color: var(--cnvs-themecolor); }
.share-copy.copied { background:#1f9d57; border-color:#1f9d57; color:#fff; transform:none; }
[data-bs-theme="dark"] .share-btn { background:#16202b; border-color:#263341; color:#e7edf4; }
@media print { .share-bar, .share-band { display: none; } }
@media (prefers-reduced-motion: reduce) { .share-btn:hover { transform: none; } }
/* Site-wide share band (footer) */
.share-band { background: #fff; border-top: 1px solid var(--bh-rule); padding: 1.5rem 0; }
.share-band-inner { display: flex; justify-content: center; }
.share-band .share-bar { margin: 0; justify-content: center; }
[data-bs-theme="dark"] .share-band { background: #0f1720; border-top-color: #263341; }

/* ===========================================================================
   Legislator Report Card (/accountability/*)
   =========================================================================== */
.acct-kicker { display:inline-block; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:700; color:var(--cnvs-themecolor); margin-bottom:.15rem; }
.acct-muted { color: var(--bh-muted); }
.acct-note { color: var(--bh-muted); font-size:.9rem; margin:.2rem 0 1rem; }
.acct-empty { color: var(--bh-muted); font-style: italic; }
.acct-cta-row { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.5rem 0 2rem; }

/* roster / featured grid */
.acct-group { margin-bottom: 2.6rem; }
.acct-group-title { font-size:1.4rem; margin:.1rem 0 1rem; }
.acct-grid { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:.9rem; }
.acct-card { display:flex; align-items:center; gap:.8rem; padding:.7rem .8rem; border:1px solid var(--bh-rule); border-radius:.6rem; background:#fff; text-decoration:none; color:var(--bh-ink); transition:box-shadow .15s, transform .08s, border-color .15s; }
.acct-card:hover { box-shadow:0 6px 20px rgba(15,34,60,.10); transform:translateY(-2px); border-color:#cdd6e2; }
.acct-card-photo { width:56px; height:70px; object-fit:cover; border-radius:.35rem; flex:0 0 auto; background:#eef1f5; }
.acct-card-body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; }
.acct-card-name { font-weight:700; line-height:1.2; }
.acct-card-meta { font-size:.82rem; color:var(--bh-muted); margin-top:.1rem; }
.acct-card-grade { flex:0 0 auto; width:34px; height:34px; border-radius:.4rem; color:#fff; font-weight:800; font-size:1.05rem; display:flex; align-items:center; justify-content:center; }
.acct-photo-empty { display:flex; align-items:center; justify-content:center; color:#7a8595; font-weight:800; background:#eef1f5; }

/* profile head */
.acct-head { display:flex; gap:1.3rem; align-items:flex-start; margin:1rem 0 1.8rem; flex-wrap:wrap; }
.acct-photo { width:150px; height:188px; object-fit:cover; border-radius:.6rem; border:1px solid var(--bh-rule); flex:0 0 auto; }
.acct-photo.acct-photo-empty { font-size:3rem; }
/* Entity logos (fair use): contain on a white field, never crop, honor aspect ratio. */
.acct-photo.acct-logo { width:auto; min-width:150px; max-width:300px; height:auto; min-height:96px; max-height:150px; display:flex; align-items:center; justify-content:center; background:#fff; padding:14px 18px; }
.acct-photo.acct-logo img { max-width:100%; max-height:120px; width:auto; height:auto; object-fit:contain; display:block; }
.acct-card-photo.acct-card-logo { display:flex; align-items:center; justify-content:center; background:#fff; padding:5px; overflow:hidden; }
.acct-card-photo.acct-card-logo img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
@media (max-width:575px){ .acct-photo.acct-logo { min-width:120px; max-width:100%; } }
.acct-photo.acct-logo.acct-logo-onDark { background:#243044; }   /* white-variant logos need a dark tile */
/* Cross-link chip cloud (siblings + other groups) at the bottom of every entity page */
.acct-crosslinks .acct-chiprow { display:flex; flex-wrap:wrap; gap:.4rem; max-height:15rem; overflow:auto; padding:.25rem 0; }
.acct-chip { display:inline-flex; align-items:center; gap:.4rem; font-size:.82rem; line-height:1.2; padding:.32rem .6rem; border:1px solid var(--bh-rule,#d7dde5); border-radius:2rem; color:var(--bh-ink,#22303f); text-decoration:none; background:#fff; }
.acct-chip:hover { border-color:#9fb0c4; background:#f6f9fc; }
.acct-chip-grade { display:inline-block; min-width:1.4em; text-align:center; padding:0 .3em; border-radius:.3rem; color:#fff; font-weight:700; font-size:.72rem; }
/* Bill "Key provisions" numbered list */
.bh-provisions { margin:.4rem 0 0; padding-left:1.5rem; }
.bh-provisions li { margin:.4rem 0; line-height:1.5; }
.acct-head-body { flex:1 1 260px; }
.acct-grade-row { display:flex; align-items:center; gap:.8rem; margin-bottom:.7rem; }
.acct-grade { font-weight:800; font-size:2.2rem; line-height:1; color:#fff; border-radius:.5rem; padding:.3rem .6rem; min-width:2.2rem; text-align:center; }
.acct-grade-cap { font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--bh-muted); line-height:1.5; }
.acct-grade-cap a { text-transform:none; letter-spacing:0; }
.acct-ungraded { color:var(--bh-muted); font-size:.92rem; }
.acct-mandate { margin-top:.3rem; }

/* sourced-record sections */
.acct-section { margin:1.8rem 0; padding-top:1.4rem; border-top:1px solid var(--bh-rule); }
.acct-label { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:700; color:var(--bh-ink); margin-bottom:.6rem; }
.acct-op { text-transform:none; letter-spacing:0; font-weight:500; color:var(--bh-muted); font-size:.8rem; margin-left:.35rem; }
.acct-metric { margin:.3rem 0 .8rem; }
.acct-metric .n { font-size:1.9rem; font-weight:800; color:var(--bh-ink); margin-right:.5rem; }
.acct-metric .l { font-size:.82rem; color:var(--bh-muted); }
.acct-record { display:flex; flex-direction:column; gap:.9rem; }
.acct-item { border-left:3px solid #e3e8ee; padding:.15rem 0 .15rem .9rem; }
.acct-date { display:inline-block; font-size:.75rem; font-weight:700; color:var(--bh-muted); text-transform:uppercase; letter-spacing:.04em; margin-bottom:.15rem; }
.acct-bill-head { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.acct-bill-meta { font-size:.82rem; color:var(--bh-muted); margin-top:.1rem; }
.acct-source { display:block; font-size:.8rem; margin-top:.3rem; }
.acct-source a { color:var(--cnvs-themecolor); }
.acct-source-type { display:inline-block; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; font-weight:700; color:#fff; background:#8892a0; border-radius:.25rem; padding:.05rem .35rem; margin-right:.3rem; }

/* pro/con vote chips */
.acct-side { display:inline-block; font-size:.72rem; font-weight:700; padding:.1rem .5rem; border-radius:1rem; }
.acct-side-pro { background:#e3f3e8; color:#1f7a3d; }
.acct-side-con { background:#fbe6e6; color:#9a2a2a; }
.acct-side-mix { background:#fbf1dd; color:#8a6d17; }
.acct-side-unk { background:#eef1f5; color:#55606c; }

/* best/worst group subheads (report-card landing) */
.acct-subhead { font-size:.95rem; font-weight:800; margin:1.2rem 0 .6rem; display:flex; align-items:center; gap:.4rem; letter-spacing:.01em; }
.acct-subhead-pro { color:#1f7a3d; }
.acct-subhead-con { color:#9a2a2a; }
/* district geography line in a profile header */
.acct-area { display:block; font-size:.85rem; color:var(--bh-muted); margin-top:.25rem; }
/* clickable record item (funder -> legislator) */
.acct-item-link { display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--bh-ink); border-left:3px solid #e3e8ee; padding:.4rem 0 .4rem .9rem; transition:border-color .12s, background .12s; }
.acct-item-link:hover { border-left-color:var(--cnvs-themecolor); background:#f7f9fc; }
.acct-item-link strong { font-weight:700; }
.acct-item-link .acct-muted { flex:1 1 auto; font-size:.82rem; }
.acct-inline-grade { flex:0 0 auto; width:26px; height:26px; border-radius:.35rem; color:#fff; font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.acct-amt { flex:0 0 auto; font-weight:800; color:var(--bh-ink); }

/* assessment (opinion) block */
.acct-assessment { margin:1.8rem 0; padding:1.2rem 1.3rem; background:#f7f9fc; border:1px solid var(--bh-rule); border-left:4px solid var(--cnvs-themecolor); border-radius:.5rem; }

/* landing "how it works" + callouts */
.acct-how { display:flex; flex-direction:column; gap:1rem; margin:1.5rem 0; }
.acct-how-item { display:flex; gap:.9rem; align-items:flex-start; }
.acct-how-n { flex:0 0 auto; width:30px; height:30px; border-radius:50%; background:var(--cnvs-themecolor); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; }
.acct-callout { background:#f7f9fc; border:1px solid var(--bh-rule); border-radius:.5rem; padding:1rem 1.2rem; }
.acct-contact { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }

[data-bs-theme="dark"] .acct-card,
[data-bs-theme="dark"] .acct-assessment,
[data-bs-theme="dark"] .acct-callout { background:#16202b; border-color:#263341; color:#e7edf4; }
[data-bs-theme="dark"] .acct-card { color:#e7edf4; }
[data-bs-theme="dark"] .acct-item { border-left-color:#2c3a49; }
@media (max-width:575px){ .acct-photo { width:110px; height:138px; } }
/* keep each image inside its own section */
.route-main-about #content h2, .route-main-about #content h3, .route-main-about #content .line { clear: both; }
[data-bs-theme="dark"] .about-figure figcaption { background: #121a24; }

/* Statute reading: comfortable measure and line-height for long legal text */
.statute-text { line-height: 1.7; }
.statute-text p { margin-bottom: 1rem; }
.statute-meta { color: var(--bh-muted); font-size: .9rem; }

/* Sticky statute side-nav */
.statute-sidenav { position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto; }
.statute-sidenav .nav-link { color: var(--bh-ink); padding: .3rem .5rem; border-radius: .3rem; }
.statute-sidenav .nav-link.active,
.statute-sidenav .nav-link:hover { background: rgba(var(--cnvs-themecolor-rgb), .10); color: var(--cnvs-themecolor); }

/* Visible keyboard focus (accessibility floor) */
a:focus-visible, button:focus-visible, .menu-link:focus-visible, .nav-link:focus-visible {
  outline: 3px solid var(--cnvs-themecolor);
  outline-offset: 2px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important;
      transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ---- Print: readers carry statute pages and generated letters into board meetings ---- */
@media print {
  #header, .primary-menu, .primary-menu-trigger, #footer, #gotoTop,
  .page-title .breadcrumb, .parallax-bg, .no-print { display: none !important; }
  body { color: #000; background: #fff; font-size: 12pt; }
  a { color: #000; text-decoration: none; }
  .statute-sidenav { display: none !important; }
  .container, .content-wrap, main { width: 100% !important; max-width: 100% !important; }
  .statute-text, .statute-text p { line-height: 1.5; }
  h1, h2, h3 { page-break-after: avoid; }
  .statute-section { page-break-inside: avoid; }
  /* Show the source citation URL after links so a printed page stays verifiable */
  .print-cite a[href]::after { content: " (" attr(href) ")"; font-size: 10pt; color: #333; }
}

/* McClellan green re-asserted last so it wins the theme-color cascade over the ported palette */
:root{ --cnvs-themecolor:#1f5c3d; --cnvs-themecolor-rgb:31,92,61; }
