@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--paper:#fcfbf8;--white:#fff;--navy:#0a2342;--navy-dark:#061a32;--red:#c62828;--red-dark:#aa1f24;--ink:#18202a;--muted:#6b7280;--divider:#e2e4e7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}img{width:100%;display:block}.shell{width:min(1388px,100% - 52px);margin-inline:auto}.utility{background:var(--navy);color:#fff;font-size:13px}.utility-inner{justify-content:space-between;align-items:center;gap:20px;min-height:46px;display:flex}.utility p{text-transform:capitalize;margin:0}.location{border-left:1px solid #fff6;margin-left:14px;padding-left:14px}.utility-actions{align-items:center;gap:14px;display:flex}.utility-actions>a:not(.live){text-align:center;width:28px;font-size:17px;font-weight:800}.live{background:var(--red);align-items:center;gap:8px;min-height:32px;padding:0 14px;font-weight:800;display:inline-flex}.live span{animation:1.4s infinite pulse}.masthead{text-align:center;place-content:center;min-height:160px;display:grid}.brand{color:var(--navy);letter-spacing:.02em;justify-content:center;align-items:center;gap:.22em;margin:0;font:700 clamp(48px,6vw,78px)/.95 Libre Baskerville,Georgia,serif;display:flex}.brand-word{align-items:center;display:inline-flex}.brand-icon{object-fit:contain;flex:none;width:.92em;height:.92em;margin-right:.025em}.tagline{color:#40444a;justify-content:center;align-items:center;gap:12px;margin-top:17px;font:italic 400 21px/1.2 Libre Baskerville,Georgia,serif;display:flex}.tagline span{background:var(--red);width:205px;height:1px}.nav{border-block:1px solid var(--divider);background:#fff}.nav-inner{justify-content:space-around;align-items:stretch;height:52px;display:flex}.nav a{place-items:center;min-height:44px;padding:0 18px;font-weight:700;transition:color .16s;display:grid;position:relative}.nav a:after{content:"";background:var(--red);height:3px;transition:left .16s,right .16s;position:absolute;bottom:0;left:50%;right:50%}.nav a:hover,.nav a:focus-visible,.nav a.active{color:var(--red)}.nav a:hover:after,.nav a:focus-visible:after,.nav a.active:after{left:8px;right:8px}.menu-button,.mobile-nav{display:none}.breaking{background:var(--red);color:#fff;align-items:center;gap:18px;min-height:42px;margin-block:14px;padding:0 24px;display:flex;overflow:hidden}.breaking strong{white-space:nowrap;font-size:13px}.breaking-line{background:#fff9;flex:none;width:1px;height:19px}.ticker{white-space:nowrap;flex:1;overflow:hidden}.ticker span{display:inline-block}.breaking small{white-space:nowrap}.lead{border-bottom:1px solid var(--divider);grid-template-columns:58% 42%;gap:20px;padding-bottom:38px;display:grid}.hero-story{min-width:0}.hero-image{aspect-ratio:2.08}.image-link{background:#e9e9e6;display:block;overflow:hidden}.hero-image{position:relative}.hero-image video,.story-media video{object-fit:contain;background:#050505;width:100%;height:100%;display:block}.video-story-link{z-index:2;color:#fff;background:#000c;padding:9px 12px;font-size:11px;font-weight:800;position:absolute;bottom:14px;right:14px}.featured-badge{background:var(--red);color:#fff;letter-spacing:.08em;padding:8px 11px;font-size:11px;font-weight:800;position:absolute;top:16px;left:16px}.image-link img{object-fit:cover;object-position:center;height:100%;transition:transform .22s}.image-link:hover img,.image-link:focus-visible img{transform:scale(1.025)}.meta{color:var(--muted);align-items:center;gap:14px;margin-top:14px;font-size:13px;display:flex}.meta strong{color:var(--red);text-transform:uppercase;font-size:12px;font-weight:800}h1,h2,h3{font-family:Libre Baskerville,Georgia,serif}.hero-story h1{color:var(--navy);letter-spacing:-.025em;margin:10px 0;font-size:clamp(35px,3.25vw,52px);line-height:1.08}.dek{color:#4b5563;max-width:800px;margin:0;font-size:16px;line-height:1.48}.button{background:var(--red);color:#fff;align-items:center;min-height:48px;margin-top:15px;padding:0 24px;font-weight:700;transition:background .16s,transform .16s;display:inline-flex}.button:hover{background:var(--red-dark);transform:translateY(-1px)}.button:focus-visible,button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--navy);outline-offset:3px}.story-list{border-left:1px solid var(--divider);flex-direction:column;padding-left:20px;display:flex}.side-story{border-bottom:1px solid var(--divider);flex:none;grid-template-columns:48% 52%;gap:18px;min-height:0;margin-bottom:14px;padding:0 0 14px;display:grid;overflow:hidden}.side-story:last-child{border-bottom:0;margin:0;padding-bottom:0}.side-story .image-link{min-height:150px}.side-story .story-media{aspect-ratio:16/9}.story-copy{min-width:0;overflow:hidden}.side-story .meta{margin-top:5px}.side-story h2{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:10px 0 8px;font-size:clamp(17px,1.45vw,23px);line-height:1.15;display:-webkit-box;overflow:hidden}.side-story h2 a{overflow-wrap:anywhere;transition:color .16s}.side-story:hover h2 a{color:var(--red)}.side-story p{-webkit-line-clamp:3;color:#4b5563;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.4;display:-webkit-box;overflow:hidden}.latest{padding-block:58px 70px}.section-heading{border-bottom:3px solid var(--navy);justify-content:space-between;align-items:end;padding-bottom:18px;display:flex}.section-heading span,.newsletter span{color:var(--red);letter-spacing:.1em;font-size:12px;font-weight:800}.section-heading h2{color:var(--navy);margin:5px 0 0;font-size:34px}.section-heading>a{color:var(--red);font-weight:700}.news-grid{grid-template-columns:repeat(3,1fr);display:grid}.published-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch;gap:24px;padding-top:28px;display:grid}.published-card{border-bottom:3px solid var(--navy);background:#fff;flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.published-card.featured{grid-column:auto}.published-card>a{aspect-ratio:16/9;background:#e9e9e6;display:block;overflow:hidden}.published-card img{aspect-ratio:16/9;object-fit:cover;object-position:center;width:100%;height:100%}.published-card>video{aspect-ratio:16/9;object-fit:contain;background:#050505;flex:none;width:100%;height:auto;display:block}.published-card>div{flex-direction:column;flex:auto;padding:20px;display:flex;position:relative}.published-card span{color:var(--red);font-size:12px;font-weight:800}.published-card h3{-webkit-line-clamp:2;min-height:2.4em;color:var(--navy);-webkit-box-orient:vertical;margin:9px 0;font-size:23px;line-height:1.2;display:-webkit-box;overflow:hidden}.published-card p{-webkit-line-clamp:3;min-height:4.5em;color:var(--muted);-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.published-card small{color:var(--muted)}.published-card .share-box.compact{margin-top:auto}.empty-news{border-left:4px solid var(--red);color:var(--muted);background:#fff;margin:28px 0 0;padding:32px}.empty-news h3{color:var(--navy);margin:0 0 8px}.news-grid article{border-right:1px solid var(--divider);margin-right:28px;padding:28px 28px 5px 0}.news-grid article:last-child{border:0;margin-right:0}.news-grid span{color:var(--red);font-size:12px;font-weight:800}.news-grid h3{color:var(--navy);margin:10px 0;font-size:23px;line-height:1.25}.news-grid p{color:var(--muted);line-height:1.55}.newsletter{background:var(--navy);color:#fff;padding-block:46px}.newsletter-inner{justify-content:space-between;align-items:center;gap:50px;display:flex}.newsletter h2{margin:7px 0;font-size:29px}.newsletter p{color:#d8e0e9;margin:0}.newsletter-cta{background:var(--red);color:#fff;white-space:nowrap;align-items:center;min-height:50px;padding:0 22px;font-weight:700;display:inline-flex}.newsletter-cta:hover{background:var(--red-dark)}.poll-loading{width:min(1388px,100% - 48px);color:var(--muted);margin:30px auto}.poll-section{padding-block:clamp(46px,7vw,82px)}.poll-heading{border-bottom:4px solid var(--navy);justify-content:space-between;align-items:end;gap:24px;padding-bottom:18px;display:flex}.poll-heading span,.poll-question>span{color:var(--red);letter-spacing:.12em;font-size:11px;font-weight:800}.poll-heading h2{color:var(--navy);margin:6px 0 0;font-size:clamp(28px,4vw,42px)}.poll-heading>strong{background:var(--navy);color:#fff;padding:8px 12px;font-size:12px}.poll-card{background:#fff;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:clamp(30px,6vw,80px);padding:clamp(26px,5vw,55px);display:grid;box-shadow:0 18px 50px #0a234214}.poll-question{border-right:1px solid var(--divider);align-self:center;padding-right:clamp(0px,3vw,34px)}.poll-question h3{color:var(--navy);margin:12px 0 15px;font:700 clamp(24px,3.2vw,38px)/1.2 Libre Baskerville,Georgia,serif}.poll-question p{color:var(--muted);margin:0;line-height:1.55}.poll-options{gap:12px;display:grid}.poll-option{min-height:52px;color:var(--navy);cursor:pointer;border:1px solid #d8dde3;align-items:center;gap:12px;padding:10px 15px;font-weight:700;transition:border-color .2s,background .2s;display:flex}.poll-option:hover,.poll-option.selected{border-color:var(--red);background:#fff6f6}.poll-option input{width:18px;height:18px;accent-color:var(--red)}.poll-vote{background:var(--red);color:#fff;cursor:pointer;border:0;min-height:50px;padding:0 24px;font-weight:800}.poll-vote:disabled{opacity:.55;cursor:not-allowed}.poll-message{color:var(--muted);margin:0;font-size:13px}.poll-result{gap:7px;display:grid}.poll-result>div:first-child{color:var(--navy);justify-content:space-between;gap:15px;font-size:13px;display:flex}.poll-result.chosen>div:first-child span{color:var(--red);font-weight:800}.poll-bar{background:#e8ebef;height:12px;overflow:hidden}.poll-bar i{background:var(--navy);height:100%;transition:width .5s;display:block}.poll-result.chosen .poll-bar i{background:var(--red)}.poll-share .share-box{margin-top:22px}.poll-share .share-box>strong{color:var(--navy)}.poll-page{background:var(--paper);min-height:100vh;padding:28px 0 72px}.poll-page-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:24px;width:min(1180px,100% - 40px);margin:0 auto 36px;padding-bottom:24px;display:flex}.poll-page-brand{color:var(--navy);align-items:center;gap:12px;font-family:Libre Baskerville,Georgia,serif;font-size:clamp(28px,4vw,48px);line-height:1;text-decoration:none;display:flex}.poll-page-brand .brand-word{gap:3px}.poll-page-brand .brand-icon{width:.8em;height:.8em}.poll-page-back{color:var(--red);font-weight:800;text-decoration:none}@media (width<=640px){.poll-page{padding-top:20px}.poll-page-header{flex-direction:column;align-items:flex-start;margin-bottom:12px}}footer{background:var(--navy-dark);color:#dce3eb;padding-block:36px}.footer-inner{grid-template-columns:1fr auto auto;align-items:center;gap:45px;font-size:13px;display:grid}.footer-inner strong{color:#fff;font:700 24px Libre Baskerville}.footer-inner p{margin:7px 0 0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1023px){.lead{grid-template-columns:1fr}.story-list{border-left:0;grid-template-columns:repeat(3,1fr);gap:16px;padding:22px 0 0;display:grid}.side-story{border:0;margin:0;padding:0;display:block}.side-story .image-link{aspect-ratio:16/9;min-height:0}.side-story p{display:none}.nav a{padding-inline:10px;font-size:14px}.tagline span{width:120px}}@media (width<=767px){.shell{width:min(100% - 32px,1388px)}.utility-inner{min-height:40px}.utility p{font-size:11px}.location,.utility-actions>a:not(.live){display:none}.live{min-height:29px;padding-inline:10px;font-size:11px}.masthead{width:100%;min-height:112px;padding-inline:12px;overflow:hidden}.brand{letter-spacing:0;white-space:nowrap;flex-wrap:nowrap;gap:.12em;width:100%;font-size:clamp(26px,8vw,36px)}.brand-word{flex:none}.brand-icon{width:.86em;height:.86em}.tagline{white-space:nowrap;gap:8px;width:100%;margin-top:12px;font-size:clamp(12px,3.6vw,15px)}.tagline span{flex:0 auto;width:clamp(18px,7vw,28px)}.nav{display:none}.mobile-nav{border-block:1px solid var(--divider);background:#fff;display:block}.mobile-nav summary{min-height:48px;color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;padding:0 16px;font-weight:700;list-style:none;display:flex}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{display:grid}.mobile-nav nav a{border-top:1px solid var(--divider);align-items:center;min-height:46px;padding:0 16px;font-weight:700;display:flex}.breaking{width:100%;min-height:44px;margin:0 0 16px;padding-inline:16px}.breaking strong{font-size:0}.breaking strong:after{content:"AHORA";font-size:12px}.breaking small,.breaking-line{display:none}.ticker span{font-size:12px}.hero-image{aspect-ratio:16/10}.hero-story h1{font-size:30px}.lead{padding-bottom:30px}.story-list{grid-template-columns:1fr}.side-story{border-bottom:1px solid var(--divider);grid-template-columns:40% 60%;gap:14px;padding-bottom:16px;display:grid}.side-story h2{margin:7px 0 0;font-size:17px}.side-story .meta span{display:none}.latest{padding-block:42px}.section-heading h2{font-size:28px}.news-grid,.published-grid{grid-template-columns:1fr}.published-card.featured{grid-column:auto}.news-grid article{border-right:0;border-bottom:1px solid var(--divider);margin:0;padding:24px 0}.newsletter-inner{display:block}.newsletter-cta{justify-content:center;width:100%;margin-top:24px}.footer-inner{grid-template-columns:1fr;gap:18px}}.admin{min-height:100vh;color:var(--ink);background:#f3f4f6}.admin-header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:12px clamp(18px,4vw,58px);display:flex}.admin-header>div{align-items:center;gap:16px;display:flex}.admin-header strong{font:700 22px Libre Baskerville,Georgia,serif}.admin-header span{color:#c9d5e3;font-size:13px}.admin-header a{border:1px solid #fff5;align-items:center;min-height:40px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.admin-grid{grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:30px;width:min(1440px,100% - 48px);margin:0 auto;padding-block:38px;display:grid}.editor,.post-manager{border:1px solid var(--divider);background:#fff;padding:clamp(24px,4vw,42px)}.eyebrow{color:var(--red);letter-spacing:.12em;margin:0;font-size:11px;font-weight:800}.editor h1{color:var(--navy);margin:8px 0 28px;font-size:36px}.editor form,.editor label{gap:8px;display:grid}.editor form{gap:20px}.editor label{color:#374151;font-size:13px;font-weight:700}.editor label small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}.upload-status{border-left:3px solid var(--red);color:var(--navy);background:#fff4f4;padding:9px 11px;font-size:12px;font-weight:700;line-height:1.4}.editor input:not([type=checkbox]),.editor textarea,.editor select{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd4da;border-radius:0;padding:12px 14px;font:400 15px/1.5 Inter,Arial,sans-serif}.editor input[type=file]{padding:9px}.editor textarea{resize:vertical}.field-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.image-preview{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--divider);width:min(100%,520px)}.image-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.image-preview-grid>div{position:relative}.image-preview-grid .image-preview{width:100%}.image-preview-actions{gap:6px;display:flex;position:absolute;top:6px;right:6px}.image-preview-grid .image-preview-actions button{color:var(--red);cursor:pointer;background:#ffffffed;border:0;padding:7px 9px;font-weight:800;position:static}.video-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.video-preview-grid>div{background:#101820;padding:10px}.video-preview{aspect-ratio:16/9;background:#000;width:100%;display:block}.video-preview-grid button{color:var(--red);cursor:pointer;background:#fff;border:0;margin-top:8px;padding:7px 10px;font-weight:800}.publish-options{background:#f8f9fa;border:1px solid #cfd4da;gap:14px;margin:0;padding:18px;display:grid}.publish-options legend{color:var(--navy);padding:0 8px;font-size:15px;font-weight:800}.publish-options>label{grid-template-columns:none;align-items:center;gap:10px;display:flex}.publish-options input[type=radio]{width:18px;height:18px;accent-color:var(--red);padding:0}.publish-options .schedule-field{border-left:3px solid var(--red);background:#fff;align-items:stretch;gap:8px;margin-left:28px;padding:14px;display:grid}.checks{flex-wrap:wrap;gap:24px;display:flex}.checks label{align-items:center;gap:8px;display:flex}.checks input{width:18px;height:18px;accent-color:var(--red)}.editor-actions{gap:12px;display:flex}.editor-actions button{background:var(--red);color:#fff;cursor:pointer;border:0;min-height:48px;padding:0 24px;font-weight:800}.editor-actions .secondary{color:var(--navy);background:#e5e7eb}.editor-actions button:disabled{opacity:.6;cursor:wait}.admin-message{color:#235d26;background:#edf5ee;border-left:3px solid #2e7d32;margin:0;padding:13px 16px}.manager-title{border-bottom:2px solid var(--navy);justify-content:space-between;align-items:start;padding-bottom:15px;display:flex}.manager-title h2{color:var(--navy);margin:5px 0 0;font-size:25px}.manager-title>span{background:var(--red);color:#fff;place-items:center;min-width:34px;height:34px;font-weight:800;display:grid}.empty-state{color:var(--muted);padding:24px 0;line-height:1.6}.admin-post{border-bottom:1px solid var(--divider);grid-template-columns:110px 1fr;gap:15px;padding-block:18px;display:grid}.admin-post img{object-fit:cover;width:110px;height:80px}.admin-post p{color:var(--muted);margin:0 0 6px;font-size:11px}.admin-post p strong{color:var(--red);text-transform:uppercase}.admin-post h3{color:var(--navy);margin:0 0 10px;font-size:16px;line-height:1.25}.admin-post button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:4px 12px 4px 0;font-weight:700}.admin-post .danger{color:var(--red)}.admin-post .hide-post{color:#8a5600;background:#fff3d6;margin-right:8px;padding:6px 10px}.admin-post .publish-post{color:#176b46;background:#e3f5ec;margin-right:8px;padding:6px 10px}.show-more-posts{border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;width:100%;min-height:44px;margin-top:16px;font-weight:800}.show-more-posts:hover{background:var(--red);border-color:var(--red)}.admin-denied{border-top:5px solid var(--red);background:#fff;max-width:620px;margin:12vh auto;padding:40px;box-shadow:0 15px 50px #00000012}.admin-denied h1{color:var(--navy)}.admin-denied a{color:var(--red);font-weight:700}.radio-manager,.poll-manager{background:#fff;width:min(1400px,100% - 48px);margin:0 auto 44px;padding:30px;box-shadow:0 14px 40px #0a23420d}.poll-admin-grid{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:40px;padding-top:24px;display:grid}.poll-admin-grid form{gap:16px;display:grid}.poll-admin-grid label{color:var(--navy);gap:7px;font-size:13px;font-weight:700;display:grid}.poll-admin-grid input,.poll-admin-grid textarea{width:100%;font:inherit;border:1px solid #cbd1d8;padding:11px 12px}.poll-option-editor{gap:12px;display:grid}.poll-option-editor label>div{gap:8px;display:flex}.poll-option-editor button,.poll-add-option{color:var(--red);cursor:pointer;background:#fff;border:1px solid #cbd1d8;padding:0 12px;font-weight:800}.poll-add-option{justify-self:start;min-height:42px}.poll-create{background:var(--red);color:#fff;cursor:pointer;border:0;min-height:48px;padding:0 22px;font-weight:800}.poll-create:disabled{opacity:.6}.admin-poll{border-bottom:1px solid var(--divider);padding-block:18px}.admin-poll-status{flex-wrap:wrap;gap:6px;display:flex}.admin-poll-status span{color:var(--muted);letter-spacing:.08em;background:#e8ebef;padding:4px 7px;font-size:9px;font-weight:800}.admin-poll-status span.active{background:var(--red);color:#fff}.admin-poll h3{color:var(--navy);margin:9px 0 7px;font-size:18px;line-height:1.3}.admin-poll p{color:var(--muted);margin:0 0 10px;font-size:12px}.admin-poll button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:5px 14px 5px 0;font-weight:700}.admin-poll button.danger{color:var(--red)}.radio-admin-heading{border-bottom:3px solid var(--navy);justify-content:space-between;align-items:center;gap:20px;padding-bottom:18px;display:flex}.radio-admin-heading h2{color:var(--navy);margin:5px 0 0;font-size:28px}.radio-admin-heading a{background:var(--navy);color:#fff;padding:12px 16px;font-size:13px;font-weight:700}.radio-admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:36px;padding-top:24px;display:grid}.radio-admin-grid form{gap:16px;display:grid}.radio-admin-grid label{color:var(--navy);gap:7px;font-size:13px;font-weight:700;display:grid}.radio-admin-grid input[type=text],.radio-admin-grid input[type=url],.radio-admin-grid input:not([type]){min-height:46px;font:inherit;border:1px solid #cbd1d8;padding:10px 12px}.radio-admin-grid label small{color:var(--muted);font-weight:400;line-height:1.4}.radio-logo-preview{border:1px solid var(--divider);object-fit:contain;width:120px;height:120px;padding:8px}.radio-admin-grid .radio-active{align-items:center;gap:10px;display:flex}.radio-active input{width:18px;height:18px;accent-color:var(--red)}.admin-radio{border-bottom:1px solid var(--divider);grid-template-columns:78px 1fr;gap:15px;padding:14px 0;display:grid}.radio-admin-logo{width:78px;height:78px;color:var(--red);background:#f1f3f5;border-radius:50%;place-items:center;font-size:28px;display:grid;overflow:hidden}.radio-admin-logo img{object-fit:contain;width:100%;height:100%}.admin-radio p{color:var(--red);margin:0 0 4px;font-size:11px;font-weight:800}.admin-radio h3{color:var(--navy);margin:0 0 8px}.admin-radio button{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:4px 12px 4px 0;font-weight:700}.admin-radio .danger{color:var(--red)}@media (width<=960px){.admin-grid{grid-template-columns:1fr}.post-manager{order:2}.radio-admin-grid,.poll-admin-grid{grid-template-columns:1fr}}@media (width<=650px){.admin-header,.admin-header>div{align-items:flex-start}.admin-header{display:grid}.admin-grid{width:calc(100% - 24px);padding-block:18px}.editor,.post-manager{padding:20px}.field-row{grid-template-columns:1fr}.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-preview-grid{grid-template-columns:1fr}.admin-post{grid-template-columns:80px 1fr}.admin-post img{width:80px;height:70px}.radio-manager,.poll-manager{width:calc(100% - 24px);padding:20px}.radio-admin-heading{flex-direction:column;align-items:flex-start}}.article-page,.archive-page{background:var(--paper);min-height:100vh}.article-header{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:0 clamp(20px,5vw,72px);display:flex}.article-header a:first-child{font:700 clamp(20px,3vw,30px) Libre Baskerville,Georgia,serif}.article-header a:last-child{font-size:13px;font-weight:700}.article-shell{width:min(920px,100% - 40px);margin:0 auto;padding-block:clamp(40px,8vw,90px)}.article-shell h1,.archive-shell h1{color:var(--navy);letter-spacing:-.03em;margin:10px 0 18px;font-size:clamp(36px,6vw,66px);line-height:1.08}.article-excerpt{color:#4b5563;font:400 clamp(18px,2.2vw,23px)/1.5 Inter,sans-serif}.article-date{border-bottom:1px solid var(--divider);color:var(--muted);padding-block:12px 20px;font-size:13px}.article-gallery{grid-template-columns:repeat(2,1fr);gap:12px;margin-block:28px 38px;display:grid}.article-gallery .article-photo:first-child:nth-last-child(odd){grid-column:1/-1}.article-photo{margin:28px 0 34px}.article-gallery .article-photo{margin:0}.article-photo img{object-fit:contain;background:#f1f1ee;width:100%;max-height:78vh;display:block}.article-gallery .article-photo img{aspect-ratio:16/10}.article-videos{gap:18px;margin-block:28px 38px;display:grid}.article-videos video{aspect-ratio:16/9;background:#000;width:100%;display:block}.article-inline-video{margin:30px 0}.article-inline-video video{aspect-ratio:16/9;background:#000;width:100%;display:block}.article-body{color:#29313b;font:400 18px/1.8 Libre Baskerville,Georgia,serif}.article-body p{margin:0 0 24px}.image-position{color:var(--navy);margin-top:5px;font-size:12px;font-weight:800;display:block}.image-position.cover-selected{color:var(--red)}.image-preview-actions{flex-wrap:wrap}.image-preview-actions button:disabled{opacity:.4;cursor:not-allowed}.inline-photo-picker{background:#f5f7f9;border:1px solid #ccd4dc;margin:-3px 0 22px;padding:14px}.inline-photo-picker>strong{color:var(--navy);margin-bottom:10px;font-size:14px;display:block}.inline-photo-picker>div{gap:10px;padding-bottom:5px;display:flex;overflow-x:auto}.inline-photo-picker button{color:var(--navy);background:#fff;border:2px solid #0000;flex:0 0 118px;padding:6px;font-size:12px;font-weight:800}.inline-photo-picker button:hover{border-color:var(--red)}.inline-photo-picker img{object-fit:cover;width:100%;height:76px;margin-bottom:6px;display:block}.image-editor-backdrop{z-index:1000;background:#06182dde;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.image-editor-modal{background:#fff;width:min(900px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 24px 80px #0008}.image-editor-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.image-editor-heading h2{color:var(--navy);margin:5px 0 18px;font-size:28px}.image-editor-heading>button{color:var(--navy);cursor:pointer;background:0 0;border:0;font-size:34px}.image-editor-modal canvas{border:1px solid var(--divider);background:#f1f1ee;width:100%;height:auto;display:block}.image-editor-modes,.image-editor-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.image-editor-modes button,.image-editor-actions button{border:1px solid var(--navy);min-height:43px;color:var(--navy);cursor:pointer;background:#fff;padding:0 16px;font-weight:800}.image-editor-modes button.active,.image-editor-actions button:not(.secondary){background:var(--red);border-color:var(--red);color:#fff}.image-editor-controls{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;display:grid}.image-editor-controls label{color:var(--navy);gap:8px;font-size:12px;font-weight:800;display:grid}.image-editor-controls input{width:100%;accent-color:var(--red)}.image-editor-help{color:var(--muted);margin:14px 0 0;font-size:12px}.image-editor-actions{justify-content:flex-end}.image-editor-actions button:disabled{opacity:.55;cursor:wait}.short-link-page{background:var(--paper);text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.short-link-page>div{border-top:4px solid var(--red);background:#fff;width:min(560px,100%);padding:36px;box-shadow:0 16px 50px #0a234214}.short-link-page strong{color:var(--navy);font:700 25px Libre Baskerville,Georgia,serif}.short-link-page p{color:var(--muted)}.short-link-page a{color:var(--red);font-weight:800}@media (width<=650px){.image-editor-backdrop{padding:8px}.image-editor-modal{max-height:calc(100vh - 16px);padding:16px}.image-editor-controls{grid-template-columns:1fr;gap:12px}.image-editor-modes button,.image-editor-actions button{flex:100%}}.share-box{border-block:1px solid var(--divider);margin-top:44px;padding:22px 0}.share-box>strong{color:var(--navy);margin-bottom:14px;font:700 16px Libre Baskerville,Georgia,serif;display:block}.share-buttons{flex-wrap:wrap;gap:8px;display:flex}.share-buttons a,.share-buttons button{color:#fff;cursor:pointer;border:0;align-items:center;gap:8px;min-height:42px;padding:0 13px;font:700 12px Inter,Arial,sans-serif;display:inline-flex}.share-buttons span{text-align:center;min-width:18px;font-size:15px;font-weight:800}.share-facebook{background:#1877f2}.share-whatsapp{background:#1e9e54}.share-copy{background:#536273}.share-native{background:var(--red)}.share-buttons a:hover,.share-buttons button:hover{filter:brightness(.9)}.share-box.compact{border-top:1px solid var(--divider);border-bottom:0;margin-top:16px;padding:14px 0 0}.share-box.compact .share-buttons{gap:6px}.share-box.compact .share-buttons a,.share-box.compact .share-buttons button{min-height:36px;padding:0 9px}.share-box.compact .share-buttons b{display:none}.share-box.compact .share-buttons span{min-width:16px}.article-engagement{gap:28px;margin-top:34px;display:grid}.reaction-box{border-top:4px solid var(--red);background:#f5f7f9;padding:24px}.reaction-box h2,.comments-box h2{color:var(--navy);margin:0;font:700 21px Libre Baskerville,Georgia,serif}.reaction-box>div:first-child{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.reaction-box>div:first-child p{color:var(--muted);margin:0;font-size:12px}.reaction-buttons{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.reaction-buttons button{min-width:92px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d8dee5;border-radius:999px;grid-template-columns:28px 1fr auto;align-items:center;gap:6px;padding:9px 11px;display:grid}.reaction-buttons button:hover,.reaction-buttons button.selected{border-color:var(--red);background:#fff2f2}.reaction-buttons span{font-size:21px}.reaction-buttons b{font-size:11px}.reaction-buttons small{min-width:16px;color:var(--muted);font-weight:800}.comments-box{padding-top:8px}.comments-box h2{border-bottom:2px solid var(--navy);padding-bottom:13px}.comments-box h2 span{background:var(--red);color:#fff;border-radius:50%;place-items:center;min-width:25px;height:25px;margin-left:6px;font:800 11px Inter,Arial,sans-serif;display:inline-grid}.comments-box form{background:#f5f7f9;gap:13px;margin-top:20px;padding:20px;display:grid}.comments-box form label{color:var(--navy);gap:6px;font-size:12px;font-weight:800;display:grid}.comments-box input,.comments-box textarea{width:100%;font:inherit;resize:vertical;background:#fff;border:1px solid #cbd3dc;padding:11px 12px}.comments-box form button{background:var(--red);color:#fff;cursor:pointer;border:0;justify-self:start;min-height:42px;padding:0 18px;font-weight:800}.comments-box form button:disabled{opacity:.6}.comment-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important}.comment-message{color:#246328;margin:0;font-size:12px;font-weight:700}.comment-disclaimer{color:var(--muted);margin:12px 0 22px;font-size:11px;line-height:1.5}.comment-list{gap:12px;display:grid}.comment-list article,.admin-comment-list article{background:#fff;border:1px solid #e0e4e8;grid-template-columns:42px 1fr;gap:12px;padding:16px;display:grid}.comment-avatar{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.comment-list header,.admin-comment-list header{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.comment-list time,.admin-comment-list time{color:var(--muted);font-size:10px}.comment-list article p,.admin-comment-list article p{white-space:pre-wrap;margin:7px 0 0;line-height:1.55}.empty-comment{color:var(--muted);text-align:center;background:#f5f7f9;padding:20px}.comment-manager{background:#fff;width:min(1440px,100% - 48px);margin:0 auto 38px;padding:28px}.admin-count{background:var(--navy);color:#fff;text-align:center;min-width:38px;padding:8px;font-weight:900}.admin-comment-list{gap:10px;margin-top:20px;display:grid}.admin-comment-list small{color:var(--red);margin-top:4px;font-weight:800;display:block}.admin-comment-list button{color:#b71822;cursor:pointer;background:#fff0f1;border:0;margin-top:10px;padding:7px 10px;font-weight:800}.portal-election-survey{border:1px solid #d4d9df;border-top:6px solid var(--red);background:#eef1f4;margin:34px 0;padding:clamp(18px,4vw,42px)}.portal-election-survey>header{text-align:center}.portal-election-survey>header span{color:var(--red);letter-spacing:.12em;font-size:10px;font-weight:900}.portal-election-survey>header h2{color:var(--navy);margin:8px 0;font:700 clamp(25px,4vw,38px) Libre Baskerville,Georgia,serif}.portal-election-survey>header h3{color:var(--navy);text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;font-size:clamp(15px,2vw,21px)}.portal-election-survey>header p{max-width:720px;color:var(--muted);margin:0 auto 24px;font-size:12px;line-height:1.55}.survey-closing-date{background:var(--navy);color:#fff;margin:-10px 0 22px;padding:9px 14px;font-size:12px;display:inline-block}.survey-machine{background:#fff;border:14px solid #26313a;border-radius:16px;max-width:1000px;margin:0 auto;overflow:hidden;box-shadow:0 18px 35px #07192d2b}.survey-machine-bar{color:#fff;background:#475058;justify-content:space-between;align-items:center;min-height:48px;padding:10px 18px;font-size:11px;display:flex}.survey-machine-bar b{letter-spacing:.08em}.survey-intro{text-align:center;background:#f6f6f4;align-content:center;place-items:center;min-height:420px;padding:48px 20px;display:grid}.survey-ballot-icon{border:5px solid var(--navy);width:90px;height:70px;color:var(--red);place-items:center;font-size:44px;display:grid;transform:rotate(-3deg)}.survey-intro h3{margin:30px 0 10px;font-size:clamp(24px,4vw,38px)}.survey-intro p{max-width:620px;color:var(--muted);line-height:1.55}.survey-intro button,.survey-review button{color:#fff;cursor:pointer;background:#43a94f;border:0;min-width:210px;min-height:54px;margin-top:18px;font-size:16px;font-weight:900}.survey-step{min-height:440px;padding:24px;position:relative}.survey-step h3,.survey-review h3{text-align:center;color:#111;margin:4px 0 20px;font-size:clamp(22px,4vw,32px)}.survey-list-label{color:#fff;text-align:center;background:#123cc7;margin:-12px 0 18px;padding:10px;font-weight:900}.survey-back{color:var(--navy);cursor:pointer;background:0 0;border:0;font-weight:800}.survey-candidate-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.survey-candidate-grid.survey-four-grid,.survey-candidate-grid.council{grid-template-columns:repeat(4,1fr)}.survey-candidate-grid button{color:#111;cursor:pointer;background:#fff;border:1px solid #c9cdd1;justify-items:center;gap:6px;min-width:0;padding:14px 10px;display:grid}.survey-candidate-grid button:hover{border-color:var(--red);box-shadow:inset 0 0 0 2px var(--red)}.survey-photo{width:92px;height:112px;color:var(--navy);background:#e4e7ea;place-items:center;font-size:34px;font-weight:900;display:grid;overflow:hidden}.survey-photo img{object-fit:cover;width:100%;height:100%}.survey-candidate-grid small{color:var(--red);font-weight:900}.survey-candidate-grid strong{text-align:center;text-transform:uppercase;font-size:13px;line-height:1.2}.survey-candidate-grid em{color:var(--muted);font-size:10px;font-style:normal}.survey-blank-candidate{align-content:center}.survey-blank-symbol{color:#222;background:#f4f4f4;place-items:center;width:92px;height:112px;font-size:70px;font-weight:300;display:grid}.survey-list-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.survey-list-card{color:#111;text-align:center;cursor:pointer;background:#f5f5f5;border:1px solid #bcc4cc;align-content:space-between;justify-items:center;min-height:180px;padding:22px;display:grid}.survey-list-card strong{text-transform:uppercase;font-size:clamp(28px,5vw,46px)}.survey-list-card span{text-transform:uppercase;font-size:clamp(14px,2vw,21px);font-weight:800}.survey-list-card.list-1{color:#fff;background:#e31c25}.survey-list-card.list-2{color:#fff;background:#123cc7}.survey-list-card.list-123{color:#111;background:#ffab61}.survey-list-card:hover{filter:brightness(.94);box-shadow:inset 0 0 0 3px #111}.survey-blank-selection .survey-blank-symbol{flex:0 0 92px;width:92px}.survey-review{text-align:center;min-height:440px;padding:30px}.survey-review>div:first-of-type{grid-template-columns:1fr 1fr;gap:15px;display:grid}.survey-review article{text-align:left;border:1px solid #d3d8de;align-items:center;gap:15px;padding:18px;display:flex}.survey-review article div{gap:5px;display:grid}.survey-review article small{color:var(--red);font-weight:900}.survey-review article strong{color:var(--navy)}.survey-review article em{color:var(--muted);font-size:11px;font-style:normal}.survey-actions{justify-content:center;gap:12px;display:flex}.survey-review button.secondary{background:#687480}.survey-warning{color:#7a5200;text-align:center;background:#fff4dc;padding:12px;font-weight:700}.survey-thanks,.survey-finished{text-align:center;background:#fff;max-width:800px;margin:0 auto;padding:60px 20px}.survey-thanks>span{color:#fff;background:#43a94f;border-radius:50%;place-items:center;width:70px;height:70px;margin:0 auto;font-size:38px;display:grid}.survey-thanks h3,.survey-finished strong{color:var(--navy);margin:20px 0 8px;font:700 26px Libre Baskerville,Georgia,serif;display:block}.survey-thanks p,.survey-finished p{color:var(--muted)}.survey-results{background:#fff;max-width:900px;margin:0 auto;padding:24px}.survey-results-heading{background:var(--navy);color:#fff;text-align:center;justify-items:center;gap:7px;margin:-24px -24px 22px;padding:28px 24px;display:grid}.survey-results-heading>span{color:#ffcece;letter-spacing:.12em;font-size:10px;font-weight:900}.survey-results-heading h3{margin:0;font:700 clamp(25px,4vw,36px) Libre Baskerville,Georgia,serif}.survey-results-heading>strong{text-transform:uppercase}.survey-results-heading small{color:#cbd6e2}.survey-result-total{background:var(--navy);color:#fff;justify-content:center;align-items:baseline;gap:10px;padding:20px;display:flex}.survey-result-total strong{font-size:34px}.survey-results>h3{color:var(--navy)}.survey-results>article{border-bottom:1px solid #dde2e7;padding:16px 0}.survey-results>article>div:first-child{justify-content:space-between;gap:10px;display:flex}.survey-results>article span{color:var(--muted);font-size:12px}.survey-result-bar{background:#e7eaed;height:8px;margin:9px 0}.survey-result-bar i{background:var(--red);height:100%;display:block}.survey-results details summary{color:var(--navy);cursor:pointer;font-size:11px;font-weight:800}.survey-results details p{background:#f4f6f8;justify-content:space-between;gap:8px;margin:6px 0;padding:7px;display:flex}.survey-results-help{color:var(--muted);margin-top:-8px;font-size:12px}.survey-list-results{border:1px solid #d7dde4;margin:10px 0}.survey-list-results>summary{color:var(--navy);cursor:pointer;background:#f2f4f6;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.survey-list-results>summary>div{gap:3px;display:grid}.survey-list-results>summary strong{font-size:19px}.survey-list-results>summary span{text-transform:uppercase;font-size:11px}.survey-list-results>summary b{color:var(--red);font-size:12px}.survey-council-results{padding:10px 16px 16px}.survey-council-results article{border-bottom:1px solid #e2e6ea;grid-template-columns:48px 1fr;align-items:center;gap:12px;padding:10px 0;display:grid}.survey-council-results article>div{gap:5px;min-width:0;display:grid}.survey-council-results article strong{color:var(--navy);text-transform:uppercase;font-size:12px}.survey-council-results article span{color:var(--muted);font-size:11px}.survey-result-photo{width:48px;height:56px;color:var(--navy);background:#e4e7ea;place-items:center;font-weight:900;display:grid;overflow:hidden}.survey-result-photo img{object-fit:cover;width:100%;height:100%}.election-survey-admin{background:#fff;width:min(1440px,100% - 48px);margin:0 auto 38px;padding:30px}.survey-admin-note{color:var(--muted)}.survey-schedule-form{background:#f1f3f5;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:20px 0;padding:18px;display:grid}.survey-schedule-form label{color:var(--navy);gap:7px;font-size:11px;font-weight:900;display:grid}.survey-schedule-form input{min-width:0;min-height:44px;font:inherit;background:#fff;border:1px solid #cbd2da;padding:9px 11px}.survey-admin-actions{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.survey-admin-actions button,.survey-admin-actions a{background:var(--navy);color:#fff;cursor:pointer;border:0;align-items:center;min-height:42px;padding:0 15px;font-weight:800;display:inline-flex}.survey-admin-actions button.danger{background:var(--red)}.survey-admin-actions button.publish{background:#2c8235}.survey-admin-actions button.secondary{background:#687480}.survey-admin-actions button.chart{background:#245f9e}.survey-admin-chart{background:#f7f9fb;border:1px solid #cdd5de;border-top:5px solid #245f9e;margin:20px 0;padding:22px}.survey-admin-chart>header{justify-content:space-between;align-items:center;gap:20px;display:flex}.survey-admin-chart>header h3{color:var(--navy);margin:4px 0 0;font:700 24px Libre Baskerville,Georgia,serif}.survey-admin-chart>header>strong{background:var(--navy);color:#fff;padding:10px 14px}.survey-admin-chart>p{color:var(--muted);font-size:12px}.survey-admin-chart-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.survey-admin-chart-grid h4{color:var(--navy);text-transform:uppercase;margin:12px 0;font-size:14px}.survey-admin-chart-grid article{border-bottom:1px solid #dde3e9;padding:10px 0}.survey-admin-chart-grid article>div:first-child{justify-content:space-between;gap:12px;display:flex}.survey-admin-chart-grid article span{color:var(--muted);text-align:right;font-size:11px}.admin-chart-track{background:#e1e6eb;height:12px;margin-top:8px;overflow:hidden}.admin-chart-track i{background:linear-gradient(90deg, #245f9e, var(--red));height:100%;transition:width .35s;display:block}.survey-admin-council-lists{margin-top:26px}.survey-admin-council-lists>h4{color:var(--navy);text-transform:uppercase;margin-bottom:5px;font-size:15px}.survey-admin-council-lists>p{color:var(--muted);margin-top:0;font-size:12px}.survey-admin-council-lists>details{background:#fff;border:1px solid #d6dde4;margin:9px 0}.survey-admin-council-lists>details>summary{color:var(--navy);cursor:pointer;background:#edf1f5;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.survey-admin-council-lists>details>summary>div{gap:3px;display:grid}.survey-admin-council-lists>details>summary span{color:var(--muted);font-size:11px}.survey-admin-council-lists>details>summary b{color:#245f9e;text-transform:uppercase;font-size:11px}.survey-admin-council-lists>details>div{padding:8px 16px 16px}.survey-admin-council-lists article{border-bottom:1px solid #e1e6eb;grid-template-columns:48px 1fr;align-items:center;gap:12px;padding:10px 0;display:grid}.survey-admin-council-lists article>div{gap:4px;min-width:0;display:grid}.survey-admin-council-lists article strong{color:var(--navy);text-transform:uppercase;font-size:12px}.survey-admin-council-lists article span{color:var(--muted);font-size:11px}.survey-admin-blank-votes{color:var(--navy);background:#edf1f5;justify-content:space-between;gap:12px;margin-top:12px;padding:14px 16px;display:flex}.survey-admin-total{background:#eef1f4;align-items:baseline;gap:10px;padding:18px;display:flex}.survey-admin-total strong{color:var(--red);font-size:32px}.survey-admin-results{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.survey-admin-results>article{border:1px solid #d9dee4}.survey-admin-results header{background:var(--navy);color:#fff;gap:4px;padding:14px;display:grid}.survey-admin-results header span{font-size:11px}.survey-admin-results article>div{padding:10px}.survey-admin-results p{border-bottom:1px solid #e4e7ea;justify-content:space-between;gap:8px;margin:0;padding:8px 4px;font-size:11px;display:flex}@media (width<=650px){.reaction-box{padding:18px 14px}.reaction-box>div:first-child{display:block}.reaction-box>div:first-child p{margin-top:5px}.reaction-buttons button{flex:calc(33.333% - 8px);grid-template-columns:1fr;gap:2px;min-width:0}.comments-box form{padding:15px}.comment-manager{width:calc(100% - 24px);padding:18px}.portal-election-survey{padding:12px 6px}.survey-machine{border-width:7px;border-radius:9px}.survey-machine-bar{padding:8px 10px;font-size:9px}.survey-step{padding:14px 8px}.survey-candidate-grid,.survey-candidate-grid.council,.survey-candidate-grid.survey-four-grid{grid-template-columns:repeat(2,1fr)}.survey-list-grid{grid-template-columns:1fr}.survey-list-card{min-height:130px}.survey-photo{width:76px;height:94px}.survey-review{padding:20px 10px}.survey-review>div:first-of-type{grid-template-columns:1fr}.survey-actions{display:grid}.survey-review button{width:100%;margin-top:4px}.survey-results{padding:14px 10px}.survey-results-heading{margin:-14px -10px 18px;padding:22px 12px}.survey-results>article>div:first-child{display:grid}.survey-list-results>summary{flex-direction:column;align-items:flex-start}.election-survey-admin{width:calc(100% - 24px);padding:18px}.survey-admin-results,.survey-schedule-form,.survey-admin-chart-grid{grid-template-columns:1fr}.survey-admin-chart>header,.survey-admin-chart-grid article>div:first-child{flex-direction:column;align-items:flex-start}.survey-admin-chart-grid article span{text-align:left}.survey-admin-council-lists>details>summary,.survey-admin-blank-votes{flex-direction:column;align-items:flex-start}}.archive-shell{width:min(1180px,100% - 40px);margin:0 auto;padding-block:clamp(40px,7vw,80px)}.archive-grid{grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px;display:grid}.archive-grid article{border-bottom:3px solid var(--navy);padding-bottom:22px}.archive-grid img{aspect-ratio:16/9;object-fit:cover}.archive-grid h2{color:var(--navy);font-size:23px;line-height:1.25}.archive-grid p{color:var(--muted);line-height:1.55}.elected-mayors{border-top:5px solid var(--red);background:var(--navy);margin:30px 0 48px;padding:clamp(22px,4vw,44px);box-shadow:0 20px 50px #071a3024}.elected-mayors>header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.elected-mayors>header span{color:#ff727a;letter-spacing:.14em;font-size:10px;font-weight:900}.elected-mayors>header h2{color:#fff;margin:8px 0;font-size:clamp(27px,4vw,42px);line-height:1.12}.elected-mayors>header p{color:#becbd8;max-width:720px;margin:0;font-size:15px;line-height:1.6}.elected-mayors>header>strong{color:var(--navy);text-transform:uppercase;background:#fff;flex:none;padding:12px 16px;font-size:13px}.elected-mayors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.elected-mayors-grid article{background:#fff;grid-template-columns:34px 96px minmax(0,1fr);align-items:center;gap:16px;min-width:0;padding:14px;display:grid}.elected-mayor-number{color:#a6b0bb;align-self:start;font-size:11px;font-weight:900}.elected-mayor-photo{aspect-ratio:4/5;background:#e8edf2;width:96px;overflow:hidden}.elected-mayor-photo img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.elected-mayor-copy{min-width:0}.elected-mayor-copy>span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.elected-mayor-copy h3{color:var(--navy);margin:6px 0;font-size:clamp(17px,2vw,22px);line-height:1.2}.elected-mayor-copy p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.4}.elected-mayor-copy>div{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.elected-mayor-copy>div strong{color:var(--navy);font-size:15px}.elected-mayor-copy>div em{color:var(--red);background:#edf1f5;padding:4px 7px;font-size:11px;font-style:normal;font-weight:900}.elected-mayors>footer{border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:18px;display:flex}.elected-mayors>footer p{color:#c7d2de;max-width:760px;margin:0;font-size:12px;line-height:1.6}.elected-mayors>footer a{color:#fff;flex:none;font-size:12px;font-weight:900;text-decoration:none}.municipal-government{border-top:6px solid var(--red);background:#f2f5f8;margin:0 0 52px;box-shadow:0 20px 50px #071a301c}.municipal-government-heading{text-align:center;background:#fff;padding:clamp(28px,5vw,52px)}.municipal-government-heading>span,.dhondt-title>span,.elected-council>header span{color:var(--red);letter-spacing:.15em;font-size:10px;font-weight:900}.municipal-government-heading h2{color:var(--navy);text-transform:uppercase;margin:10px auto 8px;font-size:clamp(31px,5vw,52px);line-height:1.08}.municipal-government-heading p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:15px;font-weight:900}.elected-executive{background:var(--navy);color:#fff;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,55px);padding:clamp(25px,5vw,48px);display:grid}.elected-executive-photo{aspect-ratio:4/5;width:180px;box-shadow:14px 14px 0 var(--red);border:5px solid #fff;overflow:hidden}.elected-executive-photo img{object-fit:cover;object-position:50% 16%;width:100%;height:100%}.elected-executive span{color:#ff737a;letter-spacing:.14em;font-size:11px;font-weight:900}.elected-executive h3{color:#fff;text-transform:uppercase;margin:9px 0;font-size:clamp(31px,5vw,50px);line-height:1.05}.elected-executive p{color:#c8d3df;margin:0 0 18px;font-size:14px}.elected-executive strong{color:var(--navy);background:#fff;padding:11px 15px;font-size:18px;display:inline-block}.dhondt-summary,.elected-council{padding:clamp(25px,5vw,48px)}.dhondt-title h3,.elected-council>header h3{color:var(--navy);margin:7px 0 22px;font-size:clamp(24px,4vw,36px)}.dhondt-lists{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dhondt-lists article{border-top:6px solid var(--navy);background:#fff;min-width:0;padding:22px}.dhondt-lists article.party-red,.elected-council-grid article.party-red{border-top-color:#d3262e}.dhondt-lists article.party-blue,.elected-council-grid article.party-blue{border-top-color:#163ccb}.dhondt-lists article.party-orange,.elected-council-grid article.party-orange{border-top-color:#f59a42}.dhondt-lists article>span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.dhondt-lists article>strong{color:var(--navy);margin:7px 0;font:700 clamp(25px,4vw,38px) Libre Baskerville,Georgia,serif;display:block}.dhondt-lists article p{color:#344354;min-height:34px;margin:0 0 12px;font-size:12px;font-weight:800}.dhondt-lists article small{color:var(--red);font-size:11px;font-weight:900}.elected-council{padding-top:8px}.elected-council-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.elected-council-grid article{border-top:4px solid var(--navy);background:#fff;grid-template-columns:28px 92px minmax(0,1fr);align-items:center;gap:14px;min-width:0;padding:13px;display:grid}.council-seat-number{color:#9aa7b4;text-transform:uppercase;writing-mode:vertical-rl;align-self:start;font-size:9px;font-weight:900;line-height:1.2}.council-photo{aspect-ratio:4/5;background:#e5eaf0;width:92px;overflow:hidden}.council-photo img{object-fit:cover;object-position:50% 16%;width:100%;height:100%}.council-copy{min-width:0}.council-copy>span{color:var(--red);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:900}.council-copy h4{color:var(--navy);text-transform:uppercase;margin:6px 0;font-size:17px;line-height:1.18}.council-copy p{color:var(--muted);margin:0 0 11px;font-size:11px;line-height:1.35}.council-copy strong{color:var(--navy);font-size:12px}.municipal-government-source{background:#fff;border-top:1px solid #d9e0e7;justify-content:space-between;align-items:center;gap:24px;padding:22px clamp(25px,5vw,48px);display:flex}.municipal-government-source p{max-width:770px;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.municipal-government-source a{color:var(--red);flex:none;font-size:11px;font-weight:900}.municipal-government-share{background:#fff;padding:0 clamp(25px,5vw,48px) 34px}.municipal-government-share .share-box{border-top:1px solid var(--divider);margin:0;padding-top:24px}.archive-news-heading{border-top:3px solid var(--navy);margin-top:52px;padding-top:28px}.archive-news-heading span,.municipal-intro span{color:var(--red);letter-spacing:.12em;font-size:11px;font-weight:900}.archive-news-heading h2{color:var(--navy);margin:7px 0 0;font-size:clamp(25px,4vw,38px)}.municipal-transparency{margin-top:30px}.municipal-intro{border-top:5px solid var(--red);background:var(--navy);color:#fff;justify-content:space-between;align-items:end;gap:28px;padding:30px;display:flex}.municipal-intro h2{color:#fff;margin:7px 0 10px;font-size:clamp(28px,5vw,48px)}.municipal-intro p{color:#dce5ef;max-width:690px;margin:0;line-height:1.55}.municipal-intro>a{background:var(--red);color:#fff;flex:none;padding:13px 17px;font-weight:800}.municipal-buttons{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 26px;display:grid}.municipal-buttons>a,.municipal-directory>summary{border:1px solid var(--divider);min-height:90px;color:var(--navy);cursor:pointer;background:#fff;align-items:center;gap:12px;padding:15px;list-style:none;display:flex;box-shadow:0 8px 26px #0a23420b}.municipal-directory{grid-column:1/-1}.municipal-directory>summary::-webkit-details-marker{display:none}.municipal-year-list summary::-webkit-details-marker{display:none}.municipal-directory>summary b{color:var(--red);margin-left:auto;font-size:21px}.municipal-directory[open]>summary b,.municipal-year-list details[open]>summary b{transform:rotate(45deg)}.municipal-buttons a:hover{border-color:var(--red);transform:translateY(-2px)}.municipal-buttons>a>strong,.municipal-directory>summary>strong{color:var(--red);font-size:14px}.municipal-buttons>a>span,.municipal-directory>summary>span{font-size:13px;font-weight:850;line-height:1.25}.municipal-year-list{border:1px solid var(--divider);background:#f7f8fa;border-top:0;padding:18px}.municipal-year-list>p{color:var(--muted);margin:0 0 14px;font-size:13px}.municipal-year-list>details{border:1px solid var(--divider);background:#fff;margin-bottom:8px}.municipal-year-list>details>summary{color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;padding:15px 17px;font-weight:900;list-style:none;display:flex}.municipal-year-list>details>summary b{color:var(--red);font-size:18px}.municipal-month-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 15px 15px;display:grid}.municipal-month-list a{min-height:48px;color:var(--navy);background:#fbfbfa;border:1px solid #e1e5e9;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;font-size:12px;display:flex}.municipal-month-list a:hover{border-color:var(--red);transform:none}.municipal-month-list a strong{color:var(--red);white-space:nowrap;font-size:10px}.municipal-budget-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.municipal-budget-types>details{border:1px solid var(--divider);background:#fff}.municipal-budget-types>details>summary{min-height:66px;color:var(--navy);text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:12px;font-weight:900;list-style:none;display:flex}.municipal-budget-types summary::-webkit-details-marker{display:none}.municipal-budget-years summary::-webkit-details-marker{display:none}.municipal-budget-types>details>summary b,.municipal-budget-years>details>summary b{color:var(--red);font-size:18px}.municipal-budget-types>details[open]>summary b,.municipal-budget-years>details[open]>summary b{transform:rotate(45deg)}.municipal-budget-types>details[open]{grid-column:1/-1}.municipal-budget-years{padding:0 12px 12px}.municipal-budget-years>details{border:1px solid var(--divider);background:#fbfbfa;margin-top:8px}.municipal-budget-years>details>summary{color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;padding:13px 15px;font-weight:900;list-style:none;display:flex}.municipal-annual-budget-link{border:1px solid var(--divider);min-height:54px;color:var(--navy);background:#fbfbfa;justify-content:space-between;align-items:center;gap:14px;margin-top:8px;padding:12px 15px;font-size:12px;font-weight:900;display:flex}.municipal-annual-budget-link:hover{border-color:var(--red);transform:none}.municipal-annual-budget-link strong{color:var(--red);white-space:nowrap;font-size:10px}.municipal-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.municipal-sections article{border:1px solid var(--divider);border-left:4px solid var(--red);background:#fff;grid-template-columns:54px 1fr;gap:18px;padding:24px;scroll-margin-top:18px;display:grid}.municipal-number{color:#bbc5cf;font:700 30px Libre Baskerville,Georgia,serif}.municipal-sections h3{color:var(--navy);margin:0 0 8px;font-size:22px}.municipal-sections p{color:#475569;margin:0 0 9px;line-height:1.5}.municipal-sections small{color:var(--muted);margin-bottom:15px;line-height:1.5;display:block}.municipal-sections a{color:var(--red);font-size:12px;font-weight:850}.municipal-source-note{color:var(--muted);margin:16px 0 0;font-size:12px;line-height:1.5}.municipal-mayors{border-top:5px solid var(--red);background:linear-gradient(145deg, #071d37 0%, var(--navy) 58%, #0c3154 100%);margin-top:54px;padding:clamp(24px,4vw,38px);box-shadow:0 18px 48px #0a23421c}.mayors-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px;display:flex}.mayors-heading span{color:var(--red);letter-spacing:.12em;font-size:11px;font-weight:900}.mayors-heading h2{color:#fff;margin:7px 0 10px;font-size:clamp(30px,5vw,48px)}.mayors-heading p{color:#dce5ef;max-width:720px;margin:0;line-height:1.55}.mayors-heading>strong{color:#90a5b9;flex:none;font:700 clamp(22px,4vw,38px) Libre Baskerville,Georgia,serif}.mayors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.mayor-card{border:1px solid var(--divider);border-top:4px solid var(--navy);background:#fff;grid-template-columns:112px minmax(0,1fr);gap:20px;min-width:0;padding:22px;display:grid;position:relative;box-shadow:0 12px 34px #0a23420b}.mayor-card.current{border-top-color:var(--red);background:linear-gradient(135deg,#fff,#fff8f7)}.mayor-sequence{color:#d9dfe5;font:700 20px Libre Baskerville,Georgia,serif;position:absolute;top:12px;right:15px}.mayor-photo-placeholder{aspect-ratio:4/5;text-align:center;background:var(--navy);color:#fff;place-content:center;gap:7px;width:112px;display:grid}.mayor-photo-placeholder span{font:700 34px Libre Baskerville,Georgia,serif}.mayor-photo-placeholder small{color:#aebdcc;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.mayor-photo{aspect-ratio:4/5;background:#eef1f4;width:112px;overflow:hidden}.mayor-photo img{object-fit:cover;object-position:50% 15%;width:100%;height:100%}.mayor-info{min-width:0;padding-right:24px}.mayor-info>span{color:var(--red);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.mayor-info h3{color:var(--navy);margin:8px 0 15px;font-size:20px;line-height:1.25}.mayor-info dl,.mayor-info dl div{margin:0}.mayor-info dl div+div{margin-top:10px}.mayor-info dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:900}.mayor-info dd{color:#334155;margin:3px 0 0;font-size:12px;line-height:1.45}.election-directory{border-top:5px solid var(--red);background:var(--navy);margin:30px 0 46px;padding:clamp(24px,4vw,46px);box-shadow:0 20px 50px #071a3024}.voting-simulator{border-top:5px solid var(--red);background:linear-gradient(145deg,#0b2747,#071a30);margin:0 0 42px;padding:clamp(22px,4vw,38px);box-shadow:0 20px 50px #071a3030}.voting-simulator-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.voting-simulator-heading span{color:#16714f;letter-spacing:.13em;font-size:10px;font-weight:900}.voting-simulator-heading h2{color:#fff;margin:7px 0 8px;font-size:clamp(27px,4vw,40px)}.voting-simulator-heading p{color:#c2cfdb;max-width:690px;margin:0;line-height:1.55}.voting-simulator-heading button{background:var(--red);color:#fff;cursor:pointer;border:0;flex:none;align-items:center;gap:8px;padding:12px 16px;font-size:11px;font-weight:900;display:flex}.voting-simulator-heading button b{font-size:19px;line-height:1}.voting-simulator-heading button.is-rotated{background:#1c8b64}.voting-simulator-stage{aspect-ratio:16/9;background:#fff;border:1px solid #dce3e8;width:100%;position:relative;overflow:hidden}.voting-simulator-stage.rotated{aspect-ratio:9/16}.voting-simulator-canvas{transform-origin:50%;width:1920px;height:1080px;position:absolute;top:50%;left:50%}.voting-simulator-canvas iframe{background:#fff;border:0;width:1920px;height:1080px;display:block}.voting-simulator-source{color:#aebdcc;margin:12px 0 0;font-size:10px;font-style:italic}.election-directory-heading span{color:#ff727a;letter-spacing:.14em;font-size:10px;font-weight:900}.election-directory-heading h2{color:#fff;margin:8px 0;font-size:clamp(27px,4vw,42px)}.election-directory-heading p{color:#becbd8;max-width:670px;margin:0;line-height:1.6}.election-mayor-grid{gap:18px;margin-top:30px;display:grid}.election-candidate{background:#fff;overflow:hidden}.election-candidate>summary{cursor:pointer;grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:146px;padding:18px 24px 18px 18px;list-style:none;display:grid}.election-candidate>summary::-webkit-details-marker{display:none}.election-photo{aspect-ratio:4/5;width:105px;color:var(--navy);background:#e8edf2;place-items:center;font:700 32px Libre Baskerville,Georgia,serif;display:grid;overflow:hidden}.election-photo img,.council-photo img{object-fit:cover;object-position:50% 18%;width:100%;height:100%}.election-candidate-copy{gap:6px;min-width:0;display:grid}.election-candidate-copy small{color:var(--red);letter-spacing:.12em;font-size:9px;font-weight:900}.election-candidate-copy strong{color:var(--navy);font-size:clamp(20px,3vw,29px);line-height:1.2}.election-candidate-copy em{color:var(--muted);font-size:13px;font-style:normal;font-weight:700}.election-open{color:var(--navy);text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:900;display:flex}.election-open b{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:20px;display:grid}.election-candidate[open] .election-open b{transform:rotate(45deg)}.election-councilors{background:#f4f6f8;border-top:1px solid #e2e8ee;padding:26px}.election-councilors h3{color:var(--navy);margin:0 0 18px;font-size:19px}.election-council-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.election-council-grid article{background:#fff;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.council-photo{aspect-ratio:1;width:64px;color:var(--navy);background:#e6ebef;place-items:center;font-weight:900;display:grid;overflow:hidden}.election-council-grid article div{gap:4px;min-width:0;display:grid}.election-council-grid small{color:var(--red);letter-spacing:.08em;font-size:9px;font-weight:900}.election-council-grid strong{color:var(--navy);font-size:13px;line-height:1.3}.election-empty{color:#fff;text-align:center;background:#ffffff10;margin:24px 0 0;padding:18px}.election-manager{border-top:5px solid var(--red);background:#fff;width:min(1180px,100% - 40px);margin:28px auto;padding:clamp(22px,4vw,38px);box-shadow:0 14px 36px #0a234212}.manager-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.manager-heading h2{color:var(--navy);margin:5px 0 0}.manager-heading>span{background:var(--navy);color:#fff;padding:8px 12px;font-size:11px;font-weight:900}.manager-form{background:#f4f6f8;margin-top:22px;padding:22px}.manager-form h3,.council-manager>h3{color:var(--navy);margin:0 0 18px}.manager-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.manager-fields label{color:#526273;gap:7px;font-size:11px;font-weight:800;display:grid}.manager-fields input{background:#fff;border:1px solid #ced6de;min-width:0;padding:11px}.manager-photo-field{grid-column:span 2}.manager-photo-preview{object-fit:cover;object-position:top;width:82px;height:96px;margin-top:14px}.manager-actions{gap:10px;margin-top:18px;display:flex}.manager-actions button{background:var(--red);color:#fff;cursor:pointer;border:0;padding:11px 16px;font-weight:900}.manager-actions button:disabled{opacity:.5;cursor:not-allowed}.manager-actions button.secondary{background:#73808d}.manager-candidate-list{gap:10px;margin-top:20px;display:grid}.manager-candidate-list article,.manager-council-list article{border:1px solid #dfe5ea;align-items:center;gap:12px;padding:12px;display:flex}.manager-candidate-list article.selected{border-color:var(--red);box-shadow:inset 4px 0 var(--red)}.manager-candidate-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.manager-candidate-main>span:nth-child(2),.manager-council-list article>span:nth-child(2){gap:4px;min-width:0;display:grid}.manager-candidate-main strong,.manager-council-list strong{color:var(--navy)}.manager-candidate-main small,.manager-council-list small{color:var(--muted)}.manager-avatar{width:52px;height:58px;color:var(--navy);background:#e7ebef;flex:none;place-items:center;font-weight:900;display:grid;overflow:hidden}.manager-avatar.small{width:44px;height:48px}.manager-avatar img{object-fit:cover;object-position:top;width:100%;height:100%}.manager-row-actions{gap:6px;margin-left:auto;display:flex}.manager-row-actions button{color:var(--navy);cursor:pointer;background:#e7edf2;border:0;padding:7px 9px;font-size:10px;font-weight:900}.manager-row-actions button.danger{color:#b71822;background:#fff0f1}.manager-row-actions button.council-add-button{color:#fff;background:#18764f}.council-manager{border-top:2px solid var(--navy);margin-top:28px;padding-top:28px}.council-manager-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.council-manager-heading h3{margin:5px 0 0}.council-manager-heading>span{color:var(--navy);background:#e8edf2;padding:8px 10px;font-size:10px;font-weight:900}.manager-council-list{gap:8px;margin-top:16px;display:grid}.analytics-dashboard{background:#fff;border-top:5px solid #1c8b64;width:min(1180px,100% - 40px);margin:28px auto;padding:clamp(22px,4vw,38px);box-shadow:0 14px 36px #0a234212}.analytics-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.analytics-heading h2{color:var(--navy);margin:5px 0}.analytics-heading small{color:var(--muted)}.analytics-heading button{background:var(--navy);color:#fff;cursor:pointer;border:0;padding:10px 15px;font-weight:900}.analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:26px;display:grid}.analytics-kpis article{border-left:4px solid var(--red);background:#f3f6f8;min-width:0;padding:19px}.analytics-kpis span,.analytics-kpis small{color:var(--muted);font-size:10px;font-weight:800;display:block}.analytics-kpis strong{color:var(--navy);margin:8px 0 5px;font-size:clamp(25px,3vw,37px);line-height:1;display:block}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.analytics-grid>article,.analytics-locations{border:1px solid #e0e6eb;padding:20px}.analytics-grid h3,.analytics-locations h3{color:var(--navy);margin:0 0 17px;font-size:16px}.analytics-bars{gap:12px;display:grid}.analytics-bars p{color:#4f6070;justify-content:space-between;gap:14px;margin:0 0 5px;font-size:11px;display:flex}.analytics-bars p span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.analytics-bars p strong{color:var(--navy)}.analytics-bars i{background:#e7ecf0;border-radius:8px;height:7px;display:block;overflow:hidden}.analytics-bars i b{border-radius:inherit;background:linear-gradient(90deg, var(--red), #ee6570);height:100%;display:block}.analytics-locations{margin-top:16px}.analytics-table-wrap{overflow-x:auto}.analytics-locations table{border-collapse:collapse;width:100%;font-size:12px}.analytics-locations th,.analytics-locations td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5e9ed;padding:10px}.analytics-locations th{color:var(--navy);text-transform:uppercase;font-size:10px}.analytics-locations td:last-child{color:var(--red);font-weight:900}.analytics-note{color:var(--muted);margin:15px 0 0;font-size:11px;font-style:italic}@media (width<=850px){.municipal-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.municipal-sections,.mayors-grid{grid-template-columns:1fr}.election-council-grid,.manager-fields,.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.voting-simulator-heading{flex-direction:column;align-items:flex-start}}@media (width<=560px){.municipal-intro{flex-direction:column;align-items:flex-start;padding:23px}.municipal-intro>a{text-align:center;width:100%}.municipal-buttons{grid-template-columns:1fr}.municipal-buttons a,.municipal-directory>summary{min-height:68px}.municipal-month-list,.municipal-budget-types{grid-template-columns:1fr}.municipal-sections article{grid-template-columns:40px 1fr;padding:18px}.municipal-number{font-size:23px}.mayors-heading{flex-direction:column;align-items:flex-start;gap:12px}.mayor-card{grid-template-columns:88px minmax(0,1fr);gap:15px;padding:16px}.mayor-photo-placeholder,.mayor-photo{width:88px}.mayor-info{padding-right:12px}.mayor-info h3{font-size:17px}.election-candidate>summary{grid-template-columns:78px minmax(0,1fr);gap:14px;padding:14px}.election-photo{width:78px}.election-open{grid-column:1/-1;justify-content:flex-end}.election-council-grid,.manager-fields{grid-template-columns:1fr}.manager-photo-field{grid-column:auto}.manager-candidate-list article,.manager-council-list article{flex-wrap:wrap;align-items:flex-start}.manager-row-actions{justify-content:flex-end;width:100%}.analytics-heading{flex-direction:column;align-items:flex-start}.analytics-grid,.analytics-kpis{grid-template-columns:1fr}.voting-simulator{padding:18px 12px}.voting-simulator-heading{padding-inline:6px}.voting-simulator-heading button{justify-content:center;width:100%}}.radio-page{background:var(--paper);min-height:100vh}.radio-shell{width:min(1180px,100% - 40px);margin:0 auto;padding-block:clamp(44px,7vw,84px)}.radio-shell>h1{color:var(--navy);margin:8px 0 14px;font-size:clamp(40px,6vw,68px);line-height:1}.radio-section-heading{border-top:4px solid var(--red);margin-top:clamp(52px,8vw,88px);padding-top:34px}.radio-section-heading h2{color:var(--navy);margin:8px 0 14px;font-size:clamp(32px,5vw,52px)}.tv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px;display:grid}.tv-card{border-top:4px solid var(--red);background:#fff;min-width:0;overflow:hidden;box-shadow:0 16px 42px #0a234212}.tv-card-heading{align-items:center;gap:15px;padding:18px 20px;display:flex}.tv-card-heading h2{color:var(--navy);margin:8px 0 0;font-size:23px}.tv-logo{width:64px;height:64px;color:var(--navy);background:#eef1f4;border-radius:50%;place-items:center;font-weight:900;display:grid;overflow:hidden}.tv-logo img{object-fit:contain;width:100%;height:100%;padding:6px}.tv-player video,.tv-player-placeholder{aspect-ratio:16/9;background:#071a30;width:100%;display:block}.tv-player-placeholder{color:#fff;text-align:center;place-items:center;padding:30px;display:grid}.tv-player>p{color:#a20f19;background:#fff3f3;margin:0;padding:10px 18px;font-size:12px}.tv-player>a{background:var(--navy);color:#fff;text-align:center;padding:12px 18px;font-size:11px;font-weight:900;text-decoration:none;display:block}.broadcast-notice{color:#30485b;background:#eaf4ef;border-left:4px solid #1c8b64;grid-template-columns:42px minmax(0,1fr);gap:16px;margin-top:28px;padding:20px 22px;display:grid}.broadcast-notice>span{color:#fff;background:#1c8b64;border-radius:50%;place-items:center;width:34px;height:34px;font:700 19px Georgia,serif;display:grid}.broadcast-notice h2{color:var(--navy);margin:0 0 8px;font-size:16px}.broadcast-notice p{margin:0;font-size:11px;line-height:1.6}.broadcast-notice p+p{margin-top:6px}.broadcast-notice.radio-notice{background:#edf0fa;border-left-color:#374db7}.broadcast-notice.radio-notice>span{background:#374db7}.tv-manager{background:#fff;border-top:5px solid #374db7;width:min(1180px,100% - 40px);margin:28px auto;padding:clamp(22px,4vw,38px);box-shadow:0 14px 36px #0a234212}.tv-admin-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:28px;margin-top:22px;display:grid}.tv-admin-grid>form{background:#f4f6f8;gap:15px;padding:22px;display:grid}.tv-admin-grid label{color:#526273;gap:7px;font-size:11px;font-weight:800;display:grid}.tv-admin-grid input{background:#fff;border:1px solid #ced6de;min-width:0;padding:11px}.tv-admin-list{align-content:start;gap:10px;display:grid}.tv-admin-list article{border:1px solid #dfe5ea;grid-template-columns:62px 1fr;gap:14px;padding:13px;display:grid}.tv-admin-list p{color:var(--red);margin:0;font-size:9px;font-weight:900}.tv-admin-list h3{color:var(--navy);margin:4px 0}.tv-admin-list small{color:var(--muted)}.tv-admin-list article>div:last-child>div{gap:7px;margin-top:10px;display:flex}.tv-admin-list button{color:var(--navy);cursor:pointer;background:#e7edf2;border:0;padding:7px 9px;font-size:10px;font-weight:900}.tv-admin-list button.danger{color:#b71822;background:#fff0f1}.radio-intro{max-width:720px;color:var(--muted);margin:0;font-size:18px;line-height:1.6}.radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:38px;display:grid}.radio-card{border-top:4px solid var(--red);background:#fff;grid-template-columns:132px minmax(0,1fr);align-items:center;gap:24px;min-width:0;min-height:258px;padding:28px;display:grid;box-shadow:0 16px 42px #0a234212}.radio-logo{width:132px;height:132px;color:var(--red);background:#f2f3f5;border-radius:50%;place-items:center;font-size:48px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #0a23420d}.radio-logo img{object-fit:contain;width:100%;height:100%;padding:8px}.live-pill{background:var(--red);color:#fff;letter-spacing:.08em;padding:6px 9px;font-size:10px;font-weight:800;display:inline-block}.radio-card h2{color:var(--navy);margin:12px 0 18px;font-size:25px;line-height:1.2}.radio-player{gap:9px;display:grid}.radio-player audio{display:none}.radio-console{background:linear-gradient(135deg,#f7f9fb,#eef1f4);border:1px solid #dfe4e9;border-radius:18px;grid-template-columns:48px minmax(82px,1fr) 32px minmax(72px,105px);align-items:center;gap:10px;min-width:0;padding:8px 12px 8px 8px;display:grid;box-shadow:inset 0 1px #fff}.radio-play{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:14px;place-items:center;width:48px;height:48px;font-size:18px;font-weight:800;transition:transform .2s,background .2s;display:grid;box-shadow:0 7px 16px #d6242f35}.radio-play:hover{background:#b91822;transform:translateY(-1px)}.radio-play:focus-visible,.radio-mute:focus-visible,.radio-volume:focus-visible{outline-offset:2px;outline:3px solid #1877f255}.radio-live{gap:5px;min-width:0;display:grid}.radio-live>span{color:var(--navy);letter-spacing:.11em;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:800;overflow:hidden}.radio-equalizer{align-items:end;gap:3px;height:16px;display:flex}.radio-equalizer i{background:#aab3bd;border-radius:3px;width:3px;height:4px}.radio-console.is-playing .radio-equalizer i{background:var(--red);animation:.7s ease-in-out infinite alternate radio-wave}.radio-console.is-playing .radio-equalizer i:nth-child(2){animation-delay:-.3s}.radio-console.is-playing .radio-equalizer i:nth-child(3){animation-delay:-.5s}.radio-console.is-playing .radio-equalizer i:nth-child(4){animation-delay:-.2s}.radio-console.is-playing .radio-equalizer i:nth-child(5){animation-delay:-.45s}.radio-mute{cursor:pointer;background:0 0;border:0;width:32px;height:32px;padding:0;font-size:17px}.radio-volume{width:100%;min-width:0;accent-color:var(--red);cursor:pointer}.radio-status{min-height:17px;color:var(--muted);font-size:11px;line-height:1.4}@keyframes radio-wave{0%{height:4px}to{height:16px}}@media (width<=800px){.poll-card{grid-template-columns:1fr;gap:26px}.poll-question{border-right:0;border-bottom:1px solid var(--divider);padding-bottom:24px;padding-right:0}.poll-heading{align-items:flex-start}.archive-grid{grid-template-columns:1fr}.elected-mayors>header,.elected-mayors>footer{flex-direction:column;align-items:flex-start}.elected-mayors-grid{grid-template-columns:1fr}.elected-mayors-grid article{grid-template-columns:26px 78px minmax(0,1fr);gap:10px;padding:10px}.elected-mayor-photo{width:78px}.elected-executive{grid-template-columns:104px minmax(0,1fr);gap:20px}.elected-executive-photo{width:104px;box-shadow:8px 8px 0 var(--red);border-width:3px}.dhondt-lists,.elected-council-grid{grid-template-columns:1fr}.elected-council-grid article{grid-template-columns:24px 78px minmax(0,1fr);gap:10px;padding:10px}.council-photo{width:78px}.municipal-government-source{flex-direction:column;align-items:flex-start}.article-gallery{grid-template-columns:1fr}.article-gallery img{grid-column:auto!important}.share-buttons a,.share-buttons button{flex:calc(50% - 8px);justify-content:center}.share-box.compact .share-buttons a,.share-box.compact .share-buttons button{flex:0 0 38px}.radio-grid,.tv-grid,.tv-admin-grid,.broadcast-notice{grid-template-columns:1fr}.radio-card{grid-template-columns:88px minmax(0,1fr);gap:16px;min-height:0;padding:18px}.radio-logo{width:88px;height:88px}.radio-card h2{margin-block:9px 14px;font-size:20px}.radio-console{grid-template-columns:44px minmax(64px,1fr) 30px}.radio-play{width:44px;height:44px}.radio-volume{display:none}}.admin-grid>*,.editor form,.editor label,.field-row>*,.image-preview-grid,.image-preview-grid>div,.inline-photo-picker,.visual-content-field,.visual-content-editor{min-width:0;max-width:100%}.editor input,.editor textarea,.editor select{box-sizing:border-box;min-width:0}.editor .image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));align-content:start;max-height:480px;overflow-y:auto}.editor .image-preview-grid .image-preview{object-fit:contain;background:#f3f5f7;width:100%;height:120px;display:block}.editor .image-preview-actions{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex;position:static}.editor .image-preview-actions button{padding:7px;font-size:14px}.editor .inline-photo-picker>div{grid-template-columns:repeat(auto-fill,minmax(min(100%,110px),1fr));gap:10px;max-height:280px;display:grid;overflow-y:auto}.editor .inline-photo-picker button{cursor:pointer;min-width:0}.visual-content-field{gap:8px;display:grid}.visual-content-field>strong{color:#374151;font-size:14px}.visual-content-field>small{color:var(--muted);font-size:14px;line-height:1.5}.visual-content-editor{background:#fff;border:1px solid #cfd4da;padding:12px}.editor .visual-content-editor textarea{border:0;min-height:90px;font-size:16px;line-height:1.65;display:block}.visual-content-editor textarea:focus{outline-offset:-2px;outline:2px solid #245f9e}.content-editor-photo{background:#f5f7f9;border:1px solid #cfd4da;margin:16px 0;padding:10px}.content-editor-photo img{object-fit:contain;width:100%;max-height:360px;display:block}.content-editor-video video{aspect-ratio:16/9;background:#000;width:100%;max-height:360px;display:block}.content-editor-photo figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:14px;display:flex}.content-editor-photo button{color:var(--red);cursor:pointer;background:#fff;border:1px solid #cfd4da;padding:8px 12px;font-size:14px}@media (width<=1100px){.admin-grid{grid-template-columns:minmax(0,1fr)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
