/* Navigation and motion. No libraries, scroll listeners or hidden results. */
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e8e1ed}
.masthead.site-header .header-inner{display:flex;align-items:center;gap:32px;height:88px;position:relative}
.site-header .logo{display:flex;align-items:center;flex-shrink:0;margin-right:auto}
.site-header .brand-logo-img{width:277px;height:32px;max-width:none;object-fit:contain}
.site-header nav a,.site-header summary{font:600 14px/1.4 Poppins,Arial,sans-serif;text-decoration:none}
.site-header details{padding:0;margin:0;border:0}
.site-header details>summary::after{content:none}
.site-header a:focus-visible,.site-header summary:focus-visible{outline:3px solid #6e3fa0;outline-offset:4px;border-radius:8px}
.priority-nav{display:flex;align-items:center;gap:10px}
.priority-nav a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;border-radius:10px;border:1px solid transparent;white-space:nowrap}
.priority-nav .nav-results{background:#4a2670;color:#fff}
.priority-nav .nav-today{background:#f3edf9;color:#4a2670;border-color:#d9c7ea}
.priority-nav .nav-verify{background:#ffd400;color:#34174f}
.priority-nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.desktop-nav{display:flex;align-items:center;gap:8px;padding-left:24px;border-left:1px solid #e8e1ed}
.nav-dropdown{position:relative}
.nav-dropdown summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;min-height:46px;padding:12px;color:#4a2670;border-radius:10px}
.site-header summary::-webkit-details-marker{display:none}
.nav-chevron{width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.nav-dropdown[open] summary{background:#f5f1fa}
.nav-dropdown[open] .nav-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.nav-dropdown-panel{position:absolute;right:0;top:calc(100% + 10px);width:238px;padding:10px;background:#fff;border:1px solid #e8e1ed;border-radius:14px;box-shadow:0 12px 32px rgba(52,23,79,.1);max-height:calc(100dvh - 112px);overflow-y:auto}
.nav-dropdown-panel a{display:block;padding:11px 12px;min-height:44px;border-radius:8px;color:#4d4652}
.nav-dropdown-panel a[aria-current="page"],.mobile-menu-panel a[aria-current="page"]{color:#4a2670;background:#f5f1fa}
.mobile-menu{display:none}
.site-header+.notice{font-size:12px;line-height:1.6;color:#625a68;background:#faf9fb}
.site-header+.notice .wrap{padding-top:9px;padding-bottom:9px}
.home-overview h1{font-size:clamp(28px,3.5vw,38px);line-height:1.15;letter-spacing:-.025em;max-width:23ch;margin-top:12px}
.home-overview .home-intro{max-width:52ch;margin:12px 0 0;font-size:14px;color:#625a68}
.home-overview .jogo{position:relative;border-radius:14px;border-color:#e8e1ed;padding-top:24px}
.home-overview .jogo::before{content:'';position:absolute;left:20px;top:0;width:28px;height:3px;background:#6e3fa0;border-radius:0 0 3px 3px}
.home-overview .jogo-pe{display:flex;align-items:center;justify-content:space-between;gap:8px}
.home-overview .jogo-pe::after{content:'→';font-size:18px;color:#6e3fa0}

@media(hover:hover){
  .nav-dropdown summary:hover,.nav-dropdown-panel a:hover,.mobile-menu-panel a:hover{background:#f5f1fa;color:#4a2670}
  .priority-nav .nav-results:hover{background:#34174f}
  .priority-nav .nav-today:hover{background:#e8dbf3}
  .priority-nav .nav-verify:hover{background:#f0c800}
}
@media(prefers-reduced-motion:no-preference){
  .priority-nav a,.menu-toggle,.nav-dropdown summary{transition:background-color 160ms ease,transform 160ms ease}
  .hamburger span{transition:transform 180ms ease,opacity 180ms ease}
  .jogo,.knowledge-link,a.national-card{transition:transform 180ms ease,border-color 180ms ease}
  .home-overview .jogo{animation:card-arrive 360ms cubic-bezier(.2,.7,.3,1)}
  .nav-dropdown[open] .nav-dropdown-panel,.mobile-menu[open] .mobile-menu-panel{animation:menu-arrive 180ms ease-out}
  @media(hover:hover){
    .priority-nav a:hover{transform:translateY(-1px)}
    .jogo:hover,.knowledge-link:hover,a.national-card:hover{transform:translateY(-3px)}
  }
  @keyframes card-arrive{from{transform:translateY(6px)}to{transform:translateY(0)}}
  @keyframes menu-arrive{from{opacity:.75;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
@media(max-width:1100px){
  .masthead.site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px 8px;height:auto;padding:14px 20px 12px}
  .site-header .brand-logo-img{width:243px;height:28.08px;max-width:100%}
  .site-header .logo{margin:0;min-width:0;width:243px;max-width:100%}
  .desktop-nav{display:none}
  .priority-nav{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr) 44px;gap:6px}
  .priority-nav a{min-height:44px;padding:10px 6px;font-size:12px}
  .mobile-menu{display:block;grid-column:2;grid-row:1}
  .menu-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;list-style:none;cursor:pointer;color:#4a2670;border:1px solid #e8e1ed;border-radius:10px;background:#fff}
  .hamburger{display:flex;flex-direction:column;gap:5px;width:19px}
  .hamburger span{display:block;height:2px;width:19px;background:currentColor;border-radius:2px}
  .mobile-menu[open] .menu-toggle{background:#f5f1fa}
  .mobile-menu[open] .hamburger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mobile-menu[open] .hamburger span:nth-child(2){opacity:0}
  .mobile-menu[open] .hamburger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mobile-menu-panel{position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - 138px);max-height:calc(100dvh - 138px);overflow-y:auto;overscroll-behavior:contain;padding:8px 20px 24px;background:#fff;border-bottom:1px solid #e8e1ed;box-shadow:0 18px 24px rgba(52,23,79,.1)}
  .mobile-menu-heading{padding:14px 10px 18px;color:#625a68;font-size:12px;border-bottom:1px solid #e8e1ed}
  .mobile-menu-group{padding:16px 0 8px}
  .mobile-menu-group h2{font:600 11px/1.5 Poppins,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6e3fa0;padding:0 10px 8px}
  .mobile-menu-panel a{display:block;min-height:44px;padding:12px 10px;border-radius:8px;color:#4d4652}
  .mobile-menu-panel .mobile-home{border-top:1px solid #e8e1ed;border-radius:0;margin-top:8px;padding-top:18px}
  .home-overview h1{max-width:22ch}
}
@media(max-width:359px){.masthead.site-header .header-inner{padding-left:12px;padding-right:12px}}
@media print{.site-header{position:static}.desktop-nav,.mobile-menu,.priority-nav{display:none}}

@media(min-width:1001px){.rail{top:108px}}
