:root { --az:#087cc4; --deep:#063e66; --ink:#102131; --muted:#617487; --line:#dce7ef; --pale:#eaf7ff; }
* { box-sizing:border-box; }
body { margin:0; padding-top:70px; color:var(--ink); background:#f4f9fc; font:18px/1.62 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:var(--deep); }
.local-bar { position:fixed; inset:0 0 auto; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:20px; height:70px; padding:0 max(4vw,18px); color:#fff; background:var(--deep); box-shadow:0 8px 25px #063e6630; }
.local-brand { color:#fff; font-size:20px; font-weight:900; letter-spacing:-.04em; text-decoration:none; }
.local-brand span { color:#a6e5ff; }
.local-site-menu { margin-left:auto; }
.local-site-menu summary { padding:9px 14px; border:1px solid #6db7d9; border-radius:10px; color:#fff; font-size:16px; font-weight:800; cursor:pointer; list-style:none; }
.local-site-menu summary::-webkit-details-marker { display:none; }
.local-site-menu[open] summary { color:var(--deep); background:#a6e5ff; }
.local-site-menu nav { position:absolute; top:70px; right:max(4vw,18px); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; width:min(550px,92vw); max-height:70vh; overflow-y:auto; padding:12px; border:1px solid #9bd7ef; border-radius:0 0 15px 15px; background:var(--deep); box-shadow:0 16px 30px #063e6650; }
.local-site-menu nav a { padding:9px 12px; border-radius:9px; color:#eaf8ff; font-size:15px; font-weight:750; text-decoration:none; }
.local-site-menu nav a:hover, .local-site-menu nav a[aria-current="page"] { color:var(--deep); background:#a6e5ff; }
.local-main { width:min(94%,1180px); margin:30px auto 80px; }
.local-hero { padding:clamp(30px,5vw,64px); border-radius:24px; color:#fff; background:linear-gradient(125deg,#053b61,#087cc4 60%,#45bcec); box-shadow:0 20px 45px #05487430; }
.local-kicker { margin:0 0 9px; color:#d7f3ff; font-size:13px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.local-hero h1 { max-width:900px; margin:0; color:#fff; font-size:clamp(38px,6vw,74px); line-height:1.04; letter-spacing:-.05em; }
.local-hero p:last-child { max-width:760px; margin:18px 0 0; font-size:clamp(17px,2vw,22px); }
.local-section { margin:24px 0; padding:clamp(22px,4vw,38px); border:1px solid var(--line); border-radius:20px; background:#fff; box-shadow:0 10px 28px #1021310d; }
.local-section h2 { margin:0 0 18px; font-size:clamp(27px,3vw,36px); line-height:1.15; }
.local-story p { max-width:76ch; margin:0 0 1.05em; font-size:clamp(18px,1.55vw,20px); line-height:1.72; }
.local-story p:last-child { margin-bottom:0; }
.local-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.local-card { display:block; min-height:170px; padding:22px; border:1px solid var(--line); border-radius:16px; color:var(--ink); background:#fff; text-decoration:none; }
.local-card:hover { border-color:#8bd4f2; background:var(--pale); }
.local-card strong { display:block; margin:8px 0; color:var(--deep); font-size:22px; line-height:1.2; }
.local-card small, .local-note { color:var(--muted); font-size:14px; }
.local-career-conflicts { margin-top:14px; color:var(--muted); font-size:13px; line-height:1.6; }
.local-career-conflicts p { margin:0; font-size:inherit; }
.local-career-conflicts ul { margin:6px 0 0; padding-left:20px; }
.local-career-conflicts li { scroll-margin-top:110px; }
.local-conflict-marker { padding:2px 4px; font-weight:700; }
.local-pill { display:inline-block; padding:3px 9px; border-radius:99px; color:#075387; background:#dff4ff; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.local-empty { padding:22px; border:1px dashed #a8cadb; border-radius:12px; color:var(--muted); background:#f7fbfd; }
.local-back { display:inline-flex; margin-bottom:18px; padding:9px 15px; border:1px solid #b9dceb; border-radius:99px; background:#fff; font-size:16px; font-weight:800; text-decoration:none; }
.local-quick-nav { position:sticky; top:70px; z-index:20; display:flex; flex-wrap:wrap; gap:6px; margin:16px 0; padding:8px; border:1px solid #b9dceb; border-radius:13px; background:#f7fcfff7; box-shadow:0 8px 22px #063e661a; }
.local-quick-nav a { padding:8px 13px; border-radius:9px; font-size:15px; font-weight:800; text-decoration:none; }
.local-quick-nav a:hover { background:var(--pale); }
.local-quick-nav .local-nav-back { color:#fff; background:var(--deep); }
.local-section { scroll-margin-top:180px; }
.local-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.local-stat { padding:17px; border-radius:14px; color:#fff; background:var(--deep); }
.local-stat strong { display:block; font-size:clamp(24px,3vw,38px); line-height:1.1; }
.local-stat span { color:#d1efff; font-size:14px; }
.local-timeline { position:relative; margin:0; padding:0; list-style:none; }
.local-timeline li { display:grid; grid-template-columns:minmax(100px,150px) 1fr; gap:22px; padding:16px 0; border-bottom:1px solid var(--line); }
.local-timeline li:last-child { border-bottom:0; }
.local-timeline li > span { color:#0871ae; font-weight:850; }
.local-timeline strong { font-size:20px; }
.local-timeline p { margin:5px 0 0; }
.local-relations { display:flex; flex-wrap:wrap; gap:10px; }
.local-related { padding:10px 15px; border:1px solid #a9d8ec; border-radius:10px; background:var(--pale); font-weight:800; text-decoration:none; }
.local-more-links { margin-top:18px; padding:14px; border:1px solid var(--line); border-radius:12px; }
.local-more-links summary { color:var(--deep); font-weight:850; cursor:pointer; }
.local-more-links .local-relations { margin-top:15px; }
.local-neighbours { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.local-table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:13px; }
.local-match-table { width:100%; min-width:690px; border-collapse:collapse; font-size:15px; line-height:1.35; }
.local-match-table th { position:sticky; top:0; padding:12px; color:#fff; background:var(--deep); text-align:left; }
.local-match-table td { padding:12px; border-top:1px solid var(--line); vertical-align:top; }
.local-match-table tbody tr:nth-child(even) { background:#f3faff; }
.local-match-table td:nth-child(4) { color:var(--deep); white-space:nowrap; }
.local-roster-table td:first-child { min-width:230px; }
.local-roster-table td:first-child small { display:block; color:var(--muted); font-size:13px; }
.local-roster-table td:not(:first-child),.local-roster-table th:not(:first-child) { text-align:center; }
.local-career-table .is-napoli { background:#dff3ff !important; box-shadow:inset 4px 0 0 var(--az); font-weight:750; }
.local-career-table a,.local-roster-table a { color:var(--deep); text-underline-offset:3px; }
.local-pitch { display:grid; gap:22px; min-height:520px; padding:40px 24px; border:5px solid #eefaff; border-radius:22px; background:repeating-linear-gradient(180deg,#087b5f 0 95px,#0b8766 95px 190px); box-shadow:inset 0 0 0 2px #ffffff9e; }
.local-pitch-line { display:flex; justify-content:space-evenly; align-items:center; flex-wrap:wrap; gap:12px; }
.local-pitch a { min-width:110px; padding:9px 11px; border:2px solid #cbf0ff; border-radius:100px; color:#063e66; background:#fff; box-shadow:0 6px 14px #002e3950; font-size:15px; font-weight:850; text-align:center; text-decoration:none; }
.local-pitch a:hover { background:#cbeeff; transform:translateY(-2px); }
.local-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.local-facts div { padding:15px; border-radius:12px; background:var(--pale); }
.local-facts dt { color:var(--muted); font-size:13px; font-weight:850; text-transform:uppercase; }
.local-facts dd { margin:5px 0 0; font-weight:750; }
.local-sources { padding-left:22px; }
.local-sources li { margin:7px 0; overflow-wrap:anywhere; }
.local-footer { padding:22px max(4vw,18px); color:#dbeaf4; background:#052f4f; font-size:14px; }
@media(max-width:760px) { .local-brand { font-size:17px; } .local-site-menu summary { font-size:14px; } .local-site-menu nav { grid-template-columns:1fr; } .local-quick-nav { gap:3px; } .local-quick-nav a { padding:6px 9px; font-size:13px; } .local-section { scroll-margin-top:210px; } .local-grid,.local-facts { grid-template-columns:1fr; } .local-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .local-timeline li { grid-template-columns:1fr; gap:2px; } .local-main { margin-top:18px; } .local-pitch { min-height:470px; padding:18px 8px; gap:12px; } .local-pitch a { min-width:80px; font-size:12px; padding:7px; } }

.local-footer nav {display:flex;gap:28px;flex-wrap:wrap}.local-footer a {color:#fff;text-underline-offset:4px}.local-footer p {margin:20px 0 0;border-top:1px solid #ffffff30;padding-top:18px}.local-card details {font-size:13px;color:var(--deep)}.local-career-table small {display:block;color:var(--muted);font-weight:400}.local-kit-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px}.local-kit-grid img {width:100%;height:280px;object-fit:contain;background:#f3faff;border-radius:16px}.local-kit-grid figure {margin:0}.local-kit-grid figcaption {padding:12px 0;text-align:center}

.local-kit-grid img{width:150px;height:210px;object-fit:contain}.local-kit-grid figure{margin:0;text-align:center}.local-kit-grid figcaption strong,.local-kit-grid figcaption small,.local-kit-grid figcaption a{display:block;margin-top:8px}

.local-table-filters{margin:0 0 1rem;border:1px solid #cde2ef;border-radius:14px;padding:14px;background:#f4faff}.local-table-filters summary{cursor:pointer;font-weight:700;color:#073f60}.local-filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin-top:16px}.local-filter-fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.local-filter-fields input,.local-filter-fields select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #9fbdd0;border-radius:8px;font:inherit;background:#fff;color:#073f60}.local-filter-actions{display:flex;gap:16px;align-items:center;margin-top:14px;flex-wrap:wrap}.local-filter-actions button{padding:9px 14px;border:1px solid #9fbdd0;border-radius:8px;cursor:pointer;background:#fff;color:#073f60;font:inherit}.local-filter-empty{padding:16px;background:#fff5dc;border-radius:8px}table.local-match-table tr[hidden]{display:none}

.local-sort-arrows{display:inline-flex;gap:2px;margin-left:6px;white-space:nowrap;vertical-align:middle}.local-sort-arrows button{border:1px solid transparent;background:transparent;color:#c5e8ff;font-size:17px;line-height:1;padding:4px 2px;cursor:pointer;border-radius:4px}.local-sort-arrows button:hover,.local-sort-arrows button:focus-visible{border-color:#b9e3ff;color:#fff}.local-sort-arrows button[aria-pressed="true"]{background:#fff;color:#073f60;font-weight:700}

.local-card-photo{width:100%;height:220px;object-fit:contain;background:#f4faff;border-radius:12px;margin-bottom:16px}.local-section>img{display:block;max-width:100%;max-height:560px;object-fit:contain;margin:auto}

.local-card small{display:block;line-height:1.6;margin-top:10px;overflow-wrap:anywhere}.local-card-period{padding-top:8px;border-top:1px solid var(--line)}

.local-president-card .local-card-photo{display:block;width:120px;height:140px;margin:12px auto 18px;object-fit:contain}.local-president-card{align-self:start}

.public-progress{border:1px solid var(--line);background:#f1f9ff;padding:20px 24px;border-radius:18px;margin:0 0 28px}.public-progress>div{display:flex;justify-content:space-between;gap:16px}.public-progress progress{width:100%;height:14px;margin:14px 0;accent-color:#0086c9}.public-progress summary{font-size:14px;cursor:pointer}.public-progress p{font-size:14px;line-height:1.6}.community-form{max-width:720px}.community-form fieldset{border:0;padding:0;margin:0;display:grid;gap:18px}.community-form label{display:grid;gap:8px}.community-form input,.community-form select,.community-form textarea{font:inherit;padding:12px;border:1px solid #9fbdd0;border-radius:9px;background:#fff;color:#073f60;width:100%;box-sizing:border-box}.community-form .community-consent{display:flex;align-items:flex-start;gap:10px;line-height:1.6}.community-consent input{width:18px;height:18px;flex-shrink:0;margin-top:5px}.community-form button,[data-contact-email]{font:inherit;font-weight:700;border:0;border-radius:9px;padding:13px 20px;background:#074566;color:#fff;cursor:pointer}.community-form button:disabled{opacity:.5;cursor:default}.community-form fieldset:disabled{opacity:.6}.community-honeypot{position:absolute!important;left:-10000px}.community-status{line-height:1.6}.local-quick-nav button{font:inherit;color:var(--deep);border:1px solid var(--line);background:white;border-radius:8px;padding:8px 12px;cursor:pointer}.local-card time{display:block;font-size:13px;margin-top:15px;color:var(--muted)}.news-pagination{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.news-pagination a{border:1px solid var(--line);border-radius:8px;padding:8px 14px}.news-pagination a[aria-current]{background:#074566;color:#fff}

/* Clear submission feedback: visible, focusable, and announced to screen readers. */
.community-status:not(:empty){display:block;padding:20px 24px;margin:24px 0;border:2px solid #c2d8e5;border-left-width:7px;border-radius:12px;background:#eef7fc;color:#123f5a;font-size:18px;line-height:1.65;box-shadow:0 5px 16px #123f5a0c}.community-status strong,.community-status span{display:block}.community-status strong{font-size:23px;margin-bottom:6px;font-weight:800}.community-status[data-state="success"]{background:#e7f7ec;border-color:#32935a;color:#145a2d}.community-status[data-state="error"]{background:#fff0ee;border-color:#bb3e35;color:#8f241d}.community-status:focus{outline:3px solid #1186c2;outline-offset:4px}
