@charset "UTF-8";

:root {
  --ink: #f7f9ff;
  --ink-soft: #d9e2f8;
  --muted: #9aacca;
  --night: #040713;
  --night-2: #071126;
  --panel: rgba(9, 20, 46, .76);
  --panel-solid: #0a1530;
  --line: rgba(135, 165, 232, .2);
  --line-strong: rgba(93, 151, 255, .46);
  --blue: #2887ff;
  --cyan: #34dcff;
  --violet: #7f66ff;
  --purple: #b54cff;
  --pink: #ff65d4;
  --green: #36dc9b;
  --white-panel: #f6f8fd;
  --white-ink: #111936;
  --radius: 24px;
  --shadow: 0 30px 90px rgba(0, 0, 0, .35);
  --container: 1240px;
  --header-h: 122px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--night); }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 72% 4%, rgba(73, 45, 194, .24), transparent 31rem),
    radial-gradient(circle at 12% 34%, rgba(23, 108, 255, .12), transparent 34rem),
    linear-gradient(180deg, #050915 0%, #050b1c 38%, #030611 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: rgba(71, 211, 255, .3); color: #fff; }

.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { padding: 112px 0; position: relative; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 9999; background: #fff; color: #10172c; padding: 10px 16px; border-radius: 10px; box-shadow: var(--shadow); }
.skip-link:focus { top: 16px; }

/* Header claro e integrado à identidade visual. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 500;
  padding: 6px 0;
  transition: padding .3s ease, filter .3s ease;
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(244, 247, 253, .92);
  border-bottom: 1px solid rgba(15, 27, 62, .1);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .16);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.site-header.scrolled { padding: 4px 0; }
.header-inner { min-height: 110px; display: grid; grid-template-columns: 205px 1fr auto; align-items: center; gap: 28px; position: relative; }
.brand { width: 178px; height: 110px; display: grid; place-items: center; overflow: visible; }
.brand img { width: 168px; height: auto; object-fit: contain; transform: none; }
.main-nav { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 2.5vw, 38px); color: #18203a; font-weight: 720; font-size: .92rem; }
.main-nav a { position: relative; padding: 24px 0; transition: color .22s ease; }
.main-nav a::after { content: ""; position: absolute; left: 50%; bottom: 12px; width: 0; height: 2px; transform: translateX(-50%); background: linear-gradient(90deg, var(--cyan), var(--violet)); border-radius: 2px; transition: width .25s ease; }
.main-nav a:hover, .main-nav a.active { color: #3822a8; }
.main-nav a:hover::after, .main-nav a.active::after { width: 100%; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.header-login { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 17px; border:1px solid rgba(24,32,58,.22); border-radius:13px; color:#18203a; background:rgba(255,255,255,.72); font-weight:800; font-size:.9rem; box-shadow:0 8px 24px rgba(17,25,54,.08); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.header-login:hover { transform:translateY(-2px); border-color:rgba(78,67,219,.48); box-shadow:0 14px 30px rgba(53,57,220,.16); }
.header-cta { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 0 18px; border-radius: 13px; color: #fff; font-weight: 800; font-size: .9rem; background: linear-gradient(135deg, #146dff, #6a3dff 65%, #a126ef); box-shadow: 0 12px 28px rgba(53, 57, 220, .24), inset 0 1px rgba(255,255,255,.32); transition: transform .2s ease, box-shadow .2s ease; }
.header-cta:hover { transform: translateY(-2px); box-shadow: 0 18px 36px rgba(53,57,220,.35), inset 0 1px rgba(255,255,255,.32); }
.header-cta svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.menu-toggle { display: none; border: 0; background: transparent; width: 44px; height: 44px; padding: 9px; cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 2px; background: #161f3a; margin: 6px 0; border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }

/* Hero */
.hero { position: relative; min-height: calc(100svh - var(--header-h)); display: grid; align-items: center; overflow: hidden; isolation: isolate; border-bottom: 1px solid rgba(115,151,227,.12); }
.hero::after { content: ""; position: absolute; inset: auto 0 0; height: 180px; background: linear-gradient(180deg, transparent, rgba(4,7,19,.95)); pointer-events: none; z-index: -1; }
.network-canvas { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -3; opacity: .65; }
.hero-glow { position: absolute; width: 520px; aspect-ratio: 1; border-radius: 50%; filter: blur(80px); opacity: .22; z-index: -2; }
.hero-glow-a { right: 3%; top: 0; background: #253dff; }
.hero-glow-b { left: 35%; bottom: 0; background: #9d24ff; width: 340px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .94fr) minmax(540px, 1.06fr); gap: clamp(36px, 5vw, 74px); align-items: center; padding-top: 70px; padding-bottom: 90px; }
.hero-copy { position: relative; z-index: 20; }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: 10px; text-transform: uppercase; letter-spacing: .15em; font-size: .72rem; line-height: 1.3; font-weight: 850; color: #98b5e9; }
.eyebrow > span { width: 34px; height: 1px; background: linear-gradient(90deg, var(--cyan), var(--violet)); box-shadow: 0 0 12px var(--cyan); }
.hero h1 { max-width: 790px; margin: 24px 0 24px; font-size: clamp(3rem, 5.2vw, 5.8rem); line-height: .99; letter-spacing: -.058em; font-weight: 760; }
.hero h1 strong, .section-heading h2 strong, .about-preview h2 strong, .page-hero h1 strong, .final-cta h2 strong { font-weight: inherit; color: transparent; background: linear-gradient(120deg, #44ddff 0%, #7f70ff 50%, #c74cff 100%); background-clip: text; -webkit-background-clip: text; }
.hero-lead { max-width: 720px; margin: 0; color: #b6c4df; font-size: clamp(1rem, 1.4vw, 1.16rem); line-height: 1.82; }
.hero-lead strong { color: #fff; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 12px; padding: 0 22px; border: 1px solid transparent; border-radius: 14px; font-weight: 850; font-size: .94rem; cursor: pointer; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: #fff; background: linear-gradient(135deg, #106dff, #6346ff 54%, #ad2ce8); box-shadow: 0 18px 38px rgba(46, 72, 231, .28), inset 0 1px rgba(255,255,255,.3); }
.button-primary:hover { box-shadow: 0 24px 48px rgba(50,72,230,.4), 0 0 28px rgba(68,220,255,.14); }
.button-secondary { color: #e9efff; border-color: rgba(163,181,230,.25); background: rgba(10,20,44,.56); backdrop-filter: blur(12px); }
.button-secondary:hover { border-color: rgba(74,215,255,.5); background: rgba(12,26,57,.8); }
.button-ghost { color: #c8d5ef; border-color: var(--line); }
.button-light { color: #111936; background: #fff; box-shadow: 0 18px 40px rgba(7,11,35,.2); }
.text-link { display: inline-flex; gap: 12px; align-items: center; color: #62dfff; font-weight: 820; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(5px); }
.hero-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 44px; }
.hero-metrics div { min-height: 94px; border-top: 1px solid rgba(116,166,246,.26); padding: 15px 12px 0 0; }
.hero-metrics strong { display: block; color: #fff; font-size: 1.4rem; letter-spacing: -.03em; }
.hero-metrics span { display: block; color: #8294b5; font-size: .78rem; line-height: 1.4; margin-top: 3px; }

/* Núcleo orbital/atômico com camadas atrás e à frente do globo. */
.atom-stage { position: relative; min-height: 670px; perspective: 1200px; transform-style: preserve-3d; isolation: isolate; }
.atom-stage::before { content: ""; position: absolute; inset: 12% 8% 10%; border-radius: 50%; background: radial-gradient(circle, rgba(32,134,255,.17) 0%, rgba(73,45,205,.08) 36%, transparent 69%); filter: blur(10px); }
.atom-halo { position: absolute; left: 50%; top: 50%; width: 490px; height: 490px; transform: translate(-50%,-50%); border-radius: 50%; border: 1px solid rgba(77,128,255,.14); box-shadow: 0 0 100px rgba(34,98,255,.14), inset 0 0 80px rgba(75,46,232,.09); animation: haloPulse 6s ease-in-out infinite; }
.atom-orbits { position: absolute; width: 680px; height: 604px; left: 50%; top: 50%; transform: translate(-50%,-50%) rotateX(8deg); overflow: visible; pointer-events: none; }
.atom-orbits-back { z-index: 2; opacity: .82; }
.atom-orbits-front { z-index: 8; }
.orbit-line { stroke-width: 1.7; vector-effect: non-scaling-stroke; transform-origin: center; }
.orbit-blue { stroke: rgba(76,158,255,.64); }
.orbit-violet { stroke: rgba(139,91,255,.58); }
.orbit-cyan { stroke: rgba(55,225,255,.55); }
.orbit-purple { stroke: rgba(209,77,255,.52); }
.orbit-dashed { stroke-dasharray: 8 12; animation: dashMove 7s linear infinite; }
.orbit-front-segment { stroke-width: 2.4; filter: drop-shadow(0 0 7px currentColor); }
.orbit-front-a { stroke-dasharray: 26 74; stroke-dashoffset: 3; }
.orbit-front-b { stroke-dasharray: 22 78; stroke-dashoffset: -44; }
.orbit-front-c { stroke-dasharray: 18 82; stroke-dashoffset: -20; }
.orbit-front-d { stroke-dasharray: 24 76; stroke-dashoffset: -66; }
.electron { stroke: none; filter: drop-shadow(0 0 8px currentColor) drop-shadow(0 0 18px currentColor); }
.electron-cyan { fill: #58ebff; color: #58ebff; }
.electron-violet { fill: #a76dff; color: #a76dff; }
.electron-blue { fill: #4b8dff; color: #4b8dff; }
.electron-pink { fill: #e854ff; color: #e854ff; }
.atom-core { position: absolute; z-index: 5; left: 50%; top: 50%; width: 340px; aspect-ratio: 1.08; transform: translate(-50%,-50%); display: grid; place-items: center; filter: drop-shadow(0 30px 65px rgba(8, 22, 84, .75)); animation: coreFloat 6.5s ease-in-out infinite; }
.atom-core::before { content: ""; position: absolute; inset: 13%; border-radius: 50%; background: radial-gradient(circle at 60% 40%, rgba(50,226,255,.32), rgba(30,82,255,.14) 38%, transparent 67%); filter: blur(18px); animation: coreGlow 4.5s ease-in-out infinite alternate; }
.atom-core img { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: contain; }
.core-energy { position: absolute; z-index: 1; border-radius: 50%; border: 1px solid rgba(78,220,255,.24); }
.core-energy-a { inset: 18%; animation: energyPulse 3.4s ease-out infinite; }
.core-energy-b { inset: 8%; animation: energyPulse 3.4s 1.7s ease-out infinite; }
.core-label { position: absolute; z-index: 10; left: 50%; bottom: 20%; transform: translateX(-50%); padding: 7px 13px; border: 1px solid rgba(103,147,244,.38); background: rgba(5,12,34,.72); backdrop-filter: blur(10px); border-radius: 7px; color: #d9e9ff; font-size: .62rem; font-weight: 900; letter-spacing: .18em; white-space: nowrap; box-shadow: 0 8px 22px rgba(0,0,0,.25); }
.atom-card { position: absolute; z-index: 12; width: 190px; min-height: 76px; padding: 13px 15px 13px 56px; border: 1px solid rgba(100,146,235,.32); border-radius: 16px; background: linear-gradient(145deg, rgba(14,29,64,.9), rgba(7,15,38,.74)); box-shadow: 0 18px 45px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.04); backdrop-filter: blur(14px); transition: transform .35s ease, border-color .35s ease; }
.atom-card:hover { transform: translateY(-4px); border-color: rgba(64,213,255,.58); }
.atom-card .atom-icon { position: absolute; left: 14px; top: 17px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #50e0ff; background: rgba(18,115,190,.2); font-weight: 800; }
.atom-card small { display: block; color: #8799ba; text-transform: uppercase; letter-spacing: .1em; font-size: .62rem; }
.atom-card strong { display: block; color: #fff; margin-top: 1px; font-size: .88rem; }
.atom-card i { position: absolute; width: 8px; height: 8px; right: 13px; top: 15px; border-radius: 50%; background: var(--green); box-shadow: 0 0 13px var(--green); animation: statusBlink 2.2s ease-in-out infinite; }
.atom-card-a { left: 3%; top: 10%; animation: cardDrift 7s ease-in-out infinite; }
.atom-card-b { right: 0; top: 16%; animation: cardDrift 8.5s 1s ease-in-out infinite reverse; }
.atom-card-c { left: 0; bottom: 16%; animation: cardDrift 9s 2s ease-in-out infinite; }
.atom-card-d { right: -1%; bottom: 18%; animation: cardDrift 7.8s .5s ease-in-out infinite reverse; }
.atom-status { position: absolute; z-index: 13; left: 50%; bottom: 3%; transform: translateX(-50%); width: min(520px, 88%); padding: 12px 18px; border: 1px solid rgba(104,149,239,.3); border-radius: 14px; background: rgba(10,20,48,.76); backdrop-filter: blur(15px); color: #a9bad9; text-align: center; font-size: .78rem; }
.atom-status span { display: inline-block; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px var(--green); }

/* Faixa de credibilidade */
.trust-band { border-block: 1px solid rgba(132,164,229,.13); background: rgba(4,9,22,.72); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trust-grid article { display: grid; grid-template-columns: 50px 1fr; gap: 16px; padding: 32px 32px 32px 0; position: relative; }
.trust-grid article + article { padding-left: 32px; border-left: 1px solid rgba(133,163,226,.14); }
.trust-icon { width: 42px; height: 42px; border: 1px solid rgba(62,201,255,.34); border-radius: 12px; display: grid; place-items: center; color: #4ce3ff; font-size: .72rem; font-weight: 900; background: rgba(19,102,174,.12); }
.trust-grid strong { display: block; font-size: .94rem; }
.trust-grid p { margin: 4px 0 0; color: #8192b0; font-size: .79rem; line-height: 1.55; }

/* Títulos de seção */
.section-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.55fr); gap: 60px; align-items: end; margin-bottom: 48px; }
.section-kicker { color: #70dfff; }
.section-heading h2, .about-preview h2, .final-cta h2, .story-copy h2 { margin: 14px 0 0; max-width: 800px; font-size: clamp(2.2rem, 4vw, 4rem); line-height: 1.05; letter-spacing: -.045em; }
.section-heading > p { color: #91a2bf; margin: 0 0 6px; line-height: 1.75; }

/* Serviços */
.services-preview { background: linear-gradient(180deg, rgba(4,8,19,.2), rgba(9,16,36,.46)); }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { min-height: 315px; padding: 25px; position: relative; overflow: hidden; border: 1px solid rgba(124,157,225,.2); border-radius: 20px; background: linear-gradient(145deg, rgba(15,28,59,.82), rgba(6,13,31,.8)); box-shadow: inset 0 1px rgba(255,255,255,.035); transform-style: preserve-3d; transition: border-color .3s ease, box-shadow .3s ease; }
.service-card::before { content: ""; position: absolute; width: 190px; height: 190px; right: -110px; top: -110px; border-radius: 50%; background: radial-gradient(circle, rgba(103,74,255,.22), transparent 68%); transition: transform .5s ease; }
.service-card:hover { border-color: rgba(65,210,255,.46); box-shadow: 0 25px 60px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.05); }
.service-card:hover::before { transform: translate(-30px,30px) scale(1.25); }
.service-top { display: flex; justify-content: space-between; align-items: flex-start; color: #7286aa; }
.service-top > span { font-size: .74rem; letter-spacing: .14em; }
.service-top svg { width: 52px; height: 52px; color: #62ddff; stroke-width: 1.45; filter: drop-shadow(0 0 14px rgba(59,196,255,.2)); }
.service-card:nth-child(3n+2) .service-top svg { color: #866eff; }
.service-card:nth-child(3n+3) .service-top svg { color: #cf61ff; }
.service-card h3 { margin: 34px 0 11px; font-size: 1.35rem; letter-spacing: -.02em; }
.service-card p { margin: 0; color: #8fa0bd; font-size: .9rem; line-height: 1.68; }
.service-card > a { position: absolute; left: 25px; bottom: 23px; display: inline-flex; gap: 9px; color: #5bdcff; font-size: .82rem; font-weight: 800; }

/* Sobre preview */
.about-preview { overflow: hidden; }
.about-preview::before { content: ""; position: absolute; inset: 10% 0; background: linear-gradient(90deg, rgba(20,39,82,.45), transparent 55%); border-block: 1px solid rgba(123,157,227,.12); z-index: -1; }
.about-preview-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.history-visual { min-height: 520px; position: relative; padding: 48px; border: 1px solid rgba(119,153,223,.22); border-radius: 28px; background: radial-gradient(circle at 24% 20%, rgba(35,126,255,.2), transparent 36%), linear-gradient(145deg, rgba(11,23,52,.9), rgba(5,11,27,.75)); box-shadow: var(--shadow); overflow: hidden; }
.history-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(90,127,197,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(90,127,197,.07) 1px, transparent 1px); background-size: 34px 34px; mask-image: radial-gradient(circle at 40% 40%, black, transparent 72%); }
.history-year { position: relative; font-size: clamp(4rem, 8vw, 7.8rem); font-weight: 900; line-height: 1; letter-spacing: -.08em; color: transparent; -webkit-text-stroke: 1px rgba(94,210,255,.54); text-shadow: 0 0 28px rgba(51,178,255,.17); }
.history-line { position: relative; display: flex; justify-content: space-between; align-items: center; margin: 46px 0 34px; height: 1px; background: linear-gradient(90deg, #42ddff, #735cff, #c151ff); }
.history-line span { width: 11px; height: 11px; border-radius: 50%; background: #071126; border: 2px solid #63dbff; box-shadow: 0 0 16px rgba(73,213,255,.7); }
.history-stack { position: relative; display: flex; flex-wrap: wrap; gap: 9px; }
.history-stack span, .tag-list span { padding: 7px 10px; border: 1px solid rgba(115,151,224,.23); border-radius: 8px; background: rgba(8,18,43,.72); color: #aebde0; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; }
.history-caption { position: absolute; left: 48px; right: 48px; bottom: 40px; padding-top: 18px; border-top: 1px solid rgba(120,153,219,.18); color: #7f90ad; font-size: .82rem; }
.about-preview-copy > p { color: #99a9c5; line-height: 1.82; }
.about-preview-copy .text-link { margin-top: 18px; }

/* Portal home */
.portal-preview { background: linear-gradient(180deg, rgba(11,20,44,.38), rgba(5,9,20,.25)); }
.news-layout { display: grid; grid-template-columns: 1.28fr .72fr; gap: 18px; }
.news-lead { min-height: 500px; display: grid; grid-template-columns: .78fr 1.22fr; border: 1px solid rgba(124,157,225,.2); border-radius: 24px; overflow: hidden; background: rgba(8,17,39,.72); }
.news-visual, .article-card-visual, .article-header-art { position: relative; overflow: hidden; background: radial-gradient(circle at 45% 42%, rgba(46,202,255,.28), transparent 22%), radial-gradient(circle at 65% 58%, rgba(120,57,255,.34), transparent 35%), #071126; }
.news-grid-lines, .visual-mesh { position: absolute; inset: 0; background-image: linear-gradient(rgba(88,134,222,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(88,134,222,.12) 1px, transparent 1px); background-size: 28px 28px; transform: perspective(350px) rotateX(57deg) scale(1.55); transform-origin: center bottom; mask-image: linear-gradient(transparent, black 35%); }
.news-visual::before, .article-card-visual::before, .article-header-art::before { content: ""; position: absolute; width: 220px; height: 220px; border: 1px solid rgba(59,216,255,.35); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(-20deg); box-shadow: 0 0 60px rgba(46,106,255,.18); }
.news-visual::after, .article-card-visual::after, .article-header-art::after { content: ""; position: absolute; width: 170px; height: 78px; border: 1px dashed rgba(186,73,255,.55); border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(34deg); }
.news-visual > strong, .article-card-visual > strong, .article-header-art > strong { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); color: rgba(238,245,255,.88); font-size: 4rem; letter-spacing: -.08em; z-index: 3; }
.news-category, .article-badge { position: absolute; left: 18px; top: 18px; z-index: 5; padding: 6px 9px; border-radius: 7px; background: rgba(5,13,34,.78); border: 1px solid rgba(81,202,255,.3); color: #78e2ff; font-size: .64rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.news-lead-copy { padding: 40px; display: flex; flex-direction: column; justify-content: center; }
.news-meta, .article-meta { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #7e91b3; text-transform: uppercase; letter-spacing: .08em; font-size: .64rem; font-weight: 800; }
.news-meta span { color: #6bddff; }
.news-lead h3 { margin: 20px 0 14px; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.08; letter-spacing: -.04em; }
.news-lead p { color: #92a4c2; }
.news-lead .text-link { margin-top: 22px; }
.news-side { display: grid; grid-template-rows: repeat(4, 1fr); border: 1px solid rgba(124,157,225,.18); border-radius: 24px; background: rgba(8,17,39,.62); overflow: hidden; }
.news-row { display: grid; grid-template-columns: 54px 1fr; gap: 14px; padding: 22px; align-items: center; }
.news-row + .news-row { border-top: 1px solid rgba(124,157,225,.14); }
.news-row-index { color: rgba(116,210,255,.45); font-weight: 900; font-size: 1.1rem; }
.news-row span { color: #7183a5; font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.news-row h3 { margin: 6px 0 4px; font-size: 1rem; line-height: 1.35; }
.news-row h3 a:hover { color: #65dcff; }
.news-row p { margin: 0; color: #7e90af; font-size: .75rem; line-height: 1.5; }
.portal-actions { display: flex; justify-content: center; gap: 14px; margin-top: 34px; }
.source-ribbon { padding: 27px 0; border-block: 1px solid rgba(127,158,221,.14); background: rgba(3,7,17,.72); overflow: hidden; }
.source-ribbon .container { display: flex; gap: 32px; align-items: center; }
.source-ribbon p { flex: 0 0 auto; color: #6f82a4; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; }
.source-marquee { display: flex; gap: 14px; flex-wrap: wrap; }
.source-marquee span { padding: 7px 11px; border: 1px solid rgba(127,158,221,.18); border-radius: 999px; color: #a7b7d4; font-size: .75rem; }

/* CTA */
.final-cta { padding-top: 80px; }
.final-cta-inner { display: grid; grid-template-columns: 1.2fr .65fr; gap: 70px; align-items: center; padding: clamp(40px,6vw,76px); border-radius: 30px; color: #fff; background: radial-gradient(circle at 76% 0, rgba(85,219,255,.3), transparent 28%), linear-gradient(135deg, #162d76, #342484 48%, #6d26a0); box-shadow: 0 34px 90px rgba(16,21,73,.4); overflow: hidden; position: relative; }
.final-cta-inner::after { content: ""; position: absolute; right: -100px; bottom: -180px; width: 430px; height: 430px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.03), 0 0 0 90px rgba(255,255,255,.025); }
.final-cta h2 { position: relative; z-index: 2; }
.final-cta-inner > div:last-child { position: relative; z-index: 2; }
.final-cta-inner p { color: rgba(236,241,255,.78); }

/* Rodapé claro */
.site-footer { margin-top: 110px; padding: 64px 0 24px; color: var(--white-ink); background: linear-gradient(180deg, #f8faff, #e8eef9); border-top: 1px solid rgba(17,25,54,.12); position: relative; overflow: hidden; }
.site-footer::before { content: ""; position: absolute; right: -10%; bottom: -55%; width: 650px; height: 650px; border-radius: 50%; background: radial-gradient(circle, rgba(55,118,255,.14), transparent 65%); }
.footer-grid { display: grid; grid-template-columns: 1.6fr .65fr .75fr .8fr; gap: 56px; position: relative; }
.footer-brand img { width: 185px; height: 122px; object-fit: contain; margin: -14px 0 0; }
.footer-brand p { max-width: 350px; color: #5b6682; font-size: .9rem; }
.footer-contact { display: flex; flex-direction: column; gap: 3px; color: #2a3f75; font-size: .82rem; font-weight: 700; }
.footer-grid section:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid h2 { font-size: .78rem; text-transform: uppercase; letter-spacing: .12em; margin: 12px 0 7px; color: #152044; }
.footer-grid section:not(.footer-brand) a { color: #56617a; font-size: .85rem; transition: color .2s ease, transform .2s ease; }
.footer-grid section:not(.footer-brand) a:hover { color: #3b27ad; transform: translateX(3px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 24px; margin-top: 46px; border-top: 1px solid rgba(23,33,67,.11); color: #747e94; font-size: .74rem; position: relative; }

/* Elementos flutuantes */
.floating-whatsapp, .back-top { position: fixed; z-index: 450; right: 22px; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; border: 0; box-shadow: 0 16px 35px rgba(0,0,0,.28); transition: transform .2s ease, opacity .25s ease; }
.floating-whatsapp { bottom: 82px; color: #fff; background: #20c96b; }
.floating-whatsapp svg { width: 27px; height:27px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.back-top { bottom: 22px; color: #fff; background: linear-gradient(135deg,#246cff,#813eff); cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(12px); }
.back-top svg { width: 24px; }
.back-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.floating-whatsapp:hover, .back-top:hover { transform: translateY(-3px); }

/* Flash */
.flash-stack { position: fixed; z-index: 800; top: 112px; right: 20px; width: min(420px, calc(100% - 40px)); display: grid; gap: 10px; }
.flash { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-radius: 13px; border: 1px solid rgba(255,255,255,.15); background: #12203e; color: #f7faff; box-shadow: 0 18px 45px rgba(0,0,0,.25); font-size: .88rem; }
.flash-success { border-color: rgba(54,220,155,.45); }
.flash-error, .flash-danger { border-color: rgba(255,100,130,.5); }
.flash-warning { border-color: rgba(255,190,77,.5); }
.flash button { border: 0; background: transparent; font-size: 1.4rem; cursor: pointer; opacity: .7; }
.form-submit-status { padding: 12px 14px; border: 1px solid rgba(52,220,255,.38); border-radius: 12px; background: rgba(52,220,255,.08); color: var(--tenant-text); font-size: .9rem; line-height: 1.45; }
.form-submit-status.is-error { border-color: rgba(255,100,130,.55); background: rgba(255,100,130,.1); color: #ffd3dc; }

/* Heros internos */
.page-hero { position: relative; padding: 100px 0 80px; overflow: hidden; border-bottom: 1px solid rgba(127,158,222,.13); }
.page-hero::before { content: ""; position: absolute; width: 620px; height: 620px; right: -150px; top: -330px; border-radius: 50%; background: radial-gradient(circle, rgba(90,57,224,.28), transparent 67%); }
.page-hero-grid { display: grid; grid-template-columns: 1.04fr .66fr; gap: 80px; align-items: center; position: relative; }
.page-hero h1 { max-width: 980px; margin: 20px 0 20px; font-size: clamp(2.8rem, 5.5vw, 5.8rem); line-height: 1; letter-spacing: -.057em; }
.page-hero p { max-width: 780px; color: #9cadc9; font-size: 1.08rem; line-height: 1.8; }
.compact-hero { min-height: 480px; display: grid; align-items: center; }
.page-orbit { position: relative; min-height: 340px; display: grid; place-items: center; }
.page-orbit img { width: 245px; z-index: 2; filter: drop-shadow(0 20px 50px rgba(32,63,200,.42)); animation: coreFloat 6s ease-in-out infinite; }
.page-orbit span { position: absolute; width: 360px; height: 150px; border: 1px solid rgba(70,205,255,.35); border-radius: 50%; transform: rotate(-18deg); animation: simpleOrbit 8s linear infinite; }
.page-orbit span:nth-child(2) { width: 190px; height: 350px; border-color: rgba(166,77,255,.36); transform: rotate(31deg); animation-duration: 11s; animation-direction: reverse; }
.service-radar { position: relative; min-height: 350px; display: grid; place-items: center; }
.service-radar > span { position: absolute; border: 1px solid rgba(73,203,255,.25); border-radius: 50%; width: 110px; height: 110px; box-shadow: 0 0 30px rgba(42,139,255,.12); }
.service-radar > span:nth-child(2) { width: 220px; height: 220px; border-style: dashed; animation: spin 14s linear infinite; }
.service-radar > span:nth-child(3) { width: 330px; height: 330px; border-color: rgba(150,76,255,.2); animation: spin 22s linear infinite reverse; }
.service-radar i { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); transform: translate(110px,-55px); }
.service-radar i:nth-of-type(2) { background: var(--violet); transform: translate(-130px,65px); }
.service-radar i:nth-of-type(3) { background: var(--pink); transform: translate(20px,150px); }

/* Sobre completo */
.story-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; align-items: start; }
.story-quote { padding: 38px; border: 1px solid rgba(116,154,230,.2); border-radius: 22px; background: rgba(9,19,44,.68); position: sticky; top: 128px; }
.story-quote > span { display: block; color: #58ddff; font-size: 5rem; line-height: .7; }
.story-quote p { margin: 18px 0 0; color: #dce6fb; font-size: 1.35rem; line-height: 1.55; }
.story-copy p { color: #96a7c4; line-height: 1.88; }
.timeline-section { background: rgba(8,15,33,.46); }
.career-timeline { margin-top: 70px; }
.timeline-item { display: grid; grid-template-columns: 74px 190px 1fr; gap: 32px; padding: 38px 0; border-top: 1px solid rgba(124,157,225,.15); }
.timeline-item:last-child { border-bottom: 1px solid rgba(124,157,225,.15); }
.timeline-marker { position: relative; }
.timeline-marker::after { content: ""; position: absolute; left: 24px; top: 54px; bottom: -38px; width: 1px; background: linear-gradient(var(--cyan), transparent); }
.timeline-item:last-child .timeline-marker::after { display: none; }
.timeline-marker span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(70,211,255,.4); border-radius: 50%; color: #6fe5ff; font-size: .7rem; font-weight: 900; background: #071126; box-shadow: 0 0 26px rgba(43,180,255,.12); }
.timeline-period { padding-top: 10px; color: #7890b9; font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.timeline-content h3 { margin: 4px 0 9px; font-size: 1.45rem; }
.timeline-content p { max-width: 780px; color: #91a2bf; }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.principle-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.principle-grid article { min-height: 250px; padding: 24px; border: 1px solid rgba(122,156,226,.19); border-radius: 19px; background: rgba(10,20,44,.65); }
.principle-grid strong { color: #62dcff; font-size: .72rem; letter-spacing: .12em; }
.principle-grid h3 { margin: 45px 0 12px; font-size: 1.15rem; }
.principle-grid p { color: #8e9eba; font-size: .85rem; }

/* Serviços internos */
.service-detail-list { border-top: 1px solid rgba(124,157,225,.16); }
.service-detail { display: grid; grid-template-columns: 82px 1fr 1fr; gap: 50px; padding: 48px 0; border-bottom: 1px solid rgba(124,157,225,.16); align-items: start; }
.service-detail-number { color: #60ddff; font-size: .75rem; font-weight: 900; letter-spacing: .13em; }
.service-detail h2 { margin: 0 0 12px; font-size: clamp(1.7rem,2.8vw,2.6rem); line-height: 1.12; }
.service-detail p { color: #94a5c2; }
.service-detail ul { list-style: none; margin: 0; padding: 0; }
.service-detail li { position: relative; padding: 9px 0 9px 22px; color: #b0bfda; border-bottom: 1px solid rgba(124,157,225,.1); }
.service-detail li::before { content: ""; position: absolute; left: 0; top: 18px; width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(var(--cyan),var(--violet)); box-shadow: 0 0 10px rgba(63,210,255,.5); }
.engagement { background: rgba(9,17,38,.42); }
.engagement-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.engagement-grid article { padding: 34px; border: 1px solid rgba(124,157,225,.18); border-radius: 20px; background: linear-gradient(145deg,rgba(13,25,54,.75),rgba(7,14,32,.7)); }
.engagement-grid span { color: #62ddff; text-transform: uppercase; font-size: .66rem; letter-spacing: .12em; font-weight: 850; }
.engagement-grid h3 { margin: 25px 0 10px; font-size: 1.35rem; }
.engagement-grid p { color: #8fa0bd; }

/* Portal */
.portal-hero { padding: 90px 0 42px; background: radial-gradient(circle at 78% 0,rgba(74,42,210,.24),transparent 31rem); border-bottom: 1px solid rgba(124,157,225,.15); }
.portal-hero-top { display: grid; grid-template-columns: 1.15fr .55fr; gap: 70px; align-items: end; }
.portal-hero h1 { max-width: 880px; margin: 20px 0; font-size: clamp(2.8rem,5vw,5.3rem); line-height: 1; letter-spacing: -.055em; }
.portal-hero h1 strong { color: transparent; background: linear-gradient(120deg,#42ddff,#7f66ff,#c54fff); background-clip:text;-webkit-background-clip:text; }
.portal-hero-top > p { color: #93a3bf; line-height: 1.78; }
.portal-search { margin-top: 46px; display: grid; grid-template-columns: 1fr auto; max-width: 880px; border: 1px solid rgba(120,156,229,.28); border-radius: 16px; background: rgba(7,15,35,.72); overflow: hidden; }
.portal-search label { display: flex; align-items: center; gap: 13px; padding: 0 17px; }
.portal-search svg { width: 21px; color: #6a80a5; }
.portal-search input { width: 100%; min-height: 56px; border: 0; outline: 0; color: #fff; background: transparent; }
.portal-search button { border: 0; padding: 0 24px; color: #fff; font-weight: 850; background: linear-gradient(135deg,#176fff,#7c3aff); cursor: pointer; }
.category-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 28px; }
.category-chips a { padding: 7px 11px; border: 1px solid rgba(123,156,224,.2); border-radius: 999px; color: #9dacc8; font-size: .74rem; transition: all .2s ease; }
.category-chips a:hover, .category-chips a.active { color: #fff; border-color: rgba(64,211,255,.5); background: rgba(26,101,170,.2); }
.portal-list-section { padding-top: 60px; }
.portal-list-header { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 26px; color: #7f91b1; font-size: .82rem; }
.portal-list-header div span { color: #fff; font-weight: 850; }
.portal-list-header a { color: #5ddfff; }
.article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.article-card { border: 1px solid rgba(124,157,225,.18); border-radius: 20px; background: rgba(8,17,39,.7); overflow: hidden; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.article-card:hover { transform: translateY(-5px); border-color: rgba(62,209,255,.42); box-shadow: 0 25px 55px rgba(0,0,0,.24); }
.article-card-visual { display: block; min-height: 220px; }
.article-card-visual img { width:100%;height:220px;object-fit:cover; }
.article-card-visual::before { width: 140px; height: 140px; }
.article-card-visual::after { width: 110px; height: 50px; }
.article-card-visual > strong { font-size: 2.5rem; }
.article-card-body { padding: 24px; }
.article-meta .internal { color: #5fe1ff; }
.article-meta .external { color: #c36dff; }
.article-card h2 { margin: 17px 0 10px; font-size: 1.32rem; line-height: 1.28; letter-spacing: -.025em; }
.article-card h2 a:hover { color: #67ddff; }
.article-card p { color: #8d9ebb; font-size: .86rem; }
.article-card-footer { display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:23px;padding-top:16px;border-top:1px solid rgba(124,157,225,.12);font-size:.73rem;color:#7587a8; }
.article-card-footer a { color:#5cdcff;font-weight:800; }
.pagination { display:flex;justify-content:center;gap:8px;margin-top:42px; }
.pagination a { width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(124,157,225,.2);border-radius:10px;color:#9eacc8; }
.pagination a.active,.pagination a:hover { color:#fff;border-color:#5cddff;background:rgba(35,127,197,.22); }
.empty-state { text-align:center;padding:80px 20px;border:1px dashed rgba(124,157,225,.25);border-radius:22px; }
.empty-state p { color:#8d9dbc; }

/* Artigo */
.article-header { padding: 75px 0 65px; border-bottom: 1px solid rgba(124,157,225,.14); background: radial-gradient(circle at 80% 0,rgba(98,53,222,.24),transparent 31rem); }
.article-header-grid { display:grid;grid-template-columns:1.3fr .55fr;gap:70px;align-items:center; }
.breadcrumbs { display:flex;flex-wrap:wrap;gap:8px;color:#7184a7;font-size:.72rem; }
.breadcrumbs a:hover { color:#61ddff; }
.article-type-label { display:inline-flex;margin-top:25px;padding:7px 10px;border-radius:7px;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:850; }
.article-type-label.internal { color:#68e0ff;border:1px solid rgba(68,213,255,.35);background:rgba(30,116,171,.14); }
.article-type-label.external { color:#d78aff;border:1px solid rgba(199,91,255,.35);background:rgba(117,43,166,.14); }
.article-header h1 { margin:20px 0;font-size:clamp(2.5rem,5vw,5.2rem);line-height:1.02;letter-spacing:-.055em; }
.article-deck { max-width:820px;color:#9cadc9;font-size:1.08rem;line-height:1.78; }
.article-byline { display:flex;gap:18px;margin-top:26px;color:#7e91b1;font-size:.78rem; }
.article-byline span { color:#c9d5ec; }
.article-header-art { min-height:380px;border:1px solid rgba(124,157,225,.2);border-radius:24px; }
.article-header-art small { position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;color:#7cdaff;font-size:.66rem;font-weight:900;letter-spacing:.14em; }
.article-body-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding-top:75px;padding-bottom:40px; }
.article-content { min-width:0; }
.prose { font-size:1.05rem;color:#bac7dc;line-height:1.92; }
.prose p { margin:0 0 1.55em; }
.prose p.has-dropcap::first-letter { float:left;font-size:4.2rem;line-height:.78;padding:.13em .12em 0 0;color:inherit;font-weight:800; }
.prose h2 { margin:2.15em 0 .7em;color:#f3f7ff;font-size:clamp(1.55rem,2.4vw,2.2rem);line-height:1.15;letter-spacing:-.025em; }
.prose h3 { margin:1.8em 0 .6em;color:#dfe9fb;font-size:1.28rem;line-height:1.25; }
.prose ul { margin:0 0 1.75em;padding:0 0 0 1.25em;color:#bac7dc; }
.prose li { margin:.55em 0;padding-left:.25em; }
.prose li::marker { color:#63dcff; }
.prose blockquote { margin:2.1em 0;padding:23px 26px;border-left:3px solid #745cff;border-radius:0 14px 14px 0;background:linear-gradient(90deg,rgba(89,74,210,.16),rgba(12,25,54,.42));color:#e4ecfb;font-size:1.08rem;font-weight:650;line-height:1.72; }
.series-intro { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 34px;padding:18px 21px;border:1px solid rgba(98,220,255,.2);border-radius:16px;background:linear-gradient(135deg,rgba(19,63,103,.24),rgba(91,47,174,.16)); }
.series-intro div { display:grid;gap:3px; }
.series-intro span { color:#62dcff;text-transform:uppercase;letter-spacing:.11em;font-size:.62rem;font-weight:900; }
.series-intro strong { color:#f0f5ff;font-size:1rem; }
.series-intro p { margin:0;color:#8fa1bf;font-size:.78rem;white-space:nowrap; }
.series-sidebar > strong { color:#eef4ff;margin-bottom:14px; }
.series-sidebar ol { list-style:none;margin:0;padding:0;display:grid;gap:2px; }
.series-sidebar li { border-top:1px solid rgba(124,157,225,.1); }
.series-sidebar li:first-child { border-top:0; }
.series-sidebar a { display:grid;grid-template-columns:28px 1fr;gap:8px;padding:9px 0;color:#8ea1c1;font-size:.74rem;line-height:1.35; }
.series-sidebar a span { color:#5fdcff;font-size:.66rem;font-weight:900;letter-spacing:.06em; }
.series-sidebar li.active a { color:#fff; }
.series-sidebar li.active a span { color:#c06aff; }
.source-disclosure { display:grid;grid-template-columns:58px 1fr;gap:22px;padding:30px;border:1px solid rgba(194,86,255,.3);border-radius:20px;background:linear-gradient(145deg,rgba(74,28,117,.2),rgba(9,18,42,.72)); }
.source-disclosure-icon { width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:rgba(179,68,255,.17);color:#d786ff;font-size:1.5rem; }
.source-disclosure span { color:#8d9cba;text-transform:uppercase;letter-spacing:.1em;font-size:.64rem; }
.source-disclosure h2 { margin:5px 0 7px;font-size:1.75rem; }
.source-disclosure p { color:#9dadc8; }
.source-disclosure a { display:inline-flex;gap:9px;margin-top:8px;color:#68dfff;font-weight:850; }
.external-summary { margin-top:36px;padding:10px 4px; }
.external-summary h2 { font-size:1.5rem; }
.external-summary p { color:#b0bdd3;line-height:1.85; }
.editorial-note { padding:18px;border-left:2px solid #8c5eff;background:rgba(112,71,206,.08);font-size:.85rem; }
.article-actions { display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:50px;padding-top:25px;border-top:1px solid rgba(124,157,225,.16); }
.article-actions > a:first-child { color:#86a0c8; }
.article-sidebar { display:grid;align-content:start;gap:14px;position:sticky;top:125px;align-self:start; }
.sidebar-card { padding:22px;border:1px solid rgba(124,157,225,.17);border-radius:16px;background:rgba(8,17,39,.65); }
.sidebar-card > span { display:block;color:#7084a8;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;margin-bottom:8px; }
.sidebar-card > a { color:#62dcff;font-weight:800; }
.sidebar-card > strong { display:block;margin-bottom:9px; }
.sidebar-card p { color:#8798b5;font-size:.82rem; }

/* Contato */
.contact-quick { display:grid;gap:10px; }
.contact-quick > * { padding:18px 20px;border:1px solid rgba(124,157,225,.2);border-radius:15px;background:rgba(9,19,44,.65); }
.contact-quick span { display:block;color:#7185a9;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem; }
.contact-quick strong { display:block;margin-top:4px;color:#e8efff; }
.contact-grid { display:grid;grid-template-columns:.7fr 1.3fr;gap:80px; }
.contact-copy h2 { margin:14px 0;font-size:clamp(2rem,3.6vw,3.7rem);line-height:1.06;letter-spacing:-.045em; }
.contact-copy p,.contact-copy li { color:#94a5c1; }
.contact-copy ul { list-style:none;padding:0;margin:28px 0; }
.contact-copy li { padding:11px 0;border-bottom:1px solid rgba(124,157,225,.13); }
.contact-form { display:grid;gap:18px;padding:30px;border:1px solid rgba(124,157,225,.21);border-radius:22px;background:rgba(9,19,43,.7); }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.contact-form label { display:grid;gap:8px;color:#d8e2f5;font-size:.82rem;font-weight:760; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%;border:1px solid rgba(124,157,225,.24);border-radius:11px;background:#071127;color:#fff;padding:13px 14px;outline:0;transition:border-color .2s ease,box-shadow .2s ease; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#58dcff;box-shadow:0 0 0 3px rgba(69,207,255,.1); }
.contact-form select { color-scheme:dark; }
.check-field { grid-template-columns:20px 1fr!important;align-items:start;gap:10px!important;font-weight:500!important;color:#91a2be!important; }
.check-field input { width:18px;height:18px;padding:0; }
.check-field a { color:#63ddff;text-decoration:underline; }
.honeypot { position:absolute;left:-10000px; }
.field-error { color:#ff7c98;font-size:.72rem;margin-top:-3px; }
.invalid { border-color:#ff6f8d!important;box-shadow:0 0 0 3px rgba(255,80,120,.09)!important; }

/* Políticas */
.policy-grid { display:grid;grid-template-columns:230px 1fr;gap:80px;align-items:start; }
.policy-nav { position:sticky;top:125px;display:grid;border-left:1px solid rgba(124,157,225,.18); }
.policy-nav a { padding:9px 15px;color:#8496b5;font-size:.82rem; }
.policy-nav a:hover { color:#62dcff;border-left:2px solid #62dcff;margin-left:-1px; }
.policy-content { max-width:800px; }
.policy-content section { padding:0 0 55px;margin-bottom:55px;border-bottom:1px solid rgba(124,157,225,.15); }
.policy-content section > span { color:#62dcff;font-size:.68rem;font-weight:900;letter-spacing:.12em; }
.policy-content h2 { margin:8px 0 14px;font-size:2rem; }
.policy-content p { color:#9aabc6;line-height:1.85; }
.policy-content a { color:#63dcff; }

/* Erro */
.error-page { min-height:70vh;display:grid;place-items:center;text-align:center;padding:80px 0; }
.error-page span { display:block;color:transparent;-webkit-text-stroke:1px rgba(98,220,255,.55);font-size:9rem;font-weight:900;line-height:1; }
.error-page h1 { margin:10px 0;font-size:3rem; }
.error-page p { color:#91a2bf;margin-bottom:28px; }

/* Animações e revelação */
.reveal { opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity:1;transform:none; }
@keyframes haloPulse { 0%,100%{transform:translate(-50%,-50%) scale(.96);opacity:.65}50%{transform:translate(-50%,-50%) scale(1.04);opacity:1} }
@keyframes coreFloat { 0%,100%{transform:translate(-50%,-50%) translateY(-5px) rotate(-1deg)}50%{transform:translate(-50%,-50%) translateY(7px) rotate(1deg)} }
@keyframes coreGlow { from{opacity:.55;transform:scale(.92)}to{opacity:1;transform:scale(1.08)} }
@keyframes energyPulse { 0%{opacity:.8;transform:scale(.8)}100%{opacity:0;transform:scale(1.45)} }
@keyframes dashMove { to{stroke-dashoffset:-120} }
@keyframes statusBlink { 0%,100%{opacity:.55}50%{opacity:1} }
@keyframes cardDrift { 0%,100%{translate:0 -3px}50%{translate:0 7px} }
@keyframes simpleOrbit { to{rotate:360deg} }
@keyframes spin { to{transform:rotate(360deg)} }

/* Responsividade */
@media (max-width: 1120px) {
  .header-inner { grid-template-columns: 180px 1fr auto; gap: 16px; }
  .main-nav { gap: 17px; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 25px; }
  .atom-stage { transform: scale(.88); transform-origin: center; margin-inline:-35px; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .news-layout { grid-template-columns:1fr; }
  .news-side { grid-template-columns:repeat(2,1fr);grid-template-rows:auto; }
  .news-row:nth-child(2) { border-top:0;border-left:1px solid rgba(124,157,225,.14); }
  .news-row:nth-child(4) { border-left:1px solid rgba(124,157,225,.14); }
  .footer-grid { grid-template-columns:1.3fr repeat(3,.7fr);gap:30px; }
  .article-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 920px) {
  :root { --header-h: 94px; }
  .site-header { padding:6px 0; }
  .header-inner { min-height:84px;grid-template-columns:1fr auto auto; }
  .brand { width:132px;height:84px; }
  .brand img { width:124px;height:auto; }
  .menu-toggle { display:block;order:3; }
  .header-actions { order:2; }
  .header-cta { order:initial; }
  .main-nav { position:absolute;left:0;right:0;top:92px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px;background:rgba(247,249,253,.98);border:1px solid rgba(17,25,54,.12);border-radius:15px;box-shadow:0 22px 50px rgba(0,0,0,.25); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px;color:#17203d; }
  .main-nav a::after { display:none; }
  .menu-toggle.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2) { opacity:0; }
  .menu-toggle.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .hero { min-height:auto; }
  .hero-grid { grid-template-columns:1fr;padding-top:80px; }
  .hero-copy { max-width:760px; }
  .atom-stage { width:min(700px,100%);min-height:650px;margin:-15px auto 0;transform:scale(.92); }
  .trust-grid { grid-template-columns:1fr; }
  .trust-grid article,.trust-grid article+article { padding:23px 0;border-left:0;border-top:1px solid rgba(133,163,226,.14); }
  .trust-grid article:first-child { border-top:0; }
  .section-heading { grid-template-columns:1fr;gap:20px; }
  .about-preview-grid,.story-grid,.page-hero-grid,.contact-grid,.portal-hero-top,.final-cta-inner { grid-template-columns:1fr; }
  .story-quote { position:relative;top:auto; }
  .page-orbit,.service-radar { min-height:300px; }
  .principle-grid { grid-template-columns:repeat(2,1fr); }
  .service-detail { grid-template-columns:60px 1fr; }
  .service-detail ul { grid-column:2; }
  .footer-grid { grid-template-columns:1.3fr 1fr 1fr; }
  .footer-grid section:last-child { grid-column:2; }
  .article-header-grid { grid-template-columns:1fr; }
  .article-header-art { min-height:280px; }
  .article-body-grid { grid-template-columns:1fr; }
  .article-sidebar { position:static;grid-template-columns:repeat(3,1fr); }
  .policy-grid { grid-template-columns:1fr;gap:40px; }
  .policy-nav { position:static;display:flex;flex-wrap:wrap;border-left:0;gap:8px; }
  .policy-nav a { border:1px solid rgba(124,157,225,.18);border-radius:999px;padding:7px 11px; }
}

@media (max-width: 680px) {
  .container { width:min(100% - 28px,var(--container)); }
  .section { padding:78px 0; }
  .header-actions { gap:7px; }
  .header-login { min-height:44px;padding:0 12px;font-size:.82rem; }
  .header-cta { width:44px;padding:0;font-size:0; }
  .header-cta svg { width:22px;height:22px; }
  .hero-grid { padding-top:55px;padding-bottom:55px; }
  .hero h1 { font-size:clamp(2.7rem,13vw,4.2rem); }
  .hero-metrics { grid-template-columns:1fr;gap:0; }
  .hero-metrics div { min-height:70px; }
  .atom-stage { min-height:520px;transform:none;margin-top:10px; }
  .atom-orbits { width:510px;height:452px; }
  .atom-core { width:245px; }
  .atom-halo { width:350px;height:350px; }
  .atom-card { width:145px;min-height:62px;padding:10px 8px 10px 43px; }
  .atom-card .atom-icon { left:9px;top:13px;width:27px;height:27px; }
  .atom-card small { font-size:.53rem; }
  .atom-card strong { font-size:.7rem; }
  .atom-card-a { left:-3%;top:4%; }
  .atom-card-b { right:-2%;top:11%; }
  .atom-card-c { left:-2%;bottom:13%; }
  .atom-card-d { right:-3%;bottom:17%; }
  .atom-status { font-size:.67rem;bottom:0; }
  .service-grid,.article-grid,.engagement-grid { grid-template-columns:1fr; }
  .service-card { min-height:290px; }
  .about-preview-grid { gap:42px; }
  .history-visual { min-height:480px;padding:28px; }
  .history-caption { left:28px;right:28px;bottom:25px; }
  .news-lead { grid-template-columns:1fr; }
  .news-visual { min-height:260px; }
  .news-side { grid-template-columns:1fr; }
  .news-row:nth-child(2),.news-row:nth-child(4) { border-left:0;border-top:1px solid rgba(124,157,225,.14); }
  .portal-actions,.source-ribbon .container,.article-actions { align-items:stretch;flex-direction:column; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .footer-grid section:last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
  .timeline-item { grid-template-columns:48px 1fr;gap:18px; }
  .timeline-period { grid-column:2;padding-top:0;margin-top:-29px;margin-bottom:16px; }
  .timeline-content { grid-column:2; }
  .timeline-marker span { width:40px;height:40px; }
  .timeline-marker::after { left:19px;top:45px; }
  .principle-grid { grid-template-columns:1fr; }
  .service-detail { grid-template-columns:1fr;gap:12px; }
  .service-detail ul { grid-column:1; }
  .form-row { grid-template-columns:1fr; }
  .contact-form { padding:20px; }
  .article-sidebar { grid-template-columns:1fr; }
  .source-disclosure { grid-template-columns:1fr; }
  .page-hero { padding:75px 0 55px; }
  .page-hero h1,.portal-hero h1 { font-size:clamp(2.5rem,12vw,4rem); }
  .floating-whatsapp,.back-top { right:14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important; }
  .reveal { opacity:1;transform:none; }
  .network-canvas { display:none; }
}
.atom-stage > * { transform-style: preserve-3d; }
.atom-stage { rotate: var(--atom-rx, 0deg) var(--atom-ry, 0deg); transition: rotate .18s ease-out; }

/* ========================================================================== */
/* Portal Tech 1.1.0 — órbitas atômicas refinadas e trajetória gradual       */
/* ========================================================================== */

/*
 * O conjunto foi reduzido a três planos orbitais legíveis. Cada plano possui
 * um arco traseiro, o planeta no centro e um arco dianteiro. As partículas
 * duplicadas alternam opacidade de forma sincronizada para realmente parecer
 * que desaparecem atrás do núcleo e reaparecem à frente dele.
 */
.atom-stage {
  min-height: 660px;
  perspective: none;
  transform-style: flat;
  rotate: none;
  transition: none;
}
.atom-stage::before {
  inset: 15% 9% 11%;
  background:
    radial-gradient(circle at 50% 48%, rgba(53, 215, 255, .15), transparent 30%),
    radial-gradient(circle, rgba(43, 91, 255, .16), rgba(88, 44, 205, .07) 42%, transparent 70%);
  filter: blur(16px);
}
.atom-halo {
  width: 430px;
  height: 430px;
  border-color: rgba(92, 158, 255, .11);
  box-shadow: 0 0 115px rgba(43, 112, 255, .14), inset 0 0 70px rgba(93, 57, 230, .08);
  animation: haloPulseRefined 7.5s ease-in-out infinite;
}
.atomic-shell {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 650px;
  height: 575px;
  transform: translate(-50%, -50%);
  overflow: visible;
  pointer-events: none;
}
.atomic-shell-back { z-index: 3; }
.atomic-shell-front { z-index: 8; }
.atomic-plane {
  transform-box: view-box;
  transform-origin: 350px 310px;
  will-change: transform;
}
.atomic-plane-a { animation: atomicPlaneA 18s ease-in-out infinite alternate; }
.atomic-plane-b { animation: atomicPlaneB 21s ease-in-out infinite alternate; }
.atomic-plane-c { animation: atomicPlaneC 24s ease-in-out infinite alternate; }
.atomic-arc {
  fill: none;
  stroke-width: 1.75;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
  opacity: .68;
}
.atomic-arc-front {
  stroke-width: 2.35;
  opacity: .94;
}
.atomic-arc-cyan { stroke: #4ce8ff; }
.atomic-arc-violet { stroke: #9a72ff; }
.atomic-arc-blue { stroke: #4e8cff; }
.atomic-motion-path { fill: none; stroke: none; }
.atomic-electron {
  stroke: rgba(255, 255, 255, .8);
  stroke-width: .65;
  filter: drop-shadow(0 0 6px currentColor) drop-shadow(0 0 16px currentColor);
}
.atomic-electron-cyan { fill: #6af2ff; color: #6af2ff; }
.atomic-electron-violet { fill: #bb7aff; color: #bb7aff; }
.atomic-electron-blue { fill: #5a9cff; color: #5a9cff; }
.atom-core {
  z-index: 5;
  width: 325px;
  animation: coreFloatRefined 8s ease-in-out infinite;
  filter: drop-shadow(0 34px 72px rgba(5, 16, 69, .78));
}
.atom-core::before {
  inset: 18%;
  animation: coreGlow 5.5s ease-in-out infinite alternate;
}
.atom-core img { filter: saturate(1.06) contrast(1.04); }
.nucleus-particle {
  position: absolute;
  z-index: 3;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #76f1ff;
  box-shadow: 0 0 10px #49dfff, 0 0 22px rgba(73, 223, 255, .68);
  opacity: .55;
}
.nucleus-particle-a { left: 42%; top: 37%; animation: nucleusDriftA 4.8s ease-in-out infinite; }
.nucleus-particle-b { right: 35%; top: 48%; width: 5px; height: 5px; background: #a978ff; animation: nucleusDriftB 5.6s ease-in-out infinite; }
.nucleus-particle-c { left: 48%; bottom: 32%; width: 4px; height: 4px; animation: nucleusDriftC 6.2s ease-in-out infinite; }
.atom-card {
  z-index: 12;
  background: linear-gradient(145deg, rgba(14, 29, 64, .88), rgba(7, 15, 38, .8));
  animation: none;
}
.atom-card-a { left: 2%; top: 10%; }
.atom-card-b { right: 0; top: 16%; }
.atom-card-c { left: 0; bottom: 17%; }
.atom-card-d { right: -1%; bottom: 19%; }
.atom-status { bottom: 4%; }

@keyframes atomicPlaneA {
  from { transform: rotate(0deg) scaleX(1); }
  to { transform: rotate(5deg) scaleX(.985); }
}
@keyframes atomicPlaneB {
  from { transform: rotate(58deg) scaleX(.98); }
  to { transform: rotate(64deg) scaleX(1.015); }
}
@keyframes atomicPlaneC {
  from { transform: rotate(-58deg) scaleX(1.015); }
  to { transform: rotate(-64deg) scaleX(.985); }
}
@keyframes haloPulseRefined {
  0%, 100% { transform: translate(-50%, -50%) scale(.98); opacity: .52; }
  50% { transform: translate(-50%, -50%) scale(1.025); opacity: .82; }
}
@keyframes coreFloatRefined {
  0%, 100% { transform: translate(-50%, -50%) translateY(-3px); }
  50% { transform: translate(-50%, -50%) translateY(5px); }
}
@keyframes nucleusDriftA {
  0%,100% { transform: translate(0,0) scale(.8); opacity:.35; }
  50% { transform: translate(13px,-8px) scale(1.15); opacity:.8; }
}
@keyframes nucleusDriftB {
  0%,100% { transform: translate(0,0); opacity:.25; }
  50% { transform: translate(-10px,11px); opacity:.72; }
}
@keyframes nucleusDriftC {
  0%,100% { transform: translate(0,0) scale(.8); opacity:.3; }
  50% { transform: translate(8px,-13px) scale(1.2); opacity:.78; }
}

/* Resumo institucional da home: progressão 1996 > 2010 > atualidade. */
.about-preview-grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(390px, .9fr);
  gap: 72px;
  align-items: start;
}
.journey-visual {
  position: relative;
  padding: 34px 38px 38px;
  border: 1px solid rgba(119, 153, 223, .22);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 8%, rgba(31, 126, 255, .18), transparent 32%),
    linear-gradient(155deg, rgba(15, 31, 66, .88), rgba(6, 13, 31, .92));
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 30px 80px rgba(0,0,0,.16);
  overflow: hidden;
}
.journey-visual::after {
  content: "";
  position: absolute;
  inset: auto -18% -34% 28%;
  height: 300px;
  background: radial-gradient(circle, rgba(120, 66, 255, .14), transparent 66%);
  pointer-events: none;
}
.journey-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(125, 158, 225, .15);
}
.journey-header strong {
  display: block;
  margin-top: 6px;
  color: #fff;
  font-size: clamp(1.5rem, 2.4vw, 2.15rem);
  letter-spacing: -.04em;
}
.journey-badge {
  padding: 8px 11px;
  border: 1px solid rgba(105, 218, 255, .28);
  border-radius: 999px;
  color: #72e1ff;
  background: rgba(23, 103, 168, .12);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
  white-space: nowrap;
}
.journey-rail {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 0;
  margin-top: 14px;
}
.journey-rail::before {
  content: "";
  position: absolute;
  left: 92px;
  top: 30px;
  bottom: 30px;
  width: 2px;
  background: linear-gradient(#48e4ff 0%, #5f8dff 38%, #a066ff 70%, #d35dff 100%);
  box-shadow: 0 0 18px rgba(84, 169, 255, .28);
}
.journey-step {
  position: relative;
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 34px;
  min-height: 102px;
  padding: 18px 0;
}
.journey-step time {
  padding-top: 3px;
  color: #6ddfff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .04em;
  white-space: nowrap;
}
.journey-step > div {
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(126, 157, 221, .11);
}
.journey-step:last-child > div { border-bottom: 0; padding-bottom: 0; }
.journey-step h3 {
  margin: 0 0 5px;
  color: #f5f8ff;
  font-size: 1rem;
  letter-spacing: -.018em;
}
.journey-step p {
  margin: 0;
  color: #8fa1be;
  font-size: .78rem;
  line-height: 1.58;
}
.journey-node {
  position: absolute;
  left: 85px;
  top: 23px;
  width: 16px;
  height: 16px;
  border: 3px solid #071126;
  border-radius: 50%;
  background: #59e6ff;
  box-shadow: 0 0 0 1px rgba(90, 227, 255, .55), 0 0 18px rgba(75, 220, 255, .55);
}
.journey-step-foundation .journey-node {
  width: 20px;
  height: 20px;
  left: 83px;
  top: 21px;
  background: #a66cff;
  box-shadow: 0 0 0 1px rgba(174, 109, 255, .6), 0 0 22px rgba(151, 88, 255, .72);
}
.journey-step-foundation time { color: #c18aff; }
.journey-step-foundation h3 { color: #cda8ff; }
.about-preview-copy { padding-top: 22px; }
.about-preview-copy h2 { font-size: clamp(2.35rem, 4.1vw, 4rem); }
.about-preview-copy p {
  color: #94a5c2;
  font-size: .95rem;
  line-height: 1.78;
}
.about-preview-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 30px 0 28px;
}
.about-preview-metrics div {
  min-height: 82px;
  padding: 14px;
  border: 1px solid rgba(118, 153, 224, .18);
  border-radius: 14px;
  background: rgba(12, 25, 54, .52);
}
.about-preview-metrics strong {
  display: block;
  color: #fff;
  font-size: 1.08rem;
  letter-spacing: -.03em;
}
.about-preview-metrics span {
  display: block;
  margin-top: 4px;
  color: #7f92b2;
  font-size: .68rem;
  line-height: 1.35;
}

@media (max-width: 1120px) {
  .atomic-shell { width: 620px; height: 548px; }
  .about-preview-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
}

@media (max-width: 920px) {
  .atom-stage { min-height: 630px; transform: none; margin-inline: 0; }
  .atomic-shell { width: min(650px, 100%); height: auto; aspect-ratio: 700 / 620; }
  .about-preview-grid { grid-template-columns: 1fr; gap: 46px; }
  .about-preview-copy { padding-top: 0; }
}

@media (max-width: 680px) {
  .atom-stage { min-height: 515px; overflow: hidden; }
  .atomic-shell { width: 520px; }
  .atom-core { width: 238px; }
  .atom-halo { width: 330px; height: 330px; }
  .atom-card-a { left: -3%; top: 3%; }
  .atom-card-b { right: -2%; top: 9%; }
  .atom-card-c { left: -3%; bottom: 14%; }
  .atom-card-d { right: -3%; bottom: 17%; }
  .journey-visual { padding: 26px 22px 28px; border-radius: 22px; }
  .journey-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .journey-rail::before { left: 72px; }
  .journey-step { grid-template-columns: 58px 1fr; gap: 31px; }
  .journey-node { left: 65px; }
  .journey-step-foundation .journey-node { left: 63px; }
  .journey-step time { font-size: .62rem; white-space: normal; }
  .about-preview-metrics { grid-template-columns: 1fr; }
  .about-preview-metrics div { min-height: 68px; }
}

@media (prefers-reduced-motion: reduce) {
  .atomic-plane,
  .atom-core,
  .atom-halo,
  .nucleus-particle { animation: none !important; }
}

/* Portal Tech v1.2.0 — matéria externa incorporada e referências */
.external-embed-section,.external-embed-blocked,.source-reference{margin-top:36px;border:1px solid rgba(108,148,228,.2);border-radius:20px;background:rgba(8,18,40,.72);overflow:hidden}.external-embed-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid rgba(108,148,228,.16)}.external-embed-heading span,.source-reference>span,.external-embed-blocked>span{color:#65ddff;font-size:.66rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.external-embed-heading h2,.source-reference h2,.external-embed-blocked h2{margin:5px 0 0;font-size:1.45rem}.external-embed-heading a{color:#7ce4ff;font-weight:800;font-size:.82rem}.external-embed-frame{height:min(72vh,980px);min-height:680px;background:#fff}.external-embed-frame iframe{display:block;width:100%;height:100%;border:0;background:#fff}.external-embed-section>.editorial-note{margin:18px 22px 22px}.external-embed-blocked{padding:28px}.external-embed-blocked p{max-width:760px;color:#9dadc8;line-height:1.75}.external-embed-blocked .button{margin-top:8px}.source-reference{padding:28px}.source-reference dl{display:grid;gap:0;margin:22px 0 0}.source-reference dl>div{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px;padding:14px 0;border-top:1px solid rgba(108,148,228,.13)}.source-reference dt{color:#8094b5;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.source-reference dd{margin:0;color:#cbd7ea;line-height:1.6;overflow-wrap:anywhere}.source-reference dd a{color:#6fe0ff}.external-summary{padding:24px;border:1px solid rgba(108,148,228,.15);border-radius:16px;background:rgba(13,27,56,.46)}.external-summary h2{margin-top:0}
@media(max-width:720px){.external-embed-heading{align-items:flex-start;flex-direction:column}.external-embed-frame{min-height:560px}.source-reference dl>div{grid-template-columns:1fr;gap:5px}}

/* v1.2.3 — imagem original e créditos editoriais */
.source-article-image{margin:32px 0 0;border:1px solid rgba(108,148,228,.2);border-radius:20px;overflow:hidden;background:rgba(8,18,40,.72)}
.source-article-image>a{display:block;background:#060d1e}
.source-article-image img{display:block;width:100%;max-height:680px;object-fit:contain;background:#060d1e}
.source-article-image figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0;padding:16px 20px;border-top:1px solid rgba(108,148,228,.16);color:#8fa3c5;font-size:.82rem;line-height:1.55}
.source-article-image figcaption strong{color:#d6e1f3}
.source-article-image figcaption a{margin-left:auto;color:#6fe0ff;font-weight:750}
@media(max-width:720px){.source-article-image figcaption{align-items:flex-start;flex-direction:column}.source-article-image figcaption a{margin-left:0}}

/* Portal Tech v1.2.6 — matéria direta com enquadramento visual */
.external-article-window {
  margin-top: 36px;
}
.external-article-window .external-embed-heading {
  background:
    radial-gradient(circle at 88% 12%, rgba(91, 69, 255, .12), transparent 32%),
    rgba(8, 18, 40, .88);
}
.external-article-viewport {
  position: relative;
  width: min(100%, 920px);
  height: var(--external-visible-height, 2400px);
  margin: 0 auto;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}
.external-article-viewport iframe {
  position: absolute;
  top: calc(-1 * var(--external-crop-top, 120px));
  left: 0;
  display: block;
  width: 100%;
  height: calc(var(--external-visible-height, 2400px) + var(--external-crop-top, 120px));
  border: 0;
  background: #fff;
  pointer-events: none;
}
/* v1.2.7: o final não recebe máscara; créditos e biografia permanecem legíveis. */
.external-article-end-mask {
  display: none;
}
.external-article-source-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 18px 22px;
  border-top: 1px solid rgba(108,148,228,.16);
  background: rgba(9,20,44,.96);
}
.external-article-source-footer p {
  max-width: 720px;
  margin: 0;
  color: #9dadc8;
  font-size: .83rem;
  line-height: 1.6;
}
.external-article-source-footer .button {
  flex: 0 0 auto;
  min-height: 44px;
  padding-inline: 18px;
  font-size: .8rem;
}
@media (max-width: 720px) {
  .external-article-viewport {
    width: 100%;
    height: var(--external-mobile-height, 3600px);
  }
  .external-article-viewport iframe {
    height: calc(var(--external-mobile-height, 3600px) + var(--external-crop-top, 120px));
  }
  .external-article-source-footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .external-article-source-footer .button {
    width: 100%;
  }
}

@media (max-width: 720px) { .series-intro{align-items:flex-start;flex-direction:column}.series-intro p{white-space:normal} }

/* v1.3.4 — validação do formulário de contato */
.contact-form .field-shell { position: relative; }
.contact-form .field-shell.field-invalid { color: #ffd7df; }
.contact-form .field-shell.field-invalid > input,
.contact-form .field-shell.field-invalid > select,
.contact-form .field-shell.field-invalid > textarea,
.contact-form input.invalid,
.contact-form select.invalid,
.contact-form textarea.invalid {
  border-color: #ff557a !important;
  box-shadow: 0 0 0 3px rgba(255, 65, 108, .16), 0 0 22px rgba(255, 65, 108, .10) !important;
  background: linear-gradient(0deg, rgba(82, 13, 35, .18), rgba(82, 13, 35, .18)), #071127;
}
.contact-form .check-field.field-invalid {
  padding: 13px 14px;
  margin: -5px -14px;
  border: 1px solid rgba(255, 85, 122, .72);
  border-radius: 12px;
  background: rgba(102, 20, 46, .13);
  box-shadow: 0 0 0 3px rgba(255, 65, 108, .08);
}
.contact-form .check-field input.invalid { accent-color: #ff557a; }
.contact-form .field-error {
  display: block;
  margin-top: 0;
  color: #ff8ea7;
  font-size: .76rem;
  font-weight: 760;
  line-height: 1.45;
}
.contact-form .check-error { grid-column: 1 / -1; margin-left: 30px; }
.message-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-top: -2px;
  color: #7f92b2;
  font-size: .7rem;
  font-weight: 680;
}
.message-meta [data-character-count] { font-variant-numeric: tabular-nums; }
.message-meta .below-minimum { color: #ff8ea7; font-weight: 820; }
.message-meta .minimum-met { color: #63dca7; font-weight: 760; }
.flash.flash-error,
.flash.flash-danger {
  border-color: rgba(255, 81, 121, .78);
  background: linear-gradient(135deg, rgba(72, 15, 38, .98), rgba(29, 20, 49, .98));
  box-shadow: 0 22px 65px rgba(0,0,0,.38), 0 0 0 1px rgba(255,92,129,.12), 0 0 30px rgba(255,67,110,.12);
}
.validation-toast {
  align-items: flex-start;
  padding: 17px 17px 17px 15px;
  animation: validationToastIn .25s ease-out both;
}
.validation-toast-icon {
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #ff557a;
  color: #fff;
  font-size: .86rem;
  font-weight: 950;
  box-shadow: 0 0 18px rgba(255, 85, 122, .36);
}
.validation-toast-copy { display: grid; gap: 3px; flex: 1; }
.validation-toast-copy strong { color: #fff; font-size: .84rem; }
.validation-toast-copy span { color: #ffd3dd; font-size: .78rem; line-height: 1.45; }
@keyframes validationToastIn {
  from { opacity: 0; transform: translate3d(18px, -6px, 0) scale(.98); }
  to { opacity: 1; transform: none; }
}
@media (max-width: 620px) {
  .message-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .flash-stack { top: 92px; right: 12px; width: calc(100% - 24px); }
}

/* Portal Tech v2.0.2 — tema white-label por tenant */
:root{
  --tenant-primary:#2887ff;--tenant-secondary:#7f66ff;--tenant-accent:#34dcff;--tenant-highlight:#b54cff;
  --tenant-bg:#040713;--tenant-bg-alt:#071126;--tenant-panel:#0a1530;--tenant-text:#f7f9ff;--tenant-muted:#9aacca;
  --tenant-header-bg:#f4f7fd;--tenant-header-text:#18203a;--tenant-footer-bg:#f6f8fd;--tenant-footer-text:#111936;
  --blue:var(--tenant-primary);--cyan:var(--tenant-accent);--violet:var(--tenant-secondary);--purple:var(--tenant-highlight);
  --night:var(--tenant-bg);--night-2:var(--tenant-bg-alt);--panel-solid:var(--tenant-panel);--ink:var(--tenant-text);--muted:var(--tenant-muted);
}
html{background:var(--tenant-bg)}
body{color:var(--tenant-text);background:radial-gradient(circle at 72% 4%,color-mix(in srgb,var(--tenant-secondary) 24%,transparent),transparent 31rem),radial-gradient(circle at 12% 34%,color-mix(in srgb,var(--tenant-primary) 15%,transparent),transparent 34rem),linear-gradient(180deg,var(--tenant-bg) 0%,var(--tenant-bg-alt) 48%,var(--tenant-bg) 100%)}
::selection{background:color-mix(in srgb,var(--tenant-accent) 32%,transparent);color:var(--tenant-text)}
.site-header::before{background:color-mix(in srgb,var(--tenant-header-bg) 94%,transparent);border-bottom-color:color-mix(in srgb,var(--tenant-header-text) 12%,transparent)}
.main-nav{color:var(--tenant-header-text)}
.main-nav a::after{background:linear-gradient(90deg,var(--tenant-accent),var(--tenant-secondary))}
.main-nav a:hover,.main-nav a.active{color:var(--tenant-primary)}
.menu-toggle span:not(.sr-only){background:var(--tenant-header-text)}
.header-cta,.button-primary{background:linear-gradient(135deg,var(--tenant-primary),var(--tenant-secondary) 62%,var(--tenant-highlight))}
.eyebrow>span{background:linear-gradient(90deg,var(--tenant-accent),var(--tenant-secondary));box-shadow:0 0 12px color-mix(in srgb,var(--tenant-accent) 65%,transparent)}
.hero h1 strong,.section-heading h2 strong,.about-preview h2 strong,.page-hero h1 strong,.final-cta h2 strong{background:linear-gradient(120deg,var(--tenant-accent) 0%,var(--tenant-secondary) 52%,var(--tenant-highlight) 100%);background-clip:text;-webkit-background-clip:text}
.text-link{color:var(--tenant-accent)}
.hero-lead,.section-heading p,.about-preview-copy>p,.news-lead p,.article-card p,.page-hero p,.article-body p,.article-body li{color:var(--tenant-muted)}
.service-card,.news-lead,.news-side,.history-visual,.article-card,.portal-toolbar,.article-source-box,.article-reference,.contact-card,.content-panel{background-color:color-mix(in srgb,var(--tenant-panel) 88%,transparent)}
.service-card:hover{border-color:color-mix(in srgb,var(--tenant-accent) 52%,transparent)}
.service-top svg{color:var(--tenant-accent)}
.service-card:nth-child(3n+2) .service-top svg{color:var(--tenant-secondary)}
.service-card:nth-child(3n+3) .service-top svg{color:var(--tenant-highlight)}
.history-year{-webkit-text-stroke-color:color-mix(in srgb,var(--tenant-accent) 65%,transparent);text-shadow:0 0 28px color-mix(in srgb,var(--tenant-primary) 24%,transparent)}
.history-line{background:linear-gradient(90deg,var(--tenant-accent),var(--tenant-secondary),var(--tenant-highlight))}
.final-cta-inner{background:radial-gradient(circle at 76% 0,color-mix(in srgb,var(--tenant-accent) 34%,transparent),transparent 28%),linear-gradient(135deg,var(--tenant-primary),var(--tenant-secondary) 52%,var(--tenant-highlight))}
.site-footer{color:var(--tenant-footer-text);background:linear-gradient(180deg,var(--tenant-footer-bg),color-mix(in srgb,var(--tenant-footer-bg) 88%,var(--tenant-primary)))}
.site-footer::before{background:radial-gradient(circle,color-mix(in srgb,var(--tenant-primary) 17%,transparent),transparent 65%)}
.footer-brand p,.footer-grid section:not(.footer-brand) a{color:color-mix(in srgb,var(--tenant-footer-text) 70%,transparent)}
.footer-contact,.footer-grid h2{color:var(--tenant-footer-text)}
.footer-grid section:not(.footer-brand) a:hover{color:var(--tenant-primary)}
.footer-bottom{border-top-color:color-mix(in srgb,var(--tenant-footer-text) 14%,transparent);color:color-mix(in srgb,var(--tenant-footer-text) 66%,transparent)}
.floating-whatsapp{box-shadow:0 14px 34px color-mix(in srgb,var(--tenant-primary) 22%,transparent)}
.back-top{background:linear-gradient(135deg,var(--tenant-primary),var(--tenant-secondary))}

/* v2.0.3 — Hero white-label por tenant */
.hero-home { position: relative; isolation: isolate; background-color: var(--hero-custom-bg, transparent); }
.hero-home.hero-background-color { background: var(--hero-custom-bg); }
.hero-home.hero-background-gradient { background: linear-gradient(var(--hero-gradient-angle,125deg), var(--hero-gradient-a,#040713), var(--hero-gradient-b,#23145f)); }
.hero-media-background { position:absolute; inset:0; z-index:-5; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.hero-media-background-image { background-repeat:no-repeat; }
.hero-custom-overlay { position:absolute; inset:0; z-index:-4; pointer-events:none; background:rgba(2,6,18,var(--hero-overlay-opacity,.18)); }
.hero-background-default .hero-custom-overlay { display:none; }
.hero-background-color .network-canvas,.hero-background-gradient .network-canvas,.hero-background-image .network-canvas,.hero-background-gif .network-canvas,.hero-background-video .network-canvas { opacity:.28; }
.hero-background-image .hero-glow,.hero-background-gif .hero-glow,.hero-background-video .hero-glow { opacity:.13; }
.atom-stage-no-orbits .atomic-shell,.atom-stage-no-orbits .atom-halo,.atom-stage-no-orbits .core-energy,.atom-stage-no-orbits .nucleus-particle { display:none!important; }
.atom-stage-visual-hidden .atom-core { opacity:0; pointer-events:none; }
.atom-core-custom { width:390px; aspect-ratio:1.15; }
.atom-core .hero-center-media { position:relative; z-index:2; width:100%; height:100%; object-fit:contain; border-radius:28px; }
.atom-core .hero-center-logo { max-width:82%; max-height:72%; object-fit:contain; filter:drop-shadow(0 20px 44px rgba(0,0,0,.3)); }
.atom-core-custom video.hero-center-media { object-fit:cover; background:#020713; box-shadow:0 26px 70px rgba(0,0,0,.38); }
.atom-core-custom img.hero-center-media:not(.hero-center-logo) { object-fit:contain; }
.hero-home .hero-copy,.hero-home .atom-stage { position:relative; z-index:2; }
@media (max-width:760px){
  .atom-core-custom { width:min(360px,82vw); }
  .hero-media-background { object-position:center; }
}

/* ========================================================================== */
/* Portal Tech 2.0.6 — ícones legíveis e sistema orbital white-label         */
/* ========================================================================== */
.atom-halo{border-color:var(--halo-color,#4e8cff);opacity:.72}
.atom-card{padding-left:68px;min-height:82px}
.atom-card .atom-icon{left:14px;top:17px;width:42px;height:42px;border-radius:12px}
.atom-card .atom-icon svg,.atom-card .atom-icon img{width:25px;height:25px;display:block;object-fit:contain}
.atomic-plane-user{transform-box:view-box;transform-origin:350px 310px}
.atomic-plane-drift{transform-box:view-box;transform-origin:350px 310px;animation:atomicPlaneUserDrift var(--plane-drift-duration,20s) ease-in-out infinite alternate}
.atomic-arc-user{opacity:.68;filter:drop-shadow(0 0 4px var(--orbit-color,#4ce8ff))}
.atomic-arc-user.atomic-arc-front{opacity:.96;filter:drop-shadow(0 0 8px var(--orbit-color,#4ce8ff))}
.atomic-electron-user{stroke-width:.7;filter:drop-shadow(0 0 7px currentColor) drop-shadow(0 0 16px currentColor)}
@keyframes atomicPlaneUserDrift{0%{transform:rotate(-2.5deg)}50%{transform:rotate(1.5deg)}100%{transform:rotate(3deg)}}
@media(max-width:760px){.atom-card{padding-left:58px}.atom-card .atom-icon{width:36px;height:36px}.atom-card .atom-icon svg,.atom-card .atom-icon img{width:22px;height:22px}}


/* ========================================================================== */
/* Portal Tech 2.0.7 — geometria atômica concêntrica                         */
/* ========================================================================== */
/*
 * Todas as órbitas são calculadas em torno de (350,310) no mesmo viewBox.
 * A animação antiga de "drift" foi removida porque aplicava uma segunda
 * rotação CSS em coordenadas renderizadas e podia deslocar visualmente o
 * centro das órbitas. A profundidade agora vem dos planos inclinados e das
 * camadas front/back, mantendo o núcleo rigorosamente compartilhado.
 */
.atomic-shell{width:min(620px,94%);height:auto;aspect-ratio:700/620;}
.atomic-plane-user{transform-box:view-box;transform-origin:350px 310px;}
.atomic-plane-drift{animation:none!important;transform:none!important;}
.atomic-arc-user{stroke-width:1.65;opacity:.62;}
.atomic-arc-user.atomic-arc-front{stroke-width:2.05;opacity:.92;}
.atomic-electron-user{filter:drop-shadow(0 0 6px currentColor) drop-shadow(0 0 13px currentColor);}
@media(max-width:760px){.atomic-shell{width:min(520px,112vw);}}

/* ========================================================================== */
/* Portal Tech 2.0.9 — sistema orbital público: núcleo, profundidade e movimento */
/* ========================================================================== */
.atomic-shell{display:none!important}
.atomic-public-system{
  position:absolute;
  left:50%;top:50%;
  width:min(610px,94%);
  aspect-ratio:700/620;
  transform:translate(-50%,-50%);
  transform-origin:50% 50%;
  pointer-events:none;
  overflow:visible;
  /* IMPORTANTE: sem z-index. Assim os filhos podem ficar atrás ou à frente do .atom-core. */
}
.atomic-public-svg{
  position:absolute;inset:0;width:100%;height:100%;overflow:visible;
  pointer-events:none;
}
.atomic-public-svg-back{z-index:3}
.atomic-public-svg-front{z-index:8}
.atomic-public-track{
  fill:none;
  stroke:var(--public-orbit-color,#4ce8ff);
  vector-effect:non-scaling-stroke;
  transform-origin:350px 310px;
  transform-box:view-box;
  will-change:transform,stroke-dashoffset;
}
.atomic-public-track-back{
  stroke-width:1.25;
  opacity:.38;
  filter:drop-shadow(0 0 3px var(--public-orbit-color,#4ce8ff));
}
.atomic-public-track-front{
  stroke-width:1.75;
  opacity:.82;
  filter:drop-shadow(0 0 5px var(--public-orbit-color,#4ce8ff));
}
.atomic-public-track-front::before{content:""}
.atomic-public-electron{
  position:absolute;left:0;top:0;
  width:var(--electron-size,10px);height:var(--electron-size,10px);
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--electron-color,#4ce8ff) 34% 100%);
  border:1px solid color-mix(in srgb,#fff 72%,var(--electron-color,#4ce8ff));
  box-shadow:0 0 7px var(--electron-color,#4ce8ff),0 0 16px color-mix(in srgb,var(--electron-color,#4ce8ff) 68%,transparent);
  will-change:transform,opacity;
  pointer-events:none;
}
/* O halo deixa de ser uma circunferência rígida atrás do planeta. */
.atom-halo{
  border-color:transparent!important;
  background:radial-gradient(circle at 50% 50%,transparent 48%,color-mix(in srgb,var(--halo-color,#4e8cff) 10%,transparent) 58%,transparent 69%);
  box-shadow:0 0 75px color-mix(in srgb,var(--halo-color,#4e8cff) 10%,transparent)!important;
  opacity:.7;
}
/* Reduz o núcleo um pouco para os planos orbitais respirarem ao redor dele. */
.hero-home .atom-core{width:305px}
/* Plano dianteiro precisa efetivamente ficar acima do núcleo. */
.hero-home .atom-core{z-index:5}
.hero-home .atomic-public-svg-back{z-index:3}
.hero-home .atomic-public-svg-front{z-index:8}
.atom-stage-no-orbits .atomic-public-system{display:none!important}
@media(max-width:1100px){.atomic-public-system{width:min(570px,94%)}.hero-home .atom-core{width:285px}}
@media(max-width:760px){.atomic-public-system{width:min(500px,110vw)}.hero-home .atom-core{width:235px}.atomic-public-track-back{stroke-width:1.05}.atomic-public-track-front{stroke-width:1.45}}
@media(prefers-reduced-motion:reduce){.atomic-public-electron{transition:none!important}}

/* ========================================================================== */
/* Portal Tech 2.0.10 — órbitas públicas idênticas à geometria do admin      */
/* ========================================================================== */
.atomic-public-system{display:none!important}
.atomic-orbit-system{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:visible;
  /* Sem transform/z-index: os filhos podem realmente ficar atrás e à frente do núcleo. */
}
.atomic-orbit-ring{
  position:absolute;
  left:50%;
  top:50%;
  width:var(--orbit-base-w,min(500px,72%));
  height:var(--orbit-base-h,min(184px,27%));
  margin:0;
  border:1.6px solid var(--orbit-color,#4ce8ff);
  border-radius:50%;
  box-sizing:border-box;
  transform:translate(-50%,-50%) rotate(var(--orbit-live-angle,var(--orbit-angle,0deg))) scale(var(--orbit-scale,1));
  transform-origin:center;
  will-change:transform,filter,opacity;
}
.atomic-orbit-ring-back{
  z-index:3;
  opacity:.42;
  filter:drop-shadow(0 0 3px var(--orbit-color,#4ce8ff));
}
.atomic-orbit-ring-front{
  z-index:8;
  opacity:.96;
  border-width:2px;
  clip-path:inset(50% -24px -24px -24px);
  filter:drop-shadow(0 0 7px var(--orbit-color,#4ce8ff));
}
.atomic-orbit-particle{
  position:absolute;
  left:0;
  top:0;
  z-index:9;
  width:var(--particle-size,10px);
  height:var(--particle-size,10px);
  margin:0;
  border-radius:50%;
  background:radial-gradient(circle at 34% 28%,#fff 0 11%,var(--particle-color,#4ce8ff) 32% 100%);
  border:1px solid rgba(255,255,255,.58);
  box-shadow:0 0 8px var(--particle-color,#4ce8ff),0 0 19px var(--particle-color,#4ce8ff);
  pointer-events:none;
  will-change:transform,opacity;
}
/* O núcleo e o sistema usam o mesmo 50%/50%; sem deslocamento lateral. */
.hero-home .atom-core{left:50%;top:50%;width:305px;z-index:5}
.hero-home .atom-halo{left:50%;top:50%;width:405px;height:405px;z-index:1}
/* Evita o círculo rígido e deixa apenas profundidade luminosa. */
.hero-home .atom-halo{
  border:0!important;
  background:radial-gradient(circle,transparent 43%,color-mix(in srgb,var(--halo-color,#4e8cff) 9%,transparent) 58%,transparent 72%);
  box-shadow:0 0 70px color-mix(in srgb,var(--halo-color,#4e8cff) 10%,transparent)!important;
}
.atom-stage-no-orbits .atomic-orbit-system{display:none!important}
@media(max-width:1100px){
  .atomic-orbit-ring{width:min(470px,74%);height:min(173px,28%)}
  .hero-home .atom-core{width:282px}
}
@media(max-width:760px){
  .atomic-orbit-ring{width:min(410px,86%);height:min(151px,31%);border-width:1.35px}
  .atomic-orbit-ring-front{border-width:1.7px}
  .hero-home .atom-core{width:232px}
  .hero-home .atom-halo{width:315px;height:315px}
}
/* Mesmo com preferência de movimento reduzido, a órbita continua viva em ritmo suave.
   A redução de movimento é aplicada no JS por fator de velocidade. */
@media(prefers-reduced-motion:reduce){
  .atomic-orbit-ring,.atomic-orbit-particle{animation:none!important;transition:none!important}
}


/* ========================================================================== */
/* Portal Tech 2.0.12 — mesma proporção do admin + logo central indivisível   */
/* ========================================================================== */
.hero-home .atom-stage{--hero-core-size:155px;}
.hero-home .atom-core{
  width:var(--hero-core-size)!important;
  aspect-ratio:1 / 1;
}
.hero-home .atom-core img.hero-center-media,
.hero-home .atom-core > img:not(.hero-center-media){
  width:100%;height:100%;object-fit:contain;
}
.hero-home .atom-core::before{inset:4%;}
.atom-stage-visual-hidden .atom-core{opacity:0!important;visibility:hidden;pointer-events:none;}
/* Evita que regras antigas de custom media aumentem o núcleo e quebrem a relação com as órbitas. */
.hero-home .atom-core-custom{width:var(--hero-core-size)!important;aspect-ratio:1 / 1;}

/* ========================================================================== */
/* Portal Tech 2.0.13 — profundidade real: órbita atrás / logo / órbita frente */
/* ========================================================================== */
.hero-home .atomic-orbit-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:visible;
  transform:none!important;
}
.hero-home .atomic-orbit-layer-back{z-index:3;}
.hero-home .atom-core{z-index:5!important;}
.hero-home .atomic-orbit-layer-front{z-index:8;}
.hero-home .atomic-orbit-particle{z-index:9;}

/* O arco traseiro é a elipse completa em uma camada inferior. A metade próxima
   é redesenhada acima da logo pela camada dianteira. */
.hero-home .atomic-orbit-layer-back .atomic-orbit-ring-back{
  z-index:auto;
  clip-path:none!important;
  opacity:.38;
}
.hero-home .atomic-orbit-layer-front .atomic-orbit-ring-front{
  z-index:auto;
  /* metade inferior no sistema local da elipse = lado próximo do observador */
  clip-path:polygon(-12% 50%,112% 50%,112% 112%,-12% 112%)!important;
  opacity:.98;
}

/* Cards e status ficam acima do conjunto orbital, sem interferir na profundidade. */
.hero-home .atom-card{z-index:12;}
.hero-home .atom-status{z-index:13;}

/* Quando o usuário desliga as órbitas externas, nenhuma camada residual fica visível. */
.atom-stage-no-orbits .atomic-orbit-layer,
.atom-stage-no-orbits .atomic-orbit-particle{display:none!important;}


/* v2.0.15 — Projetos e RSS amigável */
.projects-hero,.rss-hero{padding-bottom:72px}
.project-legend{display:grid;gap:12px;align-content:center;padding:22px 26px;border:1px solid rgba(96,136,214,.28);border-radius:22px;background:rgba(8,20,48,.72)}
.project-legend span{display:flex;align-items:center;gap:10px;color:var(--tenant-muted)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;box-shadow:0 0 14px currentColor}.dot-live{color:#2ee6a6;background:currentColor}.dot-plan{color:#55b9ff;background:currentColor}.dot-pause{color:#ffc95e;background:currentColor}.dot-done{color:#8b7cff;background:currentColor}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-grid-preview{margin-top:28px}
.project-card{--project-status-color:var(--tenant-accent);--project-status-soft:rgba(75,207,255,.10);min-width:0;border:1px solid color-mix(in srgb,var(--project-status-color) 38%,rgba(82,121,193,.30));border-radius:24px;overflow:hidden;background:linear-gradient(155deg,rgba(11,26,58,.96),rgba(5,13,34,.98));box-shadow:0 20px 50px rgba(0,0,0,.18),inset 0 1px 0 var(--project-status-soft);transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.project-card.status-in_progress{--project-status-color:#2ee6a6;--project-status-soft:rgba(46,230,166,.10)}
.project-card.status-planned{--project-status-color:#55b9ff;--project-status-soft:rgba(85,185,255,.10)}
.project-card.status-paused{--project-status-color:#ffc95e;--project-status-soft:rgba(255,201,94,.10)}
.project-card.status-completed{--project-status-color:#8b7cff;--project-status-soft:rgba(139,124,255,.11)}
.project-card:hover{border-color:color-mix(in srgb,var(--project-status-color) 62%,transparent);box-shadow:0 22px 54px rgba(0,0,0,.22),0 0 24px color-mix(in srgb,var(--project-status-color) 12%,transparent)}
.project-card-image{display:block;aspect-ratio:16/9;overflow:hidden}.project-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.project-card:hover .project-card-image img{transform:scale(1.025)}
.project-card-body{padding:24px}.project-card-meta{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:15px}.project-card-meta span{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--project-status-color);font-weight:800}.project-card-meta span::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 13px currentColor;flex:0 0 auto}.project-card-meta strong{font-size:1rem;color:var(--tenant-text)}
.project-card h2,.project-card h3{margin:0 0 12px;font-size:1.3rem}.project-card h2 a,.project-card h3 a{color:var(--tenant-text)}.project-card p{color:var(--tenant-muted);line-height:1.65;margin:0 0 18px}
.project-progress{height:9px;border-radius:999px;background:rgba(121,151,207,.13);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(90,132,205,.12)}.project-progress span{display:block;width:var(--progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--project-status-color),color-mix(in srgb,var(--project-status-color) 72%,white));box-shadow:0 0 18px color-mix(in srgb,var(--project-status-color) 48%,transparent)}
.project-card-foot{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:16px;padding-top:15px;border-top:1px solid rgba(86,120,182,.16);font-size:.84rem}.project-card-foot span{color:var(--tenant-muted)}.project-card-foot a{color:var(--tenant-accent);font-weight:800}
.project-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:54px;align-items:end}.project-status-card{padding:26px;border:1px solid rgba(88,134,219,.28);background:rgba(7,17,42,.78);border-radius:24px}.project-status-card>span{display:block;color:var(--tenant-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.project-status-card>strong{display:block;font-size:2.6rem;margin:7px 0 15px}.project-status-card p{margin:10px 0 0;color:var(--tenant-muted)}.project-detail-content{max-width:960px}.project-hero-image{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:26px;margin-bottom:34px;border:1px solid rgba(94,134,207,.24)}
.rss-card{padding:28px;border:1px solid rgba(93,137,218,.30);border-radius:24px;background:rgba(8,20,48,.78)}.rss-card>span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--tenant-accent);font-weight:800;margin-bottom:10px}.rss-card code{display:block;padding:15px;border-radius:13px;background:#020814;color:#dce9ff;overflow-wrap:anywhere;border:1px solid rgba(88,128,200,.22)}.rss-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.narrow-copy{max-width:880px}.narrow-copy code{color:var(--tenant-accent)}
@media(max-width:900px){.project-grid{grid-template-columns:1fr}.project-detail-grid{grid-template-columns:1fr}.project-legend{margin-top:10px}}

/* v2.0.16 — cores de status aplicadas aos projetos */
.project-status-card{--project-status-color:var(--tenant-accent)}
.project-status-card.status-in_progress{--project-status-color:#2ee6a6}
.project-status-card.status-planned{--project-status-color:#55b9ff}
.project-status-card.status-paused{--project-status-color:#ffc95e}
.project-status-card.status-completed{--project-status-color:#8b7cff}
.project-status-card .project-detail-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--project-status-color);font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.76rem}
.project-status-card .project-detail-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 13px currentColor}
.project-status-card .project-progress span{background:linear-gradient(90deg,var(--project-status-color),color-mix(in srgb,var(--project-status-color) 72%,white));box-shadow:0 0 18px color-mix(in srgb,var(--project-status-color) 48%,transparent)}

/* v2.0.17 — atualização automática do front */
.flash-info {
  border-color: rgba(67, 211, 255, .58);
  background: linear-gradient(135deg, rgba(10, 45, 76, .98), rgba(28, 24, 73, .98));
  box-shadow: 0 20px 55px rgba(0,0,0,.34), 0 0 28px rgba(67,211,255,.10);
}
.live-update-toast { animation: validationToastIn .24s ease-out both; }

/* v2.0.18 — ícones consistentes nos cards de serviços */
.service-top{position:relative;z-index:2}
.service-icon-box{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb,currentColor 34%,transparent);
  border-radius:15px;
  background:color-mix(in srgb,currentColor 10%,rgba(7,16,38,.78));
  box-shadow:inset 0 1px rgba(255,255,255,.055),0 10px 28px rgba(0,0,0,.14);
  color:var(--tenant-accent);
}
.service-card:nth-child(3n+2) .service-icon-box{color:var(--tenant-secondary)}
.service-card:nth-child(3n+3) .service-icon-box{color:var(--tenant-highlight)}
.service-top .service-icon{
  width:29px;
  height:29px;
  display:block;
  color:inherit;
  stroke:currentColor;
  stroke-width:1.75;
  filter:none;
}
.service-card:hover .service-icon-box{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,currentColor 55%,transparent);
  box-shadow:inset 0 1px rgba(255,255,255,.07),0 12px 32px color-mix(in srgb,currentColor 13%,transparent);
}
.service-icon-box{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
@media(max-width:760px){
  .service-icon-box{width:48px;height:48px;flex-basis:48px;border-radius:13px}
  .service-top .service-icon{width:25px;height:25px}
}


/* v2.0.19 — refinamento dos ícones de Manutenção e Redes */
.service-top .service-icon-detailed{
  width:34px;
  height:34px;
  overflow:visible;
}
.service-card:nth-child(1) .service-icon-box{
  color:#41dcff;
  background:linear-gradient(145deg,rgba(31,218,255,.13),rgba(8,38,64,.7));
}
.service-card:nth-child(2) .service-icon-box{
  color:#69a3ff;
  background:linear-gradient(145deg,rgba(74,138,255,.15),rgba(34,22,86,.64));
}
@media(max-width:760px){.service-top .service-icon-detailed{width:30px;height:30px}}

/* v2.0.21 — cards de projeto mais definidos e agrupamento por família/ecossistema. */
.project-card{border-width:2px}
.project-family{margin:0 0 42px;padding:22px;border:1px solid color-mix(in srgb,var(--tenant-accent) 18%,rgba(82,121,193,.18));border-radius:30px;background:linear-gradient(145deg,rgba(10,25,56,.38),rgba(7,15,36,.22))}
.project-family-heading{display:flex;align-items:baseline;gap:13px;flex-wrap:wrap;margin:0 0 18px;padding:0 4px}.project-family-heading span{font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--tenant-accent);font-weight:850}.project-family-heading h2{margin:0;font-size:1.5rem}.project-family-heading p{margin:0 0 0 auto;color:var(--tenant-muted);font-size:.84rem}
.project-family-grid{margin:0}.project-grid-standalone{margin-top:18px}.project-family-badge{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--tenant-accent) 35%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tenant-accent) 8%,transparent)}.project-family-badge span{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--tenant-muted)}.project-family-badge strong{color:var(--tenant-accent)}
@media(max-width:720px){.project-family{padding:14px;border-radius:22px}.project-family-heading p{width:100%;margin-left:0}}

/* v2.0.22 — imagens de projetos contidas e estilo visual configurável dos cards. */
.project-card{border-width:var(--project-card-border-width,2px)}
.project-border-fixed .project-card{border-color:var(--project-card-border-color,#2ee6a6)}
.project-border-fixed .project-card:hover{border-color:var(--project-card-border-color,#2ee6a6)}
.project-card:hover{transform:translateY(calc(var(--project-card-hover-lift,2px) * -1));box-shadow:0 22px var(--project-card-shadow-blur,54px) var(--project-card-shadow-spread,0px) color-mix(in srgb,var(--project-card-shadow-color,#000) var(--project-card-shadow-opacity,22%),transparent),0 0 var(--project-card-glow-blur,24px) color-mix(in srgb,var(--project-card-glow-color,#34dcff) var(--project-card-glow-intensity,12%),transparent)}
.project-card-image{height:220px;aspect-ratio:auto;padding:14px;display:grid;place-items:center;background:rgba(3,9,23,.46)}
.project-card-image img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.project-card:hover .project-card-image img{transform:scale(1.015)}
.project-hero-image{display:block;width:min(100%,760px);height:auto;max-height:500px;object-fit:contain;margin:0 auto 34px;padding:10px;background:rgba(3,9,23,.38)}
@media(max-width:720px){.project-card-image{height:190px}.project-hero-image{max-height:390px}}


/* ========================================================================== */
/* Portal Tech 2.0.23 — paleta de status por tenant + efeitos coerentes       */
/* ========================================================================== */
.dot-live{color:var(--project-status-in-progress,#2ee6a6)}
.dot-plan{color:var(--project-status-planned,#55b9ff)}
.dot-pause{color:var(--project-status-paused,#ffc95e)}
.dot-done{color:var(--project-status-completed,#8b7cff)}

.project-card.status-in_progress,
.project-status-card.status-in_progress{--project-status-color:var(--project-status-in-progress,#2ee6a6);--project-status-soft:color-mix(in srgb,var(--project-status-in-progress,#2ee6a6) 10%,transparent)}
.project-card.status-planned,
.project-status-card.status-planned{--project-status-color:var(--project-status-planned,#55b9ff);--project-status-soft:color-mix(in srgb,var(--project-status-planned,#55b9ff) 10%,transparent)}
.project-card.status-paused,
.project-status-card.status-paused{--project-status-color:var(--project-status-paused,#ffc95e);--project-status-soft:color-mix(in srgb,var(--project-status-paused,#ffc95e) 10%,transparent)}
.project-card.status-completed,
.project-status-card.status-completed{--project-status-color:var(--project-status-completed,#8b7cff);--project-status-soft:color-mix(in srgb,var(--project-status-completed,#8b7cff) 11%,transparent)}

.project-border-status .project-card{border-color:color-mix(in srgb,var(--project-status-color) 62%,rgba(82,121,193,.22))}
.project-border-status .project-card:hover{border-color:color-mix(in srgb,var(--project-status-color) 86%,transparent)}

.project-shadow-status .project-card:hover{
  box-shadow:0 22px var(--project-card-shadow-blur,54px) var(--project-card-shadow-spread,0px) color-mix(in srgb,var(--project-status-color) var(--project-card-shadow-opacity,22%),transparent),
             0 0 var(--project-card-glow-blur,24px) color-mix(in srgb,var(--project-status-color) var(--project-card-glow-intensity,12%),transparent);
}
.project-shadow-fixed .project-card:hover{
  box-shadow:0 22px var(--project-card-shadow-blur,54px) var(--project-card-shadow-spread,0px) color-mix(in srgb,var(--project-card-shadow-color,#000) var(--project-card-shadow-opacity,22%),transparent),
             0 0 var(--project-card-glow-blur,24px) color-mix(in srgb,var(--project-status-color) var(--project-card-glow-intensity,12%),transparent);
}
.project-glow-fixed.project-shadow-status .project-card:hover{
  box-shadow:0 22px var(--project-card-shadow-blur,54px) var(--project-card-shadow-spread,0px) color-mix(in srgb,var(--project-status-color) var(--project-card-shadow-opacity,22%),transparent),
             0 0 var(--project-card-glow-blur,24px) color-mix(in srgb,var(--project-card-glow-color,#34dcff) var(--project-card-glow-intensity,12%),transparent);
}
.project-glow-fixed.project-shadow-fixed .project-card:hover{
  box-shadow:0 22px var(--project-card-shadow-blur,54px) var(--project-card-shadow-spread,0px) color-mix(in srgb,var(--project-card-shadow-color,#000) var(--project-card-shadow-opacity,22%),transparent),
             0 0 var(--project-card-glow-blur,24px) color-mix(in srgb,var(--project-card-glow-color,#34dcff) var(--project-card-glow-intensity,12%),transparent);
}

.project-card-meta span,.project-detail-status{color:var(--project-status-color)}
.project-progress span{background:linear-gradient(90deg,var(--project-status-color),color-mix(in srgb,var(--project-status-color) 72%,white));box-shadow:0 0 18px color-mix(in srgb,var(--project-status-color) 48%,transparent)}
.project-status-card{border-color:color-mix(in srgb,var(--project-status-color) 42%,rgba(88,134,219,.18));box-shadow:0 16px 38px color-mix(in srgb,var(--project-status-color) 8%,transparent)}

/* v2.0.31 — colaboração editorial */
.contributor-public-section{padding-top:48px}
.contributor-public-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:36px;align-items:start}
.contributor-intro,.contributor-signup-form,.contributor-login-form{border:1px solid rgba(83,126,198,.28);border-radius:24px;background:rgba(8,20,45,.72);box-shadow:0 22px 70px rgba(0,0,0,.18)}
.contributor-intro{padding:32px}.contributor-intro h2{margin-top:0}.contributor-intro ol{padding-left:22px;color:var(--muted);line-height:1.75}.contributor-intro li+li{margin-top:10px}.contributor-intro p{color:var(--muted);line-height:1.75}
.contributor-signup-form,.contributor-login-form{padding:30px;display:grid;gap:18px}.contributor-signup-form label,.contributor-login-form label{display:grid;gap:8px;font-weight:700}.contributor-signup-form input,.contributor-signup-form textarea,.contributor-login-form input{width:100%;border:1px solid rgba(91,132,205,.45);border-radius:14px;background:#07142d;color:#eef5ff;padding:14px 16px;font:inherit}.contributor-signup-form textarea{resize:vertical}.contributor-signup-form .form-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contributor-signup-form .contact-check{display:flex;align-items:flex-start;gap:10px;font-weight:500}.contributor-signup-form .contact-check input{width:auto;margin-top:4px}.contributor-signup-form a,.contributor-login-form a{color:var(--tenant-accent)}.form-footnote{margin:0;color:var(--muted)}
.contributor-login-form{max-width:560px;margin:0 auto}
.contributor-author-card small{display:block;margin-top:10px;color:var(--muted)}
@media(max-width:900px){.contributor-public-grid{grid-template-columns:1fr}.contributor-signup-form .form-two{grid-template-columns:1fr}}
.portal-contributor-cta{margin:26px 0 18px;padding:18px 20px;border:1px solid rgba(78,204,255,.28);border-radius:18px;background:linear-gradient(135deg,rgba(32,111,255,.10),rgba(147,66,255,.10));display:flex;align-items:center;justify-content:space-between;gap:18px}.portal-contributor-cta div{display:grid;gap:5px}.portal-contributor-cta strong{font-size:1.05rem}.portal-contributor-cta span{color:var(--muted);line-height:1.5}@media(max-width:760px){.portal-contributor-cta{align-items:flex-start;flex-direction:column}}

/* v2.0.32 — credenciais e validação do colaborador */
.credential-autofill-trap,
.hp-field {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.contributor-signup-form .field-shell,
.contributor-login-form .field-shell {
  position: relative;
}
.contributor-signup-form .field-shell.field-invalid,
.contributor-login-form .field-shell.field-invalid {
  color: #ffd7df;
}
.contributor-signup-form .field-shell.field-invalid > input,
.contributor-signup-form .field-shell.field-invalid > textarea,
.contributor-signup-form input.invalid,
.contributor-signup-form textarea.invalid,
.contributor-login-form .field-shell.field-invalid > input,
.contributor-login-form input.invalid,
.contributor-signup-form .password-field input.invalid,
.contributor-login-form .password-field input.invalid {
  border-color: #ff557a !important;
  background: linear-gradient(0deg,rgba(82,13,35,.18),rgba(82,13,35,.18)),#07142d !important;
  box-shadow: 0 0 0 3px rgba(255,65,108,.16),0 0 22px rgba(255,65,108,.10) !important;
}
.contributor-signup-form .field-error,
.contributor-login-form .field-error {
  display: block;
  margin-top: 0;
  color: #ff8ea7;
  font-size: .76rem;
  font-weight: 760;
  line-height: 1.45;
}
.contributor-signup-form .contact-check.field-invalid {
  flex-wrap: wrap;
  padding: 13px 14px;
  margin: -5px -14px;
  border: 1px solid rgba(255,85,122,.72);
  border-radius: 12px;
  background: rgba(102,20,46,.13);
  box-shadow: 0 0 0 3px rgba(255,65,108,.08);
}
.contributor-signup-form .contact-check.field-invalid input {
  accent-color: #ff557a;
}
.contributor-signup-form .contact-check .check-error {
  flex: 1 0 calc(100% - 30px);
  margin-left: 30px;
}
.password-field {
  position: relative;
  display: block;
}
.contributor-signup-form .password-field input,
.contributor-login-form .password-field input {
  padding-right: 54px;
}
.password-toggle {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 10px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  color: #94a9cb;
  background: transparent;
  cursor: pointer;
  transform: translateY(-50%);
  transition: color .18s ease,background .18s ease;
}
.password-toggle:hover,
.password-toggle:focus-visible {
  color: #fff;
  background: rgba(76,135,224,.18);
  outline: 2px solid rgba(82,211,255,.36);
  outline-offset: 1px;
}
.password-toggle svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.password-toggle-slash { display: none; }
.password-toggle.is-visible .password-toggle-slash { display: block; }
.password-strength {
  display: grid;
  gap: 9px;
  margin-top: -4px;
  padding: 15px 16px;
  border: 1px solid rgba(91,132,205,.28);
  border-radius: 14px;
  background: rgba(5,15,35,.62);
}
.password-strength-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #9fb1cf;
  font-size: .74rem;
}
.password-strength-head strong { color: #dce7fa; }
.password-strength-track {
  overflow: hidden;
  height: 7px;
  border-radius: 999px;
  background: rgba(113,140,190,.18);
}
.password-strength-track span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #ff557a;
  transition: width .22s ease,background .22s ease,box-shadow .22s ease;
}
.password-strength[data-score="2"] .password-strength-track span { background: #ff9f43; }
.password-strength[data-score="3"] .password-strength-track span { background: #f4cf4d; }
.password-strength[data-score="4"] .password-strength-track span { background: #58d6b0; }
.password-strength[data-score="5"] .password-strength-track span { background: #43e18d;box-shadow: 0 0 15px rgba(67,225,141,.32); }
.password-rules {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 6px 16px;
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
  color: #8fa2c2;
  font-size: .72rem;
}
.password-rules li {
  position: relative;
  padding-left: 18px;
}
.password-rules li::before {
  position: absolute;
  left: 0;
  content: '○';
  color: #6f83a5;
  font-weight: 900;
}
.password-rules li.is-met { color: #72dfad; }
.password-rules li.is-met::before { content: '✓';color: #43e18d; }
@media(max-width:620px){
  .password-rules{grid-template-columns:1fr}
  .password-strength-head{align-items:flex-start;flex-direction:column;gap:3px}
}

/* v2.0.33 — uniformização das senhas, biografia e retorno do cadastro */
.contributor-signup-form .password-field,
.contributor-login-form .password-field {
  width: 100%;
  color-scheme: dark;
}
.contributor-signup-form .password-field input,
.contributor-login-form .password-field input {
  min-height: 54px;
  color: #eef5ff !important;
  background-color: #07142d !important;
  background-image: none !important;
  appearance: none;
  -webkit-appearance: none;
}
.contributor-signup-form .password-field input::-ms-reveal,
.contributor-signup-form .password-field input::-ms-clear,
.contributor-login-form .password-field input::-ms-reveal,
.contributor-login-form .password-field input::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}
.contributor-signup-form .password-field input::-webkit-credentials-auto-fill-button,
.contributor-login-form .password-field input::-webkit-credentials-auto-fill-button {
  position: absolute;
  right: 0;
  display: none !important;
  visibility: hidden;
  pointer-events: none;
}
.contributor-signup-form input:-webkit-autofill,
.contributor-signup-form input:-webkit-autofill:hover,
.contributor-signup-form input:-webkit-autofill:focus,
.contributor-login-form input:-webkit-autofill,
.contributor-login-form input:-webkit-autofill:hover,
.contributor-login-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #eef5ff !important;
  caret-color: #eef5ff !important;
  border-color: rgba(91,132,205,.45) !important;
  box-shadow: 0 0 0 1000px #07142d inset !important;
  -webkit-box-shadow: 0 0 0 1000px #07142d inset !important;
  transition: background-color 99999s ease-out 0s;
}
.bio-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: -2px;
  color: #8fa2c2;
  font-size: .72rem;
  font-weight: 700;
}
.bio-meta [data-bio-count] { font-variant-numeric: tabular-nums; }
.bio-meta .below-minimum { color: #ff8ea7; }
.bio-meta .minimum-met { color: #63dca7; }
.contributor-signup-form button[type="submit"]:disabled {
  cursor: wait;
  opacity: .78;
}
@media(max-width:620px){
  .bio-meta{align-items:flex-start;flex-direction:column;gap:4px}
}


/* Portal Tech 2.0.39 — conteúdo rico, autor, reações e compartilhamento */
.internal-featured-image{margin:0 0 30px}.internal-featured-image img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,.22)}.internal-featured-image figcaption{margin-top:9px;color:var(--muted);font-size:.76rem}.internal-featured-image figcaption a{color:var(--tenant-accent)}.article-rich-content img{display:block;max-width:100%;height:auto;margin:28px auto;border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.22)}.article-rich-content p,.article-rich-content div{line-height:1.8}.article-rich-content a{color:var(--tenant-accent);text-decoration:underline;text-underline-offset:3px}.article-rich-content h2,.article-rich-content h3,.article-rich-content h4{scroll-margin-top:110px}.article-engagement{margin:38px 0 24px;padding:20px;border:1px solid rgba(84,134,214,.28);border-radius:18px;background:linear-gradient(135deg,rgba(31,104,210,.08),rgba(127,59,190,.08));display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.article-engagement>div:first-of-type{display:grid;gap:4px}.article-engagement>div:first-of-type span{color:var(--muted);font-size:.8rem}.article-reaction-buttons{display:flex;align-items:center;gap:9px}.article-reaction-buttons button{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(91,132,205,.38);border-radius:12px;background:rgba(7,20,45,.75);color:var(--text);cursor:pointer}.article-reaction-buttons button:hover,.article-reaction-buttons button.active{border-color:var(--tenant-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--tenant-accent) 12%,transparent)}.article-reaction-buttons button span{font-size:1.15rem}.article-engagement small{flex:1 0 100%;min-height:1em;color:var(--muted)}.article-engagement.is-busy{opacity:.72}.article-share-button b{font-weight:800}.article-author-signature{margin:30px 0;padding:24px;border:1px solid rgba(86,131,202,.3);border-radius:22px;background:rgba(8,20,45,.7);display:grid;grid-template-columns:94px 1fr;gap:20px;align-items:start}.article-author-photo{display:grid;place-items:center;width:88px;height:88px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#165fa0,#7e42b7);color:#fff;font-size:1.9rem;font-weight:900}.article-author-photo img{width:100%;height:100%;object-fit:cover}.article-author-copy>span{color:var(--tenant-accent);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.article-author-copy h2{margin:5px 0 8px}.article-author-copy p{margin:0;color:var(--muted);line-height:1.7}.article-author-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.article-author-links a{color:var(--tenant-accent);font-weight:750}.contributor-author-avatar{display:block;width:74px;height:74px;margin:0 0 14px;border-radius:50%;object-fit:cover;border:2px solid rgba(91,153,230,.4)}.author-profile-hero{display:grid;grid-template-columns:128px 1fr;gap:28px;align-items:center}.author-profile-photo{display:grid;place-items:center;width:120px;height:120px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#165fa0,#7e42b7);color:#fff;font-size:2.4rem;font-weight:900;border:2px solid rgba(91,153,230,.4)}.author-profile-photo img{width:100%;height:100%;object-fit:cover}.author-profile-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}.author-profile-links a{color:var(--tenant-accent)}
@media(max-width:680px){.article-engagement{align-items:flex-start}.article-reaction-buttons{width:100%;flex-wrap:wrap}.article-author-signature{grid-template-columns:1fr}.author-profile-hero{grid-template-columns:1fr}.article-author-photo,.author-profile-photo{width:82px;height:82px}}

/* v2.0.46 — fotos de autor ampliáveis e enquadramento persistente */
.article-author-photo img,.contributor-author-avatar,.author-profile-photo img{object-position:var(--photo-x,50%) var(--photo-y,50%);transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-x,50%) var(--photo-y,50%);cursor:zoom-in}.author-profile-photo,.article-author-photo{overflow:hidden}.portal-photo-lightbox{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:28px;background:rgba(2,7,18,.88);backdrop-filter:blur(7px)}.portal-photo-lightbox img{display:block;max-width:min(92vw,1100px);max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 26px 80px rgba(0,0,0,.55)}.portal-photo-lightbox button{position:fixed;top:18px;right:20px;width:46px;height:46px;border:1px solid rgba(126,180,255,.45);border-radius:14px;background:#0b1830;color:#dfeaff;font-size:2rem;line-height:1;cursor:pointer}

.contributor-author-avatar-wrap{display:block;width:74px;height:74px;margin:0 0 14px;overflow:hidden;border-radius:50%;border:2px solid rgba(91,153,230,.4)}.contributor-author-avatar-wrap .contributor-author-avatar{width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:cover;object-position:var(--photo-x,50%) var(--photo-y,50%);transform:scale(var(--photo-zoom,1));transform-origin:var(--photo-x,50%) var(--photo-y,50%)}


/* v2.0.47 — avatar preserva a foto original; o círculo usa somente object-position */
.article-author-photo img,.contributor-author-avatar,.author-profile-photo img,.contributor-author-avatar-wrap .contributor-author-avatar{object-position:var(--photo-x,50%) var(--photo-y,50%);transform:none!important;transform-origin:center!important}


/* v2.0.50 — ajuste cromático exclusivo dos CTAs da Home e Sobre */
.final-cta-home .final-cta-inner,
.final-cta-about .final-cta-inner{
  background:
    radial-gradient(circle at 76% 0,color-mix(in srgb,var(--tenant-accent) 25%,transparent),transparent 28%),
    linear-gradient(135deg,
      color-mix(in srgb,var(--tenant-primary) 86%,#07142d 14%),
      color-mix(in srgb,var(--tenant-secondary) 86%,#10142f 14%) 52%,
      color-mix(in srgb,var(--tenant-highlight) 88%,#281038 12%));
}
.final-cta-home h2 strong,
.final-cta-about h2 strong{
  color:transparent;
  background:linear-gradient(120deg,#c9f5ff 0%,#ffffff 50%,#efdfff 100%);
  background-clip:text;
  -webkit-background-clip:text;
}
.final-cta-home .section-kicker,
.final-cta-about .section-kicker{color:#bdf3ff}
.final-cta-home .final-cta-inner p,
.final-cta-about .final-cta-inner p{color:rgba(255,255,255,.88)}

/* v2.0.51 — acesso do colaborador em destaque e degradê legível */
.contributor-entry-callout{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.contributor-entry-callout>span{color:#b9c9e2;font-weight:750}.contributor-entry-callout .button{min-width:250px;justify-content:center}.final-cta-home h2 strong,.final-cta-about h2 strong{color:transparent;background:linear-gradient(120deg,#8eefff 0%,#d6d7ff 48%,#f2b4ff 100%);background-clip:text;-webkit-background-clip:text}@media(max-width:620px){.contributor-entry-callout{align-items:stretch;flex-direction:column}.contributor-entry-callout .button{width:100%;min-width:0}}


/* v2.0.56 — telefone internacional de colaboradores */
.contributor-signup-form .iti{width:100%;--iti-border-color:rgba(91,132,205,.45);--iti-country-selector-bg:#07142d;--iti-icon-color:#c5d4ed;--iti-hover-color:rgba(75,128,214,.18);--iti-strict-reject-flash-color:rgba(255,113,140,.15)}
.contributor-signup-form .iti input{width:100%}
.contributor-signup-form .iti__country-selector{color:#eef5ff}
.contributor-signup-form .iti__search-input{background:#07142d!important;color:#eef5ff!important;border-color:rgba(91,132,205,.45)!important}
.contributor-signup-form .iti__country-name,.contributor-signup-form .iti__dial-code{color:#eef5ff}

/* v2.0.57 — transparência editorial de atualização */
.article-byline{flex-wrap:wrap;align-items:center}.article-byline .article-updated-at{color:#9fd8ff;font-weight:700}


/* v2.0.60 — imagens inseridas no corpo preservam proporção sem dominar a página */
.article-rich-content img{
  max-width:min(100%,820px)!important;
  max-height:65vh;
  height:auto!important;
  object-fit:contain;
}
@media(max-width:700px){.article-rich-content img{max-width:100%!important;max-height:60vh}}

/* v2.0.63 — dados públicos do autor e links organizados */
.article-author-specialties{margin:0 0 8px;color:var(--text);font-size:.88rem;font-weight:750}
.article-author-links{align-items:center;row-gap:10px}
.contributor-author-card{display:grid;align-content:start;gap:9px}
.contributor-author-card>span,.contributor-author-card>strong,.contributor-author-card>small,.contributor-author-card>p{margin:0}
.contributor-author-card .contributor-author-avatar-wrap{margin-bottom:4px}
.contributor-author-card .contributor-author-avatar{margin:0}
.contributor-author-specialties{display:block;color:var(--text);font-size:.82rem;font-weight:700;line-height:1.45}
.contributor-author-links{display:grid;gap:8px;margin-top:4px}
.contributor-author-links a{display:block;max-width:100%;overflow-wrap:anywhere;line-height:1.35;color:var(--tenant-accent);font-weight:750}

/* v2.0.64 — acesso único */
.unified-login-hero { padding-bottom: 18px; }
.unified-login-section { padding-top: 42px; }
.unified-login-form { max-width: 620px; }
@media (max-width: 520px) {
  .header-login { min-height:42px; padding:0 12px; font-size:.8rem; }
  .header-actions .header-cta { display:none; }
}
