/*
Theme Name: NULL TRACE Cyber
Version: 2.2.0
Description: Sistema editorial acessível para o portal NULL TRACE.
*/

:root {
  --nt-bg: #080d14; --nt-surface: #101a27; --nt-elevated: #172536; --nt-elevated-hover: #1c2d40;
  --nt-text: #f3f7fc; --nt-muted: #a4b4c6; --nt-accent: #00d9a6; --nt-accent-ink: #002b22;
  --nt-blue: #328cff; --nt-border: #263548; --nt-shadow: 0 18px 46px rgb(0 0 0 / 22%);
  --nt-radius-sm: 8px; --nt-radius: 14px; --nt-radius-lg: 20px;
  --nt-space-1: 4px; --nt-space-2: 8px; --nt-space-3: 12px; --nt-space-4: 16px;
  --nt-space-5: 24px; --nt-space-6: 32px; --nt-space-7: 48px; --nt-space-8: 64px;
  --nt-container: 1280px; color-scheme: dark;
}
body.nt-light { --nt-bg:#f5f8fb; --nt-surface:#fff; --nt-elevated:#edf3f8; --nt-elevated-hover:#e3edf5; --nt-text:#0b1724; --nt-muted:#52677d; --nt-border:#cfdae5; --nt-shadow:0 14px 36px rgb(34 52 72 / 10%); color-scheme:light; }
* { box-sizing: border-box; } html { scroll-behavior: smooth; }
body { margin:0; background:var(--nt-bg); color:var(--nt-text); font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
img { display:block; max-width:100%; } a { color:inherit; text-decoration:none; } button { font:inherit; }
.skip { position:fixed; z-index:100; top:var(--nt-space-3); left:-9999px; padding:var(--nt-space-2) var(--nt-space-3); border-radius:var(--nt-radius-sm); background:var(--nt-accent); color:var(--nt-accent-ink); font-weight:800; }.skip:focus { left:var(--nt-space-3); }
.wrap { width:min(var(--nt-container),calc(100% - 40px)); margin-inline:auto; }:focus-visible { outline:3px solid var(--nt-accent); outline-offset:3px; }

.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid var(--nt-border); background:color-mix(in srgb,var(--nt-bg) 91%,transparent); backdrop-filter:blur(18px); }
.bar { display:flex; min-height:72px; align-items:center; gap:var(--nt-space-4); }.brand { display:inline-flex; flex-direction:column; flex-shrink:0; font-size:1rem; font-weight:900; letter-spacing:.12em; line-height:1.1; white-space:nowrap; }.brand i { color:var(--nt-accent); font-style:normal; }.brand small { margin-top:3px; color:var(--nt-muted); font-size:.5rem; font-weight:800; letter-spacing:.25em; }
.nav { min-width:0; margin-left:auto; }.nav ul { display:flex; align-items:center; gap:clamp(8px,1.25vw,18px); margin:0; padding:0; list-style:none; }.nav a { display:inline-block; padding-block:8px; color:var(--nt-muted); font-size:.78rem; font-weight:760; line-height:1.2; white-space:nowrap; }.nav a:hover,.nav .current-menu-item>a,.nav .current_page_item>a { color:var(--nt-accent); }
.header-actions { display:flex; flex-shrink:0; align-items:center; gap:var(--nt-space-2); }.icon-control { display:inline-grid; width:44px; height:44px; place-items:center; border:1px solid var(--nt-border); border-radius:50%; background:transparent; color:var(--nt-text); cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }.icon-control:hover { border-color:var(--nt-accent); background:var(--nt-elevated); color:var(--nt-accent); }.menu-toggle { display:none; }

.home-main { padding-bottom:var(--nt-space-8); }.hero { position:relative; overflow:clip; padding:clamp(24px,4vw,56px) 0 var(--nt-space-5); }.hero::before { position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 80% 15%,color-mix(in srgb,var(--nt-blue) 20%,transparent),transparent 36%); content:""; pointer-events:none; }.hero-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr); gap:var(--nt-space-5); align-items:stretch; }.hero-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(12px,2vw,28px) 0; }.eyebrow,.category-badge { color:var(--nt-accent); font-size:.72rem; font-weight:850; letter-spacing:.13em; line-height:1.3; text-transform:uppercase; }.hero h1 { max-width:18ch; margin:var(--nt-space-2) 0 var(--nt-space-3); font-size:clamp(2rem,4.2vw,4rem); letter-spacing:-.045em; line-height:1.04; }.hero-summary { max-width:62ch; margin:0; color:var(--nt-muted); font-size:clamp(1rem,1.4vw,1.125rem); }.hero-action { display:inline-flex; width:fit-content; margin-top:var(--nt-space-4); align-items:center; gap:var(--nt-space-2); color:var(--nt-text); font-size:.9rem; font-weight:800; }.hero-action::after { color:var(--nt-accent); content:"→"; transition:transform .18s ease; }.hero-action:hover::after { transform:translateX(4px); }

.card { min-width:0; overflow:hidden; border:1px solid var(--nt-border); border-radius:var(--nt-radius); background:var(--nt-elevated); transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }.card:hover,.card:focus-within { border-color:color-mix(in srgb,var(--nt-accent) 75%,var(--nt-border)); box-shadow:var(--nt-shadow); transform:translateY(-2px); }.card>a { display:block; height:100%; }.card-media { position:relative; overflow:hidden; aspect-ratio:16/9; border-bottom:1px solid var(--nt-border); background:linear-gradient(135deg,#102235 0%,#0b1521 54%,#133842 100%); }.card-media::before { position:absolute; inset:0; background:repeating-linear-gradient(90deg,transparent 0 31px,rgb(0 217 166 / 9%) 32px 33px),linear-gradient(125deg,transparent 36%,rgb(50 140 255 / 25%) 37% 39%,transparent 40%); content:""; }.card-media::after { position:absolute; right:12px; bottom:10px; color:rgb(243 247 252 / 80%); content:"NT // SIGNAL"; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:.65rem; font-weight:700; letter-spacing:.1em; }.card-media img { width:100%; height:100%; object-fit:cover; }.card-media:has(img)::before,.card-media:has(img)::after { display:none; }.hero-media { height:100%; min-height:360px; border:1px solid var(--nt-border); border-radius:var(--nt-radius-lg); }.card-body { padding:var(--nt-space-4); }.card .meta { margin:0; color:var(--nt-muted); font-size:.78rem; line-height:1.45; }.card .meta a { color:var(--nt-accent); font-weight:750; }.card h2,.card h3 { margin:var(--nt-space-2) 0; color:var(--nt-text); letter-spacing:-.025em; line-height:1.2; }.card h2 { font-size:clamp(1.45rem,2.1vw,2.15rem); }.card h3 { font-size:clamp(1.08rem,1.3vw,1.32rem); }.card-excerpt { display:-webkit-box; overflow:hidden; margin:0; color:var(--nt-muted); -webkit-box-orient:vertical; -webkit-line-clamp:3; }.demo-label { display:inline-flex; margin:0 0 var(--nt-space-2); padding:3px 7px; border:1px solid color-mix(in srgb,var(--nt-accent) 55%,var(--nt-border)); border-radius:999px; color:var(--nt-accent); font-size:.67rem; font-weight:800; letter-spacing:.08em; line-height:1.2; text-transform:uppercase; }

.editorial-lead { padding-bottom:var(--nt-space-6); }.lead-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.9fr); gap:var(--nt-space-4); }.lead-primary { grid-row:span 2; }.lead-primary .card-media { aspect-ratio:16/8.5; }.lead-secondary>a { display:grid; height:auto; grid-template-columns:116px minmax(0,1fr); align-items:stretch; }.lead-secondary .card-media { align-self:start; min-width:0; aspect-ratio:16/9; border-right:1px solid var(--nt-border); border-bottom:0; }.lead-secondary .card-body { padding:var(--nt-space-3) var(--nt-space-4); }.lead-secondary .card-excerpt { display:none; }.lead-secondary h2,.lead-secondary h3 { font-size:1rem; }
.section { padding:var(--nt-space-6) 0; }.section+.section { border-top:1px solid var(--nt-border); }.section-head { display:flex; align-items:end; justify-content:space-between; gap:var(--nt-space-4); margin-bottom:var(--nt-space-4); }.section-head h2 { margin:var(--nt-space-1) 0 0; font-size:clamp(1.65rem,3vw,2.45rem); letter-spacing:-.04em; line-height:1.12; }.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--nt-space-4); }.empty-state { padding:var(--nt-space-5); border:1px dashed var(--nt-border); border-radius:var(--nt-radius); background:color-mix(in srgb,var(--nt-elevated) 65%,transparent); color:var(--nt-muted); }.empty-state p { max-width:66ch; margin:0; }.topic-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--nt-space-3); }.topic-link { min-height:112px; padding:var(--nt-space-4); border:1px solid var(--nt-border); border-radius:var(--nt-radius); background:var(--nt-surface); transition:background-color .18s ease,border-color .18s ease,transform .18s ease; }.topic-link:hover { border-color:var(--nt-blue); background:var(--nt-elevated); transform:translateY(-2px); }.topic-link strong { display:block; font-size:1rem; }.topic-link span { display:block; margin-top:var(--nt-space-1); color:var(--nt-muted); font-size:.85rem; }

.content { width:min(760px,calc(100% - 40px)); margin:var(--nt-space-7) auto; }.content h1 { margin-bottom:var(--nt-space-3); font-size:clamp(2.1rem,5vw,3.8rem); letter-spacing:-.04em; line-height:1.08; }.content h2 { margin-top:var(--nt-space-6); line-height:1.2; }.content p,.content li { max-width:76ch; } pre { overflow:auto; padding:var(--nt-space-4); border:1px solid var(--nt-border); border-radius:var(--nt-radius-sm); background:#02060b; }
footer { border-top:1px solid var(--nt-border); background:var(--nt-surface); }.footer-grid { display:grid; grid-template-columns:1.6fr repeat(3,1fr); gap:var(--nt-space-6); padding:var(--nt-space-7) 0 var(--nt-space-6); }.footer-grid p { max-width:33ch; color:var(--nt-muted); font-size:.92rem; }.footer-grid h2 { margin:0 0 var(--nt-space-3); color:var(--nt-text); font-size:.72rem; letter-spacing:.13em; text-transform:uppercase; }.footer-grid a:not(.brand) { display:block; width:fit-content; margin:0 0 var(--nt-space-2); color:var(--nt-muted); font-size:.9rem; }.footer-grid a:not(.brand):hover { color:var(--nt-accent); }.copyright { padding:var(--nt-space-3) 0; border-top:1px solid var(--nt-border); color:var(--nt-muted); font-size:.82rem; }

@media (max-width:1120px) { .nav { display:none; }.menu-toggle { display:inline-grid; }.nav.open { position:absolute; top:72px; right:0; left:0; display:block; padding:var(--nt-space-3) max(20px,calc((100vw - var(--nt-container))/2)); border-bottom:1px solid var(--nt-border); background:var(--nt-surface); box-shadow:var(--nt-shadow); }.nav.open ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }.nav.open a { display:block; padding:var(--nt-space-3); border-radius:var(--nt-radius-sm); }.nav.open a:hover { background:var(--nt-elevated); }.topic-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .wrap,.content { width:min(100% - 32px,var(--nt-container)); }.bar { min-height:64px; gap:var(--nt-space-2); }.brand { font-size:.9rem; }.nav.open { top:64px; padding:var(--nt-space-2) 16px var(--nt-space-3); }.nav.open ul { grid-template-columns:repeat(2,minmax(0,1fr)); }.hero { padding:var(--nt-space-5) 0 var(--nt-space-4); }.hero-grid,.lead-grid,.grid { grid-template-columns:1fr; }.hero h1 { max-width:17ch; font-size:clamp(2rem,9vw,2.5rem); }.hero-copy { padding:0; }.hero-feature { order:-1; }.hero-media { min-height:190px; }.lead-primary { grid-row:auto; }.lead-secondary>a { grid-template-columns:104px minmax(0,1fr); }.section { padding:var(--nt-space-5) 0; }.topic-grid { grid-template-columns:1fr; }.topic-link { min-height:auto; }.footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--nt-space-5) var(--nt-space-4); padding:var(--nt-space-6) 0 var(--nt-space-5); }.footer-grid>:first-child { grid-column:1/-1; } }
@media (max-width:390px) { .header-actions { gap:var(--nt-space-1); }.brand { font-size:.82rem; }.lead-secondary>a { grid-template-columns:92px minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; } }
