.cfs-homepage{--navy:#0b3564;--dark:#061e3d;--red:#cd192b;--gold:#d2ae67;--ink:#222b37;--muted:#667180;--line:#d7dde5;background:#f4f6f8;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;margin:0 calc(50% - 50vw);overflow:hidden;width:100vw}
.cfs-homepage *{box-sizing:border-box}.cfs-homepage h1,.cfs-homepage h2,.cfs-homepage h3,.cfs-homepage h4,.cfs-homepage p{margin-top:0}.cfs-homepage a{text-underline-offset:4px}.cfs-home-eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.13em}
.cfs-home-hero{background:linear-gradient(132deg,#061e3d 0%,#0b3564 58%,#123f72 100%);display:grid;gap:46px;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);overflow:hidden;padding:70px max(24px,calc((100vw - 1180px)/2)) 104px;position:relative}
.cfs-home-hero::before{color:#ffffff0c;content:"★";font-size:30rem;font-weight:900;line-height:.8;position:absolute;right:-40px;top:-25px;transform:rotate(8deg)}.cfs-home-hero::after{border:1px solid #ffffff1f;border-radius:50%;content:"";height:520px;left:-300px;position:absolute;top:110px;width:520px}.cfs-home-hero>*{position:relative;z-index:1}
.cfs-home-hero-copy{align-self:center;color:#fff}.cfs-home-hero-copy>.cfs-home-eyebrow{color:var(--gold);margin-bottom:12px}.cfs-home-hero-copy h1{color:#fff;font-size:clamp(3.1rem,5.5vw,5.2rem);font-weight:800;letter-spacing:-.065em;line-height:.95;margin:0 0 24px;max-width:670px}.cfs-home-hero-copy>p:not(.cfs-home-eyebrow){color:#e1eaf3;font-size:1.06rem;line-height:1.65;max-width:610px}.cfs-home-questionnaire-cta{align-items:center;background:var(--red);border:2px solid #fff;border-radius:8px;box-shadow:0 14px 35px #01081360;color:#fff;display:flex;gap:34px;justify-content:space-between;margin-top:28px;max-width:405px;min-height:72px;padding:13px 18px;text-decoration:none}.cfs-home-questionnaire-cta span{display:flex;flex-direction:column;font-size:.76rem}.cfs-home-questionnaire-cta strong{font-size:.92rem}.cfs-home-questionnaire-cta b{font-size:1.25rem}.cfs-home-hero-copy>small{color:#cfdae6;display:block;font-size:.68rem;margin-top:14px}
.cfs-home-map-card{background:#fff;border:1px solid #d2ae67a3;border-radius:16px;box-shadow:0 28px 80px #020b184a;min-width:0;padding:24px;position:relative;transform:rotate(.35deg)}.cfs-home-map-card::after{border:1px solid #fff;border-radius:16px;content:"";inset:8px -9px -9px 8px;opacity:.18;pointer-events:none;position:absolute;z-index:-1}.cfs-home-map-head .cfs-home-eyebrow{color:var(--red);margin-bottom:3px}.cfs-home-map-head h2{color:var(--navy);font-size:1.8rem;letter-spacing:-.035em;line-height:1.1;margin:0}.cfs-home-map{background:#061e3d;border:4px solid var(--gold);border-radius:10px;margin-top:18px;overflow:hidden;position:relative}.cfs-home-map>img{display:block;filter:grayscale(1) contrast(.78) brightness(1.18);opacity:.57;width:100%}.cfs-home-map-pin{align-items:center;background:var(--gold);border:2px solid #fff;border-radius:50%;box-shadow:0 2px 7px #061e3d70;color:#071f3f;display:flex;font-size:.56rem;font-weight:900;height:28px;justify-content:center;position:absolute;text-decoration:none;transform:translate(-50%,-50%);transition:transform .16s ease,box-shadow .16s ease;width:28px;z-index:2}.cfs-home-map-pin:hover,.cfs-home-map-pin:focus{box-shadow:0 0 0 4px #ffffffad,0 4px 12px #02060cb3;transform:translate(-50%,-50%) scale(1.14);z-index:4}.cfs-home-map-foot{align-items:center;color:var(--navy);display:flex;flex-wrap:wrap;font-size:.62rem;font-weight:800;gap:10px 20px;justify-content:space-between;padding:14px 3px 0;text-transform:uppercase}.cfs-home-map-foot b{color:var(--red);font-size:.9rem;margin-right:4px}.cfs-home-map-foot i{background:var(--gold);border:2px solid var(--navy);border-radius:50%;display:inline-block;height:11px;margin-right:5px;vertical-align:-1px;width:11px}.cfs-home-map-link{align-items:center;color:var(--navy);display:flex;font-size:.72rem;font-weight:900;justify-content:space-between;margin-top:12px;text-decoration:none}.cfs-home-map-link span{color:var(--red);font-size:1rem}
.cfs-home-proof{background:#fff;border:1px solid #d7dde5;border-radius:13px;box-shadow:0 24px 65px #06152d38;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:-42px auto -43px;max-width:1180px;overflow:hidden;position:relative;width:calc(100% - 48px);z-index:4}.cfs-home-proof article{align-items:center;display:grid;gap:15px;grid-template-columns:52px minmax(0,1fr);min-height:116px;padding:24px 26px;position:relative}.cfs-home-proof article+article{border-left:1px solid var(--line)}.cfs-home-proof article::after{background:var(--red);bottom:0;content:"";height:4px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .22s ease;width:100%}.cfs-home-proof article:nth-child(2)::after{background:var(--navy)}.cfs-home-proof article:hover::after{transform:scaleX(1)}.cfs-home-proof-icon{align-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 3px var(--red),0 7px 18px #0b35642b;display:flex;height:48px;justify-content:center;width:48px}.cfs-home-proof-icon svg{fill:none;height:25px;stroke:var(--navy);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7;width:25px}.cfs-home-proof strong{color:var(--navy);display:block;font-size:.9rem;line-height:1.2}.cfs-home-proof small{color:var(--muted);display:block;font-size:.67rem;line-height:1.45;margin-top:5px}
.cfs-home-live{background:radial-gradient(circle at 86% 9%,#1a5489 0,transparent 34%),linear-gradient(145deg,#04182f 0%,#082b52 58%,#0b3564 100%);box-shadow:inset 0 0 0 6px var(--gold);color:#fff;overflow:hidden;padding:132px max(24px,calc((100vw - 1180px)/2)) 90px;position:relative}.cfs-home-live::before{background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:46px 46px;content:"";inset:0;mask-image:linear-gradient(to bottom,#0007,transparent 45%);pointer-events:none;position:absolute}.cfs-home-live>*{position:relative;z-index:1}.cfs-home-product-story{align-items:start;display:grid;gap:70px;grid-template-columns:minmax(0,1.22fr) minmax(300px,.58fr)}.cfs-home-product-copy>.cfs-home-eyebrow{color:var(--gold);margin-bottom:16px}.cfs-home-product-copy>h2{color:#fff;font-size:clamp(2.55rem,4.1vw,4.25rem);font-weight:800;letter-spacing:-.065em;line-height:.92;margin:0}.cfs-home-product-copy>h2 strong{color:var(--gold)}.cfs-home-product-copy>p:not(.cfs-home-eyebrow){color:#dbe7f3;font-size:1rem;line-height:1.55;margin:22px 0 0;max-width:560px}
.cfs-home-product-copy>.cfs-comparison{border:2px solid var(--gold);border-radius:12px;box-shadow:0 28px 68px #0108136b;margin-top:36px}.cfs-home-product-copy .cfs-comparison-top{padding:17px 24px}.cfs-home-product-copy .cfs-comparison-stage{padding:30px}.cfs-home-product-copy .cfs-comparison-stage h2{font-size:1.65rem}.cfs-home-product-copy .cfs-comparison-stage>span{font-size:.76rem}.cfs-home-product-copy .cfs-comparison-controls{grid-template-columns:minmax(210px,.82fr) minmax(230px,1.18fr)}.cfs-home-product-copy .cfs-comparison-controls select,.cfs-home-product-copy .cfs-comparison-controls button{min-height:58px}
.cfs-home-product-visual{align-items:center;background:radial-gradient(circle,#d5b66f38 0,transparent 65%);display:flex;flex-direction:column;justify-content:center;min-height:650px;padding:24px;position:relative}.cfs-home-product-visual>span{background:var(--red);border:3px solid #fff;border-radius:999px;box-shadow:0 10px 30px #020b1855;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.11em;padding:11px 15px;position:absolute;right:3px;top:20px;transform:rotate(5deg);z-index:3}.cfs-home-product-visual>p{color:#dbe7f3;font-size:.65rem;font-weight:800;letter-spacing:.1em;margin:22px 0 0;text-transform:uppercase}.cfs-home-sheet-card{background:#fff;border:5px solid var(--gold);border-radius:8px;box-shadow:0 38px 75px #0108158c;color:var(--navy);display:block;max-width:390px;overflow:hidden;text-decoration:none;transform:rotate(1.8deg);transition:transform .2s ease,box-shadow .2s ease;width:100%}.cfs-home-sheet-card:hover{box-shadow:0 45px 90px #010815ad;transform:rotate(0) translateY(-5px)}.cfs-home-sheet-card>div{background:var(--navy);color:#fff;padding:18px 20px}.cfs-home-sheet-card small{color:var(--gold);display:block;font-size:.56rem;font-weight:900;letter-spacing:.16em}.cfs-home-sheet-card strong{display:block;font-size:1.4rem;line-height:1;margin-top:8px}.cfs-home-sheet-card img{display:block;width:100%}.cfs-home-sheet-card>b{align-items:center;color:var(--navy);display:flex;font-size:.68rem;justify-content:space-between;padding:15px 18px}.cfs-home-sheet-card em{color:var(--red);font-size:1rem;font-style:normal}
.cfs-home-steps{border-top:1px solid #ffffff2e;margin-top:68px;padding-top:54px}.cfs-home-steps>h3{color:#fff;font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.045em;line-height:1;margin:0 0 24px}.cfs-home-steps>div{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.cfs-home-steps article{background:linear-gradient(145deg,#ffffff13,#ffffff08);border:1px solid #ffffff29;border-top:4px solid var(--red);border-radius:9px;box-shadow:inset 0 1px 0 #ffffff17;display:grid;gap:16px;grid-template-columns:50px minmax(0,1fr);min-height:174px;padding:24px;transition:background .2s ease,transform .2s ease}.cfs-home-steps article:nth-child(even){border-top-color:#fff}.cfs-home-steps article:hover{background:linear-gradient(145deg,#ffffff20,#ffffff0d);transform:translateY(-4px)}.cfs-home-steps article>span{align-items:center;background:#fff;border-radius:50%;box-shadow:0 0 0 3px var(--red);color:var(--navy);display:flex;font-size:.68rem;font-weight:900;height:42px;justify-content:center;width:42px}.cfs-home-steps article section{padding:0}.cfs-home-steps p{color:var(--gold);font-size:.58rem;font-weight:900;letter-spacing:.12em;margin:0 0 7px}.cfs-home-steps h4{color:#fff;font-size:1.08rem;line-height:1.2;margin:0 0 9px}.cfs-home-steps small{color:#cbd9e7;display:block;font-size:.72rem;line-height:1.55}
.cfs-homepage .cfs-directory{border-top:1px solid #ffffff30;margin-top:70px;padding-top:55px}.cfs-homepage .cfs-race-grid{gap:18px}.cfs-homepage .cfs-race-card{border:0;box-shadow:0 18px 45px #010a174f;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);min-height:220px}.cfs-homepage .cfs-race-portraits i{height:220px}.cfs-homepage .cfs-race-copy{padding:25px}.cfs-homepage .cfs-race-copy small{font-size:.58rem}.cfs-homepage .cfs-race-copy strong{font-size:1.55rem;line-height:1.05;margin-top:9px}.cfs-homepage .cfs-race-copy em{font-size:.7rem;line-height:1.4;margin-top:10px}.cfs-homepage .cfs-race-copy>b{font-size:.7rem;margin-top:22px}
.cfs-home-truth{background:#fff;border:1px solid #d6dee8;border-radius:14px;color:var(--navy);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);margin-top:56px;overflow:hidden}.cfs-home-truth>div{align-self:center;padding:44px}.cfs-home-truth h2{font-size:clamp(2.15rem,3.6vw,3.65rem);letter-spacing:-.055em;line-height:1;margin:0 0 22px}.cfs-home-truth p{color:#566476;font-size:.92rem;line-height:1.65;margin:0}.cfs-home-truth p+p{margin-top:12px}.cfs-home-truth figure{background:var(--navy);margin:0;min-height:470px;overflow:hidden}.cfs-home-truth img{display:block;height:100%;object-fit:cover;width:100%}
.cfs-home-trending{background:#fff;border:1px solid #ffffff70;border-radius:18px;box-shadow:0 34px 90px #01081378;color:var(--ink);margin-top:84px;overflow:hidden}.cfs-home-trending>header{background:linear-gradient(118deg,#fff 0 72%,#edf3f8 72%);border-bottom:1px solid var(--line);padding:42px}.cfs-home-trending>header h3{color:var(--navy);font-size:clamp(2.2rem,4vw,3.7rem);letter-spacing:-.052em;line-height:.98;margin:0;max-width:940px}.cfs-home-trending>header p{color:var(--muted);font-size:.82rem;line-height:1.6;margin:17px 0 0;max-width:650px}.cfs-home-trending-layout{display:grid;grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr)}.cfs-home-trending-feed{background:#fff;border-right:1px solid var(--line);max-height:790px;overflow-y:auto}.cfs-home-trending-feed>div{align-items:center;background:var(--red);box-shadow:0 8px 24px #6e0d1830;color:#fff;display:flex;justify-content:space-between;padding:16px 20px;position:sticky;top:0;z-index:2}.cfs-home-trending-feed>div span{font-size:.62rem;font-weight:900;letter-spacing:.12em}.cfs-home-trending-feed>div b{background:var(--gold);border-radius:999px;color:#071f3f;font-size:.52rem;padding:5px 8px}.cfs-home-trending-feed>button{align-items:center;background:#fff;border:0;border-bottom:1px solid var(--line);color:var(--ink);display:grid;gap:14px;grid-template-columns:32px minmax(0,1fr) 18px;padding:17px 20px;text-align:left;width:100%}.cfs-home-trending-feed>button:hover{background:#f6f8fa}.cfs-home-trending-feed>button.active{background:#fff3d8;box-shadow:inset 6px 0 0 var(--red)}.cfs-home-trending-feed>button>span{color:#9aa5b2;font-size:.65rem;font-weight:900}.cfs-home-trending-feed>button.active>span{color:var(--red)}.cfs-home-trending-feed button section{padding:0}.cfs-home-trending-feed small,.cfs-home-trending-feed strong,.cfs-home-trending-feed em{display:block}.cfs-home-trending-feed small{color:var(--red);font-size:.55rem;font-style:normal;font-weight:900;letter-spacing:.1em}.cfs-home-trending-feed strong{color:var(--navy);font-size:.78rem;line-height:1.25;margin-top:4px}.cfs-home-trending-feed em{color:var(--muted);font-size:.58rem;font-style:normal;margin-top:5px}.cfs-home-trending-feed>button>b{color:var(--red)}.cfs-home-trend-panels{background:linear-gradient(145deg,#e8edf3,#f5f7fa);padding:30px}.cfs-home-trend-panel{background:#fff;border:1px solid #c6d0db;border-radius:10px;box-shadow:0 22px 55px #071f3f26;overflow:hidden}.cfs-home-trend-panel[hidden]{display:none}.cfs-home-trend-topic{border-left:6px solid var(--gold);padding:24px}.cfs-home-trend-topic p,.cfs-home-trend-topic>span{color:var(--red);font-size:.58rem;font-weight:900;letter-spacing:.12em;margin:0}.cfs-home-trend-topic>span{color:var(--navy);float:right}.cfs-home-trend-topic h4{clear:both;color:var(--navy);font-size:clamp(1.3rem,2.3vw,2rem);letter-spacing:-.035em;line-height:1.05;margin:18px 0 0}.cfs-home-trend-topic small{color:var(--muted);display:block;font-size:.71rem;line-height:1.5;margin-top:12px}.cfs-home-trend-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cfs-home-trend-candidates section{border-bottom:5px solid var(--navy)}.cfs-home-trend-candidates section.republican{border-color:var(--red)}.cfs-home-trend-candidates section>div{background:#e5eaf0;height:180px;overflow:hidden}.cfs-home-trend-candidates img{height:100%;object-fit:cover;object-position:center 15%;width:100%}.cfs-home-trend-candidates section>div>b{align-items:center;display:flex;font-size:2rem;height:100%;justify-content:center}.cfs-home-trend-candidates section>p{align-items:center;background:var(--navy);color:#fff;display:flex;justify-content:space-between;margin:0;min-height:50px;padding:10px 14px}.cfs-home-trend-candidates section.republican>p{background:var(--red)}.cfs-home-trend-candidates strong{font-size:.68rem}.cfs-home-trend-positions{border-bottom:3px solid #111;display:grid;grid-template-columns:minmax(0,1.24fr) repeat(2,minmax(125px,.5fr));min-height:124px}.cfs-home-trend-positions>div{display:flex;flex-direction:column;justify-content:center;padding:17px 20px}.cfs-home-trend-positions>div span{font-size:.6rem;font-weight:900}.cfs-home-trend-positions>div small{color:var(--muted);font-size:.52rem;margin-top:6px}.cfs-home-trend-positions>section{align-items:center;border-left:4px solid var(--navy);color:var(--navy);display:flex;flex-direction:column;gap:9px;justify-content:center;padding:15px;text-align:center}.cfs-home-trend-positions>section.republican{border-color:var(--red);color:var(--red)}.cfs-home-trend-positions section b{font-size:.9rem}.cfs-home-trend-positions section small{border:1px solid currentColor;border-radius:999px;font-size:.54rem;padding:6px 9px}.cfs-home-trend-panel>a{align-items:center;color:var(--navy);display:flex;font-size:.68rem;font-weight:900;justify-content:space-between;padding:15px 18px;text-decoration:none}.cfs-home-trend-panel>a span{color:var(--red)}
.cfs-home-guided-feature{background:linear-gradient(125deg,#0b3564 0 64%,#061e3d 64%);border:2px solid #fff;border-radius:14px;box-shadow:0 0 0 4px var(--red),0 30px 70px #01081370;color:#fff;margin:72px 4px 4px;overflow:hidden;padding:48px 42px 40px;position:relative}.cfs-home-guided-feature::after{background:linear-gradient(90deg,var(--red) 0 33.333%,#fff 33.333% 66.666%,var(--gold) 66.666%);content:"";height:8px;left:0;position:absolute;right:0;top:0}.cfs-home-guided-feature>p{background:var(--red);border-radius:999px;display:inline-flex;font-size:.65rem;font-weight:900;letter-spacing:.14em;padding:7px 11px}.cfs-home-guided-feature h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1;margin:18px 0}.cfs-home-guided-feature>span{color:#dbe7f3;display:block;max-width:780px}.cfs-home-guided-feature ul{display:flex;flex-wrap:wrap;gap:12px 26px;margin:24px 0;padding:0}.cfs-home-guided-feature li{font-size:.72rem;font-weight:800;list-style:none}.cfs-home-guided-feature li::before{color:var(--gold);content:"✓";margin-right:7px}.cfs-home-guided-feature>a{background:var(--red);border:2px solid #fff;border-radius:7px;color:#fff;display:inline-flex;font-size:.78rem;font-weight:900;padding:14px 19px;text-decoration:none}
.cfs-home-church{align-items:center;background:#fff;color:var(--navy);display:grid;gap:70px;grid-template-columns:minmax(0,1fr) 260px;padding:82px max(24px,calc((100vw - 1180px)/2))}.cfs-home-church>div{max-width:800px}.cfs-home-church h2{font-size:clamp(2.5rem,4.4vw,4.2rem);letter-spacing:-.055em;line-height:.96;margin-bottom:24px}.cfs-home-church p{color:#566476;line-height:1.7}.cfs-home-church a{color:var(--red);font-weight:900}.cfs-home-church>span{color:var(--gold);font-size:15rem;line-height:.7;text-align:center}
.cfs-home-donation{background:linear-gradient(122deg,#fff 0 67%,#edf3f8 67%);border-bottom:1px solid #c9d3df;color:var(--navy);display:grid;gap:70px;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);overflow:hidden;padding:82px max(24px,calc((100vw - 1180px)/2));position:relative}.cfs-home-donation::after{background:linear-gradient(90deg,var(--red) 0 33.333%,#fff 33.333% 66.666%,var(--navy) 66.666%);content:"";height:8px;left:0;position:absolute;right:0;top:0}.cfs-home-donation>div{max-width:720px}.cfs-home-donation .cfs-home-eyebrow{color:var(--red);margin-bottom:10px}.cfs-home-donation h2{font-size:clamp(2.5rem,4.4vw,4.2rem);letter-spacing:-.055em;line-height:.96;margin-bottom:24px}.cfs-home-donation>div>p:last-of-type{color:#566476;font-size:1rem;line-height:1.7}.cfs-home-donation ul{display:grid;gap:12px;margin:26px 0 0;padding:0}.cfs-home-donation li{align-items:start;display:grid;font-size:.73rem;font-weight:800;gap:9px;grid-template-columns:20px minmax(0,1fr);list-style:none}.cfs-home-donation li::before{align-items:center;background:var(--red);border-radius:50%;color:#fff;content:"★";display:inline-flex;font-size:.52rem;height:18px;justify-content:center;width:18px}.cfs-home-donation aside{align-self:center;background:linear-gradient(145deg,var(--navy),#061e3d);border:1px solid #0b3564;border-top:8px solid var(--red);border-radius:12px;box-shadow:0 24px 55px #071f3f32;color:#fff;padding:34px}.cfs-home-donation aside>span{color:var(--gold);font-size:.58rem;font-weight:900;letter-spacing:.13em}.cfs-home-donation aside h3{color:#fff;font-size:2rem;letter-spacing:-.04em;line-height:1.05;margin:14px 0 25px}.cfs-home-donation aside a{align-items:center;background:var(--red);border:2px solid #fff;border-radius:6px;color:#fff;display:flex;font-size:.85rem;font-weight:900;justify-content:space-between;min-height:54px;padding:14px 18px;text-decoration:none}.cfs-home-donation aside small{color:#dbe7f3;display:block;font-size:.6rem;line-height:1.45;margin-top:14px}
.cfs-home-update{align-items:center;background:var(--navy);border-top:1px solid #ffffff24;color:#fff;display:flex;gap:40px;justify-content:space-between;padding:48px max(24px,calc((100vw - 1180px)/2))}.cfs-home-update .cfs-home-eyebrow{color:var(--gold);margin-bottom:6px}.cfs-home-update h2{color:#fff;font-size:clamp(1.45rem,2.15vw,2rem);margin:0}.cfs-home-update>div>p:last-child{color:#c8d5e3;font-size:.76rem;line-height:1.5;margin:8px 0 0;max-width:760px}.cfs-home-update>a{background:var(--red);border-radius:7px;color:#fff;flex:0 0 auto;font-size:.78rem;font-weight:900;padding:14px 18px;text-decoration:none}
@media(max-width:980px){.cfs-home-hero{grid-template-columns:1fr}.cfs-home-map-card{margin:auto;max-width:720px;width:100%}.cfs-home-proof{grid-template-columns:1fr}.cfs-home-proof article+article{border-left:0;border-top:1px solid var(--line)}.cfs-home-product-story{gap:45px;grid-template-columns:1fr}.cfs-home-product-copy{max-width:820px}.cfs-home-product-visual{min-height:auto}.cfs-home-sheet-card{max-width:430px}.cfs-home-truth{grid-template-columns:1fr}.cfs-home-truth figure{min-height:360px}.cfs-home-trending-layout{grid-template-columns:1fr}.cfs-home-trending-feed{border-bottom:1px solid var(--line);border-right:0;max-height:500px}.cfs-home-church{grid-template-columns:1fr}.cfs-home-church>span{display:none}.cfs-home-donation{grid-template-columns:1fr}}
@media(max-width:680px){.cfs-home-hero{gap:30px;padding:48px 18px 82px}.cfs-home-hero::before{font-size:18rem;right:-65px;top:15px}.cfs-home-hero-copy h1{font-size:clamp(3rem,14vw,4.15rem)}.cfs-home-questionnaire-cta{max-width:none;width:100%}.cfs-home-map-card{padding:16px;transform:none}.cfs-home-map-head h2{font-size:1.45rem}.cfs-home-map-pin{font-size:.46rem;height:24px;width:24px}.cfs-home-map-foot{align-items:flex-start;flex-direction:column}.cfs-home-proof{margin-top:-30px;width:calc(100% - 28px)}.cfs-home-proof article{grid-template-columns:45px minmax(0,1fr);padding:19px}.cfs-home-proof-icon{height:42px;width:42px}.cfs-home-live{padding:92px 18px 58px}.cfs-home-product-story{gap:24px}.cfs-home-product-copy>h2{font-size:3rem}.cfs-home-product-copy>.cfs-comparison .cfs-comparison-controls{grid-template-columns:1fr}.cfs-home-product-visual{padding:42px 4px 10px}.cfs-home-product-visual>span{right:0;top:4px}.cfs-home-sheet-card{max-width:360px}.cfs-home-steps>div{grid-template-columns:1fr}.cfs-homepage .cfs-race-grid{grid-template-columns:1fr}.cfs-homepage .cfs-race-card{grid-template-columns:42% 58%;min-height:220px}.cfs-homepage .cfs-race-portraits i{height:220px}.cfs-homepage .cfs-race-copy{padding:18px}.cfs-homepage .cfs-race-copy strong{font-size:1.25rem}.cfs-home-truth>div{padding:28px 22px}.cfs-home-truth figure{min-height:270px}.cfs-home-trending{margin-top:58px}.cfs-home-trending>header{padding:28px 22px}.cfs-home-trending>header h3{font-size:2.45rem}.cfs-home-trending-feed{max-height:440px}.cfs-home-trend-panels{padding:12px}.cfs-home-trend-candidates section>div{height:135px}.cfs-home-trend-positions{grid-template-columns:minmax(0,1fr) repeat(2,68px)}.cfs-home-trend-positions>div{padding:12px}.cfs-home-trend-positions>section{font-size:.6rem;padding:8px}.cfs-home-guided-feature{padding:40px 22px 28px}.cfs-home-guided-feature ul{align-items:flex-start;flex-direction:column}.cfs-home-church,.cfs-home-donation{padding:58px 20px}.cfs-home-update{align-items:flex-start;flex-direction:column;padding:38px 20px}.cfs-home-update>a{width:100%}}

/* Exact homepage structure approved in the reference build. */
.cfs-home-steps>header{align-items:flex-start;display:block;margin-bottom:24px;max-width:900px}.cfs-home-steps>header .cfs-home-eyebrow{color:var(--gold);margin:0 0 10px}.cfs-home-steps>header h3{color:#fff;font-size:clamp(2rem,3.5vw,3.25rem);letter-spacing:-.045em;line-height:1;margin:0}.cfs-home-steps>div{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.cfs-home-steps article{border-top-color:#fff}.cfs-home-steps article:nth-child(odd){border-top-color:var(--red)}
.cfs-home-guided-feature{align-items:center;display:flex;gap:35px;justify-content:space-between}.cfs-home-guided-feature>div{min-width:0}.cfs-home-guided-feature>div>p{background:var(--red);border-radius:999px;display:inline-flex;font-size:.65rem;font-weight:900;letter-spacing:.14em;margin:0;padding:7px 11px}.cfs-home-guided-feature>div>h2{font-size:clamp(2.2rem,4vw,4rem);letter-spacing:-.05em;line-height:1;margin:18px 0}.cfs-home-guided-feature>div>span{color:#dbe7f3;display:block;max-width:780px}.cfs-home-guided-feature>div>ul{display:flex;flex-wrap:wrap;gap:12px 26px;margin:24px 0 0;padding:0}.cfs-home-guided-feature>div li{font-size:.72rem;font-weight:800;list-style:none}.cfs-home-guided-feature>div li::before{color:var(--gold);content:"✓";margin-right:7px}.cfs-home-guided-feature>a{flex:0 0 auto;min-height:54px}
.cfs-home-footer{align-items:start;background:var(--navy);color:#d9e3ee;display:grid;gap:30px;grid-template-columns:230px minmax(0,1fr) auto;padding:34px max(24px,calc((100vw - 1180px)/2))}.cfs-home-footer img{display:block;width:235px}.cfs-home-footer-disclaimers p{font-size:.7rem;line-height:1.55;margin:0}.cfs-home-footer-disclaimers .cfs-home-footer-note{color:#b9c8d8;font-size:.61rem;margin-top:10px}.cfs-home-footer nav{display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:flex-end}.cfs-home-footer a{color:#fff;font-size:.72rem}.cfs-home-footer nav a{white-space:nowrap}
body:has(.cfs-homepage) .elementor-location-footer{display:none!important}
@media(max-width:980px){.cfs-home-steps>div{grid-template-columns:1fr}.cfs-home-steps article{min-height:auto}.cfs-home-guided-feature{align-items:flex-start;flex-direction:column}.cfs-home-footer{grid-template-columns:1fr}.cfs-home-footer nav{justify-content:flex-start}}
@media(max-width:680px){.cfs-home-steps{margin-top:50px;padding-top:42px}.cfs-home-steps article{grid-template-columns:42px minmax(0,1fr);padding:20px}.cfs-home-steps article>span{height:36px;width:36px}.cfs-home-guided-feature>div>ul{align-items:flex-start;flex-direction:column}.cfs-home-guided-feature>a{width:100%}.cfs-home-footer{padding:30px 16px}.cfs-home-footer nav{align-items:flex-start;flex-direction:column}}

/* 1.3 reference parity: keep the current demo's copy, sections, and guided flow. */
.elementor-location-header .elementor-button,.elementor-location-header .elementor-button-text{color:#fff!important}
.cfs-homepage button,.cfs-homepage select,.cfs-homepage a{font-family:inherit}
.cfs-homepage [hidden]{display:none!important}
.cfs-homepage .cfs-home-questionnaire-cta{border:2px solid #fff;color:#fff!important;cursor:pointer;font:inherit;text-align:left;width:100%}
.cfs-homepage .cfs-election-countdown{color:var(--gold)}
.cfs-homepage .cfs-home-map-link{align-items:center;color:var(--navy);display:flex;font-size:.72rem;font-weight:900;justify-content:space-between;margin-top:12px;text-decoration:none}.cfs-homepage .cfs-home-map-link span{color:var(--red);font-size:1rem}
.cfs-homepage .cfs-home-product-copy>h2 strong{color:var(--gold)}
.cfs-homepage .cfs-comparison-controls button,.cfs-homepage .cfs-result-actions a,.cfs-homepage .cfs-home-guided-feature>button,.cfs-homepage .cfs-home-church>a,.cfs-homepage .cfs-home-donation aside a,.cfs-homepage .cfs-home-update>a,.cfs-homepage .cfs-quiz-primary,.cfs-homepage .cfs-quiz-results-actions>a{color:#fff!important}
.cfs-homepage .cfs-comparison-controls button{cursor:pointer}.cfs-homepage .cfs-comparison-controls button:disabled{background:#cbd2db;color:#fff!important;cursor:default}

.cfs-home-steps>header .cfs-home-eyebrow{display:none}.cfs-home-steps>div{grid-template-columns:repeat(2,minmax(0,1fr))}.cfs-home-steps article{border-top-color:var(--gold)}.cfs-home-steps article:nth-child(odd){border-top-color:var(--red)}.cfs-home-steps article:nth-child(even){border-top-color:#fff}

.cfs-homepage .cfs-directory{margin-top:58px}.cfs-homepage .cfs-directory .cfs-section-heading{align-items:end;background:none;border:0;border-radius:0;display:grid;gap:28px;grid-template-columns:150px minmax(280px,.9fr) minmax(320px,1.1fr);justify-content:stretch;margin:0 0 30px;padding:0;text-align:left}.cfs-homepage .cfs-directory .cfs-section-heading>p{color:var(--gold);line-height:1.35}.cfs-homepage .cfs-directory .cfs-section-heading>h2{color:#fff;font-size:clamp(2.7rem,4.8vw,4.6rem);letter-spacing:-.055em;line-height:.95}.cfs-homepage .cfs-directory .cfs-section-heading>span{color:#dbe6f1;font-size:.95rem;line-height:1.55}
.cfs-homepage .cfs-race-card{grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);min-height:220px}.cfs-homepage .cfs-race-portraits{background-position:center;background-size:cover;min-height:220px}.cfs-homepage .cfs-race-portraits i{height:220px;position:relative}.cfs-homepage .cfs-race-portraits i+ i{border-left:3px solid #fff}.cfs-homepage .cfs-race-portraits img{height:100%;margin:0;object-fit:cover;object-position:center 18%;width:100%}.cfs-homepage .cfs-race-portraits [data-candidate="rick-jackson"] img{object-position:center 8%}.cfs-homepage .cfs-race-portraits [data-candidate="mike-collins"] img,.cfs-homepage .cfs-race-portraits [data-candidate="michael-whatley"] img{object-position:center 10%}.cfs-homepage .cfs-race-copy{padding:25px}.cfs-homepage .cfs-race-copy strong{font-size:1.55rem}.cfs-homepage .cfs-race-copy em{font-size:.7rem}.cfs-homepage .cfs-race-copy>b{font-size:.7rem}

.cfs-home-truth{margin-top:58px}.cfs-home-trending{margin-top:76px}.cfs-home-trend-candidates section>div{background:linear-gradient(145deg,#e9eef4,#cfd9e4);position:relative}.cfs-home-trend-candidates section.republican>div{background:linear-gradient(145deg,#a50f20,var(--red))}.cfs-home-trend-candidates section.democratic>div{background:linear-gradient(145deg,#061e3d,var(--navy))}.cfs-home-trend-candidates img{height:100%;inset:0;object-fit:cover;object-position:center 18%;position:absolute;width:100%}.cfs-home-trend-candidates [data-candidate="rick-jackson"] img{object-position:center 8%}.cfs-home-trend-candidates [data-candidate="mike-collins"] img,.cfs-home-trend-candidates [data-candidate="michael-whatley"] img{object-position:center 10%}

.cfs-home-guided-feature>button{background:var(--red);border:2px solid #fff;border-radius:7px;cursor:pointer;flex:0 0 auto;font-size:.78rem;font-weight:900;min-height:54px;padding:14px 19px}
.cfs-home-church{align-items:center;background:linear-gradient(125deg,var(--gold),#e2c985);color:var(--navy);display:grid;gap:70px;grid-template-columns:minmax(0,1fr) auto;padding:82px max(24px,calc((100vw - 1180px)/2))}.cfs-home-church>div{max-width:850px}.cfs-home-church h2{font-size:clamp(2rem,3.3vw,3.35rem);letter-spacing:-.05em;line-height:1;margin:0 0 22px}.cfs-home-church p{color:#2d3d50;line-height:1.65;margin:0}.cfs-home-church p+p{margin-top:12px}.cfs-home-church>a{align-items:center;background:var(--navy);border-radius:7px;display:flex;font-size:.78rem;font-weight:900;justify-content:space-between;min-width:315px;padding:16px 19px;text-decoration:none}.cfs-home-update>div>p:last-child{color:#c8d5e3;font-size:.76rem;line-height:1.5;margin:8px 0 0;max-width:760px}

/* The questionnaire uses the same modal interaction and result comparison as the demo. */
.cfs-quiz-dialog{background:#fff;border:0;border-radius:15px;box-shadow:0 30px 100px #061d3a66;color:var(--ink);max-height:calc(100dvh - 28px);padding:0;width:min(760px,calc(100vw - 28px))}.cfs-quiz-dialog::backdrop{backdrop-filter:blur(4px);background:#071f3fc2}.cfs-quiz-dialog.cfs-quiz-results{width:min(1180px,calc(100vw - 24px))}.cfs-quiz-shell{max-width:100%;min-width:0;padding:30px 36px}.cfs-quiz-header{align-items:center;display:flex;gap:20px;justify-content:space-between}.cfs-quiz-header img{width:210px}.cfs-quiz-header button{align-items:center;background:#eff2f5;border:0;border-radius:50%;color:var(--navy);cursor:pointer;display:flex;font-size:1.7rem;height:46px;justify-content:center;line-height:1;width:46px}.cfs-quiz-meta{color:var(--muted);display:flex;font-size:.7rem;font-weight:900;gap:16px;justify-content:space-between;letter-spacing:.1em;margin-top:30px}.cfs-quiz-progress{background:#e8ecf1;border-radius:8px;height:6px;margin:11px 0 32px;overflow:hidden}.cfs-quiz-progress i{background:var(--gold);display:block;height:100%;transition:width .25s ease}.cfs-quiz-stage .topic{color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.12em;margin:0 0 10px}.cfs-quiz-stage h2{color:var(--ink);font-size:clamp(1.85rem,3vw,2.65rem);letter-spacing:-.04em;line-height:1.08;margin:0 0 14px}.cfs-quiz-stage>p:not(.topic):not(.cfs-quiz-privacy){color:var(--muted);line-height:1.55}.cfs-quiz-stage label{display:block;font-size:.85rem;font-weight:800;margin-top:24px}.cfs-quiz-stage select{background:#fff;border:1px solid #9eacbb;border-radius:7px;color:var(--navy);display:block;font-size:1rem;font-weight:800;margin-top:8px;min-height:58px;padding:12px 14px;width:100%}.cfs-quiz-stage select.needs-value{border:2px solid var(--red);box-shadow:0 0 0 3px #d7193218}.cfs-quiz-primary{background:var(--red);border:0;border-radius:7px;cursor:pointer;font-size:.88rem;font-weight:900;margin-top:22px;min-height:58px;padding:14px 18px;width:100%}.cfs-quiz-races{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:22px}.cfs-quiz-race{align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--navy);cursor:pointer;display:flex;font-size:.82rem;font-weight:800;gap:15px;justify-content:space-between;min-height:58px;padding:14px 16px;text-align:left}.cfs-quiz-race:hover{background:#f3f6f9;border-color:var(--navy)}.cfs-quiz-race b{color:var(--red)}.cfs-quiz-not-ready{background:#fff7df;border-left:5px solid var(--gold);padding:18px}.cfs-quiz-answers{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:28px 0 15px}.cfs-quiz-answers button{background:#fff;border:1px solid var(--line);border-radius:7px;color:var(--navy);cursor:pointer;min-height:74px;padding:13px}.cfs-quiz-answers button:hover{background:#f3f6f9;border-color:var(--red)}.cfs-quiz-answers b,.cfs-quiz-answers span{display:block}.cfs-quiz-answers b{font-size:.9rem}.cfs-quiz-answers span{color:var(--muted);font-size:.68rem;line-height:1.35;margin-top:5px}.cfs-quiz-skip{background:none;border:0;color:var(--navy);cursor:pointer;display:block;margin:auto;text-decoration:underline;text-underline-offset:4px}.cfs-quiz-privacy{color:var(--muted);font-size:.72rem;margin:20px 0 0;text-align:center}.cfs-quiz-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;margin-top:28px;padding-top:17px}.cfs-quiz-footer button{background:none;border:0;color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:4px}.cfs-quiz-footer span{color:var(--muted);font-size:.7rem;max-width:370px;text-align:right}
.cfs-quiz-score-grid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px}.cfs-quiz-score-grid article{background:#fff;border:2px solid var(--line);border-radius:9px;display:flex;flex-direction:column;min-height:170px;padding:28px;position:relative}.cfs-quiz-score-grid article.top{border-color:var(--gold);box-shadow:inset 0 6px 0 var(--gold)}.cfs-quiz-score-grid em{background:var(--navy);border-radius:999px;color:#fff;font-size:.52rem;font-style:normal;font-weight:900;padding:6px 9px;position:absolute;right:14px;top:14px}.cfs-quiz-score-grid strong{color:var(--navy);font-size:1.05rem;max-width:65%;text-transform:uppercase}.cfs-quiz-score-grid b{color:var(--ink);font-size:2.2rem;margin-top:auto}.cfs-quiz-score-grid small{color:var(--muted);font-size:.82rem;margin-top:5px}.cfs-quiz-comparison-list{display:grid;gap:12px;margin-top:22px}.cfs-quiz-result-issue{background:#f5f7fa;border:1px solid var(--line);border-radius:8px;display:grid;gap:18px;grid-template-columns:minmax(155px,.8fr) minmax(0,2fr);padding:17px}.cfs-quiz-result-heading strong,.cfs-quiz-result-heading small{display:block}.cfs-quiz-result-heading strong{color:var(--navy);font-size:.88rem}.cfs-quiz-result-heading small{color:var(--muted);font-size:.72rem;margin-top:5px}.cfs-quiz-result-issue ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.cfs-quiz-result-issue li{align-items:center;background:#fff;border:1px solid #dde3ea;border-radius:6px;display:grid;font-size:.78rem;gap:10px;grid-template-columns:minmax(130px,.75fr) minmax(0,1.25fr);min-height:44px;padding:9px 11px}.cfs-quiz-result-issue li.same{background:#fffaf0;border:2px solid var(--gold)}.cfs-quiz-result-issue li.different{background:#fff3f5;border-color:#e4a2ac;box-shadow:inset 4px 0 0 var(--red)}.cfs-quiz-result-issue li b{color:var(--navy);font-size:.72rem;text-transform:uppercase}.cfs-quiz-result-issue li span{color:#4e5967}.cfs-quiz-results-actions{display:flex;gap:12px;margin-top:24px}.cfs-quiz-results-actions a,.cfs-quiz-results-actions button{border-radius:7px;font-size:.85rem;font-weight:900;min-height:54px;padding:14px 18px}.cfs-quiz-results-actions a{align-items:center;background:var(--red);display:flex;text-decoration:none}.cfs-quiz-results-actions button{background:#fff;border:2px solid var(--navy);color:var(--navy);cursor:pointer}

/* The detailed questionnaire result continues into the complete fact sheet. */
.cfs-quiz-full-sheet{border-top:1px solid var(--line);display:grid;gap:14px;margin-top:34px;padding-top:28px}.cfs-quiz-sheet-head{background:var(--navy);border-radius:10px;color:#fff;padding:24px}.cfs-quiz-sheet-head p{color:var(--gold);font-size:.62rem;font-weight:900;letter-spacing:.14em;margin:0}.cfs-quiz-sheet-head h3{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.04em;line-height:1;margin:9px 0}.cfs-quiz-sheet-head span{color:#dbe6f1;font-size:.78rem}.cfs-quiz-sheet-issue{border:1px solid var(--line);border-radius:9px;overflow:hidden}.cfs-quiz-sheet-issue-head{align-items:start;background:linear-gradient(115deg,var(--gold),#e3c982);display:grid;gap:14px;grid-template-columns:42px minmax(0,1fr);padding:20px}.cfs-quiz-sheet-issue-head>b{align-items:center;background:var(--navy);border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.62rem;height:38px;justify-content:center;width:38px}.cfs-quiz-sheet-issue-head small{color:var(--red);font-size:.58rem;font-weight:900;letter-spacing:.12em}.cfs-quiz-sheet-issue-head h4{color:var(--navy);font-size:1.15rem;line-height:1.2;margin:5px 0}.cfs-quiz-sheet-issue-head p{color:#334357;font-size:.75rem;line-height:1.5;margin:0}.cfs-quiz-sheet-issue-head em{background:#fff;border-radius:999px;color:var(--navy);display:inline-block;font-size:.6rem;font-style:normal;font-weight:900;margin-top:10px;padding:5px 8px}.cfs-quiz-sheet-positions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cfs-quiz-sheet-positions>section{background:#f5f8fb;border-left:5px solid var(--navy);min-width:0;padding:18px}.cfs-quiz-sheet-positions>section+section{border-left-color:var(--red)}.cfs-quiz-sheet-positions>section.same{background:#fff9e8;box-shadow:inset 0 0 0 3px var(--gold)}.cfs-quiz-sheet-positions>section.different{background:#fff1f3}.cfs-quiz-sheet-positions small,.cfs-quiz-sheet-positions strong,.cfs-quiz-sheet-positions em{display:block}.cfs-quiz-sheet-positions small{color:var(--muted);font-size:.62rem;font-weight:900;text-transform:uppercase}.cfs-quiz-sheet-positions strong{color:var(--navy);font-size:1rem;margin-top:5px}.cfs-quiz-sheet-positions em{color:var(--red);font-size:.62rem;font-style:normal;font-weight:900;margin-top:6px}.cfs-quiz-sheet-positions section.same em{color:#7d5c13}.cfs-quiz-sheet-positions details{margin-top:12px}.cfs-quiz-sheet-positions summary{color:var(--navy);cursor:pointer;font-size:.66rem;font-weight:900}.cfs-quiz-sheet-positions details article{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.cfs-quiz-sheet-positions details article b,.cfs-quiz-sheet-positions details article a{display:block;font-size:.66rem}.cfs-quiz-sheet-positions details article a{color:var(--navy);margin-top:4px}.cfs-quiz-sheet-positions details article p{color:var(--muted);font-size:.68rem;line-height:1.45;margin:7px 0 0}

/* Agree is blue and Disagree is red in the modal comparison, too. */
.cfs-quiz-answers button{border-width:2px}.cfs-quiz-answers button[data-answer="AGREE"]{background:var(--navy);border-color:var(--navy);color:#fff}.cfs-quiz-answers button[data-answer="DISAGREE"]{background:var(--red);border-color:var(--red);color:#fff}.cfs-quiz-answers button[data-answer="AGREE"] span,.cfs-quiz-answers button[data-answer="DISAGREE"] span{color:#fff}.cfs-quiz-answers button:hover{box-shadow:0 0 0 3px #d5b46766}

/* Keep full fact-sheet portraits smaller and consistently framed. */
.cfs-candidate-grid section>div{align-items:flex-end;background:linear-gradient(145deg,#e9eef4,#cfd9e4);display:flex;justify-content:center}.cfs-candidate-grid section.republican>div{background:linear-gradient(145deg,#a50f20,var(--cfs-red))}.cfs-candidate-grid section.democratic>div{background:linear-gradient(145deg,#061e3d,var(--cfs-navy))}.cfs-candidate-grid img{display:block;height:76%;margin:0;object-fit:contain!important;object-position:center bottom!important;width:60%}

@media(max-width:980px){.cfs-homepage .cfs-directory .cfs-section-heading{grid-template-columns:1fr;gap:10px}.cfs-homepage .cfs-directory .cfs-section-heading>h2{font-size:3.2rem}.cfs-home-church{align-items:flex-start;grid-template-columns:1fr}.cfs-home-church>a{min-width:0;width:100%}}
@media(max-width:680px){.cfs-home-steps>div{grid-template-columns:1fr}.cfs-homepage .cfs-race-card{grid-template-columns:1fr;min-height:0}.cfs-homepage .cfs-race-portraits,.cfs-homepage .cfs-race-portraits i{height:190px;min-height:190px}.cfs-homepage .cfs-race-portraits img{width:100%}.cfs-homepage .cfs-directory .cfs-section-heading>h2{font-size:2.75rem}.cfs-home-church{padding:58px 20px}.cfs-home-guided-feature>button{width:100%}.cfs-quiz-shell{padding:23px 20px}.cfs-quiz-races,.cfs-quiz-answers,.cfs-quiz-score-grid,.cfs-quiz-sheet-positions{grid-template-columns:1fr}.cfs-quiz-result-issue,.cfs-quiz-result-issue li{grid-template-columns:1fr}.cfs-quiz-results-actions{align-items:stretch;flex-direction:column}.cfs-quiz-results-actions a,.cfs-quiz-results-actions button{justify-content:center;width:100%}.cfs-candidate-grid img{height:78%;width:66%}}

/* 1.5 interaction and visual parity pass. */
.cfs-home-map-pin.is-live{cursor:pointer;height:34px;width:34px}
.cfs-home-map-pin.is-planned{background:#758395;border-color:#d6dde6;color:#fff;opacity:.66;pointer-events:none}
.cfs-home-map-pin.is-planned:hover{box-shadow:0 2px 7px #061e3d70;transform:translate(-50%,-50%)}

@media(min-width:981px){
  .cfs-homepage .cfs-directory .cfs-section-heading{grid-template-columns:150px max-content minmax(340px,1fr);gap:42px}
  .cfs-homepage .cfs-directory .cfs-section-heading>h2{font-size:clamp(3rem,4.1vw,4.25rem);white-space:nowrap}
}

.cfs-home-trend-candidates section>div{align-items:flex-end;display:flex;justify-content:center}
.cfs-home-trend-candidates img{height:92%;inset:auto;max-width:86%;object-fit:contain!important;object-position:center bottom!important;position:static;width:86%}
.cfs-home-trend-candidates [data-candidate="james-talarico"] img{height:100%;max-width:78%;width:78%}
.cfs-home-trend-positions{align-items:stretch}
.cfs-home-trend-sources{width:100%}
.cfs-home-trend-sources summary{border:1px solid currentColor;border-radius:999px;cursor:pointer;font-size:.54rem;font-weight:900;list-style:none;padding:7px 9px}
.cfs-home-trend-sources summary::-webkit-details-marker{display:none}
.cfs-home-trend-sources>div{color:var(--ink);padding-top:8px;text-align:left}
.cfs-home-trend-sources article{background:#f5f7fa;border:1px solid var(--line);border-radius:6px;margin-top:6px;padding:8px}
.cfs-home-trend-sources article>b,.cfs-home-trend-sources article>a{display:block;font-size:.55rem;line-height:1.35}
.cfs-home-trend-sources article>a{color:var(--navy);margin-top:4px;text-decoration:underline}
.cfs-home-trend-sources article p{color:var(--muted);font-size:.54rem;line-height:1.4;margin:6px 0 0}

.cfs-quiz-race{align-items:center}
.cfs-quiz-race-copy,.cfs-quiz-candidate-names,.cfs-quiz-candidate-names>span{display:block}
.cfs-quiz-race-copy>strong{color:var(--navy);display:block;margin-bottom:7px}
.cfs-quiz-candidate-names>span{color:var(--muted);font-size:.72rem;line-height:1.45}
.cfs-inline-race{display:grid;gap:7px;grid-template-columns:minmax(0,1fr) auto}
.cfs-inline-race>strong,.cfs-inline-race>.cfs-quiz-candidate-names{grid-column:1}
.cfs-inline-race>strong,.cfs-inline-race .cfs-quiz-candidate-names>span{color:#fff}
.cfs-inline-race>b{align-self:center;grid-column:2;grid-row:1 / span 2}

.cfs-answer-options button{min-height:112px}
.cfs-answer-options button b,.cfs-answer-options button span{display:block}
.cfs-answer-options button b{font-size:1rem}
.cfs-answer-options button span{font-size:.7rem;font-weight:500;line-height:1.4;margin-top:9px}
.cfs-answer-options button:nth-child(1){background:var(--navy);border-color:var(--navy);color:#fff}
.cfs-answer-options button:nth-child(1) span,.cfs-answer-options button:nth-child(3) span{color:#fff}
.cfs-answer-options button:nth-child(2){background:#fff;border-color:var(--line);color:var(--navy)}
.cfs-answer-options button:nth-child(2) span{color:var(--muted)}
.cfs-answer-options button:nth-child(3){background:var(--red);border-color:var(--red);color:#fff}
.cfs-inline-skip{background:transparent;border:0;color:var(--navy);cursor:pointer;display:block;font:inherit;font-weight:800;margin:18px auto 0;text-decoration:underline;text-underline-offset:5px}
.cfs-inline-privacy{color:var(--muted);font-size:.7rem;margin:10px 0 0;text-align:center}

.cfs-quiz-score-grid article,.cfs-score-grid article{border-top:8px solid var(--navy)}
.cfs-quiz-score-grid article.republican,.cfs-score-grid article.republican{border-top-color:var(--red)}
.cfs-quiz-score-person,.cfs-inline-score-person{align-items:center;display:flex;gap:14px;margin-bottom:16px;min-width:0}
.cfs-quiz-score-person img,.cfs-inline-score-person img{background:#e9eef4;border-radius:8px;height:82px;object-fit:cover;object-position:center 18%;width:70px}
.cfs-quiz-score-person strong,.cfs-inline-score-person strong{max-width:none}
.cfs-quiz-results-actions button[data-cfs-quiz-share]{background:var(--navy);border-color:var(--navy);color:#fff}

@media(max-width:680px){
  .cfs-home-map-pin.is-live{height:28px;width:28px}
  .cfs-home-trend-candidates img{height:94%;max-width:92%;width:92%}
  .cfs-answer-options button{min-height:92px}
}

/* v1.6.7 homepage content order, compact hero comparison, race picker, and
   consistently framed guide portraits. */
.cfs-home-hero-copy h1 strong{color:var(--gold)}
.cfs-home-hero-copy>.cfs-comparison{
  border:3px solid var(--gold);
  box-shadow:0 18px 46px #01081366;
  margin-top:28px;
  max-width:670px;
}
.cfs-home-hero-copy>.cfs-comparison .cfs-comparison-top{padding:14px 18px}
.cfs-home-hero-copy>.cfs-comparison .cfs-comparison-stage{padding:24px}
.cfs-home-hero-copy>.cfs-comparison .cfs-comparison-stage h2{font-size:clamp(1.45rem,2.3vw,2rem)}
.cfs-home-hero-copy>.cfs-comparison .cfs-comparison-stage>span{font-size:.82rem}
.cfs-home-hero-copy>.cfs-comparison .cfs-comparison-controls{margin-top:20px}
.cfs-home-product-copy>.cfs-home-questionnaire-cta{cursor:pointer;margin-top:30px}
.cfs-home-product-note{color:#cfdae6;display:block;font-size:.68rem;margin-top:14px}
.cfs-home-product-visual{min-height:560px}

.cfs-home-trend-picker{
  align-items:end;
  background:#fff;
  border-top:1px solid var(--line);
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  padding:16px 18px;
}
.cfs-home-trend-picker label{color:var(--navy);display:block;font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cfs-home-trend-picker select{
  background:#fff;
  border:1px solid #9fabb8;
  border-radius:6px;
  color:var(--navy);
  display:block;
  font:inherit;
  font-size:.72rem;
  font-weight:800;
  height:44px;
  margin-top:5px;
  padding:0 10px;
  text-transform:none;
  width:100%;
}
.cfs-home-trend-picker button{
  background:var(--navy);
  border:0;
  border-radius:6px;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:.68rem;
  font-weight:900;
  height:44px;
  padding:0 15px;
  white-space:nowrap;
}
.cfs-home-trend-picker button span{color:var(--gold);margin-left:5px}
.cfs-home-trend-picker button:disabled{background:#cbd2db;cursor:default}

.cfs-homepage .cfs-race-portraits img,
.cfs-homepage .cfs-home-trend-candidates img{
  object-fit:cover!important;
  object-position:center 16%!important;
}
.cfs-homepage [data-candidate="james-talarico"] img{object-position:center 22%!important}
.cfs-homepage [data-candidate="amy-acton"] img{object-position:center 18%!important}

@media(max-width:980px){
  .cfs-home-hero-copy>.cfs-comparison{max-width:none}
  .cfs-home-trend-picker{grid-template-columns:1fr 1fr}
  .cfs-home-trend-picker button{grid-column:1 / -1}
}

@media(max-width:680px){
  .cfs-home-hero-copy>.cfs-comparison .cfs-comparison-controls{grid-template-columns:1fr}
  .cfs-home-product-visual{min-height:0}
  .cfs-home-trend-picker{grid-template-columns:1fr}
  .cfs-home-trend-picker button{grid-column:auto;width:100%}
}

/* v1.5.3 QA pass: balanced directory heading and equal portrait canvases. */
@media(min-width:981px){
  .cfs-homepage .cfs-directory .cfs-section-heading{
    align-items:center;
    display:grid;
    gap:64px;
    grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
    padding:0 34px;
  }
  .cfs-homepage .cfs-directory .cfs-section-heading>h2{
    font-size:clamp(3rem,4vw,4rem);
    line-height:.96;
    max-width:620px;
    white-space:normal;
  }
  .cfs-homepage .cfs-directory .cfs-section-heading>span{
    max-width:520px;
    padding:0;
  }
}

/* v1.6.0 questionnaire mobile pass. The winner label is a dedicated strip,
   score portraits share one square crop, and question/result typography stays
   inside the phone viewport. */
@media(max-width:680px){
  .cfs-quiz-score-grid article{
    display:flex!important;
    flex-direction:column;
    overflow:hidden;
  }
  .cfs-quiz-score-grid em{
    align-self:stretch;
    border-radius:0;
    display:block;
    margin:0;
    max-width:none;
    order:-1;
    padding:8px 14px;
    position:static!important;
    text-align:center;
    width:100%;
  }
  .cfs-quiz-score-person{
    align-items:center;
    gap:14px;
    min-height:0;
    width:100%;
  }
  .cfs-quiz-score-person img{
    align-self:auto;
    aspect-ratio:1;
    flex:0 0 112px;
    height:112px!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:112px!important;
  }
  .cfs-quiz-score-copy{padding:16px 12px 16px 0}
  .cfs-quiz-score-copy small{font-size:.55rem}
  .cfs-quiz-score-copy strong{font-size:.92rem;line-height:1.15}
  .cfs-quiz-score-copy span{font-size:.7rem}
  .cfs-quiz-score-metrics{padding:15px}
  .cfs-quiz-stage h2{font-size:clamp(1.55rem,7vw,2rem)!important;line-height:1.08}
  .cfs-quiz-stage>p:not(.topic):not(.cfs-quiz-privacy){font-size:.88rem}

  .cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
    align-items:stretch!important;
    aspect-ratio:4 / 5;
    height:auto!important;
    padding:0!important;
  }
  .cfs-quiz-fact-sheet .cfs-candidate-grid img{
    height:100%!important;
    margin:0!important;
    max-height:none!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:100%!important;
  }
  .cfs-quiz-fact-sheet .cfs-issue-copy h2{
    font-size:clamp(.78rem,3.6vw,.96rem)!important;
    letter-spacing:0!important;
    line-height:1.25!important;
  }
}

.cfs-home-trend-candidates section>div{
  align-items:stretch;
  display:flex;
  height:300px;
  justify-content:stretch;
}
.cfs-home-trend-candidates img,
.cfs-home-trend-candidates [data-candidate="james-talarico"] img{
  height:100%!important;
  inset:auto;
  margin:0;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 18%!important;
  position:static;
  width:100%!important;
}
.cfs-home-trend-candidates [data-candidate="rick-jackson"] img{object-position:center 8%!important}
.cfs-home-trend-candidates [data-candidate="mike-collins"] img,
.cfs-home-trend-candidates [data-candidate="michael-whatley"] img{object-position:center 10%!important}

/* Results continue into the compact fact-sheet layout shown in the reference. */
.cfs-quiz-download-strip{
  align-items:center;
  background:var(--navy);
  border-radius:8px;
  color:#fff;
  display:grid;
  gap:12px;
  grid-template-columns:minmax(0,1fr) auto auto;
  margin-top:28px;
  padding:22px 24px;
}
.cfs-quiz-download-strip small,
.cfs-quiz-download-strip strong,
.cfs-quiz-download-strip span{display:block}
.cfs-quiz-download-strip small{color:var(--gold);font-size:.56rem;font-weight:900;letter-spacing:.14em}
.cfs-quiz-download-strip strong{font-size:.9rem;margin-top:5px}
.cfs-quiz-download-strip span{color:#dbe6f1;font-size:.64rem;line-height:1.45;margin-top:4px;max-width:620px}
.cfs-quiz-download-strip a{background:#fff;border-radius:6px;color:var(--navy)!important;font-size:.68rem;font-weight:900;padding:13px 15px;text-decoration:none;white-space:nowrap}
.cfs-quiz-download-strip a[data-cfs-quiz-download]{background:var(--gold)}

.cfs-quiz-full-sheet{gap:0}
.cfs-quiz-sheet-head{border-radius:8px 8px 0 0}
.cfs-quiz-sheet-candidates{
  background:#fff;
  border:1px solid var(--line);
  border-top:0;
  display:grid;
  grid-template-columns:minmax(300px,1fr) minmax(0,1fr);
}
.cfs-quiz-sheet-candidates>div:first-child{align-self:center;padding:30px}
.cfs-quiz-sheet-candidates>div:first-child small{color:var(--red);font-size:.6rem;font-weight:900;letter-spacing:.12em}
.cfs-quiz-sheet-candidates>div:first-child strong{color:var(--ink);display:block;font-size:1.5rem;margin-top:9px}
.cfs-quiz-sheet-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.cfs-quiz-sheet-candidate-grid section{min-width:0}
.cfs-quiz-sheet-candidate-grid section+section{border-left:3px solid #fff}
.cfs-quiz-sheet-candidate-grid section>div{background:#e5eaf0;height:190px;overflow:hidden}
.cfs-quiz-sheet-candidate-grid img{height:100%;object-fit:cover;object-position:center 18%;width:100%}
.cfs-quiz-sheet-candidate-grid section>p{align-items:center;background:var(--navy);color:#fff;display:flex;justify-content:space-between;margin:0;min-height:48px;padding:10px 13px}
.cfs-quiz-sheet-candidate-grid section.republican>p{background:var(--red)}
.cfs-quiz-sheet-candidate-grid section>p strong{font-size:.66rem}
.cfs-quiz-sheet-candidate-grid section>p b{font-size:1.1rem}

.cfs-quiz-sheet-issue{
  border-color:#1f2a36;
  border-radius:0;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr);
  margin-top:-1px;
}
.cfs-quiz-sheet-issue-head{
  background:#fff;
  gap:12px;
  grid-template-columns:38px minmax(0,1fr);
  padding:16px;
}
.cfs-quiz-sheet-issue-head h4{font-size:.86rem;margin:4px 0}
.cfs-quiz-sheet-issue-head p{font-size:.64rem}
.cfs-quiz-sheet-issue-head em{border:1px solid var(--gold);font-size:.54rem;margin-top:7px}
.cfs-quiz-sheet-positions{border-left:1px solid #1f2a36}
.cfs-quiz-sheet-positions>section{align-items:center;background:#fff;border-left:4px solid var(--navy);display:flex;flex-direction:column;justify-content:center;min-height:130px;padding:14px;text-align:center}
.cfs-quiz-sheet-positions>section+section{border-left-color:var(--red)}
.cfs-quiz-sheet-positions>section.same{background:#fff9e8;box-shadow:inset 0 0 0 2px var(--gold)}
.cfs-quiz-sheet-positions>section.different{background:#fff5f6}
.cfs-quiz-sheet-positions details{width:100%}

@media(max-width:800px){
  .cfs-quiz-download-strip{grid-template-columns:1fr}
  .cfs-quiz-download-strip a{text-align:center}
  .cfs-quiz-sheet-candidates,
  .cfs-quiz-sheet-issue{grid-template-columns:1fr}
  .cfs-quiz-sheet-positions{border-left:0;border-top:1px solid #1f2a36}
}

@media(max-width:680px){
  .cfs-home-trend-candidates section>div{height:180px}
  .cfs-home-trend-candidates img,
  .cfs-home-trend-candidates [data-candidate="james-talarico"] img{max-width:none!important;width:100%!important}
  .cfs-quiz-sheet-candidate-grid section>div{height:150px}
}

/* v1.5.1 visual alignment: reference-sized portraits, balanced state heading,
   and the navy-header questionnaire/results treatment. */
.cfs-candidate-grid section>div{height:300px}
.cfs-candidate-grid img,.cfs-candidate-grid .cfs-candidate-keisha-bottoms img{height:82%!important;max-width:56%!important;width:auto!important}
.cfs-home-trend-candidates section>div{height:360px}
.cfs-home-trend-candidates img{height:100%!important;max-width:62%!important;width:auto!important}
.cfs-home-trend-candidates [data-candidate="james-talarico"] img{height:100%!important;max-width:68%!important;width:auto!important}

@media(min-width:981px){
  .cfs-homepage .cfs-directory .cfs-section-heading{align-items:end;gap:72px;grid-template-columns:minmax(430px,.85fr) minmax(420px,1.15fr);padding-right:48px}
  .cfs-homepage .cfs-directory .cfs-section-heading>h2{color:var(--gold);font-size:clamp(3rem,4.1vw,4.35rem);white-space:nowrap}
  .cfs-homepage .cfs-directory .cfs-section-heading>span{padding-bottom:7px}
}

.cfs-quiz-dialog{background:var(--navy);border-radius:18px;width:min(1000px,calc(100vw - 32px))}
.cfs-quiz-dialog.cfs-quiz-results{width:min(1320px,calc(100vw - 28px))}
.cfs-quiz-shell{padding:0}
.cfs-quiz-header{padding:30px 36px 18px}
.cfs-quiz-header img{width:245px}
.cfs-quiz-header button{background:#fff;font-size:2rem;height:62px;width:62px}
.cfs-quiz-meta{color:#fff;margin:0;padding:8px 36px 0}
.cfs-quiz-progress{background:#ffffff42;margin:12px 36px 24px}
.cfs-quiz-stage{background:#fff;padding:40px 36px}
.cfs-quiz-stage h2{font-size:clamp(2.25rem,4vw,3.5rem)}
.cfs-quiz-stage>p:not(.topic):not(.cfs-quiz-privacy){font-size:1rem}
.cfs-quiz-stage[data-quiz-stage="results"]{border-top:8px solid var(--navy);margin:28px;border-radius:10px;padding:34px 32px}
.cfs-quiz-footer{background:#fff;margin:0;padding:18px 36px}
.cfs-quiz-primary:disabled{background:#e99199;cursor:not-allowed}

.cfs-quiz-score-grid article{display:grid;grid-template-columns:minmax(0,1fr) 150px;min-height:150px;overflow:hidden;padding:0}
.cfs-quiz-score-person{gap:20px;margin:0;min-height:142px}
.cfs-quiz-score-person img{align-self:stretch;border-radius:0;height:142px;object-fit:cover;object-position:center 18%;width:132px}
.cfs-quiz-score-copy{min-width:0;padding:20px 12px 20px 0}
.cfs-quiz-score-copy small,.cfs-quiz-score-copy strong,.cfs-quiz-score-copy span{display:block}
.cfs-quiz-score-copy small{color:var(--muted);font-size:.62rem;font-weight:900;letter-spacing:.08em}
.cfs-quiz-score-copy strong{font-size:1.1rem;margin-top:7px;max-width:none}
.cfs-quiz-score-copy span{color:var(--muted);font-size:.76rem;margin-top:7px}
.cfs-quiz-score-metrics{align-items:center;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;padding:18px;text-align:center}
.cfs-quiz-score-metrics b{font-size:1.65rem;margin:0}
.cfs-quiz-score-metrics small{font-size:.65rem;line-height:1.35;margin-top:6px}
.cfs-quiz-results-key{align-items:center!important;color:var(--muted)!important;display:flex;font-size:.74rem!important;gap:10px;margin:22px 0 0!important}
.cfs-quiz-results-key i{border:3px solid var(--gold);border-radius:4px;display:block;height:15px;width:15px}
.cfs-quiz-result-heading{align-items:center;display:grid;gap:14px;grid-template-columns:48px minmax(0,1fr)}
.cfs-quiz-result-number{align-items:center;background:var(--navy);border:5px solid #f5e7bc;border-radius:50%;color:#fff;display:flex;font-size:.62rem;height:44px;justify-content:center;width:44px}
.cfs-quiz-result-copy strong,.cfs-quiz-result-copy small{display:block}
.cfs-quiz-result-copy strong{color:var(--navy);font-size:.88rem}
.cfs-quiz-result-copy small{color:var(--muted);font-size:.72rem;margin-top:5px}

@media(max-width:680px){
  .cfs-candidate-grid section>div{height:220px}
  .cfs-candidate-grid img,.cfs-candidate-grid .cfs-candidate-keisha-bottoms img{height:84%!important;max-width:72%!important;width:auto!important}
  .cfs-home-trend-candidates section>div{height:155px}
  .cfs-home-trend-candidates img{height:100%!important;max-width:76%!important;width:auto!important}
  .cfs-quiz-header{padding:22px 20px 14px}
  .cfs-quiz-header img{width:190px}
  .cfs-quiz-header button{height:48px;width:48px}
  .cfs-quiz-meta{padding:7px 20px 0}
  .cfs-quiz-progress{margin:10px 20px 18px}
  .cfs-quiz-stage{padding:30px 20px}
  .cfs-quiz-stage[data-quiz-stage="results"]{margin:12px;padding:26px 16px}
  .cfs-quiz-footer{padding:16px 20px}
  .cfs-quiz-score-grid article{grid-template-columns:1fr}
  .cfs-quiz-score-metrics{border-left:0;border-top:1px solid var(--line)}
}

/* v1.5.3 final specificity layer: these rules intentionally follow the legacy
   v1.5.1 overrides so the reference proportions are the ones that ship. */
@media(min-width:981px){
  .cfs-homepage .cfs-directory .cfs-section-heading{
    align-items:center;
    gap:clamp(36px,5vw,86px);
    grid-template-columns:minmax(480px,.9fr) minmax(420px,1.1fr);
    padding:54px 0;
  }
  .cfs-homepage .cfs-directory .cfs-section-heading>h2{
    color:var(--gold);
    font-size:clamp(3.15rem,4.1vw,4.5rem);
    line-height:.96;
    max-width:690px;
    white-space:normal;
  }
  .cfs-homepage .cfs-directory .cfs-section-heading>span{
    max-width:660px;
    padding:0;
  }
}

/* v1.5.4 polish: align the directory heading with the cards and remove the
   exposed navy strip under the Discover image. */
.cfs-home-truth figure{min-height:470px;position:relative}
.cfs-home-truth figure img{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}

@media(max-width:980px){
  .cfs-home-truth figure{min-height:360px}
}

@media(max-width:680px){
  .cfs-homepage .cfs-directory .cfs-section-heading{padding-left:0;padding-right:0}
  .cfs-home-truth figure{min-height:270px}
}

.cfs-home-trend-candidates section>div{
  align-items:stretch;
  display:flex;
  height:300px;
  justify-content:stretch;
}
.cfs-home-trend-candidates img,
.cfs-home-trend-candidates [data-candidate="james-talarico"] img{
  height:100%!important;
  margin:0;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 18%!important;
  width:100%!important;
}
.cfs-home-trend-candidates [data-candidate="rick-jackson"] img{object-position:center 8%!important}
.cfs-home-trend-candidates [data-candidate="mike-collins"] img,
.cfs-home-trend-candidates [data-candidate="michael-whatley"] img{object-position:center 10%!important}

.cfs-fact-sheet .cfs-candidate-grid section>div{
  align-items:stretch;
  display:flex;
  height:300px;
  justify-content:stretch;
}
.cfs-fact-sheet .cfs-candidate-grid img,
.cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img{
  height:100%!important;
  margin:0;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 18%!important;
  width:100%!important;
}

@media(max-width:680px){
  .cfs-home-trend-candidates section>div{height:180px}
  .cfs-fact-sheet .cfs-candidate-grid section>div{height:220px}
}

/* v1.5.5: the questionnaire now proceeds directly from its score summary to
   the same branded fact-sheet component used on state and focused pages. */
.cfs-quiz-full-sheet{
  border-top:1px solid var(--line);
  display:block;
  margin-top:34px;
  padding-top:28px;
}
.cfs-quiz-full-sheet>.cfs-fact-sheet{
  background:#fff;
  margin:0;
  max-width:none;
  padding:0;
  width:100%;
}
.cfs-homepage .cfs-fact-sheet .cfs-candidate-grid section>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
  align-items:flex-end;
  display:flex;
  height:280px;
  justify-content:center;
  overflow:hidden;
  padding:18px 20px 0;
}
.cfs-homepage .cfs-fact-sheet .cfs-candidate-grid img,
.cfs-homepage .cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img,
.cfs-quiz-fact-sheet .cfs-candidate-grid img{
  display:block;
  height:100%!important;
  margin:0 auto;
  max-height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  width:100%!important;
}

@media(max-width:680px){
  .cfs-homepage .cfs-fact-sheet .cfs-candidate-grid section>div,
  .cfs-quiz-fact-sheet .cfs-candidate-grid section>div{height:210px;padding:12px 10px 0}
}

/* v1.5.7 mobile corrections: keep score badges in flow, make portraits share
   one frame, and prevent the evidence columns from colliding. */
@media(max-width:680px){
  .cfs-quiz-score-grid article{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  .cfs-quiz-score-grid em{
    align-self:flex-start;
    margin:14px 16px 0;
    max-width:calc(100% - 32px);
    position:static;
    white-space:normal;
  }
  .cfs-quiz-score-person{min-height:0;width:100%}
  .cfs-quiz-score-person img{flex:0 0 132px;height:142px;width:132px}
  .cfs-quiz-score-copy{padding-right:16px}
  .cfs-quiz-score-metrics{width:100%}

  .cfs-home-trend-candidates section>div{height:220px}
  .cfs-home-trend-candidates img,
  .cfs-home-trend-candidates [data-candidate="james-talarico"] img{
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:100%!important;
  }
  .cfs-home-trend-positions{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
  }
  .cfs-home-trend-positions>div{grid-column:1 / -1;min-height:105px}
  .cfs-home-trend-positions>section{
    border-top:1px solid var(--line);
    min-width:0;
    padding:16px 8px;
  }
  .cfs-home-trend-positions section b{font-size:.82rem;line-height:1.1}
  .cfs-home-trend-positions section summary{
    line-height:1.25;
    max-width:100%;
    overflow-wrap:anywhere;
    padding:7px 6px;
    white-space:normal;
  }

  .cfs-homepage .cfs-fact-sheet .cfs-candidate-grid section>div,
  .cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
    height:clamp(190px,52vw,230px);
    padding:0;
  }
  .cfs-homepage .cfs-fact-sheet .cfs-candidate-grid img,
  .cfs-homepage .cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img,
  .cfs-quiz-fact-sheet .cfs-candidate-grid img{
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:100%!important;
  }
}

/* v1.6.0 final cascade: this block intentionally follows every legacy mobile
   rule so the questionnaire has one predictable phone layout. */
@media(max-width:680px){
  .cfs-quiz-score-grid article{
    display:flex!important;
    flex-direction:column!important;
    min-width:0;
    overflow:hidden;
  }
  .cfs-quiz-score-grid em{
    align-self:stretch!important;
    border-radius:0!important;
    display:block;
    margin:0!important;
    max-width:none!important;
    order:-1;
    padding:8px 14px;
    position:static!important;
    text-align:center;
    white-space:normal;
    width:100%;
  }
  .cfs-quiz-score-person{
    align-items:center;
    gap:14px;
    margin:0;
    min-height:0;
    width:100%;
  }
  .cfs-quiz-score-person img{
    align-self:auto;
    aspect-ratio:1;
    border-radius:0;
    flex:0 0 112px;
    height:112px!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:112px!important;
  }
  .cfs-quiz-score-copy{padding:16px 12px 16px 0}
  .cfs-quiz-score-copy small{font-size:.55rem}
  .cfs-quiz-score-copy strong{font-size:.92rem;line-height:1.15}
  .cfs-quiz-score-copy span{font-size:.7rem}
  .cfs-quiz-score-metrics{padding:15px;width:100%}
  .cfs-quiz-stage h2{font-size:clamp(1.55rem,7vw,2rem)!important;line-height:1.08}
  .cfs-quiz-stage>p:not(.topic):not(.cfs-quiz-privacy){font-size:.88rem}

  .cfs-homepage .cfs-quiz-fact-sheet .cfs-candidate-grid section>div,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
    align-items:stretch!important;
    aspect-ratio:4 / 5;
    height:auto!important;
    padding:0!important;
  }
  .cfs-homepage .cfs-quiz-fact-sheet .cfs-candidate-grid img,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet .cfs-candidate-grid img{
    height:100%!important;
    margin:0!important;
    max-height:none!important;
    max-width:none!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    width:100%!important;
  }
  .cfs-homepage .cfs-quiz-fact-sheet .cfs-issue-copy h2,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet .cfs-issue-copy h2{
    font-size:clamp(.78rem,3.6vw,.96rem)!important;
    letter-spacing:0!important;
    line-height:1.25!important;
  }
}

/* v1.6.3: keep the embedded mobile fact sheet inside the questionnaire's
   content break. Standalone mobile sheets intentionally retain their current
   full-width layout. */
@media(max-width:680px){
  .cfs-quiz-dialog .cfs-quiz-stage[data-quiz-stage="results"]{
    overflow-x:hidden;
  }
  .cfs-quiz-dialog .cfs-quiz-full-sheet,
  .cfs-quiz-dialog .cfs-quiz-full-sheet>.cfs-quiz-fact-sheet{
    box-sizing:border-box;
    display:block;
    max-width:100%!important;
    min-width:0!important;
    width:100%!important;
  }
  .cfs-quiz-dialog .cfs-quiz-fact-sheet>.cfs-fact-brand-hero,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet>.cfs-fact-intro-row,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet>.cfs-issue-table-head,
  .cfs-quiz-dialog .cfs-quiz-fact-sheet>.cfs-issue-list{
    box-sizing:border-box;
    max-width:100%!important;
    min-width:0!important;
    width:100%!important;
  }
}

/* v1.6.7 final cascade. */
.cfs-home-hero-copy h1{font-size:clamp(2.5rem,4.1vw,4rem);line-height:.98}
.cfs-homepage .cfs-race-portraits img,
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-homepage .cfs-home-trend-candidates [data-candidate="james-talarico"] img{
  height:100%!important;
  margin:0!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 16%!important;
  width:100%!important;
}
.cfs-homepage [data-candidate="james-talarico"] img{object-position:center 22%!important}
.cfs-homepage [data-candidate="amy-acton"] img{object-position:center 18%!important}

@media(max-width:980px){
  .cfs-home-product-visual{min-height:auto}
}

@media(max-width:680px){
  .cfs-home-hero-copy h1{font-size:clamp(2.15rem,9vw,3rem)}
}

/* v1.7.0 homepage spacing and official 2026 portrait normalization. */
.cfs-home-map-card{
  align-self:start;
  height:max-content;
}
.cfs-home-product-story{align-items:center}
.cfs-home-product-visual{
  min-height:420px;
  padding-bottom:8px;
  padding-top:8px;
}
.cfs-home-steps{
  margin-top:30px;
  padding-top:38px;
}
.cfs-home-steps>header h3{
  color:#fff;
  font-size:clamp(2rem,3.5vw,3.25rem);
  letter-spacing:-.045em;
  line-height:1;
  margin:0 0 24px;
}
.cfs-homepage .cfs-race-portraits img,
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-fact-sheet .cfs-candidate-grid img,
.cfs-quiz-fact-sheet .cfs-candidate-grid img,
.cfs-quiz-score-person img,
.cfs-inline-score-person img{
  height:100%!important;
  margin:0!important;
  max-height:none!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
  width:100%!important;
}

@media(max-width:980px){
  .cfs-home-product-visual{min-height:0}
  .cfs-home-steps{margin-top:38px}
}

@media(max-width:680px){
  .cfs-home-product-story{gap:18px}
  .cfs-home-product-visual{padding-top:12px}
  .cfs-home-steps{margin-top:28px;padding-top:32px}
}

/* v1.7.1 compact product handoff and square-portrait race cards. */
.cfs-home-live{padding-top:90px}
.cfs-home-product-story{align-items:start}
.cfs-home-product-visual{
  min-height:0;
  padding:0 18px 6px;
}
.cfs-home-sheet-card{max-width:330px}
.cfs-homepage .cfs-race-card{
  grid-template-columns:minmax(280px,1.08fr) minmax(0,.92fr);
  min-height:190px;
}
.cfs-homepage .cfs-race-portraits,
.cfs-homepage .cfs-race-portraits i{
  height:190px;
  min-height:190px;
}

@media(max-width:980px){
  .cfs-home-live{padding-top:76px}
  .cfs-homepage .cfs-race-card{
    grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr);
  }
}

@media(max-width:680px){
  .cfs-home-live{padding-top:70px}
  .cfs-home-product-visual{padding:8px 0 0}
  .cfs-home-sheet-card{max-width:320px}
  .cfs-homepage .cfs-race-card{grid-template-columns:1fr;min-height:0}
  .cfs-homepage .cfs-race-portraits,
  .cfs-homepage .cfs-race-portraits i{
    height:180px;
    min-height:180px;
  }
}

/* v1.7.2: compact the coverage card and place the four steps beside the sample sheet. */
.cfs-home-map-card{
  display:flex;
  flex-direction:column;
  padding:20px 20px 13px;
}
.cfs-home-map{margin-top:14px}
.cfs-home-map-foot{padding-top:10px}
.cfs-home-map-link{line-height:1.2;margin-top:6px;padding:3px 0}
.cfs-home-product-copy .cfs-home-steps{
  border-top:1px solid #ffffff2e;
  margin-top:34px;
  padding-top:30px;
}
.cfs-home-product-copy .cfs-home-steps>header{margin-bottom:20px}
.cfs-home-product-copy .cfs-home-steps>header h3{
  font-size:clamp(1.9rem,2.7vw,2.75rem);
  margin:0;
}
.cfs-home-product-copy .cfs-home-steps>div{
  gap:12px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.cfs-home-product-copy .cfs-home-steps article{
  gap:12px;
  grid-template-columns:38px minmax(0,1fr);
  min-height:142px;
  padding:17px;
}
.cfs-home-product-copy .cfs-home-steps article>span{
  height:34px;
  width:34px;
}
.cfs-home-product-copy .cfs-home-steps h4{font-size:.96rem}
.cfs-home-product-copy .cfs-home-steps small{font-size:.68rem;line-height:1.45}

@media(max-width:980px){
  .cfs-home-product-copy .cfs-home-steps{margin-top:30px;padding-top:28px}
  .cfs-home-product-copy .cfs-home-steps>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:680px){
  .cfs-home-map-card{padding:15px 15px 10px}
  .cfs-home-map-foot{gap:7px;padding-top:9px}
  .cfs-home-map-link{margin-top:3px}
  .cfs-home-product-copy .cfs-home-steps{margin-top:26px;padding-top:24px}
  .cfs-home-product-copy .cfs-home-steps>div{grid-template-columns:1fr}
  .cfs-home-product-copy .cfs-home-steps article{min-height:0}
}

/* v1.7.4: one portrait system and a balanced two-row hero. */
.cfs-home-hero{
  align-items:start;
  column-gap:46px;
  padding-bottom:80px;
  padding-top:64px;
  row-gap:34px;
}
.cfs-home-hero-copy{
  align-self:start;
  padding-top:6px;
}
.cfs-home-map-card{
  align-self:start;
  transform:none;
}
.cfs-home-hero-comparison{
  color:#fff;
  grid-column:1 / -1;
  min-width:0;
  width:100%;
}
.cfs-home-hero-comparison>.cfs-comparison{
  box-shadow:0 18px 46px #01081366;
  margin:0;
  max-width:none;
  width:100%;
}
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state{
  align-items:center;
  column-gap:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
  padding:28px 32px;
}
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>p,
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>h2,
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>span{
  grid-column:1;
}
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>p{grid-row:1}
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>h2{grid-row:2}
.cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state>span{grid-row:3}
.cfs-home-hero-comparison>.cfs-comparison .cfs-comparison-controls{
  grid-column:2;
  grid-row:1 / 4;
  margin-top:0;
}
.cfs-home-hero-comparison>small{
  color:#cfdae6;
  display:block;
  font-size:.68rem;
  margin-top:10px;
}

/* Home, state, and trending cards all use the same 1200x1400 photo crop. */
.cfs-homepage .cfs-race-portraits img,
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-homepage .cfs-home-trend-candidates [data-candidate] img{
  display:block!important;
  height:100%!important;
  margin:0!important;
  max-height:none!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  width:100%!important;
}

/* Questionnaire and fact sheets always use the identical 6:7 cutout panel. */
.cfs-fact-sheet .cfs-candidate-grid section>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
  align-items:stretch!important;
  aspect-ratio:6 / 7;
  height:auto!important;
  padding:0!important;
}
.cfs-fact-sheet .cfs-candidate-grid section.republican>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section.republican>div{
  background:#d71932!important;
}
.cfs-fact-sheet .cfs-candidate-grid section.democratic>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section.democratic>div{
  background:#0b3767!important;
}
.cfs-fact-sheet .cfs-candidate-grid img,
.cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img,
.cfs-quiz-fact-sheet .cfs-candidate-grid img{
  height:100%!important;
  margin:0!important;
  max-height:none!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  width:100%!important;
}
.cfs-quiz-score-grid article.democratic .cfs-quiz-score-person img,
.cfs-score-grid article.democratic .cfs-inline-score-person img{
  background:#0b3767!important;
}
.cfs-quiz-score-grid article.republican .cfs-quiz-score-person img,
.cfs-score-grid article.republican .cfs-inline-score-person img{
  background:#d71932!important;
}

/* Keep questionnaire score cards readable while preserving the same 6:7
   red/blue portrait canvas used by the full fact sheet. */
.cfs-quiz-score-grid article{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 140px!important;
  min-height:210px;
}
.cfs-quiz-score-person{
  align-items:stretch;
  display:grid!important;
  gap:0!important;
  grid-template-columns:180px minmax(0,1fr);
  margin:0!important;
  min-height:210px!important;
  min-width:0;
}
.cfs-quiz-score-person img{
  align-self:stretch!important;
  aspect-ratio:6 / 7;
  border-radius:0!important;
  display:block!important;
  height:210px!important;
  object-fit:cover!important;
  object-position:center!important;
  width:180px!important;
}
.cfs-quiz-score-copy{
  align-self:center;
  min-width:0;
  overflow-wrap:anywhere;
  padding:28px 18px!important;
}
.cfs-quiz-score-copy strong{
  line-height:1.12;
  max-width:none!important;
}
.cfs-quiz-score-metrics{
  min-width:0;
}
.cfs-inline-score-person img{
  aspect-ratio:6 / 7;
  flex:0 0 86px;
  height:100px!important;
  object-fit:cover!important;
  object-position:center!important;
  width:86px!important;
}

@media(max-width:980px){
  .cfs-home-hero{padding-top:54px;row-gap:30px}
  .cfs-home-hero-comparison{grid-column:1}
  .cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state{
    display:block;
    padding:26px;
  }
  .cfs-home-hero-comparison>.cfs-comparison .cfs-comparison-controls{margin-top:22px}
}

@media(max-width:680px){
  .cfs-quiz-score-grid article{
    display:flex!important;
    flex-direction:column!important;
  }
  .cfs-quiz-score-person{
    grid-template-columns:140px minmax(0,1fr);
    min-height:163px!important;
  }
  .cfs-quiz-score-person img{
    height:163px!important;
    width:140px!important;
  }
  .cfs-quiz-score-copy{padding:20px 14px!important}
  .cfs-quiz-score-metrics{width:100%}
}

@media(max-width:680px){
  .cfs-home-hero{padding-bottom:68px;padding-top:42px}
  .cfs-home-hero-copy{padding-top:0}
  .cfs-home-hero-comparison>.cfs-comparison .cfs-stage-state{padding:22px 18px}
}

/* v1.7.6: equal candidate columns and full, uncropped homepage portraits. */
.cfs-homepage .cfs-race-portraits{
  column-gap:0!important;
}
.cfs-homepage .cfs-race-portraits i+ i{
  border-left:0!important;
}
.cfs-homepage .cfs-race-portraits i{
  min-width:0;
}
.cfs-homepage .cfs-race-portraits img{
  object-fit:cover!important;
  object-position:center!important;
}

.cfs-homepage .cfs-home-trend-candidates{
  column-gap:0!important;
}
.cfs-homepage .cfs-home-trend-candidates section{
  min-width:0;
}
.cfs-homepage .cfs-home-trend-candidates section>div{
  align-items:flex-end!important;
  background:#e8edf3!important;
  display:flex!important;
  justify-content:center!important;
}
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-homepage .cfs-home-trend-candidates [data-candidate] img{
  height:100%!important;
  max-height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  width:100%!important;
}

.cfs-fact-sheet .cfs-candidate-grid,
.cfs-quiz-fact-sheet .cfs-candidate-grid{
  column-gap:4px!important;
}
.cfs-fact-sheet .cfs-candidate-grid section,
.cfs-quiz-fact-sheet .cfs-candidate-grid section{
  display:flex!important;
  flex-direction:column;
  height:100%;
  min-width:0;
}
.cfs-fact-sheet .cfs-candidate-grid section+section,
.cfs-quiz-fact-sheet .cfs-candidate-grid section+section{
  border-left:0!important;
}
.cfs-fact-sheet .cfs-candidate-grid section>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
  flex:0 0 auto;
  width:100%;
}
.cfs-fact-sheet .cfs-candidate-grid section>p,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>p{
  box-sizing:border-box;
  flex:1 0 72px;
  height:72px;
  min-height:72px!important;
}

@media(max-width:680px){
  .cfs-fact-sheet .cfs-candidate-grid section>p,
  .cfs-quiz-fact-sheet .cfs-candidate-grid section>p{
    flex-basis:62px;
    height:62px;
    min-height:62px!important;
  }
}

/* v1.7.9: the homepage and focused fact sheet intentionally use different
   portrait systems. State/trending cards retain the supplied photography;
   only fact sheets use the solid party-color portrait panels. */
.cfs-homepage .cfs-race-card,
.cfs-homepage .cfs-race-card:hover{
  box-shadow:none!important;
}
.cfs-homepage .cfs-race-portraits img,
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-homepage .cfs-home-trend-candidates [data-candidate] img{
  filter:none!important;
  height:100%!important;
  margin:0!important;
  max-height:none!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  width:100%!important;
}
.cfs-homepage .cfs-home-trend-candidates section>div{
  background:#e8edf3!important;
  aspect-ratio:6 / 7!important;
  height:auto!important;
  padding:0!important;
}
.cfs-homepage .cfs-home-trend-candidates img,
.cfs-homepage .cfs-home-trend-candidates [data-candidate] img{
  object-fit:contain!important;
  object-position:center!important;
}
.cfs-fact-sheet .cfs-candidate-grid section>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
  align-items:stretch!important;
  aspect-ratio:6 / 7!important;
  height:auto!important;
  padding:0!important;
}
.cfs-fact-sheet .cfs-candidate-grid section.republican>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section.republican>div{
  background:#d71932!important;
}
.cfs-fact-sheet .cfs-candidate-grid section.democratic>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section.democratic>div{
  background:#0b3767!important;
}
.cfs-fact-sheet .cfs-candidate-grid img,
.cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img,
.cfs-quiz-fact-sheet .cfs-candidate-grid img{
  filter:none!important;
  height:100%!important;
  margin:0!important;
  max-height:none!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
  width:100%!important;
}

/* v1.7.21: every fact-sheet candidate uses the same shorter 6:5 viewport.
   Portrait files are authored to this exact ratio with measured face scale
   and a protected head-safe area. Contain is deliberate: a browser rounding
   difference can never remove hair from the top of the authored panel. */
.cfs-fact-sheet .cfs-candidate-grid section>div,
.cfs-quiz-fact-sheet .cfs-candidate-grid section>div{
  aspect-ratio:6 / 5!important;
  height:auto!important;
  overflow:hidden!important;
}
.cfs-fact-sheet .cfs-candidate-grid img,
.cfs-fact-sheet .cfs-candidate-grid .cfs-candidate-keisha-bottoms img,
.cfs-quiz-fact-sheet .cfs-candidate-grid img{
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  width:100%!important;
}

/* Keep long questionnaire statements in proportion with their supporting
   copy. The previous wide-dialog rule enlarged every h2 to as much as 56px
   while leaving answer descriptions near 11px. */
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-title{
  font-size:clamp(2rem,3vw,2.75rem)!important;
  line-height:1.06!important;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-meta{
  font-size:.82rem;
  line-height:1.35;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-description{
  font-size:1.05rem!important;
  line-height:1.5;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-answers b{
  font-size:1rem;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-answers span{
  font-size:.82rem;
  line-height:1.4;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-skip{
  font-size:.92rem;
}
.cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-privacy{
  font-size:.82rem;
  line-height:1.4;
}

@media(max-width:680px){
  .cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-title{
    font-size:clamp(1.65rem,7vw,2.1rem)!important;
  }
  .cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-description{
    font-size:.95rem!important;
  }
}

/* v1.7.22: mobile directory cards are wider than desktop cards, so a fixed
   180px portrait height turned the 6:7 assets into short landscape crops.
   Give each candidate its authored ratio on mobile; desktop is unchanged. */
@media(max-width:680px){
  .cfs-homepage .cfs-race-portraits{
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
  }
  .cfs-homepage .cfs-race-portraits i{
    aspect-ratio:6 / 7!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* v1.7.23: the Colorado ballot-measures guide is not a candidate race. Use
   the established state/capitol artwork in place of candidate portraits. */
.cfs-homepage .cfs-ballot-card .cfs-ballot-art{
  background-position:72% center!important;
  background-size:cover!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  position:relative;
}
.cfs-homepage .cfs-ballot-card .cfs-ballot-art i{
  align-items:center;
  background:transparent!important;
  display:flex;
  grid-column:1 / -1;
  justify-content:center;
  position:relative;
}
.cfs-homepage .cfs-ballot-mark{
  align-items:center;
  background:#061e3ddd;
  border:3px solid var(--gold);
  border-radius:50%;
  box-shadow:0 12px 30px #01081366;
  color:#fff;
  display:flex;
  flex-direction:column;
  height:150px;
  justify-content:center;
  width:150px;
}
.cfs-homepage .cfs-ballot-mark b{
  color:#fff;
  font-size:2.45rem;
  line-height:.9;
}
.cfs-homepage .cfs-ballot-mark small{
  color:var(--gold);
  font-size:.45rem;
  font-weight:900;
  letter-spacing:.055em;
  line-height:1.35;
  margin-top:9px;
  max-width:126px;
  text-align:center;
  text-transform:uppercase;
}

/* Balance the questionnaire hierarchy: the blue issue statement is the
   title without an extra-heavy weight, while its red explainer is large
   enough to read comfortably on desktop. */
@media(min-width:681px){
  .cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-title{
    color:var(--navy)!important;
    font-size:clamp(2rem,2.55vw,2.5rem)!important;
    font-weight:500!important;
    letter-spacing:-.035em!important;
    line-height:1.08!important;
  }
  .cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-title strong{
    font-weight:800!important;
  }
  .cfs-quiz-stage[data-quiz-stage="questions"] .cfs-quiz-question-description{
    color:var(--red)!important;
    font-size:1.18rem!important;
    line-height:1.5!important;
  }
}

.cfs-question-title,
.cfs-quiz-question-title{
  font-weight:500!important;
}
.cfs-question-title strong,
.cfs-quiz-question-title strong{
  font-weight:800!important;
}

/* v1.7.27: the questionnaire now follows the state directory instead of
   occupying the hero. Keep the callout visually attached to the final row. */
.cfs-directory + .cfs-home-guided-feature{
  margin-top:24px;
}

@media(max-width:680px){
  .elementor-location-header img.wp-image-948{
    display:block!important;
    filter:drop-shadow(0 0 1px rgba(255,255,255,.95));
    height:auto!important;
    max-width:100%!important;
    width:100%!important;
  }
  .elementor-location-header .elementor-widget-image a{
    display:block;
    max-width:100%;
    overflow:visible;
  }
}

/* v1.7.28: keep the complete questionnaire in the reading flow immediately
   after Trending Topics, while preserving the compact prompt below the states. */
.cfs-home-post-trending-questionnaire{
  margin-top:48px;
}
.cfs-home-post-trending-questionnaire>.cfs-comparison{
  box-shadow:0 28px 72px rgba(1,8,19,.42);
  width:100%;
}
@media(max-width:680px){
  .cfs-home-post-trending-questionnaire{
    margin-top:32px;
  }
}
