@font-face {
  font-family: "Roboto";
  src: url("/assets/roboto.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Roboto Condensed";
  src: url("/assets/roboto-condensed.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --bg: #05070a;
  --panel: #0a0e12;
  --text: #f5f7f8;
  --cyan: #00c8e8;
  --muted: #a5afb9;
  --line: #25313a;
  --red: #e85a5a;
  --sans: "Roboto", "Segoe UI", system-ui, sans-serif;
  --display: "Roboto Condensed", "Arial Narrow", sans-serif;
}
body { font-family: var(--sans); }
.brand { font-family: var(--display); font-size: 1.65rem; letter-spacing: -.025em; font-weight: 700; gap: 0; }
.brand-wordmark > span { color: var(--cyan); }
.site-header { background: #05070af0; border-color: #25313a; }
.site-nav > a, .product-nav > a { font-weight: 500; }
.site-nav .nav-contact { border-color: #425561; }
.nav-products { background: #0a0e12; }
.nav-product-label { display: inline-flex; align-items: center; gap: 9px; }
.nav-product-label .product-icon { color: var(--product-accent); width: 21px; }
.section-title, .page-intro h1, .contact-title {
  font-family: var(--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -.025em;
  line-height: 1.04;
}
.section-title em { font-style: normal; color: var(--cyan); }
.section-title { font-size: clamp(2.2rem, 4.6vw, 4.1rem); }
.page-intro h1 { font-size: clamp(2.8rem, 5.6vw, 5.6rem); }
.eyebrow { font-weight: 500; letter-spacing: .15em; }
.button { border-radius: 4px; min-height: 48px; font-weight: 600; font-size: .91rem; }
.button-secondary { background: #0a1117; border-color: #384a56; }
.home-hero {
  background: radial-gradient(ellipse at 65% 50%, #002d391f, transparent 70%), var(--bg);
}
.home-hero::before {
  inset: -28% auto auto -30%;
  width: min(1120px, 105vw); aspect-ratio: 1;
  background: radial-gradient(circle, #00c8e810 0 20%, #00c8e80a 20% 30%, #00c8e806 30% 40%, #00c8e803 40% 50%, transparent 50%);
  mask-image: none;
}
.home-hero-grid {
  min-height: 720px;
  grid-template-columns: minmax(0, 1.17fr) minmax(0,.83fr);
  padding-block: 86px 90px;
}
.home-hero-copy > h1 {
  font-family: var(--display);
  font-weight: 750;
  font-size: clamp(3.2rem, 5.65vw, 5.8rem);
  text-transform: uppercase;
  line-height: .98;
  letter-spacing: -.027em;
  margin-block: 23px;
}
.home-hero-copy > p:not(.eyebrow) { max-width: 550px; font-size: 1.06rem; line-height: 1.6; }
.home-hero-copy > .hero-group { margin-top: 18px; color: #919eaa; font-size: .8rem; }
.hero-group strong { color: #c3cdd5; font-weight: 500; }
.home-hero .home-eyebrow { font-size: .65rem; max-width: 480px; line-height: 1.65; }
.home-hero-figure { width: min(120%, 700px); left: -10%; }
.home-hero-actions { margin-top: 27px; }
.home-hero-figure figcaption { font-size: .61rem; }
.home-title { font-family: var(--display); font-weight: 700; letter-spacing: -.025em; }
.home-section, .home-hero { --home-line: #25313a; --home-accent-text: #77c8d4; }
.home-problem, .home-products, .home-attack, .home-finale { background: var(--bg); }
.home-platform { background: radial-gradient(circle at 50% 46%, #00c8e80c, transparent 56%), #070b0f; }
.home-signal-frame, .home-core-frame, .home-attack-frame { background: #0a0f14; border-radius: 6px; }
.home-core-tab { background: #0c1218; border-color: #25313a; border-radius: 6px; }
.home-core-icon { color: var(--product-accent); background: var(--product-tint); border-color: color-mix(in srgb,var(--product-accent) 30%,transparent); }
.home-core-tab:is(:hover, [aria-selected="true"]) { border-color: var(--product-accent); background: color-mix(in srgb, var(--product-tint) 60%, #0a0f14); }
.home-core-tab[aria-selected="true"] .home-core-icon { color: var(--product-accent); }
.home-core-tab strong { font-family: var(--display); font-size: 1.2rem; text-transform: uppercase; letter-spacing: .015em; }
.home-core-tab small { font-size: .68rem; }
.product-icon { width: 25px; height: 25px; flex: 0 0 25px; }
.product-signature { border-block: 1px solid var(--line); background: #090d11; }
.product-signature-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.product-signature a { display: grid; grid-template-columns: 31px minmax(0,1fr) 18px; align-items: center; gap: 10px; padding: 24px 15px; min-height: 106px; }
.product-signature a + a { border-left: 1px solid var(--line); }
.signature-icon { color: var(--product-accent); }
.product-signature strong { display: block; font-family: var(--display); font-size: 1.2rem; line-height: 1.2; text-transform: uppercase; }
.product-signature small { display: block; color: var(--muted); font-size: .67rem; line-height: 1.45; margin-top: 4px; }
.signature-number { font: .6rem var(--mono); color: var(--product-accent); align-self: start; margin-top: 4px; }
.product-signature a:hover { background: var(--product-tint); }
.home-product-card { border-radius: 6px; border-color: var(--line); background: #0a0f14; }
.home-product-card:is(:hover, :focus-within) { border-color: var(--product-accent); }
.home-product-art { background: radial-gradient(circle at 25% 45%,var(--product-tint),transparent 75%); }
.home-product-copy .home-product-name { display: flex; align-items: center; gap: 9px; color: var(--product-accent); font-family: var(--display); font-size: 1.25rem; font-weight: 700; letter-spacing: .01em; }
.home-product-copy h3 { font-size: 1.35rem; letter-spacing: -.02em; font-weight: 500; }
.home-product-card .home-text-link { color: var(--product-accent); }
.home-product-tags li { background: #11171d; border-color: #25313a; }
.home-product-id { background: #0a1016; border-color: #2b3741; color: #acb9c4; }
.home-finale-box { border-color: #2d434e; border-radius: 6px; background: radial-gradient(ellipse at 90% 40%,#003c4b55,transparent 70%),#091117; }
.section-tint { background: #080c10; border-color: var(--line); }
.context-card, .technical-card, .catalog-card, .closing { background: #0b1116; border-radius: 5px; }
.page-hero { background: radial-gradient(ellipse at 78% 48%,#00c8e80b,transparent 55%),var(--bg); }
.page-hero-grid { min-height: 510px; }
.page-graphic { background: #070d12; border-color: #23303b; }
.page-graphic:has(.security-network) { border: 0; background: transparent; }
.page-graphic:has(.security-network)::before, .page-graphic:has(.security-network)::after { display: none; }
.page-lead { color: #a5afb9; }
.product-themed .eyebrow, .product-themed .card-index, .product-themed .inline-link { color: var(--product-accent); }
.product-detail-page .page-hero { background: radial-gradient(ellipse at 72% 52%,var(--product-tint),transparent 58%),var(--bg); }
.product-detail-page .page-intro h1 { font-size: clamp(3.4rem, 7.5vw, 7.8rem); }
.product-detail-page .page-lead { font-size: clamp(1.15rem,1.7vw,1.5rem); color: var(--text); }
.product-detail-page .page-graphic { border-color: color-mix(in srgb,var(--product-accent) 30%, var(--bg)); }
.product-detail-page .page-graphic::before, .product-detail-page .page-graphic::after { border-color: var(--product-accent); }
.product-themed .flow-index { color: var(--product-accent); border-color: color-mix(in srgb,var(--product-accent) 40%,var(--bg)); }
.product-themed .outcomes li::marker { color: var(--product-accent); }
.catalog-product-label { display: flex; align-items: center; gap: 9px; }
.catalog-copy h2 { font-family: var(--display); text-transform: uppercase; font-size: 2rem; letter-spacing: -.015em; }
.catalog-visual { background: #080d12; }
.capability-tags { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; list-style: none; margin: 27px 0 30px; }
.capability-tags li { border: 1px solid #33414a; border-radius: 99px; background: #10171d; padding: 8px 13px; font-size: .85rem; color: #c4ced7; }
.flow { background: #0b1117; border-radius: 5px; }
.group-feature { max-width: 860px; display: grid; justify-items: start; gap: 22px; }
.group-feature > p:not(.eyebrow) { color: var(--muted); max-width: 55ch; }
.operational-cycle { margin-top: 36px; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; background: #0b1116; }
.cycle-tabs { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.cycle-tabs button { display: grid; gap: 11px; text-align: left; padding: 19px 13px; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--muted); min-height: 93px; }
.cycle-tabs button + button { border-left: 1px solid var(--line); }
.cycle-tabs button span { font: .65rem var(--mono); color: var(--step-accent); }
.cycle-tabs button strong { font-family: var(--display); text-transform: uppercase; font-size: 1rem; font-weight: 600; }
.cycle-tabs button:is(:hover,[aria-selected="true"]) { background: #141d25; color: var(--text); border-bottom-color: var(--step-accent); }
.cycle-detail { padding: 28px; border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.15fr; gap: 30px; align-items: center; }
.cycle-detail .eyebrow { color: var(--step-accent); font-size: .65rem; letter-spacing: .08em; }
.cycle-detail h3 { font-family: var(--display); text-transform: uppercase; font-size: 2.2rem; margin-top: 7px; }
.cycle-detail > p { color: var(--muted); max-width: 50ch; }
.graph-section { background: radial-gradient(ellipse at 25% 65%,#00c8e80b,transparent 65%); }
.graph-explorer { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: center; gap: 40px; margin-top: 34px; }
.security-network { width: 100%; height: auto; overflow: visible; }
.graph-explorer-art > .diagram-caption { display: block; text-align: center; font-size: .58rem; color: var(--muted); }
.graph-explorer-info { border: 1px solid var(--line); border-radius: 6px; padding: 25px; background: #0b1116; }
.graph-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.graph-tabs button { background: #111b23; color: #b5c3ce; border: 1px solid #293e4c; border-radius: 99px; padding: 9px 12px; min-height: 42px; font-size: .84rem; }
.graph-tabs button:is(:hover,[aria-selected="true"]) { color: var(--cyan); border-color: #00c8e8; background: #07232a; }
.graph-detail { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); min-height: 220px; }
.graph-detail h3 { font-family: var(--display); font-size: 2.1rem; text-transform: uppercase; margin: 8px 0; }
.graph-detail > p:not(.eyebrow) { color: var(--muted); font-size: .96rem; }
.graph-relation { display: block; color: #8bced8; font-size: .78rem; margin-top: 19px; }
.graph-explorer:has([data-tab="entity-ativos"][aria-selected="true"]) .network-node-ativos .node-selection,
.graph-explorer:has([data-tab="entity-identidades"][aria-selected="true"]) .network-node-identidades .node-selection,
.graph-explorer:has([data-tab="entity-agentes"][aria-selected="true"]) .network-node-agentes .node-selection,
.graph-explorer:has([data-tab="entity-servicos"][aria-selected="true"]) .network-node-servicos .node-selection,
.graph-explorer:has([data-tab="entity-vulnerabilidades"][aria-selected="true"]) .network-node-vulnerabilidades .node-selection,
.graph-explorer:has([data-tab="entity-achados"][aria-selected="true"]) .network-node-achados .node-selection,
.graph-explorer:has([data-tab="entity-evidencias"][aria-selected="true"]) .network-node-evidencias .node-selection,
.graph-explorer:has([data-tab="entity-eventos"][aria-selected="true"]) .network-node-eventos .node-selection,
.graph-explorer:has([data-tab="entity-incidentes"][aria-selected="true"]) .network-node-incidentes .node-selection { opacity: 1; }
.governance-section { background: #080c10; border-top: 1px solid var(--line); }
.governance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; margin-top: 35px; }
.governance-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 6px; background: #0c1319; }
.governance-grid article > span { font: .68rem var(--mono); color: var(--cyan); letter-spacing: .08em; }
.governance-grid article:nth-child(2) > span { color: #e7a92d; }
.governance-grid article:nth-child(3) > span { color: #65cbb0; }
.governance-grid h3 { margin-block: 13px 10px; font-size: 1.2rem; font-weight: 500; }
.governance-grid p { color: var(--muted); font-size: .95rem; }
.governance-footnote { display: flex; flex-wrap: wrap; gap: 12px; font: .63rem/1.8 var(--mono); color: #95a4af; margin-top: 22px; letter-spacing: .06em; }
.governance-footnote span { color: var(--cyan); }
.contact-title { letter-spacing: -.025em; font-size: clamp(2.5rem,4.9vw,4.5rem); }
.contact-channel { background: #0b141a; border-color: #273e4a; }
.contact-channel + .contact-channel { margin-top: 12px; }
.contact-channel-label { color: #a5b3bd; }
.contact-direct { margin-top: 23px; }
.contact-direct p { margin-top: 13px; color: var(--muted); font-size: .85rem; }
.contact-card { background: #0b1117; border-color: var(--line); }
.contact-page { background: radial-gradient(ellipse at 10% 35%,#00c8e809,transparent 70%); }
.site-footer { background: #05070a; }
@media (max-width: 1070px) {
  .home-hero-copy > h1 { font-size: clamp(3.1rem,5.7vw,4.8rem); }
  .home-hero-grid { min-height: 660px; padding-block: 70px 87px; }
  .product-signature a { grid-template-columns: 27px minmax(0,1fr); padding-inline: 12px; }
  .signature-number { display: none; }
  .cycle-tabs { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .cycle-tabs button { border-bottom: 1px solid var(--line); }
  .cycle-tabs button:nth-child(5) { border-left: 0; }
}
@media (max-width: 810px) {
  .product-signature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .product-signature a:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .product-signature a:nth-child(4) { border-top: 1px solid var(--line); }
  .graph-explorer { gap: 20px; }
  .graph-explorer-info { padding: 19px; }
  .governance-grid { gap: 10px; }
  .governance-grid article { padding: 20px; }
}
@media (max-width: 720px) {
  .home-hero-grid { min-height: auto; padding-block: 54px 70px; }
  .home-hero-copy > h1 { font-size: clamp(2.75rem,8.75vw,4.8rem); }
  .home-hero-copy > p:not(.eyebrow) { font-size: 1rem; }
  .home-hero-copy > .hero-group { font-size: .78rem; }
  .home-hero-figure { width: min(100%,550px); left: 0; margin-top: 20px; }
  .home-hero-figure figcaption { font-size: .57rem; }
  .home-core-tab strong { font-size: 1.05rem; }
  .home-core-tab .product-icon { width: 21px; height: 21px; }
  .graph-explorer { grid-template-columns: minmax(0,1fr); }
  .graph-explorer-art { max-width: 580px; margin-inline: auto; width: 100%; }
  .graph-detail { min-height: auto; }
  .governance-grid { grid-template-columns: minmax(0,1fr); }
  .cycle-detail { grid-template-columns: minmax(0,1fr); gap: 15px; }
  .page-hero-grid { min-height: auto; }
}
@media (max-width: 400px) {
  .home-hero-copy > h1 { font-size: clamp(2.4rem,9.2vw,3.15rem); }
  .product-signature a { gap: 8px; padding: 18px 8px; }
  .product-signature strong { font-size: 1.05rem; }
  .product-signature small { font-size: .62rem; }
  .cycle-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cycle-tabs button:nth-child(odd) { border-left: 0; }
  .graph-tabs button { font-size: .8rem; padding-inline: 10px; }
  .cycle-detail, .graph-explorer-info { padding: 19px; }
}
@media (prefers-reduced-motion: no-preference) {
  .network-node > circle:first-child { animation: graph-breathe 5s ease-in-out infinite; transform-origin: center; }
  .network-node:nth-child(3n) > circle:first-child { animation-delay: -2s; }
  @keyframes graph-breathe { 50% { opacity: .2; } }
}

.group-portfolio { width: 100%; margin: 11px 0 0; }
.group-portfolio-frame { aspect-ratio: 2100 / 730; overflow: hidden; border-radius: 9px; background: #05070a; }
.group-portfolio img { width: 100%; height: auto; }
.group-portfolio figcaption { color: var(--muted); font-size: .76rem; margin-top: 13px; line-height: 1.6; }
