.civic-guide { max-width:1100px; margin:auto; }
.civic-guide h1 { font-size:40px; max-width:760px; margin-bottom:12px; }
.civic-lead { font-size:20px; color:var(--muted); max-width:650px; }
.civic-guide section { margin-block:46px; scroll-margin-top:20px; }
.civic-guide h2 { font-size:25px; margin-bottom:12px; }
.civic-guide h3 { font-size:21px; line-height:1.3; }
.civic-guide h4 { font-size:17px; line-height:1.4; }
.civic-shortcuts,.civic-filters { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0; }
.civic-shortcuts a,.civic-filters a { padding:8px 13px; border:1px solid var(--border); border-radius:6px; text-decoration:none; background:white; }
.civic-filters [aria-current=page] { background:var(--green); color:white; border-color:var(--green); }
.civic-principle { background:var(--accent); padding:20px 24px; max-width:900px; border-radius:8px; }
.civic-principle strong { display:block; font-size:19px; margin-bottom:4px; }
.civic-map { margin-top:22px; border:1px solid var(--border); border-radius:10px; background:white; overflow:hidden; }
.civic-map-row { display:grid; grid-template-columns:90px minmax(0,1fr) 120px minmax(0,1fr) 65px; align-items:center; gap:16px; padding:24px; border-bottom:1px solid var(--border); }
.civic-map-row:last-child { border-bottom:0; }
.civic-sphere { color:var(--green); font-weight:700; }
.civic-node { padding:16px; border:1px solid var(--border); border-radius:7px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.civic-node small { font-size:10px; font-weight:700; letter-spacing:.04em; color:var(--muted); }
.civic-node strong { font-size:18px; line-height:1.35; margin-top:7px; }
.civic-node>span { font-size:12px; color:var(--muted); margin-top:5px; }
.civic-relationship { display:flex; flex-direction:column; text-align:center; color:var(--muted); font-size:12px; line-height:1.4; }
.civic-relationship>span:first-child { font-size:28px; color:var(--green); line-height:1; margin-bottom:7px; }
.civic-explore { font-size:13px; }
.civic-key { font-size:14px; color:var(--muted); }
.civic-note { border-left:3px solid var(--green); padding:10px 18px; margin:18px 0; }
.civic-offices { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:20px; align-items:start; }
.civic-office { background:white; border:1px solid var(--border); border-radius:9px; padding:22px; }
.civic-office h3 { margin:6px 0 10px; }
.civic-office .category { margin:0; }
.civic-office dl { margin:0; }
.civic-office dt { font-size:13px; font-weight:750; margin-top:17px; color:var(--green); }
.civic-office dd { margin:3px 0 0; font-size:16px; }
.civic-guide details { padding:16px 0; border-bottom:1px solid var(--border); }
.civic-guide summary { cursor:pointer; font-weight:600; color:var(--green); }
.civic-guide details p { max-width:850px; }
.civic-office details { font-size:14px; margin-top:18px; border-bottom:0; padding-bottom:0; }
.civic-office details p { font-size:14px; }
.civic-office details a { font-size:12px; overflow-wrap:anywhere; }
.civic-flow-title { font-weight:650; color:var(--green); }
.civic-law-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; gap:14px; counter-reset:step; }
.civic-law-flow li { background:white; border-top:3px solid var(--green); padding:18px; position:relative; }
.civic-law-flow li:not(:last-child)::after { content:'→'; position:absolute; right:-12px; top:21px; color:var(--green); font-size:20px; z-index:1; }
.civic-step-number { display:inline-grid; place-items:center; width:30px; height:30px; background:var(--accent); border-radius:50%; color:var(--green); font-weight:700; }
.civic-law-flow h4 { margin:12px 0 8px; }
.civic-law-flow p { font-size:15px; margin:0; }
.civic-return { padding:16px 20px; background:var(--accent); border-radius:7px; }
.civic-law-type dl,.civic-glossary { display:grid; grid-template-columns:180px minmax(0,1fr); gap:12px 24px; }
.civic-law-type dt,.civic-glossary dt { font-weight:650; }
.civic-law-type dd,.civic-glossary dd { margin:0; }
.civic-research { font-size:14px; margin-top:36px; }
.civic-circle-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.civic-circle-figure { margin:0; padding:24px; background:white; border:1px solid var(--border); border-radius:10px; }
.civic-circle-figure h3 { margin:0 0 12px; }
.civic-circle-drawing { display:block; width:100%; max-width:500px; height:auto; margin:0 auto 16px; }
.civic-svg-label { font:600 24px system-ui,sans-serif; fill:var(--ink); }
.civic-svg-small { font:19px system-ui,sans-serif; fill:var(--muted); }
.civic-role-circle { fill:#e6eee7; stroke:#44745b; stroke-width:2; }
.shared-government { fill:#5b9670; fill-opacity:.16; stroke:#44745b; stroke-width:2; }
.shared-example { fill:white; stroke:#17583f; stroke-width:2; }
.civic-svg-example { font-size:22px; }
.office-reach-label { font-size:21px; }
.proposal-connections { fill:none; stroke:#44745b; stroke-width:2; }
.civic-law-circles { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; margin-top:24px; }
.civic-circle-figure figcaption { font-size:16px; }
.civic-circle-figure p { font-size:14px; }
.civic-ubs-example { margin-top:24px; }
.civic-ubs-example h4 { font-size:19px; margin:0 0 10px; }
.civic-ubs-example dt { font-size:15px; font-weight:700; color:var(--green); margin-top:18px; }
.civic-ubs-example dd { font-size:15px; margin:6px 0 0; }
.civic-ubs-example li { font-size:14px; margin-bottom:10px; }
.civic-ubs-example details { font-size:14px; }
@media(max-width:850px) {
 .civic-map-row { grid-template-columns:70px minmax(0,1fr) 75px minmax(0,1fr); gap:10px; padding:18px; }
 .civic-explore { grid-column:2 / -1; }
 .civic-relationship { font-size:10px; }
 .civic-node { padding:12px; }
 .civic-node strong { font-size:16px; }
 .civic-law-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .civic-law-flow li::after { display:none; }
}
@media(max-width:600px) {
 .civic-circle-pair,.civic-law-circles { grid-template-columns:1fr; }
 .civic-circle-figure { padding:18px; }
 .civic-guide h1 { font-size:30px; }
 .civic-lead { font-size:18px; }
 .civic-map-row { grid-template-columns:1fr; gap:12px; padding:20px; }
 .civic-sphere { font-size:19px; }
 .civic-relationship { font-size:12px; flex-direction:row; gap:12px; align-items:center; justify-content:center; }
 .civic-relationship br { display:none; }
 .civic-relationship>span:first-child { transform:rotate(90deg); margin:0; }
 .civic-explore { grid-column:auto; }
 .civic-offices,.civic-law-flow { grid-template-columns:1fr; }
 .civic-law-flow li:not(:last-child)::after { display:block; content:'↓'; right:24px; top:auto; bottom:-20px; }
 .civic-law-type dl,.civic-glossary { grid-template-columns:1fr; gap:6px; }
 .civic-law-type dd,.civic-glossary dd { margin-bottom:12px; }
 .civic-guide section { margin-block:34px; }
}

.proposal-role-label { font:600 18px system-ui,sans-serif; fill:var(--ink); }
.proposal-action-label { font:17px system-ui,sans-serif; fill:var(--muted); }
.proposal-house-label { font:15px system-ui,sans-serif; fill:var(--muted); }
#quem-propoe-vota>p:first-child { margin-top:0; }
#quem-propoe-vota dt { margin-top:16px; }
#quem-propoe-vota dd { margin:6px 0 0; }

.civic-health-impact { border-left:3px solid var(--green); padding-left:12px; margin:14px 0 22px; }
.civic-health-impact>p { font-size:15px; margin:0; }
.civic-health-impact>p>strong { display:block; margin-bottom:6px; color:var(--green); }
.civic-health-impact details { margin-top:8px; padding-top:8px; }
.civic-health-examples dd { font-size:14px; }

.civic-office-location { padding-bottom:12px; border-bottom:1px solid var(--border); }
.civic-office-location p { margin:4px 0; font-size:14px; }
.civic-office-location strong { color:var(--green); }
.civic-office-location .civic-key { font-size:13px; margin-top:8px; }

.office-sphere-label { font:700 19px system-ui,sans-serif; fill:var(--ink); }
.office-power-label { font:700 14px system-ui,sans-serif; fill:var(--green); }
.office-member-label { font:18px system-ui,sans-serif; fill:var(--ink); }

