/* Home v3.2.8: scoped presentation; shared typography stays in typography.css. */
.home-page { background:#f5f7fc; color:#172344; }
.home-page [hidden] { display:none !important; }
.home-container { width:min(80rem,calc(100% - 3rem)); margin-inline:auto; }
.home-page a { text-decoration:none; }
.home-page svg { width:1.25rem; height:1.25rem; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.home-page :is(a,button,input):focus-visible { outline:3px solid #f2ba29; outline-offset:3px; }
.home-page :is(#sistemas,#quem-utiliza,#patrocinadores) { scroll-margin-top:6rem; }
.home-header { position:sticky; top:0; z-index:30; background:#ffffffed; border-bottom:1px solid #e2e7f1; backdrop-filter:blur(12px); }
.home-header-inner { min-height:4.5rem; display:flex; align-items:center; gap:2.25rem; }
.home-brand { display:inline-flex; align-items:center; gap:.65rem; flex-shrink:0; }
.home-brand img { width:2.5rem; height:2.5rem; object-fit:contain; border-radius:.45rem; }
.home-brand span { font-family:var(--font-heading); font-size:1.125rem; font-weight:700; letter-spacing:-.025em; }
.home-menu { margin-left:auto; display:flex; align-items:center; gap:2rem; min-width:0; }
.home-nav { display:flex; align-items:center; gap:1.5rem; }
.home-nav a { position:relative; padding:1.5rem 0; color:#626d85; font-size:.875rem; font-weight:500; white-space:nowrap; }
.home-nav a:hover,.home-nav a[aria-current] { color:#253768; }
.home-nav a[aria-current]::after { content:""; position:absolute; height:2px; bottom:.8rem; left:0; right:0; background:#314a84; border-radius:2px; }
.home-session-actions { display:flex; align-items:center; gap:.5rem; }
.home-session-actions form { margin:0; }
.home-button { min-height:2.5rem; border:1px solid transparent; border-radius:.6rem; padding:.5rem .9rem; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-size:.875rem; line-height:1.5; font-weight:500; cursor:pointer; }
.home-button-primary { background:#29386e; color:#fff; box-shadow:0 3px 8px #24336814; }
.home-button-primary:hover { background:#1c2b5e; }
.home-button-outline { background:#fff; border-color:#dce2ed; color:#364564; }
.home-button-outline:hover:not(:disabled) { background:#eef2fa; border-color:#b9c6df; }
.home-button:disabled { color:#929bb0; background:#f8f9fc; cursor:default; }
.home-menu-toggle { width:2.5rem; height:2.5rem; border:1px solid #dce2ed; border-radius:.6rem; background:#fff; color:#29386e; padding:0; place-items:center; margin-left:auto; cursor:pointer; }
.home-hero { padding:2.5rem 0 2.1rem; background:radial-gradient(ellipse at 90% 8%,#e8edf9 0,transparent 60%); }
.home-eyebrow { margin:0 0 .65rem; display:flex; align-items:center; gap:.5rem; color:#62708d; font-size:.75rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; line-height:1.5; overflow-wrap:anywhere; }
.home-dot { width:.4rem; height:.4rem; border-radius:50%; background:#526db2; }
.home-page .home-hero h1 { margin:0; max-width:38ch; font-size:2.375rem; font-weight:700; line-height:1.18; letter-spacing:-.04em; color:#1f2d55; }
.home-hero h1 span { display:block; color:#48629d; }
.home-intro { max-width:52rem; margin:.85rem 0 0; color:#65728a; font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
.home-catalog { padding-bottom:2.5rem; }
.home-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; margin-bottom:1.1rem; }
.home-section-head>div { flex:1; min-width:0; }
.home-section-head .home-eyebrow { margin-bottom:.3rem; }
.home-page .home-section-head h2 { margin:0; font-size:1.5rem; line-height:1.3; letter-spacing:-.025em; }
#homeSystemsTitle:focus { outline:none; }
.home-section-intro { margin:.5rem 0 0; max-width:42rem; font-size:.875rem; line-height:1.6; color:#64718a; overflow-wrap:anywhere; }
.home-page .home-search { display:flex; align-items:center; gap:.65rem; width:18rem; max-width:100%; flex-shrink:0; min-height:2.75rem; border:1px solid #d8e0ee; border-radius:.65rem; padding:0 .85rem; color:#78869e; background:#fff; }
.home-search:focus-within { border-color:#7a91bd; box-shadow:0 0 0 3px #e6ecf9; }
.home-search input { min-width:0; width:100%; padding:.6rem 0; border:0; background:transparent; color:#293a5e; outline:none; }
.home-search input:focus-visible { outline:none; }
.home-search input::placeholder { color:#65758e; }
.home-catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.home-filters { display:flex; align-items:center; flex-wrap:wrap; gap:.4rem; }
.home-filter { display:inline-flex; align-items:center; gap:.5rem; min-height:2.5rem; padding:.45rem .9rem; border:1px solid transparent; border-radius:.6rem; background:transparent; color:#66738e; font-size:.875rem; font-weight:500; cursor:pointer; }
.home-filter[aria-pressed=true] { color:#293c70; background:#e7edf8; border-color:#dce5f4; }
.home-filter:hover { background:#eaf0f9; color:#293c70; }
.home-filter span { min-width:1.35rem; padding:0 .3rem; border-radius:.3rem; background:#ffffffa6; font-size:.75rem; text-align:center; }
.home-results { margin:0; color:#68758e; font-size:.75rem; font-variant-numeric:tabular-nums; }
.home-systems-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; padding:0; list-style:none; }
.home-systems-grid>li { min-width:0; display:flex; }
.home-system-card { width:100%; min-width:0; min-height:14.5rem; padding:1.15rem 1.25rem 1rem; border:1px solid #dde4ef; border-radius:1rem; background:#fff; display:flex; flex-direction:column; box-shadow:0 3px 12px #28386804; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.home-system-card:hover { transform:translateY(-3px); border-color:#b0bfdc; box-shadow:0 12px 24px #28386810; }
.home-card-top { display:flex; align-items:center; justify-content:space-between; gap:.75rem; margin-bottom:1rem; }
.home-system-logo { display:flex; align-items:center; justify-content:flex-start; width:7rem; height:2.5rem; background:#f7f9fd; border:1px solid #e8edf5; border-radius:.6rem; padding:.35rem .5rem; flex-shrink:0; }
.home-system-logo img { max-width:100%; height:100%; max-height:100%; object-fit:contain; object-position:left center; }
.home-system-initials { font-size:1rem; font-weight:700; color:#334a7e; }
.home-card-badge { display:inline-flex; align-items:center; border-radius:2rem; padding:.2rem .55rem; font-size:.75rem; color:#58698c; background:#f0f4fa; }
.home-card-copy { min-width:0; margin-bottom:1.05rem; }
.home-card-label { margin:0 0 .25rem; font-size:.75rem; color:#62718a; line-height:1.5; overflow-wrap:anywhere; }
.home-page .home-system-card h3 { margin:0 0 .45rem; font-size:1.125rem; line-height:1.35; letter-spacing:-.025em; color:#1d2c50; }
.home-card-description { margin:0; color:#64718a; font-size:.875rem; line-height:1.55; overflow-wrap:anywhere; }
.home-card-access { display:flex; justify-content:space-between; align-items:center; gap:.75rem; padding-top:.8rem; border-top:1px solid #e7ecf4; margin-top:auto; }
.home-card-access>span:first-child { min-width:0; display:flex; flex-direction:column; gap:.1rem; }
.home-card-access strong { font-size:.875rem; font-weight:500; color:#2b4277; }
.home-card-access small { color:#66758e; font-size:.75rem; line-height:1.5; overflow-wrap:anywhere; }
.home-card-arrow { flex:0 0 2rem; width:2rem; height:2rem; display:grid; place-items:center; border-radius:50%; background:#f0f4fa; font-size:1.1rem; color:#38558b; }
.home-system-primary { background:linear-gradient(125deg,#243468,#344580); border-color:#293c75; box-shadow:0 6px 18px #28386814; }
.home-system-primary:hover { border-color:#526ca3; box-shadow:0 12px 24px #28386822; }
.home-system-primary .home-system-logo { background:#fff; border-color:#ffffff4d; }
.home-system-primary .home-card-badge { color:#e2e8ff; background:#ffffff15; }
.home-page .home-system-primary h3,.home-system-primary .home-card-access strong { color:#fff; }
.home-system-primary .home-card-label { color:#c2cdef; }
.home-system-primary .home-card-description { color:#e0e6f9; }
.home-system-primary .home-card-access { border-color:#ffffff24; }
.home-system-primary .home-card-access small { color:#bdcbee; }
.home-system-primary .home-card-arrow { background:#ffffff15; color:#fff; }
.home-pagination { display:flex; align-items:center; justify-content:center; gap:1.25rem; padding-top:1.3rem; }
.home-pagination>span { font-size:.8125rem; color:#68758e; text-align:center; font-variant-numeric:tabular-nums; }
.home-pagination .home-button { min-height:2.75rem; }
.home-no-results { padding:2.5rem 1.25rem; border:1px dashed #cdd6e6; border-radius:1rem; background:#fff; text-align:center; color:#26385e; }
.home-no-results p { margin:.4rem 0 1rem; font-size:.875rem; color:#71809a; }
.home-network { border-top:1px solid #e1e7f1; background:#fff; padding:2.25rem 0; }
.home-network-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; }
.home-network-section { min-width:0; }
.home-page .home-network-section h2 { margin:0; max-width:28ch; font-size:1.375rem; line-height:1.35; letter-spacing:-.025em; }
.home-network-section .home-eyebrow { margin-bottom:.5rem; }
.home-organizations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin-top:1.1rem; }
.home-organization { padding:1rem; display:flex; flex-direction:column; align-items:flex-start; gap:.4rem; min-width:0; border:1px solid #e3e8f2; border-radius:.8rem; background:#f9fbfe; }
a.home-organization:hover { border-color:#b6c6e0; background:#f3f7fc; }
.home-organization img { width:100%; max-width:10rem; height:2.75rem; object-fit:contain; object-position:left center; margin-bottom:.4rem; }
.home-organization strong { font-size:.875rem; color:#293b60; overflow-wrap:anywhere; }
.home-organization small { font-size:.75rem; color:#68778e; line-height:1.5; overflow-wrap:anywhere; }
.home-organization-initials { display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.6rem; color:#425a8a; background:#eaf0f9; font-size:.875rem; font-weight:700; margin-bottom:.4rem; }
.home-network-empty { margin-top:1.1rem; padding:1rem 1.1rem; border:1px dashed #dce3ef; border-radius:.8rem; background:#f9fbfe; }
.home-network-empty strong { font-size:.875rem; color:#526481; font-weight:500; }
.home-network-empty p { margin:.3rem 0 0; font-size:.75rem; color:#65748e; line-height:1.5; }
.home-footer { background:#fff; border-top:1px solid #e6ebf4; padding:1.25rem 0; }
.home-footer .home-container { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.75rem; color:#63738c; }
.home-footer strong { font-weight:500; color:#506282; }
.home-footer a { color:#4e658f; padding:.35rem 0; white-space:nowrap; }
@media (max-width:68rem) {
  .home-header-inner { gap:1.25rem; }
  .home-menu { gap:1.25rem; }
  .home-nav { gap:1rem; }
  .home-systems-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:48.001rem) { .home-menu-toggle { display:none !important; } }
@media (max-width:48rem) {
  .home-container { width:calc(100% - 2rem); }
  .home-header-inner { flex-wrap:wrap; gap:0; padding-block:.8rem; min-height:4rem; }
  .home-brand img { width:2.25rem; height:2.25rem; }
  .home-menu-toggle { display:grid; }
  .home-menu { flex:1 1 100%; margin:0; align-items:stretch; flex-direction:column; gap:.75rem; padding-top:.75rem; }
  .home-ready .home-menu:not(.is-open) { display:none; }
  .home-nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
  .home-nav a { padding:.7rem .5rem; min-height:2.75rem; border-radius:.5rem; }
  .home-nav a[aria-current] { background:#edf2fb; }
  .home-nav a[aria-current]::after { display:none; }
  .home-session-actions { padding-top:.5rem; border-top:1px solid #edf0f6; }
  .home-session-actions .home-button { min-height:2.75rem; }
  .home-hero { padding:1.75rem 0; }
  .home-page .home-hero h1 { font-size:2rem; }
  .home-section-head { align-items:stretch; flex-direction:column; gap:1rem; }
  .home-page .home-search { width:100%; }
  .home-catalog-toolbar { align-items:flex-start; flex-wrap:wrap; gap:.5rem; }
  .home-results { align-self:center; }
  .home-network-grid { grid-template-columns:1fr; gap:2rem; }
  .home-network { padding:1.75rem 0; }
  .home-page :is(#sistemas,#quem-utiliza,#patrocinadores) { scroll-margin-top:5rem; }
}
@media (max-width:40rem) {
  .home-systems-grid { grid-template-columns:minmax(0,1fr); gap:.85rem; }
  .home-system-card { min-height:13.5rem; padding:1.1rem; }
  .home-card-top { margin-bottom:.8rem; }
  .home-page .home-section-head h2 { font-size:1.375rem; }
  .home-pagination { gap:.6rem; justify-content:space-between; }
  .home-pagination .home-button { padding:.5rem .65rem; }
  .home-pagination>span { font-size:.75rem; }
  .home-footer .home-container { flex-direction:column; align-items:flex-start; gap:.35rem; }
}
@media (max-width:23rem) {
  .home-catalog-toolbar { flex-direction:column; }
  .home-organizations { grid-template-columns:1fr; }
  .home-page .home-hero h1 { font-size:1.8rem; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .home-system-card { transition:none; }
  .home-system-card:hover { transform:none; }
}
