@import url('./styles.css');
.subpage-header { padding-bottom: 1.1rem; }
.subpage-header .brand-row { margin-bottom: 0; }
.subpage-main { width: min(1180px, calc(100% - 2rem)); margin: 1.25rem auto 4rem; }
.page-intro { padding: clamp(1.3rem, 4vw, 2.6rem); border-radius: 1.5rem; color: white; background: linear-gradient(135deg, var(--navy), var(--blue)); box-shadow: var(--shadow); }
.page-intro h1 { margin: .3rem 0 .55rem; font-size: clamp(2rem, 5vw, 3.6rem); }
.page-intro p { max-width: 780px; color: #dce9ff; line-height: 1.6; }
.quick-nav { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: 1rem; }
.quick-nav a { padding: .55rem .75rem; border-radius: 999px; color: white; background: rgba(255,255,255,.13); text-decoration: none; font-weight: 800; font-size: .76rem; }
.section-back-link { display: inline-flex; margin: 0 0 .75rem; padding: .55rem .75rem; border-radius: 999px; color: var(--blue); background: white; border: 1px solid #c7d6e5; text-decoration: none; font-size: .76rem; font-weight: 900; }
.volunteer-intro, .volunteer-detail-intro { background: linear-gradient(135deg,#063c31,#087a55 62%,#155ba3); }
.volunteer-shortcuts { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.volunteer-shortcuts a { padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: rgba(255,255,255,.13); text-decoration: none; font-size: .74rem; font-weight: 900; }
.volunteer-index { margin-top: 1rem; }
.volunteer-choice-grid .pathway-card { min-height: 150px; }
.volunteer-filter-bar { display: grid; grid-template-columns: .8fr 1.2fr; gap: .75rem; }
.volunteer-filter-bar label { display: grid; gap: .35rem; color: var(--navy); font-size: .76rem; font-weight: 900; }
.volunteer-filter-bar select, .volunteer-filter-bar input { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #b8c8d8; border-radius: .7rem; background: white; color: var(--ink); font: inherit; }
.volunteer-resource-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-top: .8rem; }
.volunteer-resource-card { display: flex; flex-direction: column; padding: 1.1rem; border: 1px solid #bddfce; border-radius: 1rem; background: rgba(255,255,255,.9); box-shadow: 0 5px 16px rgba(5,31,77,.05); }
.volunteer-card-meta { display: flex; justify-content: space-between; align-items: center; gap: .6rem; }
.volunteer-card-meta span { padding: .3rem .5rem; border-radius: 999px; background: #e6f5ed; color: #17664d; font-size: .65rem; font-weight: 900; }
.volunteer-card-meta small { color: var(--muted); font-size: .64rem; }
.volunteer-resource-card h2 { margin: .65rem 0 .35rem; color: var(--navy); font-size: 1.15rem; }
.volunteer-resource-card p { color: var(--muted); font-size: .79rem; line-height: 1.55; }
.volunteer-resource-card a { margin-top: auto; padding-top: .75rem; color: var(--blue); font-size: .77rem; font-weight: 900; }
.volunteer-guidance { margin-top: 1rem; padding: 1rem; border-left: 5px solid var(--gold); border-radius: .9rem; background: #fff8df; }
.volunteer-guidance h2 { margin: 0; color: var(--navy); font-size: 1.15rem; }
.volunteer-guidance p, .volunteer-guidance li { color: #5a4a1d; font-size: .78rem; line-height: 1.55; }
.volunteer-guidance a { color: var(--blue); font-weight: 900; }
.volunteer-next-steps { border-color: #b9d4ec !important; border-top-color: var(--blue) !important; background: linear-gradient(145deg,#fff,#eef6ff) !important; }
.disability-crosslink { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 1rem; padding: 1.15rem; border: 1px solid #bddfce; border-left: 6px solid var(--green); border-radius: 1rem; background: linear-gradient(135deg,#f8fffb,#eaf7f0); box-shadow: var(--shadow); }
.disability-crosslink > span { font-size: 2rem; }
.disability-crosslink h2 { margin: .2rem 0; color: var(--navy); }
.disability-crosslink p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.disability-crosslink-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.disability-crosslink-actions a { padding: .58rem .7rem; border-radius: .65rem; background: var(--navy); color: white; text-decoration: none; font-size: .72rem; font-weight: 900; }
.disability-crosslink-actions a:last-child { background: var(--green); }
.disability-intro { background: linear-gradient(135deg,#063c31,#087a55 58%,#155ba3); }
.disability-mode-switch { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.disability-mode-switch button, .disability-category-tabs button { min-height: 44px; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: white; background: rgba(255,255,255,.12); font: inherit; font-size: .75rem; font-weight: 900; cursor: pointer; }
.disability-mode-switch button[aria-pressed="true"] { color: var(--navy); background: var(--gold); border-color: var(--gold); }
.disability-category-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.disability-category-tabs button { border-color: #bddfce; color: #17664d; background: white; }
.disability-category-tabs button[aria-pressed="true"] { color: white; background: var(--green); border-color: var(--green); }
.disability-filter-drawer { margin-top: .85rem; padding: .9rem; border: 1px solid #c7d6e5; border-radius: .85rem; background: rgba(255,255,255,.82); }
.disability-filter-drawer summary { color: var(--navy); font-size: .8rem; font-weight: 900; cursor: pointer; }
.disability-filter-grid { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.disability-filter-grid label { position: relative; cursor: pointer; }
.disability-filter-grid input { position: absolute; opacity: 0; }
.disability-filter-grid span { display: inline-flex; align-items: center; min-height: 42px; padding: .5rem .65rem; border: 1px solid #c5d4e2; border-radius: 999px; color: var(--navy); background: white; font-size: .69rem; font-weight: 800; }
.disability-filter-grid input:focus-visible + span { outline: 3px solid var(--gold); outline-offset: 2px; }
.disability-filter-grid input:checked + span { border-color: var(--blue); color: white; background: var(--blue); }
#clear-disability-filters { margin-top: .7rem; padding: .5rem .65rem; border: 0; border-radius: .6rem; color: white; background: var(--navy); font: inherit; font-size: .7rem; font-weight: 900; cursor: pointer; }
.opportunity-tags { display: flex; flex-wrap: wrap; gap: .3rem; margin: .55rem 0; }
.opportunity-tags span { padding: .25rem .4rem; border-radius: 999px; color: #42576a; background: #edf3f8; font-size: .61rem; font-weight: 800; }
.learn-intro { background: linear-gradient(135deg,#082c62,#145e9f 62%,#18704f); }
.learn-index { margin-top: 1rem; }
.learn-choice-grid .pathway-card { min-height: 145px; }
.print-guide-button { min-height: 44px; margin-top: 1rem; padding: .7rem .85rem; border: 1px solid rgba(255,255,255,.35); border-radius: .7rem; color: var(--navy); background: var(--gold); font: inherit; font-size: .75rem; font-weight: 900; cursor: pointer; }
.learn-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; }
.learn-card-grid article { padding: 1rem; border: 1px solid #c9d8e6; border-radius: .9rem; background: rgba(255,255,255,.88); }
.learn-card-grid h3 { margin: 0 0 .35rem; color: var(--navy); font-size: 1rem; }
.learn-card-grid p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.bill-step-list { display: grid; gap: .55rem; margin: 1rem 0; padding: 0; counter-reset: bill-step; list-style: none; }
.bill-step-list li { display: grid; grid-template-columns: auto 1fr; gap: .25rem .7rem; padding: .85rem; border: 1px solid #c9d8e6; border-radius: .8rem; background: white; }
.bill-step-list li::before { grid-row: 1 / 3; counter-increment: bill-step; content: counter(bill-step); display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; color: white; background: var(--green); font-size: .72rem; font-weight: 900; }
.bill-step-list strong { color: var(--navy); }
.bill-step-list span { color: var(--muted); font-size: .77rem; line-height: 1.45; }
.voting-index-main { margin-top: 1.25rem; }
.voting-choice-panel { margin-top: 1rem; }
.voting-choice-panel .pathway-heading > p { max-width: 390px; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.voting-choice-grid .pathway-card { min-height: 145px; }
.category-focus-index { margin-top: 1.25rem; }
.category-focus-index .pathway-heading > p { max-width: 390px; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.category-focus-index .pathway-card { min-height: 140px; }
.category-back-link { margin-top: 1.25rem; }
#hub > .category-focus-index { margin: 0; border-radius: 0; border-inline: 0; box-shadow: none; background: linear-gradient(145deg,#fff,#f1f7fc); }
.work-section { position: relative; overflow: hidden; margin-top: 1.35rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-top-width: 6px; border-radius: 1.3rem; background: white; box-shadow: var(--shadow); }
.work-section h2 { margin: 0 0 .4rem; color: var(--navy); font-size: clamp(1.45rem, 3vw, 2.2rem); }
.work-section:nth-of-type(4n + 1) { border-color: #b9d4ec; border-top-color: #4e87c7; background: linear-gradient(145deg,#fff 12%,#eef6ff); }
.work-section:nth-of-type(4n + 1) h2 { color: #174f8e; }
.work-section:nth-of-type(4n + 2) { border-color: #bddfce; border-top-color: #5ca488; background: linear-gradient(145deg,#fff 12%,#edf8f2); }
.work-section:nth-of-type(4n + 2) h2 { color: #17664d; }
.work-section:nth-of-type(4n + 3) { border-color: #ead89d; border-top-color: #e1b53f; background: linear-gradient(145deg,#fff 12%,#fff8df); }
.work-section:nth-of-type(4n + 3) h2 { color: #795c08; }
.work-section:nth-of-type(4n) { border-color: #d5dde6; border-top-color: var(--navy); background: linear-gradient(145deg,#fff,#f5f8fb); }
.work-section:nth-of-type(4n) h2 { color: var(--navy); }
.election-deadlines { border-color: #ead89d !important; border-top-color: #e1b53f !important; background: linear-gradient(145deg,#fff 10%,#fff7d9) !important; }
.election-deadlines h2 { color: #795c08 !important; }
#government, #voter-tools { border-color: #b9d4ec; border-top-color: #4e87c7; background: linear-gradient(145deg,#fff 12%,#eef6ff); }
#government h2, #voter-tools h2 { color: #174f8e; }
#meetings, #candidates, #participate { border-color: #bddfce; border-top-color: #5ca488; background: linear-gradient(145deg,#fff 12%,#edf8f2); }
#meetings h2, #candidates h2, #participate h2 { color: #17664d; }
#five-minutes, #laws { border-color: #ead89d; border-top-color: #e1b53f; background: linear-gradient(145deg,#fff 12%,#fff8df); }
#five-minutes h2, #laws h2 { color: #795c08; }
#election-service { border-color: #c8dced; border-top-color: var(--blue); background: linear-gradient(145deg,#fff,#f1f7fc); }
#five { border-color: #b9d4ec; border-top-color: #4e87c7; background: linear-gradient(145deg,#fff,#eef6ff); }
#five h2 { color: #174f8e; }
#ten { border-color: #bddfce; border-top-color: #5ca488; background: linear-gradient(145deg,#fff,#edf8f2); }
#ten h2 { color: #17664d; }
#fifteen { border-color: #ead89d; border-top-color: #e1b53f; background: linear-gradient(145deg,#fff,#fff8df); }
#fifteen h2 { color: #795c08; }
#thirty { border-color: #b9d4ec; border-top-color: #4e87c7; background: linear-gradient(145deg,#fff,#eef6ff); }
#thirty h2 { color: #174f8e; }
#hour { border-color: #bddfce; border-top-color: #5ca488; background: linear-gradient(145deg,#fff,#edf8f2); }
#hour h2 { color: #17664d; }
.section-lede { color: var(--muted); max-width: 850px; line-height: 1.55; }
.level-grid, .tool-grid, .action-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.level-card, .tool-card, .action-card { display: flex; flex-direction: column; padding: 1rem; border: 1px solid rgba(61,91,119,.18); border-radius: 1rem; background: rgba(255,255,255,.82); box-shadow: 0 5px 16px rgba(5,31,77,.05); }
.level-card h3, .tool-card h3, .action-card h3 { margin: .3rem 0; color: var(--navy); }
.level-card p, .tool-card p, .action-card p { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.level-card a, .tool-card a, .action-card a { margin-top: auto; padding-top: .65rem; color: var(--blue); font-weight: 900; font-size: .78rem; }
.source-stack { display: grid; gap: .55rem; margin-top: .9rem; }
.source-stack a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem; border: 1px solid var(--line); border-radius: .75rem; color: var(--navy); text-decoration: none; font-weight: 800; }
.source-stack a:hover { border-color: var(--blue); }
.accountability-intro { background: linear-gradient(135deg,#06275f,#0b4dac 68%,#17664d); }
.accountability-nav { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .55rem; margin-top: 1rem; }
.accountability-nav a { padding: .75rem; border: 1px solid rgba(255,255,255,.22); border-radius: .8rem; background: rgba(255,255,255,.1); color: white; text-decoration: none; font-size: .74rem; font-weight: 900; text-align: center; }
.step-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; counter-reset: accountability-step; }
.step-list article { padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; background: rgba(255,255,255,.88); }
.step-list article::before { counter-increment: accountability-step; content: counter(accountability-step); display: grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--navy); color: white; font-size: .75rem; font-weight: 900; }
.step-list h3 { margin: .6rem 0 .3rem; color: var(--navy); font-size: .95rem; }
.step-list p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.accountability-tool { margin-top: 1rem; padding: 1rem; border: 1px solid #b9d4ec; border-radius: 1rem; background: rgba(255,255,255,.9); }
.records-routing-guide { margin-top: 1rem; padding: clamp(1rem,3vw,1.4rem); border: 1px solid #c6d9eb; border-left: 6px solid var(--blue); border-radius: 1rem; background: linear-gradient(145deg,#fff,#eef6ff); }
.records-routing-guide h3 { margin: 0; color: var(--navy); font-size: 1.35rem; }
.records-routing-guide > div:first-child > p:last-child { max-width: 820px; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.records-routing-guide > label { display: grid; gap: .4rem; margin-top: 1rem; color: var(--navy); font-size: .78rem; font-weight: 900; }
.records-routing-guide select { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #aebfd0; border-radius: .7rem; background: white; color: var(--ink); font: inherit; }
.records-guide-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; }
.records-guide-controls label { display: grid; gap: .4rem; color: var(--navy); font-size: .78rem; font-weight: 900; }
.records-guide-controls .full { grid-column: 1 / -1; }
.records-guide-result { margin-top: .75rem; padding: 1rem; border: 1px solid #bddfce; border-radius: .8rem; background: #edf8f2; color: #214f40; font-size: .82rem; line-height: 1.55; }
.records-guide-result strong { display: block; margin-bottom: .25rem; color: #17664d; }
.records-contact-actions { display: flex; gap: .55rem; flex-wrap: wrap; margin-top: .65rem; }
.records-contact-actions a { display: inline-flex; align-items: center; min-height: 2.2rem; padding: .5rem .65rem; border-radius: .6rem; background: white; color: var(--blue); text-decoration: none; font-size: .72rem; font-weight: 900; }
.records-contact-meta { display: grid; gap: .2rem; margin-top: .6rem; color: #3f5f55; font-size: .74rem; }
.use-guide-contact { margin-top: .65rem; padding: .65rem .8rem; border: 0; border-radius: .65rem; background: var(--navy); color: white; font: inherit; font-size: .75rem; font-weight: 900; cursor: pointer; }
.records-quick-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; margin-top: .85rem; }
.records-quick-grid article { display: grid; gap: .3rem; padding: .8rem; border-radius: .75rem; background: rgba(255,255,255,.85); }
.records-quick-grid b { color: var(--navy); font-size: .8rem; }
.records-quick-grid span { color: var(--muted); font-size: .72rem; line-height: 1.45; }
.records-routing-note { margin: .85rem 0 0; padding: .75rem; border-radius: .7rem; background: #fff8df; color: #62460a; font-size: .74rem; line-height: 1.5; }
.accountability-tool h3 { margin: 0; color: var(--navy); }
.tool-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }
.tool-form label { display: grid; gap: .35rem; color: var(--navy); font-size: .74rem; font-weight: 900; }
.tool-form label.full { grid-column: 1 / -1; }
.tool-form input, .tool-form select, .tool-form textarea { width: 100%; padding: .7rem; border: 1px solid #b7c5d4; border-radius: .65rem; background: white; color: var(--ink); font: inherit; }
.tool-form textarea { min-height: 190px; resize: vertical; font-family: ui-monospace,Consolas,monospace; font-size: .75rem; line-height: 1.5; }
.tool-actions { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: .7rem; }
.tool-actions button, .tool-actions a { min-height: 2.5rem; padding: .65rem .85rem; border: 0; border-radius: .65rem; background: var(--navy); color: white; text-decoration: none; font-weight: 900; font-size: .75rem; cursor: pointer; }
.contact-verification { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem; border: 1px solid #bddfce; border-radius: .75rem; background: #edf8f2; }
.contact-verification div { display: grid; gap: .2rem; }
.contact-verification strong { color: #17664d; font-size: .78rem; }
.contact-verification span { color: var(--muted); font-size: .7rem; line-height: 1.4; }
.contact-verification a { color: var(--blue); font-size: .72rem; font-weight: 900; white-space: nowrap; }
.email-safety-note { margin: .8rem 0 0; padding: .75rem; border-radius: .7rem; background: #eef5fc; color: var(--navy); font-size: .72rem; line-height: 1.5; }
.rights-grid, .petition-grid, .complaint-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }
.rights-card, .petition-card, .complaint-card { padding: 1rem; border: 1px solid rgba(61,91,119,.18); border-radius: .9rem; background: rgba(255,255,255,.88); }
.rights-card h3, .petition-card h3, .complaint-card h3 { margin: 0 0 .4rem; color: var(--navy); font-size: 1rem; }
.rights-card p, .petition-card p, .complaint-card p, .rights-card li, .petition-card li { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.rights-card a, .petition-card a, .complaint-card a { color: var(--blue); font-size: .76rem; font-weight: 900; }
.cause-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; margin-top: 1rem; }
.cause-card { padding: 1.1rem; border: 1px solid rgba(61,91,119,.18); border-radius: 1rem; background: rgba(255,255,255,.9); }
.cause-card h3 { margin: .35rem 0 .45rem; color: var(--navy); font-size: 1.05rem; }
.cause-card p, .campaign-checklist li { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.cause-label { color: #17664d; font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.cause-actions { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }
.cause-actions a { padding: .5rem .65rem; border: 1px solid #b9d4ec; border-radius: .65rem; color: var(--blue); background: #f4f9ff; text-decoration: none; font-size: .72rem; font-weight: 900; }
.campaign-checklist { margin-top: 1rem; padding: 1rem; border-left: 5px solid var(--gold); border-radius: .8rem; background: #fff8df; }
.campaign-checklist h3 { margin: 0; color: var(--navy); font-size: 1rem; }
.campaign-checklist ul { margin: .65rem 0 0; padding-left: 1.2rem; }
.campaign-reviewed { margin: .75rem 0 0; color: var(--muted); font-size: .68rem; }
.handler-controls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.handler-controls label { display: grid; gap: .35rem; color: var(--navy); font-size: .74rem; font-weight: 900; }
.handler-controls label.full { grid-column: 1 / -1; }
.handler-controls select { width: 100%; min-height: 2.9rem; padding: .7rem; border: 1px solid #b8c8d8; border-radius: .7rem; background: white; color: var(--ink); font: inherit; }
.handler-result { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.handler-answer, .handler-contact { padding: 1.1rem; border: 1px solid #b9d4ec; border-radius: 1rem; background: #f4f9ff; }
.handler-contact { border-color: #bddfce; background: #edf8f2; }
.handler-answer h3, .handler-contact h3 { margin: .35rem 0; color: var(--navy); font-size: 1.1rem; }
.handler-answer p, .handler-contact p, .handler-contact small { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.handler-actions, .handler-contact-lines { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .8rem; }
.handler-actions a, .handler-contact-lines a, .handler-contact-lines span { padding: .48rem .6rem; border: 1px solid #c7d6e5; border-radius: .6rem; background: white; color: var(--blue); text-decoration: none; font-size: .72rem; font-weight: 900; }
.handler-contact-lines span { color: var(--ink); font-weight: 700; }
.handler-caution { grid-column: 1 / -1; margin: 0; padding: .8rem; border-radius: .7rem; color: #5b4a12; background: #fff8df; font-size: .74rem; line-height: 1.5; }
.decision-strip { margin-top: 1rem; padding: 1rem; border-left: 5px solid var(--gold); border-radius: .8rem; background: #fff8df; color: #62460a; font-size: .79rem; line-height: 1.55; }
.selected-data { margin-top: 1rem; }
.selected-data .directory-grid, .selected-data .school-grid { margin-top: .7rem; }
.accuracy-note { margin-top: .9rem; padding: .8rem; border-radius: .8rem; background: #fff5cf; color: #62460a; font-size: .78rem; line-height: 1.5; }
.meet-judges { margin-top: 1.3rem; padding: clamp(1rem,3vw,1.5rem); border: 1px solid #b9d4ec; border-left: 6px solid var(--blue); border-radius: 1rem; background: linear-gradient(145deg,#fff 25%,#eef6ff); }
.judges-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.judges-heading .eyebrow { margin: 0 0 .25rem; color: #17664d; }
.meet-judges h3 { margin: 0; color: var(--navy); font-size: clamp(1.3rem,3vw,1.8rem); }
.judge-source-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }
.judge-source-card { display: flex; flex-direction: column; padding: 1rem; border: 1px solid rgba(61,91,119,.2); border-radius: .9rem; background: rgba(255,255,255,.9); box-shadow: 0 5px 14px rgba(5,31,77,.05); }
.judge-source-card h4, .judge-research h4 { margin: .35rem 0; color: var(--navy); }
.judge-source-card p { color: var(--muted); font-size: .78rem; line-height: 1.5; }
.judge-source-card a { margin-top: auto; padding-top: .65rem; color: var(--blue); font-size: .77rem; font-weight: 900; }
.federal-court-card { border-color: #ead89d; background: #fffaf0; }
.judge-research { margin-top: .9rem; padding: 1rem; border-radius: .9rem; background: #edf8f2; }
.judge-research ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem 1.5rem; margin: .7rem 0 0; padding-left: 1.2rem; }
.judge-research li { color: #34495d; font-size: .79rem; line-height: 1.5; }
.judge-note { margin: .9rem 0 0; padding: .8rem; border-radius: .8rem; background: #fff5cf; color: #62460a; font-size: .78rem; line-height: 1.5; }
.deadline-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .65rem; margin-top: 1rem; }
.deadline-card { display: flex; flex-direction: column; min-height: 245px; padding: .9rem; border: 1px solid var(--line); border-radius: 1rem; background: linear-gradient(180deg,#fff,#f5f9ff); }
.deadline-card time { margin-top: .75rem; color: var(--green); font-size: .84rem; font-weight: 900; }
.deadline-card h3 { margin: .3rem 0; color: var(--navy); font-size: .95rem; }
.deadline-card p { color: var(--muted); font-size: .72rem; line-height: 1.45; }
.deadline-card a { margin-top: auto; color: var(--blue); font-size: .74rem; font-weight: 900; }
.calendar-actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.calendar-actions > a:not(.download-link) { color: var(--blue); font-size: .8rem; font-weight: 900; }
.custom-election { margin-top: 1rem; padding: 1rem; border: 1px solid #cbd8e8; border-radius: 1rem; background: #f8fbff; }
.custom-election summary { cursor: pointer; color: var(--navy); font-weight: 900; }
.custom-election > p { color: var(--muted); font-size: .8rem; }
.custom-election-form, .meeting-planner-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; align-items: end; margin-top: .8rem; }
.custom-election-form label, .meeting-planner-form label { display: grid; gap: .3rem; color: var(--navy); font-size: .72rem; font-weight: 900; }
.custom-election-form input, .meeting-planner-form input, .meeting-planner-form select { min-height: 2.7rem; width: 100%; padding: .55rem; border: 1px solid #bfcbd8; border-radius: .6rem; background: white; color: var(--ink); }
.disabled-link { opacity: .5; pointer-events: none; }
.meeting-planner { margin-top: 1rem; padding: 1rem; border-radius: 1rem; background: #eef7f2; border: 1px solid #b8dac7; }
.meeting-planner h4 { margin: 0; color: var(--navy); }
.meeting-planner p { color: var(--muted); font-size: .78rem; }
.meeting-feed-status { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1rem; border: 1px solid #b8dac7; border-radius: .9rem; background: #edf8f2; }
.meeting-feed-status div { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; }
.meeting-feed-status strong { color: var(--navy); }
.meeting-feed-status span { color: var(--muted); font-size: .78rem; }
.meeting-feed-status .connection-method { padding: .25rem .45rem; border-radius: 999px; background: white; color: #17664d; font-weight: 900; }
.meeting-feed-status a { color: var(--blue); font-size: .76rem; font-weight: 900; }
.upcoming-meeting { border: 2px solid #73b394 !important; background: linear-gradient(160deg,#fff,#edf8f2) !important; }
.upcoming-meeting time { color: #17664d; font-weight: 900; }
.meeting-notice { padding: .65rem; border-radius: .6rem; background: #fff8df; color: #62460a !important; font-size: .75rem !important; }
.meeting-actions { display: flex; gap: .55rem; flex-wrap: wrap; align-items: center; margin-top: auto; padding-top: .55rem; }
.meeting-actions a { font-size: .72rem; font-weight: 900; }
.policy-page { max-width: 980px; }
.policy-date { margin-top: 1rem; font-size: .75rem; font-weight: 900; }
.policy-promise-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; margin-top: 1rem; }
.policy-promise-grid article { display: grid; grid-template-columns: auto 1fr; gap: .3rem .6rem; padding: 1rem; border: 1px solid #bddfce; border-radius: .9rem; background: rgba(255,255,255,.85); }
.policy-promise-grid article > span { grid-row: 1 / 3; color: var(--green); font-size: 1.2rem; font-weight: 900; }
.policy-promise-grid strong { color: var(--navy); }
.policy-promise-grid p { grid-column: 2; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.policy-copy { max-width: 820px; color: var(--ink); line-height: 1.65; }
.policy-copy h3 { margin: 1.1rem 0 .25rem; color: var(--navy); }
.policy-copy p { color: #34495d; }
.policy-copy li { margin-bottom: .5rem; color: #34495d; }
.policy-note { display: flex; gap: .5rem 1rem; flex-wrap: wrap; margin-top: 1.35rem; padding: 1rem; border: 1px solid #ead89d; border-radius: 1rem; background: #fff8df; color: #62460a; }
.civic-impact-simulator { border-color: #ead89d !important; border-top-color: #e1b53f !important; background: linear-gradient(145deg,#fff 10%,#fff8df) !important; }
.simulator-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }
.simulator-heading h2 { color: #795c08 !important; }
.simulator-heading p { max-width: 680px; color: var(--muted); line-height: 1.5; }
.simulator-total { min-width: 170px; padding: .8rem 1rem; border-radius: 1rem; background: var(--navy); color: white; text-align: right; }
.simulator-total span { display: block; color: #dce9ff; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.simulator-total strong { display: block; margin-top: .15rem; color: var(--gold); font-size: 1.8rem; }
.simulator-controls { margin-top: 1rem; padding: 1rem; border: 1px solid #ead89d; border-radius: 1rem; background: rgba(255,255,255,.85); }
.simulator-controls > label { display: flex; justify-content: space-between; gap: 1rem; color: var(--navy); font-weight: 900; }
.simulator-controls input[type="range"] { width: 100%; margin: 1rem 0 .25rem; accent-color: var(--green); cursor: pointer; }
.slider-scale { display: flex; justify-content: space-between; color: var(--muted); font-size: .68rem; }
.simulator-controls fieldset { margin: 1rem 0 0; padding: 0; border: 0; }
.simulator-controls legend { color: var(--navy); font-size: .78rem; font-weight: 900; }
.gift-options { display: flex; gap: .55rem; margin-top: .55rem; }
.gift-options button { min-width: 76px; min-height: 44px; border: 2px solid #bddfce; border-radius: 999px; background: white; color: var(--green); font: inherit; font-weight: 900; cursor: pointer; }
.gift-options button[aria-pressed="true"] { border-color: var(--green); background: var(--green); color: white; }
.impact-equation { display: flex; justify-content: center; align-items: center; gap: .65rem; flex-wrap: wrap; margin: 1rem 0; color: var(--navy); font-size: clamp(.9rem,2.5vw,1.15rem); }
.impact-equation span, .impact-equation strong { padding: .55rem .7rem; border-radius: .7rem; background: white; }
.impact-equation strong { color: #17664d; }
.impact-example-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .7rem; }
.impact-example-grid article { padding: 1rem; border: 1px solid rgba(61,91,119,.18); border-radius: .9rem; background: white; }
.impact-example-grid article > span { color: var(--green); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.impact-example-grid h3 { margin: .35rem 0; color: var(--navy); font-size: .95rem; }
.impact-example-grid p, .simulator-disclaimer { color: var(--muted); font-size: .75rem; line-height: 1.5; }
.simulator-disclaimer { margin: 1rem 0 0; padding: .75rem; border-radius: .7rem; background: #fff; }
.custom-reminders { display: grid; grid-template-columns: repeat(3,1fr); gap: .55rem; margin-top: .8rem; }
.custom-reminders a { display: grid; gap: .2rem; padding: .7rem; border: 1px solid var(--line); border-radius: .7rem; background: white; color: var(--navy); text-decoration: none; font-size: .72rem; }
.custom-reminders small { color: var(--blue); font-weight: 900; }
@media (max-width: 960px) { .deadline-grid { grid-template-columns: repeat(3,1fr); } .custom-election-form, .meeting-planner-form { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .level-grid, .tool-grid, .action-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .judge-source-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 820px) { .accountability-nav, .step-list { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 620px) { .judges-heading { align-items: flex-start; flex-direction: column; } .judge-source-grid, .judge-research ul { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .accountability-nav, .step-list, .tool-form, .rights-grid, .petition-grid, .complaint-grid, .cause-grid, .records-quick-grid, .records-guide-controls, .handler-controls, .handler-result { grid-template-columns: 1fr; } .tool-form label.full, .records-guide-controls .full, .handler-controls label.full, .handler-caution { grid-column: auto; } }
@media (max-width: 520px) { .subpage-main { width: min(100% - 1rem,1180px); } .level-grid, .tool-grid, .action-grid, .deadline-grid, .custom-election-form, .meeting-planner-form, .custom-reminders { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .policy-promise-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .simulator-heading { flex-direction: column; } .simulator-total { width: 100%; text-align: left; } .impact-example-grid { grid-template-columns: 1fr; } }
.report-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin-top: 1rem; }
.report-contact-grid article { display: flex; flex-direction: column; align-items: flex-start; padding: 1rem; border: 1px solid #c7d8e8; border-radius: 1rem; background: rgba(255,255,255,.88); }
.report-contact-grid article > span { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: .65rem; color: white; background: var(--blue); font-weight: 900; }
.report-contact-grid h3 { margin: .7rem 0 .3rem; color: var(--navy); }
.report-contact-grid p { color: var(--muted); font-size: .8rem; line-height: 1.5; }
.report-contact-grid a { margin-top: auto; }
@media (max-width: 620px) { .report-contact-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .voting-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .voting-choice-grid .pathway-card { min-height: 118px; } .voting-choice-panel { padding: 1rem; } }
@media (max-width: 700px) { .volunteer-filter-bar, .volunteer-resource-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .disability-crosslink { grid-template-columns: auto 1fr; } .disability-crosslink-actions { grid-column: 1 / -1; } }
@media (max-width: 700px) { .learn-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .volunteer-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .volunteer-choice-grid .pathway-card { min-height: 132px; } .volunteer-choice-grid .pathway-card small { font-size: .66rem; } }
@media (max-width: 520px) { .learn-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .learn-choice-grid .pathway-card { min-height: 128px; } }
@media print { .site-header, footer, .section-back-link, .print-guide-button { display: none !important; } .subpage-main { width: 100%; margin: 0; } .page-intro, .work-section { color: #111 !important; background: white !important; box-shadow: none !important; } .page-intro p { color: #333 !important; } a { color: #111 !important; } }
