:root {
  --cfcr-ink: var(--ta-text, #14213b);
  --cfcr-navy: var(--ta-title, var(--ta-text, #0b1730));
  --cfcr-paper: var(--ta-canvas, #fbfaf7);
  --cfcr-paper-deep: var(--ta-surface-alt, #f0ede5);
  --cfcr-surface: var(--ta-panel, var(--ta-surface-raised, #fff));
  --cfcr-surface-raised: var(--ta-panel-raised, var(--ta-surface-raised, #fff));
  --cfcr-purple: var(--ta-accent, #6f2c91);
  --cfcr-purple-dark: var(--ta-accent-strong, var(--ta-accent, #39124f));
  --cfcr-purple-soft: var(--ta-accent-soft, color-mix(in srgb, var(--cfcr-purple) 14%, transparent));
  --cfcr-line: var(--ta-line, #d7d2c8);
  --cfcr-muted: var(--ta-muted, #687184);
  --cfcr-copy: var(--ta-copy, #47536a);
  --cfcr-grid: var(--ta-mesh-line, color-mix(in srgb, var(--cfcr-purple) 7%, transparent));
  --cfcr-green: var(--ta-success, #16834d);
  --cfcr-red: var(--ta-danger, #ba2d35);
  --cfcr-gold: var(--ta-warning, #a66f0d);
  --cfcr-blue: var(--ta-info, #1e66a6);
  --cfcr-shadow: var(--ta-shadow-md, 0 18px 50px rgba(15, 24, 44, .09));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cfcr-paper); color: var(--cfcr-ink); }
.cfcr-site { min-height: 100vh; background: var(--cfcr-paper); }
.cfcr-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: start; min-height: calc(100vh - 80px); background: var(--cfcr-paper); }
.cfcr-sidebar { position: sticky; top: 0; height: 100vh; overflow: auto; color: #fff; background: linear-gradient(180deg,color-mix(in srgb,#081328 88%,var(--cfcr-purple)) 0%,color-mix(in srgb,#10162a 75%,var(--cfcr-purple)) 56%,color-mix(in srgb,#111426 58%,var(--cfcr-purple)) 100%); border-right: 1px solid color-mix(in srgb,var(--cfcr-purple) 34%,transparent); padding: 24px 18px 22px; z-index: 5; }
.cfcr-sidebar__brand { display: block; border-bottom: 1px solid rgba(255,255,255,.15); padding: 0 0 20px; margin-bottom: 18px; }
.cfcr-sidebar__brand img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,.28); }
.cfcr-nav__label { margin: 0 11px 9px; color: color-mix(in srgb,var(--cfcr-purple) 42%,#fff); font: 700 10px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .18em; }
.cfcr-nav ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 3px; }
.cfcr-nav a { display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px; border-radius: 7px; color: rgba(255,255,255,.78); text-decoration: none; font: 650 12px/1.25 ui-sans-serif,system-ui,sans-serif; transition: background .18s ease,color .18s ease,transform .18s ease; }
.cfcr-nav a b { color: color-mix(in srgb,var(--cfcr-purple) 58%,#fff); font-size: 9px; letter-spacing: .1em; }
.cfcr-nav a:hover { background: rgba(255,255,255,.08); color: #fff; transform: translateX(2px); }
.cfcr-nav a[aria-current="page"] { color: #fff; background: linear-gradient(90deg,color-mix(in srgb,var(--cfcr-purple) 66%,transparent),color-mix(in srgb,var(--cfcr-purple) 18%,transparent)); box-shadow: inset 3px 0 color-mix(in srgb,var(--cfcr-purple) 58%,#fff); }
.cfcr-nav a[aria-current="page"] b { color: #fff; }
.cfcr-sidebar__footer { border-top: 1px solid rgba(255,255,255,.14); margin-top: 20px; padding: 18px 10px 2px; display: grid; gap: 4px; }
.cfcr-sidebar__footer span { color: color-mix(in srgb,var(--cfcr-purple) 38%,#fff); font: 700 9px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .15em; }
.cfcr-sidebar__footer a { color: #fff; text-decoration: none; font: 800 13px/1.3 ui-sans-serif,system-ui,sans-serif; letter-spacing: .05em; }
.cfcr-sidebar__footer small { color: color-mix(in srgb,var(--cfcr-purple) 20%,#fff); font: 500 10px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-page { min-width: 0; overflow: hidden; }
.cfcr-mobile-bar,.cfcr-mobile-navigation { display: none; }

.cfcr-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.65fr); align-items: center; gap: clamp(38px,6vw,88px); min-height: calc(100svh - 88px); padding: clamp(30px,4vw,56px) clamp(38px,7vw,112px); background: radial-gradient(circle at 84% 24%,color-mix(in srgb,var(--cfcr-purple) 15%,transparent),transparent 31%),linear-gradient(135deg,var(--cfcr-surface-raised) 0%,var(--cfcr-surface) 61%,var(--cfcr-purple-soft) 100%); border-bottom: 1px solid var(--cfcr-line); }
.cfcr-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(var(--cfcr-grid) 1px,transparent 1px),linear-gradient(90deg,var(--cfcr-grid) 1px,transparent 1px); background-size: 36px 36px; mask-image: linear-gradient(90deg,black,transparent 80%); }
.cfcr-hero__content,.cfcr-hero__identity { position: relative; z-index: 1; }
.cfcr-kicker { display: flex; gap: 10px; align-items: center; margin: 0 0 15px; color: var(--cfcr-purple); font: 800 10px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.cfcr-kicker b { border-left: 1px solid var(--cfcr-line); padding-left: 10px; color: var(--cfcr-muted); }
.cfcr-hero h1 { max-width: 790px; margin: 0; color: var(--cfcr-navy); font: 700 clamp(46px,6.4vw,88px)/.96 Georgia,"Times New Roman",serif; letter-spacing: -.045em; }
.cfcr-hero h1 em { display: block; margin-top: 9px; color: var(--cfcr-purple); font-style: normal; }
.cfcr-hero__lead { max-width: 720px; margin: 26px 0 30px; color: var(--cfcr-copy); font: 450 clamp(17px,1.55vw,22px)/1.62 ui-sans-serif,system-ui,sans-serif; }
.cfcr-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.cfcr-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 19px; border: 1px solid transparent; border-radius: 6px; text-decoration: none; font: 750 12px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .025em; }
.cfcr-button--primary { color: #fff; background: var(--cfcr-purple); box-shadow: 0 9px 20px color-mix(in srgb,var(--cfcr-purple) 24%,transparent); }
.cfcr-button--secondary { color: var(--cfcr-ink); background: var(--cfcr-surface-raised); border-color: var(--cfcr-line); }
.cfcr-button--light { color: var(--cfcr-purple-dark); background: var(--cfcr-surface-raised); }
.cfcr-hero__identity { align-self: center; margin: 0; text-align: center; transform: translateY(clamp(-44px,-3vw,-22px)); }
.cfcr-hero__identity img { display: block; width: min(100%,580px); height: auto; margin-inline: auto; border-radius: 16px; box-shadow: 0 32px 80px color-mix(in srgb,var(--cfcr-purple) 24%,transparent); }
.cfcr-hero__identity figcaption { margin-top: 15px; color: var(--cfcr-muted); font: 700 10px/1.4 ui-sans-serif,system-ui,sans-serif; letter-spacing: .13em; text-transform: uppercase; }

.cfcr-search { position: relative; max-width: 740px; }
.cfcr-search > label { display: block; margin-bottom: 8px; color: var(--cfcr-ink); font: 750 12px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-search__row { display: grid; grid-template-columns: minmax(0,1fr) auto; padding: 5px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-search input { min-width: 0; border: 0; outline: 0; padding: 13px 15px; color: var(--cfcr-ink); background: transparent; font: 500 15px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-search button { border: 0; border-radius: 5px; padding: 0 19px; color: #fff; background: var(--cfcr-navy); font: 750 12px/1.2 ui-sans-serif,system-ui,sans-serif; cursor: pointer; }
.cfcr-search > p { margin: 7px 2px 0; color: var(--cfcr-muted); font: 500 11px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-search__suggestions { position: absolute; left: 0; right: 0; top: calc(100% - 20px); z-index: 8; overflow: hidden; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-search__suggestions a { display: flex; justify-content: space-between; gap: 14px; padding: 12px 15px; color: var(--cfcr-ink); text-decoration: none; border-bottom: 1px solid var(--cfcr-line); font: 650 12px/1.35 ui-sans-serif,system-ui,sans-serif; }
.cfcr-search__suggestions a:hover { background: var(--cfcr-purple-soft); }
.cfcr-search__suggestions a span { color: var(--cfcr-muted); font-weight: 500; }

.cfcr-section { width: min(100% - clamp(44px,8vw,128px),1320px); margin-inline: auto; padding-block: clamp(58px,7vw,96px); }
.cfcr-section + .cfcr-section { border-top: 1px solid var(--cfcr-line); }
.cfcr-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 28px; }
.cfcr-section-heading h2,.cfcr-panel h2 { margin: 0; color: var(--cfcr-navy); font: 700 clamp(31px,3.2vw,48px)/1.08 Georgia,"Times New Roman",serif; letter-spacing: -.025em; }
.cfcr-section-heading > a,.cfcr-panel__heading > a { color: var(--cfcr-purple); font: 750 12px/1.3 ui-sans-serif,system-ui,sans-serif; text-decoration: none; }
.cfcr-stat-grid { display: grid; grid-template-columns: repeat(7,minmax(110px,1fr)); border: 1px solid var(--cfcr-line); border-radius: 10px; overflow: hidden; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-stat { min-height: 128px; padding: 22px 17px; border-right: 1px solid var(--cfcr-line); border-top: 4px solid var(--cfcr-muted); }
.cfcr-stat:last-child { border-right: 0; }
.cfcr-stat strong { display: block; color: var(--cfcr-navy); font: 700 clamp(29px,3vw,43px)/1 Georgia,"Times New Roman",serif; }
.cfcr-stat span { display: block; margin-top: 9px; color: var(--cfcr-muted); font: 700 10px/1.35 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.cfcr-stat[data-status="APPROVES"] { border-top-color: var(--cfcr-green); }
.cfcr-stat[data-status="OPPOSES"],.cfcr-stat[data-status="NO RESPONSE"] { border-top-color: var(--cfcr-red); }
.cfcr-stat[data-status="UNDECIDED"] { border-top-color: var(--cfcr-purple); }
.cfcr-stat[data-status="NO POSITION"] { border-top-color: var(--cfcr-gold); }
.cfcr-stat--total { border-top-color: var(--cfcr-navy); background: var(--cfcr-paper-deep); }
.cfcr-stat--pending { border-top-color: var(--cfcr-purple); }
.cfcr-data-note { margin: 14px 2px 0; color: var(--cfcr-muted); font: 500 12px/1.5 ui-sans-serif,system-ui,sans-serif; }

.cfcr-status-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.cfcr-status-grid article { min-height: 190px; padding: 24px 21px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }
.cfcr-status-dot { display: block; width: 11px; height: 11px; margin-bottom: 24px; border-radius: 50%; background: var(--cfcr-muted); box-shadow: 0 0 0 5px rgba(104,113,132,.1); }
[data-status="APPROVES"] .cfcr-status-dot { background: var(--cfcr-green); box-shadow: 0 0 0 5px rgba(22,131,77,.1); }
[data-status="OPPOSES"] .cfcr-status-dot,[data-status="NO RESPONSE"] .cfcr-status-dot { background: var(--cfcr-red); box-shadow: 0 0 0 5px rgba(186,45,53,.1); }
[data-status="UNDECIDED"] .cfcr-status-dot { background: var(--cfcr-purple); box-shadow: 0 0 0 5px color-mix(in srgb,var(--cfcr-purple) 12%,transparent); }
[data-status="NO POSITION"] .cfcr-status-dot { background: var(--cfcr-gold); box-shadow: 0 0 0 5px rgba(166,111,13,.1); }
.cfcr-status-grid h3 { margin: 0 0 8px; color: var(--cfcr-navy); font: 750 17px/1.2 ui-sans-serif,system-ui,sans-serif; }
.cfcr-status-grid p { margin: 0; color: var(--cfcr-muted); font: 450 13px/1.58 ui-sans-serif,system-ui,sans-serif; }

.cfcr-home-columns { display: grid; grid-template-columns: 1.1fr .9fr; gap: 22px; }
.cfcr-panel { min-height: 400px; padding: clamp(28px,4vw,46px); border: 1px solid var(--cfcr-line); border-radius: 10px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-panel--purple { display: flex; flex-direction: column; align-items: flex-start; color: #fff; background: linear-gradient(145deg,color-mix(in srgb,var(--cfcr-purple-dark) 76%,#081328),color-mix(in srgb,var(--cfcr-purple) 72%,#10162a) 64%,var(--cfcr-purple)); border: 0; }
.cfcr-panel--purple .cfcr-kicker,.cfcr-panel--purple h2 { color: #fff; }
.cfcr-panel--purple p:not(.cfcr-kicker) { max-width: 570px; margin: 20px 0 26px; color: rgba(255,255,255,.82); font: 450 15px/1.72 ui-sans-serif,system-ui,sans-serif; }
.cfcr-panel--purple .cfcr-button { margin-top: auto; }
.cfcr-panel__heading { display: flex; justify-content: space-between; align-items: end; gap: 15px; padding-bottom: 22px; border-bottom: 1px solid var(--cfcr-line); }
.cfcr-feed { display: grid; }
.cfcr-feed-item { padding: 20px 0; border-bottom: 1px solid var(--cfcr-line); }
.cfcr-feed-item > div { display: flex; align-items: center; gap: 10px; }
.cfcr-feed-item time { color: var(--cfcr-muted); font: 650 10px/1.2 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.cfcr-feed-item h3 { margin: 8px 0 6px; font: 750 18px/1.25 ui-sans-serif,system-ui,sans-serif; }
.cfcr-feed-item h3 a { color: var(--cfcr-ink); text-decoration: none; }
.cfcr-feed-item p { margin: 0; color: var(--cfcr-muted); font: 450 13px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-badge { display: inline-flex; padding: 4px 7px; border-radius: 999px; color: #fff; background: var(--cfcr-muted); font: 800 8px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .06em; }
.cfcr-badge[data-status="APPROVES"] { background: var(--cfcr-green); }
.cfcr-badge[data-status="OPPOSES"],.cfcr-badge[data-status="NO RESPONSE"] { background: var(--cfcr-red); }
.cfcr-badge[data-status="UNDECIDED"] { background: var(--cfcr-purple); }
.cfcr-badge[data-status="NO POSITION"] { background: var(--cfcr-gold); }
.cfcr-badge[data-status="PENDING"] { background: var(--cfcr-purple); }
.cfcr-empty { display: grid; gap: 7px; padding: 32px 0; color: var(--cfcr-muted); font: 450 13px/1.55 ui-sans-serif,system-ui,sans-serif; }
.cfcr-empty strong { color: var(--cfcr-ink); font-size: 15px; }

.cfcr-link-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.cfcr-link-grid a { min-height: 174px; display: grid; align-content: start; padding: 23px; border: 1px solid var(--cfcr-line); border-radius: 8px; color: var(--cfcr-ink); background: var(--cfcr-surface-raised); text-decoration: none; transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.cfcr-link-grid a:hover { border-color: var(--cfcr-purple); transform: translateY(-2px); box-shadow: var(--cfcr-shadow); }
.cfcr-link-grid b { margin-bottom: 25px; color: var(--cfcr-purple); font: 800 10px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .12em; }
.cfcr-link-grid strong { font: 750 17px/1.25 ui-sans-serif,system-ui,sans-serif; }
.cfcr-link-grid span { margin-top: 7px; color: var(--cfcr-muted); font: 450 13px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-footer { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 30px clamp(24px,6vw,84px); border-top: 1px solid var(--cfcr-line); color: var(--cfcr-muted); background: var(--cfcr-paper-deep); font: 500 11px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-footer a { color: var(--cfcr-purple-dark); text-decoration: none; }
.cfcr-footer nav { display: flex; gap: 18px; }

.cfcr-status-visual { width: 280px; max-width: 100%; color: var(--cfcr-muted); }
.cfcr-status-visual[data-status="APPROVES"] { color: var(--cfcr-green); }
.cfcr-status-visual[data-status="OPPOSES"],.cfcr-status-visual[data-status="NO RESPONSE"] { color: var(--cfcr-red); }
.cfcr-status-visual[data-status="UNDECIDED"] { color: var(--cfcr-purple); }
.cfcr-status-visual[data-status="PENDING"] { color: var(--cfcr-purple); }
.cfcr-status-visual svg { display: block; width: 100%; height: auto; overflow: visible; }
.cfcr-status-visual__shape,.cfcr-status-visual__mark { fill: none; stroke: currentColor; stroke-width: 15; stroke-linecap: round; stroke-linejoin: round; }
.cfcr-status-visual__shape { stroke-dasharray: 780; stroke-dashoffset: 780; animation: cfcr-draw 1s ease-out 2.4s forwards; }
.cfcr-status-visual__mark { stroke-dasharray: 260; stroke-dashoffset: 260; animation: cfcr-draw .72s ease-out 3.35s forwards; }
@keyframes cfcr-draw { to { stroke-dashoffset: 0; } }

.cfcr-page-hero { padding: clamp(54px,7vw,92px) clamp(34px,7vw,100px) clamp(42px,5vw,68px); color: #fff; background: radial-gradient(circle at 88% 30%,color-mix(in srgb,var(--cfcr-purple) 38%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--cfcr-navy) 92%,#081328),color-mix(in srgb,var(--cfcr-purple-dark) 68%,#10162a) 63%,color-mix(in srgb,var(--cfcr-purple) 58%,#111426)); border-bottom: 4px solid var(--cfcr-purple); }
.cfcr-page-hero .cfcr-kicker { color: color-mix(in srgb,var(--cfcr-purple) 42%,#fff); }
.cfcr-page-hero h1 { max-width: 940px; margin: 0; color: #fff; font: 700 clamp(44px,5.5vw,76px)/1 Georgia,"Times New Roman",serif; letter-spacing: -.04em; }
.cfcr-page-hero > p:last-of-type { max-width: 820px; margin: 20px 0 0; color: rgba(255,255,255,.78); font: 450 clamp(16px,1.4vw,20px)/1.62 ui-sans-serif,system-ui,sans-serif; }
.cfcr-page-hero--congress { position: relative; isolation: isolate; overflow: hidden; display: flex; min-height: clamp(410px,35vw,520px); flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.cfcr-page-hero--congress::after { content: ""; position: absolute; z-index: 0; inset: 0; pointer-events: none; background: url("/cfcr/assets/congress-hero-blueprint.png") center / cover no-repeat; filter: brightness(1.22) contrast(1.08); }
.cfcr-page-hero--congress::before { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(8,3,20,.32),rgba(8,3,20,.03) 24%,rgba(8,3,20,.08) 72%,rgba(8,3,20,.42)),radial-gradient(ellipse at 50% 49%,rgba(10,4,25,.68),rgba(12,5,29,.38) 34%,rgba(12,5,29,.06) 64%,transparent 78%); }
.cfcr-page-hero--congress > * { position: relative; z-index: 2; }
.cfcr-page-hero--congress h1 { max-width: 760px; text-shadow: 0 3px 18px rgba(0,0,0,.76); }
.cfcr-page-hero--congress > p:last-of-type { max-width: 670px; margin-inline: auto; color: rgba(255,255,255,.88); text-shadow: 0 2px 12px rgba(0,0,0,.78); }
.cfcr-page-hero__art-credit { position: absolute; right: 22px; bottom: 15px; color: rgba(255,255,255,.48); font: 700 8px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .12em; text-transform: uppercase; text-shadow: 0 1px 4px rgba(0,0,0,.75); }
.cfcr-page-body { width: min(100% - clamp(38px,7vw,108px),1320px); min-height: 520px; margin-inline: auto; padding-block: clamp(48px,6vw,82px); }
.cfcr-controls { padding: 22px; border: 1px solid var(--cfcr-line); border-radius: 9px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-controls form { display: grid; grid-template-columns: minmax(210px,1.6fr) repeat(4,minmax(130px,1fr)) auto auto; align-items: end; gap: 11px; }
.cfcr-field { display: grid; gap: 7px; }
.cfcr-field span { color: var(--cfcr-muted); font: 750 9px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.cfcr-field :is(input,select) { width: 100%; min-height: 46px; border: 1px solid var(--cfcr-line); border-radius: 5px; padding: 10px 12px; color: var(--cfcr-ink); background: var(--cfcr-surface-raised); font: 550 12px/1.2 ui-sans-serif,system-ui,sans-serif; }
.cfcr-directory { padding-top: 40px; scroll-margin-top: 24px; }
.cfcr-directory__heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 20px; }
.cfcr-directory__heading h2 { margin: 0; font: 700 30px/1.1 Georgia,"Times New Roman",serif; }
.cfcr-directory__heading p { margin: 0; color: var(--cfcr-muted); font: 600 11px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-member-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.cfcr-member-card { overflow: hidden; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-member-card__portrait { position: relative; display: grid; place-items: center; aspect-ratio: 5/4; overflow: hidden; color: var(--cfcr-purple); background: linear-gradient(145deg,var(--cfcr-paper-deep),var(--cfcr-surface)); text-decoration: none; font: 800 34px/1 Georgia,serif; }
.cfcr-member-card__portrait img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.cfcr-member-card__portrait.has-missing-image img { display: none; }
.cfcr-member-card__portrait > span { position: absolute; }
.cfcr-member-card__body { display: grid; align-content: start; min-height: 235px; padding: 19px; }
.cfcr-member-card__body .cfcr-badge { justify-self: start; }
.cfcr-member-card h2 { margin: 13px 0 6px; font: 750 19px/1.16 ui-sans-serif,system-ui,sans-serif; }
.cfcr-member-card h2 a { color: var(--cfcr-ink); text-decoration: none; }
.cfcr-member-card p { margin: 0; color: var(--cfcr-muted); font: 550 12px/1.45 ui-sans-serif,system-ui,sans-serif; }
.cfcr-member-card small { margin-top: 4px; color: var(--cfcr-muted); font: 500 11px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-member-card__open { align-self: end; margin-top: 20px; color: var(--cfcr-purple); text-decoration: none; font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 28px; }
.cfcr-pagination button,.cfcr-tablist button { min-height: 42px; border: 1px solid var(--cfcr-line); border-radius: 5px; padding: 9px 15px; color: var(--cfcr-ink); background: var(--cfcr-surface-raised); font: 700 11px/1.2 ui-sans-serif,system-ui,sans-serif; cursor: pointer; }
.cfcr-pagination button:disabled { opacity: .45; cursor: default; }
.cfcr-pagination span { color: var(--cfcr-muted); font: 650 11px/1.2 ui-sans-serif,system-ui,sans-serif; }

.cfcr-breadcrumb { display: flex; align-items: center; gap: 9px; margin-bottom: 25px; color: var(--cfcr-muted); font: 650 11px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-breadcrumb a { color: var(--cfcr-purple); text-decoration: none; }
.cfcr-record-loading,.cfcr-error { min-height: 420px; display: grid; place-items: center; color: var(--cfcr-muted); font: 650 14px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-record-hero { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 18px; }
.cfcr-record-identity,.cfcr-record-status,.cfcr-record-card { border: 1px solid var(--cfcr-line); border-radius: 10px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-record-identity { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: clamp(25px,4vw,50px); align-items: center; padding: clamp(25px,4vw,46px); }
.cfcr-portrait { position: relative; display: grid; place-items: center; overflow: hidden; margin: 0; aspect-ratio: 4/5; border-radius: 8px; color: var(--cfcr-purple); background: var(--cfcr-paper-deep); }
.cfcr-portrait img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.cfcr-portrait.has-missing-image img { display: none; }
.cfcr-record-identity h2 { margin: 0; color: var(--cfcr-navy); font: 700 clamp(38px,4vw,64px)/1 Georgia,"Times New Roman",serif; letter-spacing: -.035em; }
.cfcr-record-identity > div > p:not(.cfcr-kicker) { color: var(--cfcr-muted); font: 550 15px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-member-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 23px; }
.cfcr-record-status { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; text-align: center; }
.cfcr-record-status .cfcr-kicker { justify-content: center; }
.cfcr-record-status > strong { font: 800 24px/1.15 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; letter-spacing: .05em; }
.cfcr-record-status > strong[data-status="APPROVES"] { color: var(--cfcr-green); }
.cfcr-record-status > strong[data-status="OPPOSES"],.cfcr-record-status > strong[data-status="NO RESPONSE"] { color: var(--cfcr-red); }
.cfcr-record-status > strong[data-status="UNDECIDED"] { color: var(--cfcr-purple); }
.cfcr-record-status > strong[data-status="NO POSITION"] { color: var(--cfcr-gold); }
.cfcr-record-status > strong[data-status="PENDING"] { color: var(--cfcr-purple); }
.cfcr-record-status > p:last-child { max-width: 310px; color: var(--cfcr-muted); font: 500 12px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-record-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.cfcr-record-card { min-height: 320px; padding: clamp(25px,3vw,38px); }
.cfcr-record-card h2,.cfcr-campaign-media h2 { margin: 0 0 22px; font: 700 31px/1.12 Georgia,"Times New Roman",serif; }
.cfcr-prose { color: var(--cfcr-copy); font: 450 14px/1.7 ui-sans-serif,system-ui,sans-serif; }
.cfcr-prose h3 { margin: 22px 0 8px; color: var(--cfcr-ink); font-size: 14px; }
.cfcr-prose blockquote { margin: 15px 0; padding: 15px 18px; border-left: 4px solid var(--cfcr-purple); background: var(--cfcr-purple-soft); }
.cfcr-record-card dl { margin: 0; }
.cfcr-record-card dl > div { display: grid; grid-template-columns: 130px 1fr; gap: 15px; padding: 10px 0; border-bottom: 1px solid var(--cfcr-line); }
.cfcr-record-card dt { color: var(--cfcr-muted); font: 750 10px/1.4 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; letter-spacing: .07em; }
.cfcr-record-card dd { margin: 0; font: 550 12px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-timeline article { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding: 16px 0; border-top: 1px solid var(--cfcr-line); }
.cfcr-timeline time { color: var(--cfcr-purple); font: 750 10px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-timeline strong { font: 750 13px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-timeline p { margin: 5px 0 0; color: var(--cfcr-muted); font: 450 12px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-document-row { display: flex; justify-content: space-between; gap: 18px; padding: 15px 0; border-bottom: 1px solid var(--cfcr-line); }
.cfcr-document-row div { display: grid; gap: 4px; }
.cfcr-document-row small { color: var(--cfcr-muted); font: 750 9px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .08em; }
.cfcr-document-row a { color: var(--cfcr-purple); font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; text-decoration: none; }
.cfcr-campaign-media { display: grid; grid-template-columns: minmax(230px,.6fr) minmax(300px,1fr); align-items: center; gap: clamp(30px,6vw,80px); margin-top: 18px; padding: clamp(28px,5vw,58px); border: 1px solid var(--cfcr-line); border-radius: 10px; background: linear-gradient(140deg,var(--cfcr-paper-deep),var(--cfcr-surface-raised)); }
.cfcr-campaign-media > div > p:last-child { color: var(--cfcr-muted); font: 450 14px/1.6 ui-sans-serif,system-ui,sans-serif; }
.cfcr-poster-slot { margin: 0; overflow: hidden; border-radius: 8px; background: #10182c; box-shadow: 0 20px 55px rgba(11,23,48,.19); }
.cfcr-poster-slot > img { display: block; width: 100%; height: auto; }
.cfcr-poster-placeholder { position: relative; display: grid; grid-template-columns: .48fr .52fr; min-height: 430px; color: #fff; background: radial-gradient(circle at 70% 30%,#273b62,#0a1427 56%,#050b16); }
.cfcr-poster-placeholder > img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.78) contrast(1.05); mask-image: linear-gradient(90deg,#000 76%,transparent); }
.cfcr-poster-placeholder figcaption { display: flex; flex-direction: column; justify-content: center; padding: 28px 26px 28px 6px; }
.cfcr-poster-placeholder small { color: #9eb1d0; font: 800 10px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .12em; }
.cfcr-poster-placeholder strong { margin: 9px 0 20px; font: 800 clamp(28px,4vw,58px)/.92 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; }
.cfcr-poster-placeholder span { align-self: stretch; margin-left: -42%; padding: 14px 18px; color: #fff; background: var(--cfcr-muted); font: 900 clamp(25px,4vw,55px)/1 ui-sans-serif,system-ui,sans-serif; text-transform: uppercase; transform: rotate(-2deg); box-shadow: 0 7px 0 rgba(0,0,0,.18); }
.cfcr-poster-placeholder[data-status="APPROVES"] span { background: var(--cfcr-green); }
.cfcr-poster-placeholder[data-status="NO RESPONSE"] span,.cfcr-poster-placeholder[data-status="OPPOSES"] span { background: var(--cfcr-red); }
.cfcr-poster-placeholder b { margin-top: 24px; color: #c6d4e8; font: 900 17px/1.15 ui-sans-serif,system-ui,sans-serif; }
.cfcr-poster-placeholder em { margin-top: 9px; color: #91a0b8; font: 650 10px/1.3 ui-sans-serif,system-ui,sans-serif; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.cfcr-record-actions { display: flex; align-items: center; gap: 12px; padding-top: 24px; }
.cfcr-record-actions > span { margin-left: auto; color: var(--cfcr-muted); font: 600 10px/1.3 ui-sans-serif,system-ui,sans-serif; }

.cfcr-scorecard > .cfcr-stat-grid { margin-bottom: 20px; }
.cfcr-tablist { display: flex; gap: 7px; margin: 35px 0 13px; }
.cfcr-tablist button[aria-selected="true"] { color: #fff; background: var(--cfcr-purple); border-color: var(--cfcr-purple); }
.cfcr-scorecard-table { overflow-x: auto; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }
.cfcr-scorecard-table table { width: 100%; border-collapse: collapse; font: 550 11px/1.4 ui-sans-serif,system-ui,sans-serif; }
.cfcr-scorecard-table :is(th,td) { padding: 13px 14px; border-bottom: 1px solid var(--cfcr-line); text-align: right; white-space: nowrap; }
.cfcr-scorecard-table :is(th,td):first-child { text-align: left; }
.cfcr-scorecard-table thead th { color: var(--cfcr-muted); background: var(--cfcr-paper-deep); font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.cfcr-map-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.45fr); gap: 24px; }
.cfcr-map-main { min-width: 0; }
.cfcr-map-toolbar { display: grid; grid-template-columns: minmax(240px,1fr) auto; align-items: end; gap: 12px; margin-bottom: 14px; padding: 16px; border: 1px solid var(--cfcr-line); border-radius: 9px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-map-toolbar .cfcr-button { min-height: 46px; }
.cfcr-map-legend { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 14px; }
.cfcr-map-legend span { display: inline-flex; align-items: center; gap: 6px; color: var(--cfcr-muted); font: 700 9px/1.2 ui-sans-serif,system-ui,sans-serif; }
.cfcr-map-legend span::before { content: ""; width: 9px; height: 9px; border-radius: 2px; background: var(--cfcr-muted); }
.cfcr-map-legend [data-status="APPROVES"]::before { background: var(--cfcr-green); }.cfcr-map-legend [data-status="OPPOSES"]::before,.cfcr-map-legend [data-status="NO RESPONSE"]::before { background: var(--cfcr-red); }.cfcr-map-legend [data-status="UNDECIDED"]::before,.cfcr-map-legend [data-status="PENDING"]::before { background: var(--cfcr-purple); }.cfcr-map-legend [data-status="NO POSITION"]::before { background: var(--cfcr-gold); }
.cfcr-state-map-shell { position: relative; overflow: hidden; border: 1px solid var(--cfcr-line); border-radius: 9px; background: linear-gradient(145deg,var(--cfcr-surface),var(--cfcr-surface-raised)); box-shadow: var(--cfcr-shadow); }
.cfcr-state-map { width: 100%; min-height: 620px; }
.cfcr-state-map-shell > p { margin: 0; padding: 11px 18px 14px; border-top: 1px solid var(--cfcr-line); color: var(--cfcr-muted); background: var(--cfcr-surface-raised); font: 600 9px/1.45 ui-sans-serif,system-ui,sans-serif; letter-spacing: .04em; text-align: center; }
.cfcr-map-loading { position: absolute; z-index: 2; inset: 16px 16px 48px; display: grid; align-content: center; justify-items: center; gap: 8px; padding: 25px; background: color-mix(in srgb,var(--cfcr-surface-raised) 95%,transparent); text-align: center; backdrop-filter: blur(8px); }
.cfcr-map-loading > span { width: 72px; height: 72px; margin-bottom: 10px; border: 2px solid var(--cfcr-line); border-top-color: var(--cfcr-purple); border-right-color: var(--cfcr-purple); border-radius: 50%; box-shadow: 0 0 24px color-mix(in srgb,var(--cfcr-purple) 22%,transparent); animation: cfcr-map-spin 1.15s linear infinite; }
.cfcr-map-loading strong { color: var(--cfcr-ink); font: 750 17px/1.3 ui-sans-serif,system-ui,sans-serif; }
.cfcr-map-loading small { max-width: 430px; color: var(--cfcr-muted); font: 500 11px/1.5 ui-sans-serif,system-ui,sans-serif; }
.cfcr-state-map-shell[data-map-status="ready"] .cfcr-map-loading { display: none; }
.cfcr-state-map-shell[data-map-status="error"] .cfcr-state-map { opacity: .16; }
.cfcr-state-map-shell[data-map-status="error"] .cfcr-map-loading > span { border-color: var(--cfcr-red); animation: none; }
@keyframes cfcr-map-spin { to { transform: rotate(1turn); } }
.cfcr-map-detail { align-self: start; position: sticky; top: 18px; min-height: 620px; padding: 30px; border: 1px solid var(--cfcr-line); border-radius: 9px; background: var(--cfcr-surface-raised); box-shadow: var(--cfcr-shadow); }
.cfcr-map-detail h2 { margin: 0; font: 700 34px/1.1 Georgia,"Times New Roman",serif; }.cfcr-map-detail > p:not(.cfcr-kicker) { color: var(--cfcr-muted); font: 500 13px/1.6 ui-sans-serif,system-ui,sans-serif; }
.cfcr-map-counts { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 22px 0; }.cfcr-map-counts span { display: grid; padding: 10px; border: 1px solid var(--cfcr-line); border-left: 3px solid var(--cfcr-muted); border-radius: 5px; color: var(--cfcr-muted); font: 700 9px/1.2 ui-sans-serif,system-ui,sans-serif; }.cfcr-map-counts span[data-status="APPROVES"] { border-left-color: var(--cfcr-green); }.cfcr-map-counts span[data-status="OPPOSES"],.cfcr-map-counts span[data-status="NO RESPONSE"] { border-left-color: var(--cfcr-red); }.cfcr-map-counts span[data-status="UNDECIDED"] { border-left-color: var(--cfcr-purple); }.cfcr-map-counts span[data-status="NO POSITION"] { border-left-color: var(--cfcr-gold); }.cfcr-map-counts b { color: var(--cfcr-ink); font-size: 18px; }

.cfcr-feed-page { display: grid; gap: 12px; max-width: 940px; }.cfcr-feed-page > article { padding: 25px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-feed-page > article > div { display: flex; align-items: center; gap: 10px; }.cfcr-feed-page time { color: var(--cfcr-muted); font: 700 9px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .08em; text-transform: uppercase; }.cfcr-feed-page h2 { margin: 10px 0 6px; font: 700 25px/1.15 Georgia,"Times New Roman",serif; }.cfcr-feed-page h2 a { color: var(--cfcr-ink); text-decoration: none; }.cfcr-feed-page p { margin: 0; color: var(--cfcr-muted); font: 450 13px/1.6 ui-sans-serif,system-ui,sans-serif; }.cfcr-feed-page small { display: block; margin-top: 13px; color: var(--cfcr-purple); font: 750 9px/1.2 ui-sans-serif,system-ui,sans-serif; }
.cfcr-principle-grid,.cfcr-method-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.cfcr-principle-grid article,.cfcr-method-steps article { min-height: 225px; padding: 27px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-principle-grid b,.cfcr-method-steps b { color: var(--cfcr-purple); font: 850 10px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .12em; }.cfcr-principle-grid h2,.cfcr-method-steps h2 { margin: 33px 0 10px; font: 700 25px/1.12 Georgia,"Times New Roman",serif; }.cfcr-principle-grid p,.cfcr-method-steps p { margin: 0; color: var(--cfcr-muted); font: 450 13px/1.62 ui-sans-serif,system-ui,sans-serif; }
.cfcr-callout { margin-top: 22px; padding: clamp(32px,5vw,62px); border-radius: 10px; color: #fff; background: linear-gradient(135deg,color-mix(in srgb,var(--cfcr-navy) 90%,#081328),color-mix(in srgb,var(--cfcr-purple) 64%,#10162a)); }.cfcr-callout .cfcr-kicker,.cfcr-callout h2 { color: #fff; }.cfcr-callout h2 { max-width: 850px; margin: 0; font: 700 clamp(32px,4vw,54px)/1.08 Georgia,"Times New Roman",serif; }.cfcr-callout > p:not(.cfcr-kicker) { max-width: 850px; color: rgba(255,255,255,.8); font: 450 14px/1.7 ui-sans-serif,system-ui,sans-serif; }.cfcr-callout .cfcr-button { margin-top: 10px; }
.cfcr-brief-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; }.cfcr-document-card { padding: 36px; color: #fff; background: linear-gradient(145deg,color-mix(in srgb,var(--cfcr-navy) 90%,#081328),color-mix(in srgb,var(--cfcr-purple) 58%,#10162a)); border-radius: 9px; }.cfcr-document-card .cfcr-kicker,.cfcr-document-card h2 { color: #fff; }.cfcr-document-card h2 { margin: 0; font: 700 38px/1.08 Georgia,"Times New Roman",serif; }.cfcr-document-card > p:not(.cfcr-kicker) { color: rgba(255,255,255,.75); font: 450 13px/1.65 ui-sans-serif,system-ui,sans-serif; }.cfcr-button--disabled { color: var(--cfcr-muted); background: var(--cfcr-paper-deep); cursor: not-allowed; }.cfcr-brief-points { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.cfcr-brief-points article { padding: 25px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-brief-points b { color: var(--cfcr-purple); font: 800 9px/1 ui-sans-serif,system-ui,sans-serif; }.cfcr-brief-points h3 { margin: 24px 0 8px; font: 750 18px/1.2 ui-sans-serif,system-ui,sans-serif; }.cfcr-brief-points p { margin: 0; color: var(--cfcr-muted); font: 450 12px/1.6 ui-sans-serif,system-ui,sans-serif; }
.cfcr-policy-list { display: grid; gap: 12px; max-width: 980px; }.cfcr-policy-list article { padding: 28px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-policy-list article > div { display: flex; justify-content: space-between; gap: 18px; }.cfcr-policy-list :is(span,time) { color: var(--cfcr-purple); font: 800 9px/1.2 ui-sans-serif,system-ui,sans-serif; letter-spacing: .09em; }.cfcr-policy-list h2 { margin: 18px 0 10px; font: 700 27px/1.13 Georgia,"Times New Roman",serif; }.cfcr-policy-list p,.cfcr-source-note { color: var(--cfcr-muted); font: 450 13px/1.65 ui-sans-serif,system-ui,sans-serif; }.cfcr-policy-list a { color: var(--cfcr-purple); font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; text-decoration: none; }.cfcr-source-note { max-width: 900px; margin-top: 20px; }
.cfcr-news-layout { display: grid; grid-template-columns: 1fr 340px; gap: 20px; }.cfcr-news-grid { display: grid; gap: 12px; }.cfcr-news-grid > article { padding: 28px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-news-grid h2 { margin: 0; font: 700 28px/1.1 Georgia,"Times New Roman",serif; }.cfcr-news-grid p:not(.cfcr-kicker) { color: var(--cfcr-muted); font: 450 13px/1.6 ui-sans-serif,system-ui,sans-serif; }.cfcr-news-grid a { color: var(--cfcr-purple); font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; text-decoration: none; }.cfcr-media-desk { align-self: start; position: sticky; top: 18px; padding: 30px; border-radius: 9px; color: #fff; background: linear-gradient(145deg,color-mix(in srgb,var(--cfcr-navy) 90%,#081328),color-mix(in srgb,var(--cfcr-purple) 58%,#10162a)); }.cfcr-media-desk .cfcr-kicker,.cfcr-media-desk h2 { color: #fff; }.cfcr-media-desk h2 { margin: 0; font: 700 32px/1.1 Georgia,"Times New Roman",serif; }.cfcr-media-desk ul { padding-left: 18px; color: rgba(255,255,255,.8); font: 450 12px/1.75 ui-sans-serif,system-ui,sans-serif; }
.cfcr-method-rules { margin-top: 20px; padding: 34px; border: 1px solid var(--cfcr-line); border-radius: 9px; background: var(--cfcr-surface-raised); }.cfcr-method-rules h2 { margin: 0 0 24px; font: 700 34px/1.1 Georgia,"Times New Roman",serif; }.cfcr-method-rules dl { margin: 0; }.cfcr-method-rules dl > div { display: grid; grid-template-columns: 160px 1fr; gap: 25px; padding: 15px 0; border-top: 1px solid var(--cfcr-line); }.cfcr-method-rules dt { font: 800 12px/1.4 ui-sans-serif,system-ui,sans-serif; }.cfcr-method-rules dd { margin: 0; color: var(--cfcr-muted); font: 450 13px/1.55 ui-sans-serif,system-ui,sans-serif; }
.cfcr-about-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.cfcr-about-grid article { min-height: 310px; padding: 31px; border: 1px solid var(--cfcr-line); border-radius: 8px; background: var(--cfcr-surface-raised); }.cfcr-about-grid h2 { margin: 0 0 15px; font: 700 32px/1.08 Georgia,"Times New Roman",serif; }.cfcr-about-grid p:not(.cfcr-kicker) { color: var(--cfcr-muted); font: 450 13px/1.7 ui-sans-serif,system-ui,sans-serif; }.cfcr-about-grid a { color: var(--cfcr-purple); font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; text-decoration: none; }
.cfcr-contact-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.cfcr-contact-grid a { min-height: 260px; display: grid; align-content: start; padding: 28px; border: 1px solid var(--cfcr-line); border-radius: 8px; color: var(--cfcr-ink); background: var(--cfcr-surface-raised); text-decoration: none; }.cfcr-contact-grid b { color: var(--cfcr-purple); font: 850 9px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .1em; }.cfcr-contact-grid h2 { margin: 34px 0 9px; font: 700 27px/1.1 Georgia,"Times New Roman",serif; }.cfcr-contact-grid p { color: var(--cfcr-muted); font: 450 13px/1.6 ui-sans-serif,system-ui,sans-serif; }.cfcr-contact-grid span { align-self: end; margin-top: 22px; color: var(--cfcr-purple); font: 750 11px/1.3 ui-sans-serif,system-ui,sans-serif; }.cfcr-contact-note { margin-top: 18px; padding: 28px; border-left: 5px solid var(--cfcr-purple); background: var(--cfcr-purple-soft); }.cfcr-contact-note strong { font: 800 15px/1.3 ui-sans-serif,system-ui,sans-serif; }.cfcr-contact-note p { color: var(--cfcr-muted); font: 450 13px/1.6 ui-sans-serif,system-ui,sans-serif; }.cfcr-contact-note a { color: var(--cfcr-purple-dark); font: 800 13px/1.3 ui-sans-serif,system-ui,sans-serif; }

@media (max-width:1180px) {
  .cfcr-layout { grid-template-columns: 246px minmax(0,1fr); }
  .cfcr-hero { grid-template-columns: 1fr; min-height: 0; }
  .cfcr-hero__identity { max-width: 680px; justify-self: center; transform: none; }
  .cfcr-stat-grid { grid-template-columns: repeat(4,1fr); }
  .cfcr-stat:nth-child(4) { border-right: 0; }
  .cfcr-stat:nth-child(n+5) { border-top-width: 1px; }
  .cfcr-status-grid { grid-template-columns: repeat(3,1fr); }
  .cfcr-controls form { grid-template-columns: repeat(3,1fr); }.cfcr-field--search { grid-column: span 2; }.cfcr-member-grid { grid-template-columns: repeat(3,1fr); }.cfcr-contact-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:860px) {
  .cfcr-layout { display: block; }
  .cfcr-sidebar { display: none; }
  .cfcr-mobile-bar { position: sticky; top: 0; z-index: 12; display: flex; justify-content: space-between; align-items: center; min-height: 58px; padding: 10px 18px; color: #fff; background: rgba(11,20,40,.97); border-bottom: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(14px); }
  .cfcr-mobile-bar__title { color: #fff; text-decoration: none; font: 800 15px/1 ui-sans-serif,system-ui,sans-serif; letter-spacing: .14em; }
  .cfcr-mobile-bar button { border: 1px solid rgba(255,255,255,.24); border-radius: 5px; padding: 9px 11px; color: #fff; background: transparent; font: 700 11px/1 ui-sans-serif,system-ui,sans-serif; }
  .cfcr-mobile-navigation { position: sticky; top: 58px; z-index: 11; display: block; max-height: calc(100dvh - 58px); overflow: auto; padding: 15px; background: #11172a; box-shadow: 0 22px 42px rgba(0,0,0,.22); }
  .cfcr-mobile-navigation[hidden] { display: none; }
  .cfcr-mobile-navigation .cfcr-nav__label { display: none; }
  .cfcr-mobile-navigation .cfcr-nav ol { grid-template-columns: repeat(2,1fr); }
  .cfcr-hero { padding: 54px 28px; }
  .cfcr-home-columns { grid-template-columns: 1fr; }
  .cfcr-link-grid { grid-template-columns: repeat(2,1fr); }
  .cfcr-page-hero { padding: 54px 28px; }.cfcr-page-body { width: calc(100% - 40px); }.cfcr-member-grid { grid-template-columns: repeat(2,1fr); }.cfcr-record-hero,.cfcr-record-grid,.cfcr-campaign-media,.cfcr-map-layout,.cfcr-brief-grid,.cfcr-news-layout { grid-template-columns: 1fr; }.cfcr-record-identity { grid-template-columns: 200px 1fr; }.cfcr-map-detail,.cfcr-media-desk { position: static; }.cfcr-principle-grid,.cfcr-method-steps,.cfcr-about-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:620px) {
  .cfcr-mobile-navigation .cfcr-nav ol { grid-template-columns: 1fr; }
  .cfcr-hero { padding: 42px 20px; gap: 40px; }
  .cfcr-hero h1 { font-size: clamp(42px,14vw,62px); }
  .cfcr-search__row { grid-template-columns: 1fr; gap: 4px; }
  .cfcr-search button { min-height: 44px; }
  .cfcr-hero__actions { display: grid; }
  .cfcr-section { width: calc(100% - 36px); padding-block: 50px; }
  .cfcr-section-heading { align-items: start; flex-direction: column; }
  .cfcr-stat-grid { grid-template-columns: repeat(2,1fr); }
  .cfcr-stat { border-right: 1px solid var(--cfcr-line); border-top-width: 1px; }
  .cfcr-stat:nth-child(odd) { border-right: 1px solid var(--cfcr-line); }
  .cfcr-stat:nth-child(even) { border-right: 0; }
  .cfcr-stat--total { grid-column: 1/-1; border-right: 0; border-top-width: 4px; }
  .cfcr-status-grid,.cfcr-link-grid { grid-template-columns: 1fr; }
  .cfcr-panel { padding: 25px 20px; }
  .cfcr-page-hero--congress { min-height: 410px; }.cfcr-page-hero--congress::after { background-position: 45% center; }.cfcr-page-hero--congress::before { background: linear-gradient(180deg,rgba(8,3,20,.4),rgba(8,3,20,.07) 24%,rgba(8,3,20,.12) 70%,rgba(8,3,20,.5)),radial-gradient(ellipse at center,rgba(10,4,25,.72),rgba(12,5,29,.45) 42%,rgba(12,5,29,.1) 76%); }.cfcr-page-hero--congress h1 { max-width: none; }.cfcr-page-hero__art-credit { display: none; }
  .cfcr-footer { align-items: flex-start; flex-direction: column; }
  .cfcr-controls form,.cfcr-member-grid,.cfcr-principle-grid,.cfcr-method-steps,.cfcr-about-grid,.cfcr-contact-grid,.cfcr-brief-points,.cfcr-map-toolbar { grid-template-columns: 1fr; }.cfcr-field--search { grid-column: auto; }.cfcr-record-identity { grid-template-columns: 1fr; text-align: center; }.cfcr-portrait { width: min(100%,260px); justify-self: center; }.cfcr-member-links,.cfcr-record-actions { justify-content: center; }.cfcr-record-actions { flex-wrap: wrap; }.cfcr-record-actions > span { width: 100%; margin-left: 0; text-align: center; }.cfcr-poster-placeholder { grid-template-columns: 1fr; }.cfcr-poster-placeholder > img { max-height: 420px; mask-image: linear-gradient(#000 78%,transparent); }.cfcr-poster-placeholder figcaption { padding: 0 24px 30px; }.cfcr-poster-placeholder span { margin-left: 0; }.cfcr-state-map { min-height: 460px; }.cfcr-map-detail { min-height: 0; }.cfcr-method-rules dl > div { grid-template-columns: 1fr; gap: 5px; }.cfcr-document-row { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .cfcr-nav a,.cfcr-link-grid a { transition: none; }
  .cfcr-status-visual__shape,.cfcr-status-visual__mark { animation: none; stroke-dashoffset: 0; }
  .cfcr-map-loading > span { animation: none; }
}
