
/* ATP Concursos — Brasil de Oportunidades. Blue/silver brand only. */
.nh-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 30%,#114D8C 0%,transparent 47%),radial-gradient(ellipse at 16% 100%,#0B3A74 0%,transparent 42%),#041B38;color:#fff;border-bottom:1px solid rgba(150,190,235,.3)}
.nh-hero::before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background-image:linear-gradient(rgba(157,208,250,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(157,208,250,.15) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}
.nh-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:24px;min-height:580px;align-items:center;padding-top:50px;padding-bottom:40px;position:relative}
.nh-kicker{display:inline-flex;align-items:center;gap:9px;color:#8ACAF7;font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.nh-kicker::before{content:"";width:22px;height:2px;background:#8ACAF7}
.nh-hero h1{font-size:clamp(42px,5vw,68px);line-height:1.06;letter-spacing:-2.3px;max-width:620px;margin:20px 0 22px}
.nh-hero h1 span{color:#8FCCFA}
.nh-hero p{color:#C7DDF0;font-size:16px;line-height:1.72;max-width:525px}
.nh-live{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(172,215,246,.25);border-radius:100px;color:#DBEDFB;font-size:12px;background:rgba(255,255,255,.06);margin-top:11px}
.nh-live-dot{height:7px;width:7px;border-radius:50%;background:#67D5C0;box-shadow:0 0 15px #5BDFC5}
.nh-hero-stats{display:flex;gap:25px;margin-top:33px;flex-wrap:wrap}
.nh-hero-stat{display:flex;flex-direction:column;gap:3px}
.nh-hero-stat strong{font-size:30px;font-weight:800;line-height:1;color:white}
.nh-hero-stat small{color:#9CBED9;font-size:12px}
.nh-hero-stat:not(:last-child){padding-right:22px;border-right:1px solid rgba(200,226,246,.19)}
.nh-map-stage{position:relative;height:530px;min-width:0;display:grid;place-items:center;touch-action:pan-y}
.nh-map-stage:before{content:"";position:absolute;width:440px;height:440px;max-width:92%;border:1px solid rgba(118,188,240,.2);border-radius:50%;box-shadow:0 0 70px rgba(7,112,209,.08);transform:rotateX(64deg);pointer-events:none}
.nh-map-stage:after{content:"";position:absolute;bottom:34px;left:20%;width:60%;height:24px;border-radius:50%;filter:blur(22px);background:rgba(16,152,253,.35);pointer-events:none}
.nh-map-shadow{position:absolute;inset:9% 8%;pointer-events:none;border:1px solid rgba(94,162,239,.10);transform:rotateY(15deg);border-radius:50%}
.nh-map-tilt{position:relative;width:min(100%,465px);z-index:1;transform-style:preserve-3d;transform:perspective(920px) rotateX(var(--rx,6deg)) rotateY(var(--ry,-8deg)) translateY(-2px);transition:transform .62s cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 17px 0 #00244A) drop-shadow(0 26px 18px rgba(0,4,18,.64))}
.nh-map-svg{width:100%;height:auto;display:block;overflow:visible}
.nh-state{fill:#165A96;stroke:#9DD0F7;stroke-width:2.15;stroke-linejoin:round;cursor:pointer;transition:fill .26s,filter .28s,transform .36s;vector-effect:non-scaling-stroke}
.nh-state[data-has-open="true"]{fill:#217ECA}
.nh-state:hover,.nh-state:focus-visible{fill:#6FBCF5;filter:drop-shadow(0 0 10px #48ADFF);outline:none}
.nh-state.nh-state-selected{fill:#B6DFFB;stroke:#fff;filter:drop-shadow(0 0 9px #55BDFF)}
.nh-state-label{font-family:system-ui,sans-serif;font-size:13px;fill:#E9F6FE;text-anchor:middle;font-weight:900;pointer-events:none;text-shadow:0 1px 5px #02152A}
.nh-state-label.current{fill:#052D61}
.nh-map-guide{position:absolute;top:20px;right:12px;z-index:3;font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:#9DC8E8}
.nh-map-info{position:absolute;bottom:20px;right:0;min-width:218px;padding:15px 18px;z-index:3;background:rgba(5,27,56,.89);backdrop-filter:blur(15px);border:1px solid rgba(140,199,242,.37);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.2)}
.nh-map-info b{display:block;color:#fff;font-size:16px}.nh-map-info small{display:block;color:#A7C9E5;font-size:12px;margin-top:4px}
.nh-map-dot{position:absolute;top:11%;left:15%;width:8px;height:8px;border-radius:50%;background:#D8F5FF;box-shadow:0 0 19px #54BDF6;pointer-events:none}
.nh-navstrip{position:relative;z-index:2;margin-top:-32px}
.nh-filter{padding:23px 25px;border-radius:20px;background:#fff;border:1px solid #D8E5F0;box-shadow:0 17px 45px rgba(5,38,77,.10)}
.nh-filter-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px}
.nh-filter-top b{font-size:16px;color:#052D61}.nh-filter-top small{font-size:12px;color:#647B92}
.nh-filter-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:13px}
.nh-filter label{display:block;font-size:11px;font-weight:800;letter-spacing:.3px;color:#526E88;margin-bottom:7px}
.nh-filter select,.nh-filter input{background:#F8FBFD;min-width:0}
.nh-filter-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:17px;flex-wrap:wrap}
.nh-pills{display:flex;flex-wrap:wrap;gap:7px}
.nh-pill{border:1px solid #D9E7F2;border-radius:50px;color:#4D6880;background:#fff;font-size:12px;font-weight:700;padding:8px 13px;transition:all .2s}
.nh-pill:hover,.nh-pill.active{color:white;background:#096EBB;border-color:#096EBB}
.nh-clear{background:none;border:0;color:#096EBB;font-weight:750;font-size:12px}
.nh-content{padding:59px 0 80px}
.nh-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}
.nh-header h2{color:#052D61;font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:6px 0}
.nh-header p{color:#698199;font-size:14px;margin:0}
.nh-header-meta{font-size:12px;color:#657C92}
.nh-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
.nh-card{background:#fff;border-radius:18px;border:1px solid #DBE6EF;box-shadow:0 5px 18px rgba(5,41,79,.035);padding:24px;display:flex;flex-direction:column;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.nh-card:hover{transform:translateY(-4px);box-shadow:0 20px 38px rgba(5,40,77,.10)}
.nh-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.nh-state-tag{font-size:11px;color:#0A62A4;letter-spacing:.7px;font-weight:850}
.nh-status{font-size:11px;font-weight:850;border-radius:50px;padding:5px 10px;background:#E8F3FD;color:#0B599C;white-space:nowrap}
.nh-status.aberto{background:#E5F8EC;color:#157542}
.nh-status.previsto{background:#E8F2FE;color:#195BA5}
.nh-status.conferencia{background:#FFF5E3;color:#8D641C}
.nh-status.encerrado{background:#EDEFF2;color:#66798B}
.nh-card h3{font-size:21px;line-height:1.3;letter-spacing:-.45px;color:#092E56;margin:0 0 7px}
.nh-card-orgao{font-size:13px;color:#71849B;margin-bottom:14px}
.nh-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:13px;border-top:1px solid #EDF1F5;border-bottom:1px solid #EDF1F5;padding:14px 0;margin:4px 0 16px}
.nh-card-fact span{display:block;font-size:11px;color:#879AAE;font-weight:650;margin-bottom:3px}
.nh-card-fact strong{font-size:13px;color:#284B69}
.nh-card-fact.wide{grid-column:span 2}
.nh-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto}
.nh-action{font-size:12px;font-weight:850;padding:11px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;border:1px solid #C8DFEF;color:#0A67AA;background:#F2F8FC;transition:transform .3s,background .3s}
.nh-action:hover{transform:translateY(-2px);background:#E0F0FC}
.nh-action.primary{background:#056BB9;border-color:#056BB9;color:#fff}
.nh-card-source{font-size:10px;color:#8A9EAF;padding-top:14px;margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:6px;border-top:1px solid #F0F4F7}
.nh-card-source a{color:#176BA3;text-decoration:underline}
.nh-empty{grid-column:span 2;background:white;border:1px dashed #ADC7DB;border-radius:18px;padding:55px 25px;text-align:center;color:#6B8296}
.nh-empty b{display:block;color:#052D61;font-size:20px;margin-bottom:7px}
.nh-more{margin:24px auto 0;display:block;padding:13px 27px;border-radius:12px;border:1px solid #A7C7DE;background:white;color:#0761A9;font-weight:800}
.nh-note{border-radius:15px;background:#EBF4FA;border:1px solid #D0E4F1;padding:17px 20px;color:#506F8B;font-size:13px;margin-top:30px}
.nh-callout{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(115deg,#073164,#075B9A);color:white;padding:30px 35px;border-radius:22px;margin-top:40px}
.nh-callout h3{font-size:25px;letter-spacing:-.5px;margin:0 0 6px}.nh-callout p{margin:0;color:#C5E2F4;font-size:14px}
.nh-callout-actions{display:flex;flex-wrap:wrap;gap:10px}
.nh-callout-actions a{display:inline-flex;background:white;border-radius:10px;padding:12px 15px;color:#052F5B;font-size:12px;font-weight:800}
.nh-callout-actions a:last-child{background:rgba(255,255,255,.1);color:white;border:1px solid rgba(255,255,255,.33)}
.nh-editorial{margin-top:65px}.nh-editorial h2{font-size:28px;color:#052D61}
.nh-watermark{opacity:.65;font-size:11px;color:#9FBCD3;margin-top:9px}
@media(max-width:980px){.nh-hero-grid{grid-template-columns:1fr 1fr;gap:10px}.nh-map-stage{height:480px}.nh-filter-grid{grid-template-columns:repeat(2,1fr)}.nh-hero h1{font-size:50px}}
@media(max-width:710px){.nh-hero-grid{grid-template-columns:1fr;padding-top:53px;padding-bottom:25px}.nh-hero h1{font-size:44px;max-width:500px}.nh-hero p{font-size:15px}.nh-hero-stats{gap:18px;margin-top:24px}.nh-hero-stat strong{font-size:25px}.nh-map-stage{height:455px;max-width:520px;margin:auto;width:100%}.nh-map-tilt{width:min(100%,340px)}.nh-map-info{bottom:6px;right:0;min-width:150px;padding:10px 12px}.nh-map-guide{top:6px;right:2px}.nh-navstrip{margin-top:0}.nh-filter{border-radius:0 0 18px 18px;padding:23px 17px}.nh-filter-grid{grid-template-columns:1fr}.nh-filter-bottom{align-items:stretch}.nh-pills{gap:6px}.nh-results{grid-template-columns:1fr}.nh-empty{grid-column:span 1}.nh-content{padding:42px 0 55px}.nh-header{flex-direction:column;align-items:start}.nh-card{padding:20px}.nh-callout{grid-template-columns:1fr;padding:25px 21px}.nh-callout-actions{flex-direction:column}.nh-callout-actions a{justify-content:center}}
@media(prefers-reduced-motion:reduce){.nh-map-tilt,.nh-state,.nh-card{transform:none!important;transition:none!important}}
