/* Front-page election invitation; scoped independently of news and Wire styles. */
.election-command-promo{width:min(1180px,calc(100% - 32px));margin:12px auto 26px}
.ecp-link{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:126px minmax(0,1fr) auto;align-items:center;gap:26px;padding:26px 30px;border:1px solid #c9a65f;border-top:3px solid #e4c27c;border-radius:7px;background:radial-gradient(ellipse at 10% 30%,#25415488,transparent 45%),linear-gradient(110deg,#101c2c,#152a3e 65%,#101c2c);box-shadow:0 8px 22px #101c2c24;color:#fff9eb!important;text-decoration:none!important;transition:box-shadow .2s,border-color .2s}
.ecp-link::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.1;background-image:linear-gradient(#dbc18133 1px,transparent 1px),linear-gradient(90deg,#dbc18133 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(90deg,#000,transparent 65%)}
.ecp-link:hover{border-color:#ffe0a0;box-shadow:0 10px 28px #101c2c40}
.ecp-link:focus-visible{outline:3px solid #a85e09;outline-offset:4px}
.ecp-radar{position:relative;display:block;width:122px;height:122px;overflow:hidden;border:1px solid #e3c78970;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 19px,#e3c78930 20px,transparent 21px 39px)}
.ecp-radar::before,.ecp-radar::after{content:"";position:absolute;background:#e3c78933}
.ecp-radar::before{width:1px;height:100%;left:50%}.ecp-radar::after{height:1px;width:100%;top:50%}
.ecp-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 285deg,#e4c27c06 300deg,#e4c27c55 359deg,transparent 360deg);animation:ecp-scan 12s linear infinite}
.ecp-year{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;font:700 30px/.92 Georgia,serif;letter-spacing:.04em;color:#ffe4aa;text-shadow:0 2px 9px #0a172c}.ecp-year span{font-size:42px}
.ecp-radar i{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffe1a0;box-shadow:0 0 9px #ffe1a0aa}.ecp-radar i:nth-of-type(1){top:23%;left:26%}.ecp-radar i:nth-of-type(2){top:62%;left:82%}.ecp-radar i:nth-of-type(3){top:83%;left:35%}
.ecp-copy{min-width:0;display:block}.ecp-kicker{display:block;margin-bottom:9px;color:#edd198;font:700 10px/1.5 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.17em}.ecp-kicker>span{margin:0 7px;color:#8f9da9}
.ecp-title{display:block;font:700 clamp(25px,2.4vw,37px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#fff9eb}.ecp-title>span{color:#f1d49b}
.ecp-dek{display:block;max-width:630px;margin-top:10px;color:#d5dee7;font:400 13px/1.5 system-ui,sans-serif}
.ecp-topics{display:block;margin-top:12px;color:#b7c8d6;font:500 10px/1.5 system-ui,sans-serif}.ecp-topics>b{padding:0 7px;color:#d8b771}
.ecp-action{display:flex;align-items:center;flex-direction:column;gap:11px}.ecp-button{display:flex;align-items:center;justify-content:center;gap:17px;white-space:nowrap;padding:14px 18px;border:1px solid #f1daac;border-radius:4px;background:linear-gradient(115deg,#f8e5b8,#cfa85e);box-shadow:0 2px 12px #0003;color:#152334;font:750 12px/1.2 system-ui,sans-serif}.ecp-button>span{font-size:21px;line-height:.7}.ecp-cadence{max-width:225px;text-align:center;color:#c4cfda;font:400 10px/1.4 system-ui,sans-serif}
@keyframes ecp-scan{to{transform:rotate(360deg)}}
@media(min-width:1600px){.election-command-promo{width:min(92vw,2400px)}.ecp-link{grid-template-columns:126px minmax(0,1fr) auto;padding-right:40px}.ecp-dek{max-width:none}.ecp-title{font-size:39px}}
@media(max-width:1000px){.ecp-link{grid-template-columns:90px minmax(0,1fr);gap:20px;padding:23px}.ecp-radar{width:88px;height:88px}.ecp-year{font-size:24px}.ecp-year span{font-size:34px}.ecp-action{grid-column:2;align-items:flex-start;gap:7px}.ecp-cadence{max-width:none;text-align:left}.ecp-topics{margin-top:9px}}
@media(max-width:600px){.election-command-promo{width:100%;margin:8px auto 20px}.ecp-link{grid-template-columns:minmax(0,1fr);padding:23px 20px;gap:18px}.ecp-radar{position:absolute;right:-28px;top:-26px;width:130px;height:130px;opacity:.18;z-index:-1}.ecp-copy{padding-right:0}.ecp-kicker{font-size:9px;letter-spacing:.1em}.ecp-title{font-size:29px;max-width:320px;line-height:1.12}.ecp-title>span{display:block}.ecp-dek{font-size:12px;max-width:420px}.ecp-topics{font-size:10px}.ecp-action{grid-column:1;align-items:stretch}.ecp-button{padding:14px 12px}.ecp-cadence{text-align:center}}
@media(prefers-reduced-motion:reduce){.ecp-sweep{animation:none}.ecp-link{transition:none}}
@media print{.election-command-promo{display:none}}
