:root{--bg:#f7f9fc;--card:#fff;--text:#182235;--muted:#6d7b8e;--soft:#f3f7fc;--line:#e6ecf4;--blue:#1769d2;--blue2:#eef6ff;--green:#0a8f73;--shadow:0 14px 38px rgba(31,54,82,.075);--radius:22px;--max:1280px}
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{background:linear-gradient(180deg,#fff 0,#f7f9fc 270px,#f7f9fc 100%);color:var(--text);font-family:"Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,Roboto,Arial,"Noto Sans",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.topbar{height:76px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.nav{height:76px;display:flex;align-items:center;gap:22px}.logo{font-size:32px;font-weight:780;letter-spacing:-1.4px;color:var(--blue);white-space:nowrap}.logo span{color:#2b3445;font-weight:600}
.search-top{flex:1;max-width:500px;margin-left:18px;position:relative}.search-top input{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 44px 12px 15px;outline:0;color:var(--text);box-shadow:0 8px 22px rgba(31,54,82,.035);font-size:13.5px;font-weight:400}.search-top button{position:absolute;right:6px;top:5px;border:0;background:transparent;color:var(--blue);font-size:18px;cursor:pointer}
.search-dropdown{display:none;position:absolute;z-index:50;left:0;right:0;top:48px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;max-height:430px;overflow:auto}.search-dropdown.visible,.results.visible{display:block}
.menu{margin-left:auto;display:flex;gap:18px;align-items:center;color:#3d4a5d;font-size:13px;white-space:nowrap}.menu a.active{color:var(--blue);font-weight:600}
.breadcrumb{font-size:12.5px;color:var(--muted);margin:26px 0 16px}.breadcrumb a{color:var(--blue)}
.grid{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:26px;align-items:start}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:21px}.hero{padding:19px}.hero-inner{display:grid;grid-template-columns:275px minmax(0,1fr);gap:34px}
.photo{width:275px;height:324px;border-radius:16px;border:1px solid var(--line);background:#eef2f7;overflow:hidden;display:flex;align-items:center;justify-content:center;color:var(--muted);text-align:center;padding:18px;font-size:13px}.photo img{width:100%;height:100%;object-fit:cover}
h1{margin:8px 0 6px;font-size:39px;line-height:1.12;letter-spacing:-.9px;font-weight:720}h2,h3{font-weight:650}.subtitle{color:var(--muted);font-size:16px;margin-bottom:16px;font-weight:400}.badges{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 17px}.badge{border:1px solid var(--line);background:#fff;border-radius:11px;padding:8px 11px;font-size:12.5px;color:#28364a;display:inline-flex;gap:7px;align-items:center;font-weight:500}
.note{border:1px solid #c4ddff;background:var(--blue2);border-radius:14px;padding:12px 14px;color:#29425f;line-height:1.55;font-size:13px;margin:16px 0 20px;font-weight:400}
.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin:18px 0 20px}.stat{border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 11px;min-height:72px}.stat small{display:block;color:var(--muted);line-height:1.25;font-size:11.5px;font-weight:400}.stat b{display:block;color:var(--blue);font-size:21px;margin-top:7px;font-weight:620;letter-spacing:-.4px}.summary{font-size:14.5px;line-height:1.72;color:#2d394b;margin:0;font-weight:400}
.accordions{display:flex;flex-direction:column;gap:12px;margin-top:22px}.acc{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(31,54,82,.035);overflow:hidden}.acc summary{list-style:none;cursor:pointer;padding:17px 19px;font-weight:650;font-size:16.5px;color:#1c2b41;display:flex;justify-content:space-between;gap:12px}.acc summary::-webkit-details-marker{display:none}.acc summary:after{content:'+';color:var(--blue);font-size:22px;line-height:1;font-weight:400}.acc[open] summary:after{content:'−'}.acc-body{padding:0 19px 19px}
.info-list{margin:0;padding:13px 18px 13px 30px;border:1px solid var(--line);border-radius:14px;background:#fff;line-height:1.75;font-size:13.5px}.info-list b{font-weight:600}.info-list li::marker{color:var(--blue)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}th,td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px;font-weight:400}th{font-size:11.5px;text-transform:uppercase;letter-spacing:.32px;color:var(--blue);background:#fbfdff;font-weight:650}tr:last-child td{border-bottom:0}
.muted{color:var(--muted)}.green{color:var(--green);font-weight:650}.entity-link,.member-name-link,.party-link{font-weight:600;color:#163e7a}.entity-link:hover,.member-name-link:hover,.party-link:hover{text-decoration:underline}
.sidebar{display:flex;flex-direction:column;gap:18px}.side-title{font-size:16px;font-weight:650;margin:0 0 12px}.side-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff;margin-top:9px}.side-item small{display:block;color:var(--muted);line-height:1.35;font-size:11.5px;font-weight:400}.side-item b{display:block;margin-top:5px;color:#22314a;font-size:13.5px;font-weight:550}.big-blue{font-size:22px!important;color:var(--blue)!important;font-weight:600!important}.sources .source{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:11px 0;font-size:13px}.sources .source:first-of-type{border-top:0}.sources b{font-weight:560}.methodology{font-size:12.7px;line-height:1.62;margin:0;color:var(--muted);font-weight:400}
.home{max-width:920px;margin:68px auto}.home h1{text-align:center;font-size:46px;font-weight:720}.home .lead{text-align:center;color:var(--muted);font-size:17px;line-height:1.7;font-weight:400}.home-search{position:relative;margin:30px auto 0;max-width:760px}.home-search input{width:100%;border:1px solid var(--line);border-radius:20px;background:#fff;padding:17px 58px 17px 21px;font-size:17px;outline:0;box-shadow:var(--shadow);font-weight:400}.home-search button{position:absolute;right:10px;top:10px;border:0;background:var(--blue);color:#fff;border-radius:14px;padding:10px 16px;cursor:pointer;font-weight:500}
.results{margin-top:18px;display:none}.result{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:9px;box-shadow:0 8px 22px rgba(31,54,82,.035)}.result-kind{flex:0 0 auto;min-width:70px;text-align:center;border-radius:999px;background:var(--soft);color:#49617e;font-size:11px;padding:4px 8px;font-weight:500}.result b{display:block;font-size:14.5px;font-weight:620}.result span{display:block;color:var(--muted);font-size:12.5px;margin-top:4px;line-height:1.35}
.footer{margin-top:70px;padding:28px 0;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.empty{color:var(--muted);padding:8px 0;font-size:13px}
.party-hero{display:grid;grid-template-columns:1fr 270px;gap:22px}.party-name{font-size:34px}.soft-card{background:#fbfdff;border:1px solid var(--line);border-radius:16px;padding:16px}.compact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:16px}.compact-stats .stat{min-height:64px}.compact-stats .stat b{font-size:18px}
@media(max-width:1050px){.grid,.party-hero{grid-template-columns:1fr}.hero-inner{grid-template-columns:1fr}.photo{width:100%;max-width:275px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.menu{display:none}}
@media(max-width:620px){.wrap{padding:0 16px}.search-top{display:none}h1{font-size:31px}.home h1{font-size:33px}.stats,.compact-stats{grid-template-columns:1fr}}

@media (max-width: 720px) {
  body {
    font-size: 14px;
    line-height: 1.42;
  }

  .wrap {
    width: auto !important;
    max-width: none !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .nav {
    display: block !important;
  }

  .logo {
    display: block !important;
    margin-bottom: 10px !important;
  }

  .search-top {
    width: 100% !important;
    display: flex !important;
    margin: 8px 0 10px 0 !important;
  }

  .search-top input {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 14px !important;
    height: 38px !important;
  }

  .search-top button {
    height: 38px !important;
    min-width: 42px !important;
  }

  .search-dropdown {
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-height: 60vh !important;
    overflow-y: auto !important;
  }

  .menu {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    padding-bottom: 6px !important;
  }

  h1 {
    font-size: 23px !important;
    line-height: 1.15 !important;
  }

  h2 {
    font-size: 18px !important;
  }

  .hero,
  .card,
  .panel,
  .box,
  .stat,
  .side-item {
    font-size: 13px !important;
  }

  .stat b,
  .side-item b {
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  table {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  th,
  td {
    padding: 7px 8px !important;
  }

  .grid,
  .layout,
  .profile-grid,
  .two-col,
  .columns,
  .hero-grid {
    display: block !important;
  }
}

/* FINAL MOBILE PROFILE FIX */
@media (max-width: 720px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  * {
    box-sizing: border-box;
  }

  .wrap,
  main.wrap,
  header .wrap,
  footer.wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .profile-page,
  .profile-grid,
  .profile-layout,
  .layout,
  .grid,
  .two-col,
  .columns,
  .content-grid,
  .main-grid,
  .hero-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .card,
  .panel,
  .box,
  .hero,
  .profile-card,
  .side-card,
  .stats,
  .stat,
  .side-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  h1 {
    font-size: 22px !important;
    line-height: 1.15 !important;
    overflow-wrap: anywhere;
  }

  h2 {
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  .subtitle,
  .breadcrumb,
  .meta,
  .muted,
  .note {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .stat b,
  .side-item b {
    font-size: 15px !important;
    font-weight: 600 !important;
  }

  .stat small,
  .side-item small {
    font-size: 11px !important;
  }

  .table-wrap,
  .responsive-table {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  th,
  td {
    padding: 7px 8px !important;
    vertical-align: top;
  }

  td a,
  .entity-link,
  .member-name-link {
    overflow-wrap: anywhere;
  }

  .search-top,
  .search-form,
  form[data-search-form="1"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .search-top input,
  .search-form input,
  form[data-search-form="1"] input {
    width: 100% !important;
    min-width: 0 !important;
  }
}

.page-head {
  margin: 26px 0 18px;
}

.page-head h1 {
  margin-bottom: 8px;
}

.page-head p {
  color: var(--muted, #777);
  max-width: 820px;
}

.table-card,
.news-list,
.card-grid {
  margin: 18px 0 34px;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.nav-card,
.news-item {
  display: block;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  text-decoration: none;
}

.nav-card b,
.news-item h2 {
  display: block;
  margin-bottom: 6px;
}

.nav-card span,
.news-item p,
.news-item small {
  color: var(--muted, #777);
}

.big-search {
  position: relative;
  display: flex;
  gap: 8px;
  max-width: 760px;
  margin-top: 18px;
}

.big-search input {
  flex: 1;
  min-width: 0;
  padding: 12px 14px;
}

.big-search button {
  padding: 12px 18px;
}

.footer {
  padding-top: 24px;
  padding-bottom: 28px;
  color: var(--muted, #777);
  font-size: 13px;
}

.footer-links {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.footer-links a {
  color: inherit;
}

.copyright {
  margin-top: 10px;
  font-size: 12px;
}

@media (max-width: 720px) {
  .menu {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    padding-bottom: 8px !important;
  }

  .menu a {
    flex: 0 0 auto;
    font-size: 13px !important;
    padding: 7px 9px !important;
  }

  .card-grid {
    display: block !important;
  }

  .nav-card,
  .news-item {
    margin-bottom: 10px;
  }

  .big-search {
    display: block;
  }

  .big-search input,
  .big-search button {
    width: 100%;
    margin-bottom: 8px;
  }

  .page-head h1 {
    font-size: 23px !important;
  }

  .page-head p {
    font-size: 13px !important;
  }

  .footer-links {
    gap: 8px;
  }
}


/* ===== FINAL CLEAN OVERRIDES: home, data, profile ===== */

/* Home/data layout */
.home-hero {
  margin-top: 22px;
  padding: 30px;
}

.home-hero .hero-inner {
  display: block;
  max-width: 900px;
}

.home-sections {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 22px 0;
}

.home-card {
  display: block;
  padding: 22px;
  min-height: 145px;
  color: inherit;
  text-decoration: none;
}

.home-card h2 {
  margin: 0 0 10px;
  font-size: 19px;
  line-height: 1.25;
}

.home-card p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Home search: remove old absolute button behavior */
form.home-search[data-home="1"] {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
  max-width: 820px !important;
  margin: 26px 0 0 0 !important;
}

form.home-search[data-home="1"] input {
  position: static !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

form.home-search[data-home="1"] button {
  position: static !important;
  right: auto !important;
  top: auto !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 110px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

/* Profile header */
.profile-head {
  display: block;
}

.profile-top-row {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.profile-top-row .photo,
.profile-hero-inner .photo {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}

.profile-top-row .photo img,
.profile-hero-inner .photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Hide photo box if no real image is inside */
.profile-top-row .photo:not(:has(img)),
.profile-hero-inner .photo:not(:has(img)) {
  display: none !important;
}

.profile-title-block {
  flex: 1;
  min-width: 0;
}

.profile-title,
.hero .profile-title {
  margin: 0 0 8px !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
}

.profile-head .note,
.profile-title-block .note {
  margin: 0 0 18px !important;
  max-width: none !important;
  line-height: 1.6 !important;
  font-size: 14.5px !important;
}

.profile-head .stats {
  margin-top: 0 !important;
}

/* Mobile */
@media (max-width: 900px) {
  .home-sections {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .home-hero {
    margin-top: 14px;
    padding: 20px;
  }

  .home-sections {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .home-card {
    min-height: auto;
    padding: 18px;
  }

  form.home-search[data-home="1"] {
    display: block !important;
  }

  form.home-search[data-home="1"] input,
  form.home-search[data-home="1"] button {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  form.home-search[data-home="1"] button {
    margin-top: 10px !important;
  }

  .profile-top-row {
    gap: 14px;
  }

  .profile-top-row .photo,
  .profile-hero-inner .photo {
    flex-basis: 78px !important;
    width: 78px !important;
    height: 78px !important;
  }

  .profile-title,
  .hero .profile-title {
    font-size: 27px !important;
  }
}

/* === POL.bg exact final fix: search dropdowns + profile top row === */

/* Home search: button stays on the right, results open below */
form.home-search[data-home="1"] {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
  max-width: 820px !important;
  margin: 26px 0 0 0 !important;
}

form.home-search[data-home="1"] input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

form.home-search[data-home="1"] button {
  position: static !important;
  right: auto !important;
  top: auto !important;
  flex: 0 0 auto !important;
  min-width: 110px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

/* Home AJAX results must not become a flex column item on the side */
form.home-search[data-home="1"] .results,
form.home-search[data-home="1"] .search-dropdown {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 56px !important;
  z-index: 80 !important;
  margin-top: 0 !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
  padding: 8px !important;
  max-height: 430px !important;
  overflow: auto !important;
}

/* /search page */
.big-search {
  position: relative !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 10px !important;
  max-width: 820px !important;
  margin-top: 18px !important;
}

.big-search input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 48px !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
}

.big-search button {
  position: static !important;
  flex: 0 0 auto !important;
  min-width: 110px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 22px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

.big-search .search-dropdown,
.big-search .results {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 56px !important;
  z-index: 80 !important;
  margin-top: 0 !important;
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow) !important;
  padding: 8px !important;
  max-height: 430px !important;
  overflow: auto !important;
}

/* Profile: image affects ONLY title row */
.profile-head {
  display: block !important;
}

.profile-top-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.profile-top-row .photo {
  flex: 0 0 96px !important;
  width: 96px !important;
  height: 96px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}

.profile-top-row .photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.profile-title-block {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.profile-title,
.hero .profile-title {
  margin: 0 0 8px !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  font-weight: 700 !important;
}

.profile-head > .note {
  display: block !important;
  clear: both !important;
  margin: 0 0 18px 0 !important;
  max-width: none !important;
  line-height: 1.6 !important;
  font-size: 14.5px !important;
}

.profile-head > .stats {
  margin-top: 0 !important;
}

/* neutralize old profile layout if old classes remain elsewhere */
.profile-hero-inner {
  display: block !important;
}

@media (max-width: 640px) {
  form.home-search[data-home="1"],
  .big-search {
    display: block !important;
  }

  form.home-search[data-home="1"] input,
  form.home-search[data-home="1"] button,
  .big-search input,
  .big-search button {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  form.home-search[data-home="1"] button,
  .big-search button {
    margin-top: 10px !important;
  }

  .profile-top-row {
    gap: 14px !important;
  }

  .profile-top-row .photo {
    flex-basis: 78px !important;
    width: 78px !important;
    height: 78px !important;
  }

  .profile-title,
  .hero .profile-title {
    font-size: 27px !important;
  }
}


/* Final profile photo size */
.profile-top-row .photo {
  flex: 0 0 128px !important;
  width: 128px !important;
  height: 128px !important;
}

.profile-top-row .photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

@media (max-width: 640px) {
  .profile-top-row .photo {
    flex-basis: 96px !important;
    width: 96px !important;
    height: 96px !important;
  }
}


/* Dynamic profile SEO text */
.profile-seo-text {
  margin: 0 0 18px !important;
}

.profile-seo-text p {
  margin: 0 0 10px !important;
  font-size: 14.8px !important;
  line-height: 1.68 !important;
  color: #29425f !important;
}

.profile-seo-text p:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 640px) {
  .profile-seo-text p {
    font-size: 13.4px !important;
    line-height: 1.58 !important;
  }
}


/* Data / methodology page */
.data-hero .hero-inner {
  display: block;
  max-width: 980px;
}

.data-hero .summary {
  max-width: 920px;
}

.data-methodology {
  max-width: 980px;
}

.data-methodology h2 {
  margin-top: 26px;
}

.data-methodology h2:first-child {
  margin-top: 0;
}

.data-methodology p {
  max-width: 920px;
  line-height: 1.65;
}

/* Footer spacing fix */
.footer {
  padding: 22px 24px;
}

/* Profile stats compact layout */
.profile-hero .stats,
.stats {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.stat small {
  white-space: nowrap;
}

.stat b {
  white-space: nowrap;
}

/* Profile stats: wider period, compact counters */
.profile-hero .stats,
.stats {
  display: grid;
  grid-template-columns: minmax(170px, 1.4fr) repeat(6, minmax(92px, .75fr));
  gap: 10px;
  align-items: stretch;
}

.stat {
  min-width: 0;
}

.stat small,
.stat b {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .profile-hero .stats,
  .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .profile-hero .stats,
  .stats {
    grid-template-columns: 1fr;
  }
}

.profile-hero .stats,
.stats {
  grid-template-columns: minmax(210px, 1.6fr) repeat(6, minmax(86px, .7fr));
}

/* Profile stats: reduce period width */
.profile-hero .stats,
.stats {
  grid-template-columns: minmax(158px, 1.2fr) repeat(6, minmax(86px, .7fr));
}

/* Profile stats: period width 140px */
.profile-hero .stats,
.stats {
  grid-template-columns: minmax(140px, 1.05fr) repeat(6, minmax(86px, .7fr));
}

/* Profile stats: period width 130px */
.profile-hero .stats,
.stats {
  grid-template-columns: minmax(140px, 1.05fr) repeat(6, minmax(86px, .7fr));
}

/* Profile stats: period width 130px */
.profile-hero .stats,
.stats {
  grid-template-columns: minmax(130px, 1fr) repeat(6, minmax(86px, .7fr));
}

/* Wider box for Acts / Control counter */
.stat-wide {
  min-width: 128px;
}

/* Wider box for Acts / Control counter */
.stat-wide {
  min-width: 108px;
}

/* Wider box for Acts / Control counter */
.stat-wide {
  min-width: 110px;
}

/* Home page: spacing between explanation and sources */
.home-about {
  margin-bottom: 18px;
}

/* Home page: gap between about and sources cards */
.home-about-card {
  margin-bottom: 18px;
}

/* Section 6 only: acts and parliamentary control table */
.acts-table th:nth-child(1),
.acts-table td:nth-child(1),
.acts-table th:nth-child(4),
.acts-table td:nth-child(4) {
  white-space: nowrap;
}
