/* Home voting directory. Additive styles: existing hero, profiles and admin untouched. */
.home-voting { padding-block: clamp(50px, 6vw, 88px); }
.home-voting__lead { display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(20px,5vw,75px); align-items:end; margin-bottom:38px; }
.home-voting__lead h2 { font: 500 clamp(2rem,4.2vw,3.7rem)/1.12 Georgia,serif; letter-spacing:-.035em; margin:12px 0 0; max-width:15ch; }
.home-voting__lead p { max-width:480px; font-size:1rem; color:var(--muted); margin:0; }
.home-voting__sector { margin-top:48px; scroll-margin-top:120px; }
.home-voting__sector-head { display:flex; align-items:end; justify-content:space-between; gap:18px; padding-bottom:19px; border-bottom:2px solid var(--ink); }
.home-voting__sector-head h3 { font: 500 clamp(1.75rem,3vw,2.65rem)/1.18 Georgia,serif; letter-spacing:-.025em; margin:8px 0 0; }
.home-voting__sector-link { color:var(--forest); font-size:.86rem; font-weight:700; white-space:nowrap; text-underline-offset:4px; }
.home-voting__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 27px; }
.home-voting__item { display:grid; grid-template-columns:105px minmax(0,1fr); grid-template-areas:"photo details" "photo actions"; align-items:start; gap:0 18px; padding:23px 0; border-bottom:1px solid var(--stroke); }
.home-voting__photo { grid-area:photo; display:block; width:105px; aspect-ratio:4/5; overflow:hidden; border-radius:9px; background:#e5eae2; color:var(--muted); text-align:center; font-size:.7rem; }
.home-voting__photo img { display:block; width:100%; height:100%; object-fit:cover; }
.home-voting__photo span { display:grid; place-items:center; height:100%; }
.home-voting__details { grid-area:details; min-width:0; }
.home-voting__details h4 { font:500 clamp(1.18rem,1.65vw,1.45rem)/1.2 Georgia,serif; margin:0 0 8px; }
.home-voting__details h4 a { text-decoration:none; }
.home-voting__details h4 a:hover { text-decoration:underline; text-underline-offset:3px; }
.home-voting__details p { margin:0; color:var(--muted); font-size:.82rem; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-voting__actions { grid-area:actions; display:flex; flex-wrap:wrap; gap:9px 14px; align-items:center; margin-top:14px; }
.home-voting__vote { border-radius:7px; font-size:.78rem; min-height:44px; padding:10px 15px; }
.home-voting__details-link { font-size:.79rem; color:var(--forest); font-weight:700; text-underline-offset:4px; }
.home-voting__closed { color:var(--muted); font-size:.83rem; }
.home-voting__feedback { min-height:1.4em; font-size:.85rem; color:#245848; margin:20px 0 0; }
.home-sector-directory { padding-top:65px; padding-bottom:100px; }
.home-sector-directory h2 { font:500 clamp(1.8rem,3vw,2.8rem)/1.12 Georgia,serif; margin:14px 0 29px; }
.home-ballot-dock { position:fixed; z-index:69; bottom:0; inset-inline:0; background:#143b3a; color:#fff; box-shadow:0 -7px 35px #11323132; }
.home-ballot-dock[hidden] { display:none; }
.home-ballot-dock__inner { display:flex; gap:20px; align-items:center; justify-content:space-between; padding-block:14px; }
.home-ballot-dock__summary { min-width:0; display:grid; gap:4px; }
.home-ballot-dock__summary strong { font-size:.98rem; font-variant-numeric:tabular-nums; }
.home-ballot-dock__summary span[data-home-ballot-names] { font-size:.78rem; opacity:.82; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:min(58vw,650px); }
.home-ballot-dock__action { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-height:48px; border-radius:5px; background:#e8e9d7; color:#143b3a; font-weight:800; font-size:.9rem; padding:11px 19px; text-decoration:none; }
.home-ballot-dock__action:hover { background:#fff; }
body:has(.home-ballot-dock:not([hidden])) { padding-bottom:90px; }
@media(max-width:950px) {
  .home-voting__list { grid-template-columns:1fr; }
  .home-voting__item { grid-template-columns:115px minmax(0,1fr); }
  .home-voting__photo { width:115px; }
}
@media(max-width:690px) {
  .home-voting__lead { grid-template-columns:1fr; gap:15px; }
  .home-voting__sector-head { align-items:start; flex-direction:column; }
  .home-voting__item { grid-template-columns:90px minmax(0,1fr); gap:0 13px; padding:18px 0; }
  .home-voting__photo { width:90px; }
  .home-voting__actions { gap:9px; }
  .home-voting__details-link { padding:7px 0; }
  .home-ballot-dock__inner { flex-direction:column; align-items:stretch; gap:9px; padding-block:10px; }
  .home-ballot-dock__summary span[data-home-ballot-names] { max-width:85vw; }
  .home-ballot-dock__action { width:100%; min-height:44px; }
  body:has(.home-ballot-dock:not([hidden])) { padding-bottom:145px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-ballot-dock, .home-voting__item { transition:none; }
}

/* Quiet, editorial sector pictograms. Decorative only: the linked text remains the label. */
.home-sector-directory .category-card { overflow:hidden; border-radius:15px; }
.home-sector-directory .sector-symbol {
  position:absolute; top:64px; right:37px;
  display:grid; place-items:center; width:112px; height:112px;
  color:var(--forest); opacity:.32; pointer-events:none;
  transition:transform .25s ease, opacity .25s ease;
}
.home-sector-directory .sector-symbol svg {display:block;width:100%;height:100%;stroke-width:1.75}
.home-sector-directory .category-card:hover .sector-symbol,
.home-sector-directory .category-card:focus-visible .sector-symbol {transform:translateY(-4px) scale(1.04);opacity:.55}
.home-sector-directory .category-card h3,
.home-sector-directory .category-card p {position:relative;z-index:1}
@media(max-width:600px) {
 .home-sector-directory .sector-symbol {top:55px;right:25px;width:88px;height:88px;opacity:.28}
 .home-sector-directory .category-card {min-height:240px}
}
@media(prefers-reduced-motion:reduce) {.home-sector-directory .sector-symbol {transition:none}}
