/* Declare immersive feature (generated by prototypes/election-fraud/build_feature.py --php; do not hand-edit). Loaded on posts tagged `immersive` only. */

/* Layout: the live Declare single-post frame (900px head, 640px measure) with full-bleed chapter openers,
   a sticky chapter bar under the site nav, and sticky-stage carousels on ink. Tokens are the live site's. */
body.declare-feature{
  --ink:#1B171B; --magenta:#D61F7B; --magenta-dark:#A8246B; --pink:#F48FBF;
  --ground:#FDFAF6; --paper:#FFFFFF; --rule:#E0E0E0; --muted:#5C5C5C; --text:#111111; --body:#000000;
  --font-ui:Roboto,Arial,Helvetica,sans-serif; --font-serif:Merriweather,Georgia,"Times New Roman",serif;
  --nav-h:0px; --bar-h:48px; --gutter-l:24px; --gutter-r:24px;
  --sat:var(--admin);
  --stick:calc(var(--nav-h) + var(--bar-h) + var(--sat));
  color-scheme:light;
}

html:has(body.declare-feature){scroll-behavior:smooth; scroll-padding-top:calc(var(--stick) + 8px)}
@media (prefers-reduced-motion:reduce){ html:has(body.declare-feature){scroll-behavior:auto} }
body.declare-feature{overflow-x:clip}

.declare-feature .feature-page img,.declare-feature .feature-page video{max-width:100%; display:block; height:auto}
.declare-feature .feature-page a{color:inherit}

.declare-feature .feature-page .sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.declare-feature .feature-page cite{font-style:italic}
.declare-feature .feature-page .wrap{margin-inline:auto; padding-left:var(--gutter-l); padding-right:var(--gutter-r)}
.declare-feature .feature-page .wrap--site{max-width:1232px}
.declare-feature .feature-page .wrap--900{max-width:948px}
.declare-feature .feature-page .wrap--640{max-width:688px}

/* ---- Site header (static copy of the live header 45) ---- */
















@media (max-width:900px){
  body.declare-feature{--nav-h:0px}
  
  
  
  
  
}

/* ---- Article head (live single template 60) ---- */
.declare-feature .feature-page .article-head{padding-block:48px 0}
.declare-feature .feature-page .head-grid{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:22px 48px; align-items:start}
.declare-feature .feature-page .head-grid.feature-head--no-image{grid-template-columns:1fr}
.declare-feature .feature-page .head-copy{display:flex; flex-direction:column; gap:18px; min-width:0}
.declare-feature .feature-page .kicker{font:700 11px/1.5 var(--font-ui); letter-spacing:.25em; text-transform:uppercase; color:rgba(17,17,17,.85); text-decoration:none; align-self:flex-start; padding:14px 0; margin:-14px 0}
.declare-feature .feature-page .kicker:hover{color:var(--magenta)}
.declare-feature .feature-page h1{margin:0; font:600 40px/1.2 var(--font-serif); color:var(--ink); text-wrap:balance}
.declare-feature .feature-page .dek{margin:0; font:300 20px/1.6 var(--font-serif); color:#333}
.declare-feature .feature-page .feature{margin:0; min-width:0}
.declare-feature .feature-page .feature .media{background:var(--ground); border:1px solid var(--rule)}
.declare-feature .feature-page .feature img{width:100%; height:auto}
.declare-feature .feature-page .feature figcaption,.declare-feature .feature-page .fig figcaption{margin-top:10px; font:400 13px/1.5 var(--font-ui); color:var(--muted)}
.declare-feature .feature-page .byline-row{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 16px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding-block:14px; margin-top:22px}
.declare-feature .feature-page .byline{margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 14px}
.declare-feature .feature-page .byline__by,.declare-feature .feature-page .byline a{font:400 18px/32px var(--font-serif); font-style:oblique; color:rgba(17,17,17,.85)}
.declare-feature .feature-page .byline a{text-decoration:none}
.declare-feature .feature-page .byline a:hover{color:var(--magenta)}
.declare-feature .feature-page .byline__date,.declare-feature .feature-page .byline__read{font:400 15px/1.5 var(--font-ui); color:#7A7A7A}
.declare-feature .feature-page .byline__meta{white-space:nowrap; display:inline-flex; gap:8px; align-items:baseline}
.declare-feature .feature-page .byline__sep{color:#7A7A7A}






@media (max-width:900px){
  .declare-feature .feature-page .article-head{padding-block:32px 0}
  .declare-feature .feature-page .head-grid{grid-template-columns:1fr; gap:24px}
  .declare-feature .feature-page h1{font-size:28px}
}

/* ---- Chapter bar: the one sticky element; the site header scrolls away on this page ---- */
.declare-feature .feature-page .chapter-bar{position:sticky; top:calc(var(--nav-h) + var(--sat)); z-index:40; background:var(--paper); border-bottom:1px solid var(--rule); margin-top:28px}
.declare-feature .feature-page .chapter-bar__inner{display:flex; align-items:stretch; gap:0 22px}
.declare-feature .feature-page .chapter-bar ol{list-style:none; flex:1 1 auto; min-width:0; margin:0; padding:0; display:flex; gap:0 28px; height:var(--bar-h); align-items:stretch; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch}
.declare-feature .feature-page .chapter-bar ol::-webkit-scrollbar{display:none}
.declare-feature .feature-page .chapter-bar li{flex:0 0 auto; display:flex}
.declare-feature .feature-page .chapter-bar a{position:relative; display:inline-flex; align-items:center; white-space:nowrap; font:500 14px/1 var(--font-ui); color:var(--muted); text-decoration:none; padding:0 2px}
.declare-feature .feature-page .chapter-bar a .fill{position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--magenta); transform:scaleX(0); transform-origin:left}
.declare-feature .feature-page .chapter-bar a.is-current{color:var(--ink); font-weight:600}
.declare-feature .feature-page .chapter-bar a:hover{color:var(--ink)}
.declare-feature .feature-page .chapter-bar .chapter-bar__home{flex:0 0 auto; padding:0 20px 0 0; margin-right:2px; border-right:1px solid var(--rule); height:var(--bar-h)}
.declare-feature .feature-page .chapter-bar .chapter-bar__home img{height:22px; width:auto; display:block}
.declare-feature .feature-page .chapter-bar__wordmark{font:600 15px/1 var(--font-ui); color:var(--ink)}
@media (max-width:900px){ .declare-feature .feature-page .chapter-bar__inner{gap:0 14px} .declare-feature .feature-page .chapter-bar .chapter-bar__home{padding-right:14px} .declare-feature .feature-page .chapter-bar .chapter-bar__home img{height:20px} }

/* ---- Body copy (live: Merriweather 300 18/32) ---- */
.declare-feature .feature-page .entry{max-width:640px; margin-inline:auto; padding-left:var(--gutter-l); padding-right:var(--gutter-r); padding-block:8px}
.declare-feature .feature-page .entry p{margin:0 0 24px; font:300 18px/32px var(--font-serif); color:var(--body)}
.declare-feature .feature-page .entry p:last-child{margin-bottom:0}
.declare-feature .feature-page .entry a{color:var(--ink); text-decoration:underline; text-decoration-color:var(--magenta); text-underline-offset:3px; text-decoration-thickness:1px}
.declare-feature .feature-page .entry a:hover{color:var(--magenta-dark); text-decoration-thickness:2px}
.declare-feature .feature-page .lead-in{font-variant-caps:small-caps; font-weight:600; letter-spacing:.02em}
.declare-feature .feature-page .chapter--intro{padding-top:40px}
.declare-feature .feature-page .chapter--intro .entry:first-child{padding-top:0}

/* ---- Figures ---- */
.declare-feature .feature-page .fig{margin:36px auto; max-width:948px; padding-left:var(--gutter-l); padding-right:var(--gutter-r)}
.declare-feature .feature-page .fig--narrow{max-width:688px}
.declare-feature .feature-page .fig--portrait{max-width:488px}
.declare-feature .feature-page .fig .media{background:var(--ground); overflow:hidden}
.declare-feature .feature-page .fig .media img{width:100%; height:auto}
.declare-feature .feature-page .media--kb img{transition:transform 9s ease-out}
.declare-feature .feature-page .media--kb.in img{transform:scale(1.04)}
.declare-feature .feature-page .pair{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.declare-feature .feature-page .pair__item{min-width:0}
.declare-feature .feature-page .media--portrait{aspect-ratio:4/5; max-width:100%; background:var(--ground)}
.declare-feature .feature-page .media--portrait img{width:100%; height:100%; object-fit:cover; object-position:center top}
.declare-feature .feature-page .pair__who{margin:8px 0 0; font:500 14px/1.4 var(--font-ui); color:var(--ink)}
.declare-feature .feature-page .fig--pair figcaption{margin-top:14px}
@media (max-width:600px){ .declare-feature .feature-page .pair{gap:10px} .declare-feature .feature-page .pair__who{font-size:13px} }

/* ---- Stat callout ---- */
.declare-feature .feature-page .stat{max-width:640px; margin:36px auto; padding-left:var(--gutter-l); padding-right:var(--gutter-r)}
.declare-feature .feature-page .stat__row{display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:6px 24px; align-items:baseline; border-top:3px solid var(--magenta); padding-block:18px 20px}
.declare-feature .feature-page .stat__row + .stat__row{border-top:1px solid var(--rule)}
.declare-feature .feature-page .stat__num{font:700 52px/1 var(--font-ui); letter-spacing:-.02em; color:var(--ink); font-variant-numeric:tabular-nums}
.declare-feature .feature-page .stat__what{margin:0; font:400 16px/1.5 var(--font-ui); color:var(--muted)}
.declare-feature .feature-page .stat__what strong{color:var(--ink); font-weight:600}
@media (max-width:600px){ .declare-feature .feature-page .stat__row{grid-template-columns:1fr} .declare-feature .feature-page .stat__num{font-size:44px} }

/* ---- Quotes ---- */
.declare-feature .feature-page .pull{max-width:640px; margin:40px auto; padding:0 var(--gutter-r) 0 var(--gutter-l)}
.declare-feature .feature-page .pull p{margin:0; padding-left:22px; border-left:3px solid var(--magenta); font:300 26px/1.4 var(--font-serif); font-style:italic; color:var(--ink); text-wrap:balance}
.declare-feature .feature-page .pull footer{margin:14px 0 0 25px; font:500 12px/1.5 var(--font-ui); letter-spacing:.12em; text-transform:uppercase; color:var(--muted)}
.declare-feature .feature-page .pull footer cite{text-transform:none; letter-spacing:0; font-style:italic}
.declare-feature .feature-page .long-quote{margin:8px 0 24px; padding-left:22px; border-left:3px solid var(--magenta)}
.declare-feature .feature-page .entry .long-quote p{font-size:17px; line-height:30px; font-style:italic}

/* ---- Divider between chapters ---- */
.declare-feature .feature-page .divider{width:44px; height:3px; border:0; background:var(--magenta); margin:56px auto 0; position:relative; left:calc(50% - 320px + var(--gutter-l)); transform:translateX(-50%)}
@media (max-width:700px){ .declare-feature .feature-page .divider{left:auto; transform:none; margin-left:var(--gutter-l)} }
.declare-feature .feature-page .divider--end{margin:0 0 28px}

/* ---- Chapter openers: full-bleed, ink ground ---- */
.declare-feature .feature-page .chapter{scroll-margin-top:calc(var(--stick))}
.declare-feature .feature-page .opener{position:relative; min-height:min(820px, calc(100svh - var(--stick))); margin-top:56px; display:flex; align-items:flex-end; background:var(--ink); color:#fff; overflow:hidden; isolation:isolate}
.declare-feature .feature-page .opener__bg{position:absolute; inset:0; z-index:0}
.declare-feature .feature-page .opener__bg img,.declare-feature .feature-page .opener__bg video{width:100%; height:100%; object-fit:cover; filter:saturate(.9)}
.declare-feature .feature-page .opener__scrim{position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(27,23,27,.28) 0%, rgba(27,23,27,.18) 38%, rgba(27,23,27,.86) 100%)}
.declare-feature .feature-page .opener__copy{position:relative; z-index:2; width:100%; max-width:1232px; margin-inline:auto; padding:140px var(--gutter-r) 56px var(--gutter-l); display:flex; flex-direction:column; gap:6px}
.declare-feature .feature-page .opener__years{margin:0; font:700 clamp(44px, 7vw, 92px)/1 var(--font-ui); letter-spacing:-.02em; color:rgba(255,255,255,.94); font-variant-numeric:tabular-nums}
.declare-feature .feature-page .opener__place{margin:4px 0 14px; font:500 13px/1.4 var(--font-ui); letter-spacing:.16em; text-transform:uppercase; color:var(--pink)}
.declare-feature .feature-page .opener h2{margin:0; font:600 clamp(30px, 4.4vw, 54px)/1.1 var(--font-serif); color:#fff; max-width:14ch; text-wrap:balance}
.declare-feature .feature-page .opener__dek{margin:12px 0 0; max-width:600px; font:300 20px/1.55 var(--font-serif); font-style:italic; color:rgba(255,255,255,.9)}
.declare-feature .feature-page .opener__credit{position:absolute; z-index:2; right:var(--gutter-r); top:16px; margin:0; max-width:46ch; text-align:right; font:400 11px/1.45 var(--font-ui); color:rgba(255,255,255,.85); text-shadow:0 1px 2px rgba(0,0,0,.7)}
.declare-feature .feature-page .opener__credit cite{font-style:italic}
@media (max-width:900px){
  .declare-feature .feature-page .opener{min-height:min(640px, calc(88svh - var(--bar-h)))}
  .declare-feature .feature-page .opener__copy{padding-top:120px; padding-bottom:36px}
  .declare-feature .feature-page .opener__dek{font-size:18px}
  .declare-feature .feature-page .opener__credit{position:static; order:3; text-align:left; max-width:none; padding:0 var(--gutter-r) 14px var(--gutter-l); color:rgba(255,255,255,.75); text-shadow:none; background:var(--ink)}
  .declare-feature .feature-page .opener{flex-direction:column; justify-content:flex-end}
  .declare-feature .feature-page .opener__copy{margin-top:auto}
}

/* ---- Sticky-stage carousel (Tammany cartoons, Chicago) ---- */
.declare-feature .feature-page .scrolly{position:relative; background:var(--ink); color:#fff; margin:44px 0}
.declare-feature .feature-page .scrolly__stage{position:sticky; top:var(--stick); height:calc(100svh - var(--stick)); overflow:hidden}
.declare-feature .feature-page .scrolly__layer{position:absolute; inset:0; display:grid; place-items:center; padding:28px var(--gutter-r) 28px calc(var(--gutter-l) + 36%); opacity:0; transition:opacity .4s ease}
.declare-feature .feature-page .scrolly__layer.is-active{opacity:1}
.declare-feature .feature-page .scrolly__layer img,.declare-feature .feature-page .scrolly__layer video{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 20px 60px rgba(0,0,0,.45)}
.declare-feature .feature-page .scrolly__steps{list-style:none; margin:calc(-1 * (100svh - var(--stick))) auto 0; padding:0; position:relative; z-index:2; max-width:1232px}
.declare-feature .feature-page .scrolly__step{min-height:100svh; display:flex; align-items:center; padding:0 var(--gutter-r) 0 var(--gutter-l)}
.declare-feature .feature-page .scrolly__card{background:var(--paper); color:var(--ink); width:min(100%, 400px); padding:22px 24px 20px; border-top:3px solid var(--magenta); box-shadow:0 12px 40px rgba(0,0,0,.35)}
.declare-feature .feature-page .scrolly__card p{margin:0; font:300 18px/1.6 var(--font-serif)}
.declare-feature .feature-page .scrolly__src{margin-top:12px !important; font:400 12px/1.5 var(--font-ui) !important; color:var(--muted)}
@media (max-width:900px){
  .declare-feature .feature-page .scrolly__layer{padding:16px var(--gutter-r) 36svh var(--gutter-l)}
  .declare-feature .feature-page .scrolly__step{align-items:flex-end; padding-bottom:20px}
  .declare-feature .feature-page .scrolly__card{width:100%; padding:16px 18px 14px}
  .declare-feature .feature-page .scrolly__card p{font-size:16px; line-height:1.55}
}
@media (prefers-reduced-motion:reduce){ .declare-feature .feature-page .scrolly__layer{transition:none} .declare-feature .feature-page .media--kb img{transition:none} .declare-feature .feature-page .media--kb.in img{transform:none} }

/* ---- Article end: author card, related, newsletter, footer (live styles) ---- */
.declare-feature .feature-page .article-end{padding-block:48px 0}





































/* ---- Theme-only additions ---- */
/* The site header does not stick on feature pages (child style.css makes it sticky site-wide at >=901px); the chapter bar is the one sticky element. */
.declare-feature .elementor-location-header{position:static; top:auto}
body.declare-feature{--admin:0px}
body.admin-bar.declare-feature{--admin:32px}
@media (max-width:782px){ body.admin-bar.declare-feature{--admin:46px} }
@media (max-width:600px){ body.admin-bar.declare-feature{--admin:0px} } /* core's admin bar is position:absolute under 600px and scrolls away */
.declare-feature .feature-page .feature-related{background:var(--ground); border-top:1px solid var(--rule); margin-top:44px; padding-block:36px 44px}
.declare-feature .feature-page .feature-related h2{margin:0 0 20px; font:600 24px/1.2 var(--font-ui); color:var(--ink)}
.declare-feature .feature-page .feature-cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px}
.declare-feature .feature-page .feature-card{background:#fff; border:1px solid var(--rule); border-radius:4px; overflow:hidden}
.declare-feature .feature-page .feature-card a{display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%}
.declare-feature .feature-page .feature-card img{width:100%; aspect-ratio:16/9; object-fit:cover}
.declare-feature .feature-page .feature-card__kicker{margin:18px 20px 8px; font:700 11px/1.5 var(--font-ui); letter-spacing:.25em; text-transform:uppercase; color:var(--magenta)}
.declare-feature .feature-page .feature-card h3{margin:0 20px 10px; font:500 20px/1.3 var(--font-ui); color:var(--ink)}
.declare-feature .feature-page .feature-card__meta{margin:auto 20px 20px; font:400 14px/1.5 var(--font-ui); color:var(--muted)}
@media (max-width:1024px){ .declare-feature .feature-page .feature-cards{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:700px){ .declare-feature .feature-page .feature-cards{grid-template-columns:1fr} }
.declare-feature .feature-page .byline-row .declare-share{margin:0}
