/* Supporting pages have a reading scale, separate from the marketing spreads. */
.civic-supporting { --reading-width: 1100px; }
.civic-supporting.legal-document { --reading-width: 840px; }
.civic-supporting :is(.wrap,.simple-page) { width:min(var(--reading-width),calc(100% - 96px)); margin-inline:auto; }
.civic-supporting main :is(section,article,aside,div) { min-width:0; }
.civic-supporting h2 { font-size:clamp(1.75rem,2.8vw,2.6rem); letter-spacing:-.045em; line-height:1.15; }
.civic-supporting h3 { font-size:1.4rem; line-height:1.25; letter-spacing:-.03em; }
.civic-supporting h4 { font-size:1.05rem; line-height:1.4; }
.civic-supporting :is(h1,h2,h3,h4) { overflow-wrap:break-word; }
.civic-supporting .page-hero { padding:58px 0 56px; margin:0; text-align:left; overflow:visible; }
.civic-supporting .page-hero .wrap { width:min(var(--reading-width),calc(100% - 96px)); }
.civic-supporting .page-hero-content>.eyebrow { margin:0 0 24px; font-size:.76rem; }
.civic-supporting .page-hero h1 { font-size:clamp(3rem,6vw,6rem); line-height:1.02; max-width:1000px; margin:0; text-align:left; text-wrap:balance; }
.civic-supporting .page-hero .lede { font-size:1.04rem; line-height:1.75; max-width:670px; margin:26px 0 0; }
.civic-supporting .hero-actions { justify-content:flex-start; }
.civic-site.civic-supporting .simple-hero { width:min(var(--reading-width),calc(100% - 96px)); padding:58px 0 52px; margin-inline:auto; text-align:left; }
.civic-site.civic-supporting .simple-hero h1 { font-size:clamp(3rem,6vw,6rem); line-height:1.02; max-width:100%; }
.civic-site.civic-supporting .simple-hero>p { margin:24px 0 0; font-size:1.04rem; line-height:1.75; }
.civic-site.civic-supporting .about-page { max-width:none; }
.civic-supporting .about-page>p { max-width:700px; margin:0 0 22px; }
.civic-supporting .about-links { margin-top:56px; }
.civic-supporting .hero-stats { max-width:760px; margin:36px 0 0; padding:26px 0 0; border-top:1px solid var(--line); gap:28px; }
.civic-supporting .hero-stats strong { font-family:SiteSans,Arial,sans-serif; font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.05em; }
.civic-supporting .hero-stats span { font-size:.75rem; }
.civic-supporting .section { padding-block:64px; }
.civic-supporting .section-head { max-width:780px; margin-bottom:34px; }
.civic-supporting .section-head>.eyebrow { margin-bottom:22px; }
.civic-supporting .section-head h2 { font-size:clamp(2.2rem,4vw,3.8rem); }
.civic-supporting .section-head p:not(.eyebrow) { margin-top:24px; line-height:1.75; }
.civic-supporting .prose { max-width:var(--reading-width); padding:0 0 96px; }
.civic-supporting .prose h2 { font-size:1.55rem; line-height:1.3; margin:44px 0 16px; letter-spacing:-.03em; }
.civic-supporting .prose h2:first-child { margin-top:0; }
.civic-supporting .prose h3 { font-size:1.15rem; margin:28px 0 12px; }
.civic-supporting .prose p { font-size:.98rem; line-height:1.85; margin:16px 0 0; }
.civic-supporting .prose li { font-size:.95rem; line-height:1.8; }
.civic-supporting .prose a { overflow-wrap:anywhere; }
.civic-supporting .timeline { padding:16px 0 70px; }
.civic-supporting .month { grid-template-columns:140px minmax(0,1fr); gap:48px; padding-bottom:42px; }
.civic-supporting .month-label { padding-top:29px; font-family:SiteSans,Arial,sans-serif; }
.civic-supporting .month-label h2 { font-size:1.12rem; line-height:1.4; letter-spacing:-.025em; text-wrap:initial; }
.civic-supporting .month-label p { font-size:.82rem; line-height:1.6; margin-top:4px; }
.civic-supporting .entry { padding:30px 0 38px; scroll-margin-top:30px; }
.civic-supporting .entry>time { display:block; font-size:.73rem; color:var(--muted); margin-bottom:13px; }
.civic-supporting .entry h3 { font-size:clamp(1.55rem,2.4vw,2.1rem); line-height:1.15; max-width:730px; }
.civic-supporting .entry-featured h3 { font-size:clamp(2rem,3.6vw,3.3rem); letter-spacing:-.05em; }
.civic-supporting .entry p { font-size:.97rem; line-height:1.75; margin-top:19px; max-width:740px; }
.civic-supporting .entry ul { font-size:.92rem; line-height:1.75; margin:18px 0 0; padding-left:1.2em; }
.civic-supporting .entry li+li { margin-top:9px; }
.civic-supporting .entry :is(.capture,.compare,.journal-pair) { margin:26px 0 0; }
.civic-supporting .entry .capture--small { max-width:480px; }
.civic-supporting .entry .capture-frame { margin-top:0; }
.civic-supporting .entry .journal-meta { font-size:.74rem; color:var(--muted); margin-top:14px; }
.civic-supporting :is(.capture,.capture-frame,.compare-stage,.window-shot,.table-wrap,.scene-panel img) { border-radius:0; }
.civic-supporting .capture { background:transparent; }
.civic-supporting :is(.capture figcaption,.compare-caption) { font-size:.76rem; line-height:1.7; padding:13px 0 0; margin:0; color:var(--muted); }
.civic-supporting .compare-caption b { display:block; color:var(--ink); font-weight:500; margin-bottom:4px; }
.civic-supporting .compare-stage { isolation:isolate; }
.civic-supporting .compare-stage img { aspect-ratio:var(--compare-ratio,16/9); object-fit:contain; }
.civic-supporting .compare-tag { border-radius:0; background:#18201de8; color:#fff; padding:6px 10px; font-size:.67rem; max-width:42%; }
.civic-supporting .compare-line { pointer-events:none; }
.civic-supporting .compare-range:focus-visible { outline-offset:-4px; }
.civic-supporting .journal-pair { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; }
.civic-supporting .journal-pair .capture { margin:0; }
.civic-supporting .journal-pair img { width:100%; height:auto; }
.civic-supporting .journal-index { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:28px; font-size:.8rem; }
.civic-supporting .journal-index a { padding:8px 0; border-bottom:1px solid var(--line); }
.civic-supporting .journal-index a:hover { border-color:var(--ink); }
/* Journal: jump to a month, and keep the month in view while reading it. */
.civic-supporting .journal-index > span { padding:8px 0; min-width:5.4rem; color:var(--muted); }
.civic-supporting .journal-months { margin-top:6px; }
@media(min-width:761px) {
  .civic-supporting .month-label { position:sticky; top:28px; align-self:start; }
  /* Two fields side by side share label, error and input rows, so a long error message never knocks one input lower. */
  .civic-supporting .form-row { row-gap:0; }
  .civic-supporting .form-row .field { display:grid; grid-row:span 3; grid-template-rows:subgrid; }
  .civic-supporting .form-row .field > label { grid-row:1; }
  .civic-supporting .form-row .field > .field-error { grid-row:2; }
  .civic-supporting .form-row .field > :is(input,select,textarea) { grid-row:3; }
}
.civic-supporting .journal-scope { font-size:.8rem; line-height:1.7; margin-top:22px; max-width:680px; }
.civic-supporting .entry details { margin-top:20px; font-size:.82rem; }
.civic-supporting .entry summary { padding:8px 0; cursor:pointer; color:var(--ink); }
.civic-supporting .entry details p { font-size:.84rem; margin-top:10px; }
.civic-supporting .entry details a { text-decoration:underline; text-underline-offset:3px; }
.civic-supporting .entry details ul { font-size:.84rem; }
.civic-supporting .device-row { justify-content:flex-start; flex-wrap:wrap; }
.civic-supporting :is(.recorded,.tier,.detail-block,.access-card) { border-radius:0; }
.civic-supporting .recorded h2 { font-size:1.8rem; }
.civic-supporting .recorded { margin-top:0; gap:36px; }
.civic-supporting .recorded dl { align-content:start; }
.civic-supporting .tier h3,.civic-supporting .detail-block h3 { font-size:1.25rem; }
.civic-supporting .detail-block p { line-height:1.75; }
.civic-supporting .research-nav { width:min(var(--reading-width),calc(100% - 96px)); justify-content:flex-start; margin:0 auto 36px; gap:8px 26px; }
.civic-supporting .research-nav a { padding:10px 0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; }
.civic-supporting .research-section p { line-height:1.8; }
.civic-supporting .research-section .eyebrow { margin-top:0; }
.civic-supporting .type-gallery { margin:24px 0 0; }
.civic-supporting .type-gallery .capture-frame { position:relative; }
.civic-supporting .type-gallery .media-chip { position:absolute; left:12px; bottom:12px; border-radius:0; padding:6px 9px; }
.civic-supporting .showcase-scroll { display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:4px 2px 18px; margin:26px 0 0; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.civic-supporting .showcase-scroll::-webkit-scrollbar { height:6px; }
.civic-supporting .showcase-scroll::-webkit-scrollbar-track { background:transparent; }
.civic-supporting .showcase-scroll::-webkit-scrollbar-thumb { background:var(--line); border-radius:3px; }
.civic-supporting .showcase-scroll::-webkit-scrollbar-thumb:hover { background:var(--muted); }
.civic-supporting .showcase-card { flex:0 0 clamp(310px,44vw,420px); min-width:0; scroll-snap-align:start; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--card); }
.civic-supporting .showcase-card .capture-frame { margin:0; position:relative; overflow:hidden; background:#0e1613; aspect-ratio:16/11; display:flex; align-items:center; justify-content:center; }
.civic-supporting .showcase-card .capture-expand { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.civic-supporting .showcase-card picture { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.civic-supporting .showcase-card img { width:100%; height:100%; object-fit:contain; display:block; }
.civic-supporting .showcase-card .media-chip { position:absolute; top:12px; left:12px; border-radius:0; padding:5px 9px; font-size:.65rem; letter-spacing:.03em; text-transform:uppercase; background:#18201de8; color:#fff; z-index:2; pointer-events:none; }
.civic-supporting .showcase-card-body { padding:16px 18px 20px; display:flex; flex-direction:column; flex-grow:1; }
.civic-supporting .showcase-card-body h4 { font-size:.96rem; line-height:1.3; margin:0 0 6px; color:var(--ink); font-weight:500; }
.civic-supporting .showcase-card-body p { font-size:.80rem !important; line-height:1.6 !important; color:var(--muted); margin:0 !important; max-width:none !important; }
.civic-supporting .contact-layout { width:min(var(--reading-width),calc(100% - 96px)); grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; padding:0 0 90px; }
.civic-supporting .contact-aside h2 { font-size:1.7rem; }
.civic-supporting .founder-email { overflow-wrap:anywhere; }
.civic-supporting .form-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.civic-supporting .field :is(input,select,textarea) { width:100%; min-width:0; }
.civic-supporting .cta { width:min(var(--reading-width),calc(100% - 96px)); margin:0 auto 65px; border-radius:0; text-align:left; padding:45px 0; border-top:1px solid var(--line); background:transparent; }
.civic-supporting .cta h2 { font-size:2.5rem; }
.civic-supporting .cta p { margin-top:16px; }
.civic-supporting .cta .button { margin-top:24px; }
@media(max-width:1000px) {
  .civic-supporting .month { grid-template-columns:110px minmax(0,1fr); gap:30px; }
  .civic-supporting .contact-layout { gap:35px; }
}
.capture-expand{display:block;cursor:zoom-in;text-decoration:none}
.capture-expand:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.evidence-open{overflow:hidden}
.evidence-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#101b17;color:#fff;overflow:hidden}
.evidence-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.evidence-tools{display:flex;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff24}
.civic-site .evidence-tools p{margin-right:auto;font-size:.85rem;color:#d1dcd4}
.evidence-tools a,.evidence-tools button{color:#fff;font:inherit;font-size:.8rem;background:none;border:1px solid #ffffff40;padding:9px 13px;border-radius:4px;text-decoration:none;cursor:pointer}
.evidence-tools :is(a,button):focus-visible{outline:2px solid white;outline-offset:3px}
.evidence-stage{min-width:0;min-height:0;overflow:auto;display:flex;padding:24px}
.evidence-stage img{display:block;object-fit:contain;width:100%;height:100%;max-width:100%;max-height:100%;margin:auto}
.is-zoomed .evidence-stage img{width:auto;height:auto;max-width:none;max-height:none;flex-shrink:0;object-fit:initial}
.civic-site .evidence-caption{padding:15px 24px 20px;font-size:.8rem;line-height:1.5;color:#d1dcd4}
@media(max-width:760px){.evidence-tools{gap:8px;padding:12px}.evidence-tools p{display:none}.evidence-tools a,.evidence-tools button{font-size:.72rem;padding:10px}.evidence-stage{padding:10px}.evidence-caption{padding:12px;font-size:.72rem}}
@media(max-width:760px) {
  .civic-supporting .journal-index > span { flex-basis:100%; padding-bottom:0; }
  .civic-supporting :is(.wrap,.simple-page),.civic-supporting .page-hero .wrap,.civic-site.civic-supporting .simple-hero,.civic-supporting :is(.contact-layout,.research-nav,.cta) { width:calc(100% - 40px); }
  .civic-supporting .page-hero,.civic-site.civic-supporting .simple-hero { padding:34px 0 42px; }
  .civic-supporting .page-hero h1,.civic-site.civic-supporting .simple-hero h1 { font-size:clamp(2.65rem,9vw,4.3rem); line-height:1.06; }
  .civic-supporting .page-hero h1 br { display:initial; }
  .civic-supporting .page-hero .lede,.civic-site.civic-supporting .simple-hero>p { font-size:.97rem; margin-top:22px; }
  .civic-supporting .page-hero-content>.eyebrow { margin-bottom:21px; }
  .civic-supporting .hero-stats { gap:20px 12px; margin-top:28px; }
  .civic-supporting .hero-stats strong { font-size:1.6rem; }
  .civic-supporting .hero-stats span { font-size:.65rem; }
  .civic-supporting .month { grid-template-columns:minmax(0,1fr); gap:18px; }
  .civic-supporting .month-label { display:flex; align-items:baseline; gap:9px; padding-top:0; }
  .civic-supporting .month-label p { margin:0; }
  .civic-supporting .timeline { padding-top:8px; }
  .civic-supporting .entry { padding:25px 0 32px; }
  .civic-supporting .entry p { font-size:.94rem; }
  .civic-supporting .entry ul { font-size:.88rem; }
  .civic-supporting .entry-featured h3 { font-size:2.15rem; }
  .civic-supporting .showcase-card { flex:0 0 clamp(270px,82vw,340px); }
  .civic-supporting .journal-index { gap:6px 21px; font-size:.75rem; }
  .civic-supporting .journal-pair { grid-template-columns:minmax(0,1fr); gap:25px; }
  .civic-supporting .section { padding-block:44px; }
  .civic-supporting .section-head h2 { font-size:2.35rem; }
  .civic-supporting .prose { padding-bottom:68px; }
  .civic-supporting .prose h2 { font-size:1.4rem; margin-top:34px; }
  .civic-supporting .prose p { font-size:.94rem; }
  .civic-supporting .recorded { grid-template-columns:minmax(0,1fr); padding:24px; gap:27px; }
  .civic-supporting .device-row { gap:24px; }
  .civic-supporting .contact-layout { grid-template-columns:minmax(0,1fr); gap:35px; padding-bottom:65px; }
  .civic-supporting .form-row { grid-template-columns:minmax(0,1fr); }
  .civic-supporting .type-gallery { grid-template-columns:minmax(0,1fr); }
  .civic-supporting .cta { padding-top:32px; margin-bottom:35px; }
}
