/* =========================================================
   GUARDIÃO DO FUTURO - Global Hub de Governança, Risco e Sustentabilidade
   Sistema visual institucional - 2026

   Tokens
   ------
   --ink        #0A0D0C  base quase-preto, matiz verde muito discreto
   --surface    #10 relevos de superfície sobre o ink
   --petrol     #1E5D4E  governança / estabilidade / confiança
   --brass      #A88A4A  autoridade / excelência - usado com moderação
   --paper      #EFEBE2  off-white para texto de alto contraste
   --stone      #9BA39D  texto secundário

   Tipografia
   ----------
   Display: 'Fraunces'   - editorial, autoral, para H1/H2
   Corpo:   'Inter'       - interface e leitura longa
   Dados:   'IBM Plex Mono' - apenas métricas, coordenadas e labels de dado
   ========================================================= */

:root {
  --ink: #0a0d0c;
  --ink-raised: #0e1310;
  --surface: #121815;
  --surface-2: #171f1a;
  --line: rgba(239, 235, 226, 0.09);
  --line-strong: rgba(239, 235, 226, 0.16);

  --petrol: #1e5d4e;
  --petrol-deep: #0f2b23;
  --petrol-bright: #2c8a71;

  --brass: #a88a4a;
  --brass-soft: #cbad72;
  --brass-dim: rgba(168, 138, 74, 0.35);

  --paper: #efebe2;
  --stone: #99a19b;
  --stone-dim: #5f6863;

  --risk-high: #b1543a;
  --risk-med: #a88a4a;
  --risk-low: #2c8a71;

  --font-display: 'Fraunces', 'Iowan Old Style', 'Georgia', serif;
  --font-body: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', 'SFMono-Regular', monospace;

  --maxw: 1240px;
  --gutter: clamp(20px, 4.4vw, 56px);
  --ease: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);

  --radius-s: 4px;
  --radius-m: 10px;
  --radius-l: 18px;
}

/* ---------- Reset ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

body {
  margin: 0;
  background: var(--ink);
  color: var(--stone);
  font-family: var(--font-body);
  font-size: 16.5px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: rgba(168, 138, 74, 0.32); color: var(--paper); }

.container {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

.skip-link {
  position: fixed; top: -60px; left: 16px; z-index: 999;
  background: var(--paper); color: var(--ink);
  padding: 12px 18px; border-radius: var(--radius-s);
  font-family: var(--font-body); font-weight: 600; font-size: 0.9rem;
  transition: top .25s var(--ease);
}
.skip-link:focus { top: 16px; }

:focus-visible {
  outline: 2px solid var(--brass-soft);
  outline-offset: 3px;
}

/* ---------- Tipografia ---------- */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--paper);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0;
}

h2 { font-size: clamp(1.9rem, 3.4vw, 2.9rem); font-weight: 480; }
h3 { font-size: 1.3rem; font-weight: 560; }

p { margin: 0 0 1rem; max-width: 62ch; }
p:last-child { margin-bottom: 0; }

.lede {
  font-family: var(--font-display);
  color: var(--paper);
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  font-weight: 400;
  line-height: 1.45;
  max-width: 46ch;
}

.caption {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  color: var(--brass-soft);
}

.data {
  font-family: var(--font-mono);
}

/* ---------- Sections ---------- */
.section {
  position: relative;
  padding: clamp(72px, 10vw, 148px) 0;
}
.section--raised { background: var(--ink-raised); }
.section-border-top { border-top: 1px solid var(--line); }

.section-head {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 48px;
  align-items: end;
  margin-bottom: clamp(44px, 6vw, 76px);
  max-width: 100%;
}
.section-head h2 { max-width: 16ch; }
.section-head .section-note { max-width: 40ch; padding-bottom: 4px; }
.section-head .section-note p { font-size: 0.98rem; }

.section-index {
  display: flex; align-items: baseline; gap: 8px;
  font-family: var(--font-mono); font-size: 0.78rem;
  color: var(--stone-dim); margin-bottom: 18px;
}
.section-index .n { color: var(--brass-soft); }

/* ---------- Buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 28px;
  font-family: var(--font-body); font-weight: 600; font-size: 0.95rem;
  border-radius: 999px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .3s var(--ease), border-color .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  min-height: 48px;
  white-space: nowrap;
}
.btn-primary {
  background: var(--paper);
  color: var(--ink);
}
.btn-primary:hover { transform: translateY(-2px); background: var(--brass-soft); }
.btn-ghost {
  background: transparent;
  color: var(--paper);
  border-color: var(--line-strong);
}
.btn-ghost:hover { border-color: var(--brass-soft); color: var(--brass-soft); }
.btn-small { padding: 10px 18px; min-height: 38px; font-size: 0.85rem; }

/* ---------- Header ---------- */
.header {
  position: sticky; top: 0; z-index: 100;
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background .35s var(--ease), border-color .35s var(--ease);
}
.header.is-scrolled {
  background: rgba(10, 13, 12, 0.86);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-color: var(--line);
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px;
  padding: 20px var(--gutter);
  max-width: var(--maxw); margin: 0 auto;
  transition: padding .35s var(--ease);
}
.header.is-scrolled .header-inner { padding-top: 14px; padding-bottom: 14px; }

.brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand img { width: 32px; height: 32px; }
.brand-text { line-height: 1.15; }
.brand-text .name {
  display: block; font-family: var(--font-display);
  color: var(--paper); font-size: 0.98rem; letter-spacing: 0.01em;
}
.brand-text .sub {
  display: block; font-family: var(--font-mono);
  font-size: 0.62rem; letter-spacing: 0.09em; color: var(--stone-dim);
}

.nav { display: flex; align-items: center; gap: 30px; }
.nav a {
  font-size: 0.92rem; color: var(--stone);
  position: relative; padding: 6px 0;
  transition: color .25s var(--ease);
}
.nav a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0;
  height: 1px; background: var(--brass-soft);
  transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);
}
.nav a:hover { color: var(--paper); }
.nav a:hover::after, .nav a[aria-current="true"]::after { transform: scaleX(1); }
.nav a[aria-current="true"] { color: var(--paper); }

.header-cta { display: flex; align-items: center; gap: 18px; }
.menu-toggle {
  display: none; background: none; border: none; cursor: pointer;
  width: 46px; height: 46px; color: var(--paper);
  align-items: center; justify-content: center;
}
.menu-toggle svg { width: 22px; height: 22px; }

/* ---------- Drawer mobile ---------- */
.drawer {
  position: fixed; inset: 0 0 0 auto; width: min(86vw, 340px);
  background: var(--ink-raised);
  border-left: 1px solid var(--line-strong);
  transform: translateX(100%);
  transition: transform .45s var(--ease);
  z-index: 200; padding: 96px 30px 30px;
  display: flex; flex-direction: column; gap: 4px;
}
.drawer.is-open { transform: translateX(0); }
.drawer a {
  padding: 15px 0; font-size: 1.1rem; color: var(--paper);
  border-bottom: 1px solid var(--line);
  font-family: var(--font-display);
}
.drawer .btn { margin-top: 24px; justify-content: center; }
.drawer-close {
  position: absolute; top: 26px; right: 22px;
  background: none; border: none; color: var(--paper);
  width: 46px; height: 46px; cursor: pointer;
}
.overlay {
  position: fixed; inset: 0; background: rgba(5, 7, 6, 0.7);
  opacity: 0; visibility: hidden; transition: opacity .35s var(--ease);
  z-index: 150;
}
.overlay.is-open { opacity: 1; visibility: visible; }

@media (max-width: 900px) {
  .nav, .header-cta .btn { display: none; }
  .menu-toggle { display: flex; }
}

/* ---------- Hero ---------- */
.hero {
  position: relative;
  padding: clamp(64px, 11vw, 128px) 0 clamp(64px, 8vw, 100px);
  border-bottom: 1px solid var(--line);
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}
.hero-copy .caption { display: block; margin-bottom: 22px; }
.hero-copy h1 {
  font-size: clamp(2.6rem, 6vw, 4.6rem);
  max-width: 12ch;
}
.hero-copy .hero-sub {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--brass-soft);
  font-size: clamp(1.05rem, 1.6vw, 1.3rem);
  margin: 18px 0 26px;
  max-width: 34ch;
}
.hero-copy .hero-lead {
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  color: var(--stone);
  max-width: 48ch;
  margin-bottom: 38px;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 16px; }

.hero-visual { position: relative; aspect-ratio: 1 / 0.92; }
.hero-visual svg { width: 100%; height: 100%; }

/* ---------- Faixa de autoridade ---------- */
.strip {
  border-bottom: 1px solid var(--line);
  padding: 26px 0;
  overflow: hidden;
}
.strip-track {
  display: flex; align-items: center; gap: 46px;
  font-family: var(--font-mono); font-size: 0.82rem; letter-spacing: 0.06em;
  color: var(--stone-dim);
  white-space: nowrap;
}
.strip-track span { flex-shrink: 0; }
.strip-track .dot { color: var(--brass-dim); }

/* ---------- O que resolvemos (editorial, assimétrico) ---------- */
.problems { display: flex; flex-direction: column; }
.problem-row {
  display: grid;
  grid-template-columns: 0.7fr 1fr 1fr;
  gap: 36px;
  padding: 34px 0;
  border-top: 1px solid var(--line);
  align-items: start;
}
.problems .problem-row:last-child { border-bottom: 1px solid var(--line); }
.problem-row h3 { font-size: 1.36rem; max-width: 14ch; }
.problem-col .tag {
  display: block; font-family: var(--font-mono); font-size: 0.68rem;
  letter-spacing: 0.08em; color: var(--stone-dim); margin-bottom: 10px;
}
.problem-col p { font-size: 0.96rem; margin: 0; }

/* ---------- Método IGM ---------- */
.igm {
  position: relative;
}
.igm-rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.igm-rail::before {
  content: '';
  position: absolute; top: 27px; left: 0; right: 0; height: 1px;
  background: var(--line-strong);
}
.igm-progress {
  position: absolute; top: 27px; left: 0; height: 1px;
  background: var(--brass-soft);
  width: 0%;
  transition: width 1.6s var(--ease);
}
.igm-step { position: relative; padding-top: 74px; }
.igm-marker {
  position: absolute; top: 0; left: 0;
  width: 56px; height: 56px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-size: 1.4rem; color: var(--ink);
  background: var(--line-strong);
  transition: background .5s var(--ease), color .5s var(--ease);
}
.igm-step.is-active .igm-marker { background: var(--brass-soft); color: var(--ink); }
.igm-step .step-label {
  display: block; font-family: var(--font-mono); font-size: 0.68rem;
  letter-spacing: 0.08em; color: var(--stone-dim); margin-bottom: 8px;
}
.igm-step h3 { margin-bottom: 10px; }
.igm-step p { font-size: 0.95rem; max-width: 32ch; }

/* ---------- Soluções (accordion) ---------- */
.solutions { border-top: 1px solid var(--line); }
.sol-item { border-bottom: 1px solid var(--line); }
.sol-head {
  width: 100%; display: flex; align-items: baseline; gap: 24px;
  padding: 26px 0; cursor: pointer;
  background: none; border: none; text-align: left; color: inherit;
}
.sol-index { font-family: var(--font-mono); color: var(--stone-dim); font-size: 0.82rem; min-width: 26px; }
.sol-name {
  font-family: var(--font-display); color: var(--paper); font-size: clamp(1.1rem, 2vw, 1.5rem);
  flex: 1; transition: color .25s var(--ease);
}
.sol-item.is-open .sol-name { color: var(--brass-soft); }
.sol-toggle {
  width: 22px; height: 22px; flex-shrink: 0; color: var(--stone-dim);
  transition: transform .35s var(--ease), color .35s var(--ease);
}
.sol-item.is-open .sol-toggle { transform: rotate(45deg); color: var(--brass-soft); }
.sol-body { max-height: 0; overflow: hidden; transition: max-height .5s var(--ease); }
.sol-body-inner { padding: 0 0 30px 50px; display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; }
.sol-body-inner p { margin: 0; max-width: 56ch; }
.sol-deliver {
  font-family: var(--font-mono); font-size: 0.72rem;
  letter-spacing: 0.04em; color: var(--stone-dim); white-space: nowrap;
}
.sol-deliver strong { display: block; color: var(--brass-soft); font-size: 0.78rem; margin-top: 3px; }

/* ---------- Setores ---------- */
.sectors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.sector {
  background: var(--ink); padding: 40px 34px;
  display: flex; flex-direction: column; min-height: 320px;
}
.sector .sector-num { font-family: var(--font-mono); font-size: 0.74rem; color: var(--stone-dim); margin-bottom: auto; }
.sector h3 { font-size: 1.24rem; margin: 30px 0 14px; max-width: 18ch; }
.sector p { font-size: 0.93rem; margin: 0 0 20px; }
.sector-risks { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.sector-risks li {
  font-family: var(--font-mono); font-size: 0.72rem; color: var(--brass-soft);
  padding-left: 14px; position: relative;
}
.sector-risks li::before { content: '-'; position: absolute; left: 0; color: var(--stone-dim); }

/* ---------- Inteligência / matriz de risco (dashboard executivo) ---------- */
.dashboard {
  border: 1px solid var(--line-strong); border-radius: var(--radius-l);
  background: linear-gradient(155deg, var(--surface), var(--ink-raised));
  padding: clamp(24px, 3vw, 40px);
}
.dashboard-top {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--line);
}
.dashboard-top .d-title { font-family: var(--font-display); color: var(--paper); font-size: 1.1rem; }
.dashboard-flag {
  font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.04em;
  color: var(--stone-dim); border: 1px solid var(--line-strong);
  padding: 6px 12px; border-radius: 999px;
}
.dashboard-body { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.kpi-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-bottom: 28px; }
.kpi { border-left: 1px solid var(--line-strong); padding-left: 16px; }
.kpi .kpi-label { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.04em; color: var(--stone-dim); display: block; margin-bottom: 8px; }
.kpi .kpi-value { font-family: var(--font-display); font-size: 2.1rem; color: var(--paper); }
.kpi .kpi-value .unit { font-family: var(--font-mono); font-size: 0.95rem; color: var(--brass-soft); margin-left: 3px; }
.kpi .bar { height: 3px; background: var(--line-strong); margin-top: 10px; border-radius: 2px; overflow: hidden; }
.kpi .bar span { display: block; height: 100%; width: 0; background: var(--brass-soft); transition: width 1.4s var(--ease); }

.risk-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.risk-chip {
  font-size: 0.8rem; padding: 8px 14px; border-radius: 999px;
  border: 1px solid var(--line-strong); color: var(--stone);
}
.risk-chip strong { color: var(--brass-soft); font-weight: 600; }

.matrix-panel h3 { font-size: 0.98rem; margin-bottom: 4px; }
.matrix-panel .m-sub { font-size: 0.82rem; margin-bottom: 18px; }
.matrix {
  position: relative; aspect-ratio: 1; width: 100%;
  border: 1px solid var(--line-strong); border-radius: var(--radius-m);
  background: var(--ink);
}
.matrix .m-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 25% 25%;
}
.matrix .axis-x, .matrix .axis-y {
  position: absolute; font-family: var(--font-mono); font-size: 0.6rem;
  letter-spacing: 0.05em; color: var(--stone-dim);
}
.matrix .axis-x { bottom: 8px; right: 12px; }
.matrix .axis-y { top: 12px; left: 8px; writing-mode: vertical-rl; }
.dot {
  position: absolute; width: 13px; height: 13px; border-radius: 50%;
  transform: translate(-50%, 50%) scale(0);
  background: var(--risk-med);
  transition: transform .5s var(--ease); cursor: pointer;
}
.matrix.is-shown .dot { transform: translate(-50%, 50%) scale(1); }
.dot.high { background: var(--risk-high); }
.dot.med { background: var(--risk-med); }
.dot.low { background: var(--risk-low); }
.dot .tip {
  position: absolute; bottom: 145%; left: 50%; transform: translateX(-50%) translateY(6px);
  background: var(--ink-raised); border: 1px solid var(--line-strong);
  color: var(--paper); font-size: 0.72rem; padding: 6px 10px; border-radius: 6px;
  white-space: nowrap; opacity: 0; pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}
.dot:hover .tip, .dot:focus-visible .tip { opacity: 1; transform: translateX(-50%) translateY(0); }
.matrix-note {
  margin-top: 16px; font-family: var(--font-mono); font-size: 0.68rem;
  color: var(--stone-dim); letter-spacing: 0.02em;
}

/* ---------- Relatórios (biblioteca de entregáveis) ---------- */
.reports { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.report {
  border: 1px solid var(--line); border-radius: var(--radius-m);
  padding: 26px; background: var(--surface);
  transition: border-color .3s var(--ease), transform .3s var(--ease);
}
.report:hover { border-color: var(--brass-dim); transform: translateY(-4px); }
.report-doc {
  height: 92px; border-radius: 6px; margin-bottom: 20px;
  border: 1px solid var(--line-strong);
  background: var(--ink);
  padding: 12px 14px;
  display: flex; flex-direction: column; gap: 6px;
}
.report-doc span { display: block; height: 3px; background: var(--line-strong); border-radius: 2px; }
.report-doc span.hl { background: var(--brass-dim); width: 60%; }
.report-doc span:nth-child(1) { width: 40%; height: 5px; background: var(--stone-dim); }
.report .r-num { font-family: var(--font-mono); font-size: 0.7rem; color: var(--stone-dim); }
.report h3 { font-size: 1.05rem; margin: 10px 0 8px; }
.report p { font-size: 0.88rem; margin: 0; }

/* ---------- Quem somos ---------- */
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.team-card { background: var(--ink); padding: 32px 26px; }
.team-initials {
  font-family: var(--font-display); font-size: 1.8rem; color: var(--brass-soft);
  margin-bottom: 22px;
}
.team-card h3 { font-size: 1.05rem; margin-bottom: 4px; }
.team-role {
  display: block; font-family: var(--font-mono); font-size: 0.66rem;
  letter-spacing: 0.04em; color: var(--stone-dim); margin-bottom: 14px;
}
.team-card p { font-size: 0.87rem; margin: 0; }

/* ---------- Parceiros ---------- */
.partners-head { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 40px; flex-wrap: wrap; }
.partners-head h2 { font-size: 1.4rem; }
.marquee {
  position: relative; width: 100%; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  padding: 34px 0;
}
.marquee-track {
  display: flex; align-items: center; width: max-content; gap: 76px;
  animation: marqueeScroll 36s linear infinite;
}
.marquee:hover .marquee-track { animation-play-state: paused; }
.partner-item { display: flex; align-items: center; gap: 16px; flex-shrink: 0; opacity: 0.72; transition: opacity .3s ease; }
.partner-item:hover { opacity: 1; }
.partner-item img { height: 34px; width: auto; filter: grayscale(1) brightness(1.5); }
.partner-item .p-mark { height: 40px; width: 40px; }
.partner-name { font-family: var(--font-body); font-size: 0.98rem; color: var(--paper); white-space: nowrap; }
.partner-name small { display: block; font-family: var(--font-mono); font-size: 0.6rem; color: var(--stone-dim); margin-top: 2px; }
@keyframes marqueeScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Normas ---------- */
.norms-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.norm { background: var(--ink); padding: 22px 20px; display: flex; flex-direction: column; gap: 4px; }
.norm .norm-code { font-family: var(--font-mono); font-size: 0.8rem; color: var(--paper); }
.norm .norm-desc { font-size: 0.78rem; color: var(--stone-dim); }
.norms-disclaimer { margin-top: 22px; font-size: 0.82rem; color: var(--stone-dim); max-width: 68ch; }

/* ---------- CTA final ---------- */
.cta-final { border-top: 1px solid var(--line); text-align: left; }
.cta-final .container { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: center; }
.cta-final h2 { font-size: clamp(2rem, 4vw, 3rem); max-width: 16ch; }
.cta-final-side { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.cta-final-side p { font-size: 0.98rem; }

/* ---------- Contato ---------- */
.contact-layout { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 64px; align-items: start; }
.contact-points { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-direction: column; gap: 20px; }
.contact-points li { display: flex; gap: 14px; align-items: baseline; font-size: 0.93rem; border-top: 1px solid var(--line); padding-top: 16px; }
.contact-points .p-num { font-family: var(--font-mono); font-size: 0.72rem; color: var(--brass-soft); flex-shrink: 0; }

.form { border: 1px solid var(--line-strong); border-radius: var(--radius-l); padding: clamp(24px, 3vw, 40px); background: var(--surface); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.field { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: 0.82rem; color: var(--stone); }
.field .req { color: var(--brass-soft); }
.field input, .field select, .field textarea {
  background: var(--ink); border: 1px solid var(--line-strong);
  border-radius: var(--radius-s); padding: 13px 15px; color: var(--paper);
  font-family: var(--font-body); font-size: 0.96rem; width: 100%;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.field textarea { resize: vertical; min-height: 110px; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: none; border-color: var(--brass-soft);
  box-shadow: 0 0 0 3px rgba(168, 138, 74, 0.14);
}
.field select { appearance: none; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2399a19b' stroke-width='1.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; background-size: 16px;
  padding-right: 40px;
}
.field.is-invalid input, .field.is-invalid select, .field.is-invalid textarea { border-color: var(--risk-high); }
.field-error { font-size: 0.78rem; color: var(--risk-high); min-height: 1em; }
.form-row-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form .btn { width: 100%; justify-content: center; margin-top: 4px; }
.form .btn[disabled] { opacity: 0.6; cursor: progress; }
.form-note { font-size: 0.78rem; color: var(--stone-dim); margin: 16px 0 0; }

.form-success {
  display: none; text-align: left; padding: 10px 0;
}
.form-success.is-shown { display: block; animation: gfReveal .6s var(--ease) both; }
.form-success .check {
  width: 52px; height: 52px; margin-bottom: 22px; color: var(--brass-soft);
  border: 1px solid var(--brass-dim); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.form-success h3 { font-size: 1.3rem; margin-bottom: 12px; }
.form-success p { max-width: 46ch; }

/* ---------- Footer ---------- */
.footer { border-top: 1px solid var(--line); padding: 64px 0 30px; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 46px; margin-bottom: 52px; }
.footer .brand { margin-bottom: 18px; }
.footer-about { font-size: 0.9rem; max-width: 42ch; }
.footer h4 { font-family: var(--font-body); font-weight: 600; font-size: 0.86rem; color: var(--paper); margin: 0 0 18px; }
.footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.footer ul a { font-size: 0.9rem; color: var(--stone); transition: color .25s var(--ease); overflow-wrap: anywhere; }
.footer ul a:hover { color: var(--paper); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 26px; border-top: 1px solid var(--line);
  font-size: 0.78rem; color: var(--stone-dim); gap: 16px; flex-wrap: wrap;
}
.footer-bottom a { color: var(--stone-dim); }
.footer-bottom a:hover { color: var(--paper); }

/* ---------- Mobile bar ---------- */
.mobile-bar {
  display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 90;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: rgba(10,13,12,0.94); backdrop-filter: blur(14px);
  border-top: 1px solid var(--line-strong);
}
.mobile-bar .btn { width: 100%; justify-content: center; }

/* ---------- Reveal ---------- */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in { opacity: 1; transform: translateY(0); }

@keyframes gfReveal { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
  .reveal { opacity: 1; transform: none; }
  .marquee-track { animation: none !important; flex-wrap: wrap; justify-content: center; row-gap: 24px; }
}

/* =========================================================
   Responsivo
   ========================================================= */

@media (min-width: 1600px) {
  :root { --maxw: 1360px; }
  body { font-size: 17.5px; }
}

@media (max-width: 1180px) {
  .nav { gap: 22px; }
  .dashboard-body { gap: 28px; }
}

@media (max-width: 1024px) {
  .problem-row { grid-template-columns: 0.8fr 1fr; }
  .problem-row .problem-col:last-child { grid-column: 1 / -1; }
  .sectors { grid-template-columns: 1fr 1fr; }
  .sectors > :last-child { grid-column: 1 / -1; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .norms-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .hero-visual { order: -1; max-width: 340px; margin: 0 auto; aspect-ratio: 1; }
  .section-head { grid-template-columns: 1fr; gap: 20px; }
  .reports { grid-template-columns: 1fr 1fr; }
  .dashboard-body { grid-template-columns: 1fr; gap: 36px; }
  .cta-final .container { grid-template-columns: 1fr; text-align: left; }
  .cta-final-side { align-items: flex-start; }
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .igm-rail { grid-template-columns: 1fr; gap: 40px; }
  .igm-rail::before, .igm-progress { display: none; }
  .igm-step { padding-top: 0; padding-left: 74px; min-height: 56px; }
  .igm-marker { top: 0; left: 0; }
  .problem-row { grid-template-columns: 1fr; gap: 14px; }
  .sectors { grid-template-columns: 1fr; }
  .reports { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .norms-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .section { padding: 64px 0; }
  .form-grid, .form-row-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .mobile-bar { display: block; }
  body { padding-bottom: 78px; }
  .sol-body-inner { grid-template-columns: 1fr; align-items: start; gap: 10px; padding-left: 40px; }
  .sol-head { gap: 16px; }
  .hero { padding-top: 48px; padding-bottom: 56px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { justify-content: center; }
  .brand-text .name { font-size: 0.88rem; }
  .strip-track { gap: 30px; }
  .norms-grid { grid-template-columns: 1fr; }
  .dashboard { padding: 22px; }
  .kpi-list { grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  body { font-size: 15.5px; }
  .brand img { width: 28px; height: 28px; }
  .btn { padding: 13px 20px; font-size: 0.88rem; }
  .igm-marker { width: 48px; height: 48px; font-size: 1.2rem; }
}

@media (max-height: 480px) and (orientation: landscape) {
  .hero { padding: 40px 0; }
  .drawer { padding-top: 74px; overflow-y: auto; }
}


/* ===== 2026 CINEMATIC EXPERIENCE UPGRADE ===== */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.header{background:rgba(6,10,8,.62)!important;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%)}.hero-cinematic{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:92px}.hero-media{position:absolute;inset:0;z-index:0}.hero-video{width:100%;height:100%;object-fit:cover;filter:saturate(.55) contrast(1.1) brightness(.42);transform:scale(1.04)}.hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,9,7,.96) 0%,rgba(5,9,7,.78) 42%,rgba(5,9,7,.42) 72%,rgba(5,9,7,.82) 100%),linear-gradient(0deg,var(--ink) 0%,transparent 28%,rgba(3,7,5,.25) 100%)}.hero-scan{position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}.hero-cinematic .hero-grid{position:relative;z-index:2}.hero-cinematic h1{font-size:clamp(4rem,9vw,8.7rem);letter-spacing:-.055em;line-height:.86;max-width:7ch;text-shadow:0 16px 60px rgba(0,0,0,.4)}.hero-cinematic .hero-sub{font-size:clamp(1.25rem,2vw,1.8rem);color:var(--paper);max-width:28ch}.hero-cinematic .hero-lead{max-width:58ch}.live-pill{width:max-content;display:flex;align-items:center;gap:9px;padding:7px 12px;border:1px solid rgba(203,173,114,.24);border-radius:999px;background:rgba(9,16,12,.46);backdrop-filter:blur(12px);font:500 .62rem/1 var(--font-mono);letter-spacing:.13em;color:var(--brass-soft);margin-bottom:22px}.live-pill span{width:6px;height:6px;border-radius:50%;background:var(--petrol-bright);box-shadow:0 0 0 0 rgba(44,138,113,.55);animation:livePulse 2.2s infinite}.hero-orbit{position:absolute;border:1px solid rgba(203,173,114,.15);border-radius:50%;z-index:1;pointer-events:none}.orbit-a{width:52vw;height:52vw;right:-18vw;top:12vh;animation:orbitSpin 35s linear infinite}.orbit-b{width:34vw;height:34vw;right:-4vw;top:26vh;border-style:dashed;animation:orbitSpin 22s linear infinite reverse}.orbit-a:after,.orbit-b:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--brass-soft);top:10%;left:22%;box-shadow:0 0 20px var(--brass-soft)}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes livePulse{70%{box-shadow:0 0 0 8px rgba(44,138,113,0)}}
.cinema-section{position:relative;padding:clamp(90px,12vw,170px) 0;background:radial-gradient(circle at 50% 0,rgba(30,93,78,.18),transparent 38%),#070a09;overflow:hidden}.cinema-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:52px}.cinema-intro h2{font-size:clamp(2.4rem,5vw,5.3rem);max-width:11ch;margin-top:12px;letter-spacing:-.045em}.cinema-intro p{font-size:1.02rem}.cinema-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:300px 300px;gap:14px;perspective:1200px}.film-card{position:relative;overflow:hidden;border-radius:20px;border:1px solid rgba(239,235,226,.1);background:#0b100d;transform-style:preserve-3d;transition:transform .5s var(--ease),border-color .4s}.film-wide{grid-row:1/3}.film-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.62) contrast(1.08);transition:transform 1.1s var(--ease),filter .5s}.film-card:hover video{transform:scale(1.055);filter:saturate(.9) contrast(1.05)}.film-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,7,.08),rgba(5,8,7,.15) 40%,rgba(5,8,7,.94) 100%)}.film-no{position:absolute;right:20px;top:18px;font:500 .7rem var(--font-mono);color:rgba(239,235,226,.72);border:1px solid rgba(239,235,226,.2);border-radius:999px;padding:7px 9px;backdrop-filter:blur(10px)}.film-copy{position:absolute;left:clamp(22px,3vw,42px);right:22px;bottom:clamp(22px,3vw,38px);z-index:2}.film-copy>span{font:500 .66rem var(--font-mono);letter-spacing:.16em;color:var(--brass-soft)}.film-copy h3{font-size:clamp(1.6rem,3vw,3.4rem);margin:8px 0 7px;letter-spacing:-.035em}.film-card:not(.film-wide) .film-copy h3{font-size:clamp(1.4rem,2vw,2.1rem)}.film-copy p{font-size:.88rem;color:#b6bdb8;margin:0}.team-grid{grid-template-columns:repeat(3,1fr)!important}.sector{position:relative;overflow:hidden}.sector:before{content:"";position:absolute;inset:auto -20% -65% 30%;height:220px;background:radial-gradient(circle,rgba(44,138,113,.16),transparent 65%);transition:transform .7s var(--ease)}.sector:hover:before{transform:translate(-10%,-22%)}.report,.team-card,.norm{transition:transform .4s var(--ease),border-color .4s,background .4s}.report:hover,.team-card:hover,.norm:hover{transform:translateY(-7px);border-color:rgba(203,173,114,.28);background:rgba(23,31,26,.78)}
@media(max-width:900px){.cinema-intro{grid-template-columns:1fr}.cinema-grid{grid-template-columns:1fr;grid-template-rows:420px 280px 280px}.film-wide{grid-row:auto}.team-grid{grid-template-columns:1fr!important}.hero-cinematic h1{font-size:clamp(3.4rem,16vw,6rem)}.hero-visual{opacity:.4}.orbit-a{width:90vw;height:90vw}.orbit-b{width:65vw;height:65vw}}@media(max-width:620px){.cinema-grid{grid-template-rows:360px 250px 250px}.film-card{border-radius:14px}.hero-video{filter:saturate(.45) contrast(1.12) brightness(.34)}.hero-video-shade{background:linear-gradient(180deg,rgba(5,9,7,.55),rgba(5,9,7,.82) 40%,var(--ink) 100%)}}
@media(prefers-reduced-motion:reduce){.hero-video,.film-card video{display:none}.hero-media{background:radial-gradient(circle at 70% 30%,rgba(30,93,78,.4),transparent 45%),#070b09}.hero-orbit,.live-pill span{animation:none}.film-card{background:linear-gradient(135deg,#12231d,#090d0b)}}


/* ===== Responsive + performance hardening ===== */
html{scroll-padding-top:86px}
img,svg,video{max-width:100%}
img{height:auto}
section[id]{scroll-margin-top:86px}
@media (hover:none),(pointer:coarse){
  .film-card:hover video{transform:none;filter:saturate(.62) contrast(1.08)}
  .report:hover,.team-card:hover,.norm:hover{transform:none}
}
@media (max-width:900px){
  .hero-cinematic{min-height:auto;padding-top:118px;padding-bottom:76px}
  .hero-cinematic .hero-grid{display:block}
  .hero-cinematic .hero-copy{position:relative;z-index:3}
  .hero-cinematic .hero-visual{position:absolute;right:-80px;top:90px;width:min(58vw,380px);opacity:.18;pointer-events:none}
  .hero-cinematic h1{max-width:9ch}
  .hero-actions{max-width:520px}
  .strip-track{overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .strip-track::-webkit-scrollbar{display:none}
}
@media (max-width:640px){
  :root{--gutter:20px}
  .header-inner{min-height:68px}
  .brand-text .sub{display:none}
  .hero-cinematic{padding-top:100px;padding-bottom:62px;min-height:calc(100svh - 20px)}
  .hero-cinematic h1{font-size:clamp(3rem,17vw,4.7rem);line-height:.91;overflow-wrap:normal}
  .hero-cinematic .hero-sub{font-size:1.18rem;margin:16px 0 20px}
  .hero-cinematic .hero-lead{font-size:.96rem;margin-bottom:28px}
  .live-pill{max-width:100%;white-space:normal;line-height:1.35;font-size:.56rem}
  .hero-actions .btn{width:100%}
  .hero-visual,.hero-orbit{display:none!important}
  .hero-scan{background-size:38px 38px}
  .cinema-section{padding:76px 0}
  .cinema-intro{margin-bottom:30px;gap:20px}
  .cinema-intro h2{font-size:clamp(2.3rem,12vw,3.5rem)}
  .cinema-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px}
  .film-card,.film-wide{min-height:280px;grid-row:auto}
  .film-card:first-child{min-height:360px}
  .film-copy{left:20px;right:20px;bottom:20px}
  .film-copy p{font-size:.82rem}
  .problem-row,.sector,.dashboard{min-width:0}
  .sector{min-height:auto;padding:30px 24px}
  .dashboard-top{align-items:flex-start;flex-direction:column}
  .matrix{max-width:460px;margin-inline:auto}
  .drawer{width:min(88vw,390px);padding-left:24px;padding-right:24px}
}
@media (max-width:390px){
  :root{--gutter:16px}
  .brand-text .name{font-size:.8rem}
  .hero-cinematic h1{font-size:clamp(2.7rem,16vw,3.65rem)}
  .caption{font-size:.64rem}
  .film-card,.film-card:first-child{min-height:260px}
  .mobile-bar{padding-left:12px;padding-right:12px}
}
@media (max-height:560px) and (orientation:landscape){
  .hero-cinematic{min-height:620px;padding-top:92px}
  .mobile-bar{display:none}
  body{padding-bottom:0}
}
@media (prefers-reduced-data:reduce){
  .hero-video,.film-card video{display:none!important}
  .hero-media{background:radial-gradient(circle at 70% 30%,rgba(30,93,78,.35),transparent 45%),#070b09}
}

/* ===== Partner ecosystem focus ===== */
.partners-premium{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 25%,rgba(27,104,83,.22),transparent 30%),radial-gradient(circle at 15% 85%,rgba(203,173,114,.09),transparent 28%),#080c0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.partners-premium:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.partners-network{position:absolute;right:-90px;top:40px;width:520px;height:520px;opacity:.32;pointer-events:none;border:1px solid rgba(203,173,114,.12);border-radius:50%;animation:partnerOrbit 38s linear infinite}
.partners-network:before,.partners-network:after{content:"";position:absolute;border:1px dashed rgba(44,138,113,.28);border-radius:50%;inset:74px}.partners-network:after{inset:150px;border-color:rgba(203,173,114,.22)}
.partners-network span,.partners-network i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 22px rgba(203,173,114,.7)}.partners-network span:nth-child(1){left:55px;top:145px}.partners-network span:nth-child(2){right:70px;top:250px}.partners-network span:nth-child(3){left:260px;bottom:42px}.partners-network i{background:var(--petrol-bright);width:6px;height:6px}.partners-network i:nth-of-type(1){left:160px;top:82px}.partners-network i:nth-of-type(2){right:150px;bottom:90px}.partners-network i:nth-of-type(3){left:90px;bottom:160px}@keyframes partnerOrbit{to{transform:rotate(360deg)}}
.partners-hero{position:relative;z-index:2;display:grid;grid-template-columns:1.18fr .82fr;gap:8vw;align-items:end;margin-bottom:58px}.partners-kicker{display:block;font:600 .63rem/1 var(--font-mono);letter-spacing:.18em;color:var(--brass-soft);margin:18px 0 15px}.partners-hero h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.98;letter-spacing:-.045em;max-width:13ch}.partners-manifesto{padding-left:28px;border-left:1px solid rgba(203,173,114,.24)}.partners-manifesto p{font-size:1.02rem;max-width:45ch}.partners-line{display:flex;align-items:center;gap:12px;margin-top:25px;font:500 .62rem var(--font-mono);letter-spacing:.12em;color:var(--stone)}.partners-line b{display:block;width:48px;height:1px;background:var(--brass)}
.partner-showcase{position:relative;z-index:2;display:grid;grid-template-columns:1.18fr .91fr .91fr;gap:14px}.partner-card{min-height:430px;padding:24px;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid rgba(239,235,226,.1);border-radius:18px;background:linear-gradient(145deg,rgba(18,27,23,.9),rgba(8,12,10,.96));transition:transform .45s var(--ease),border-color .45s,box-shadow .45s}.partner-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(44,138,113,.14),transparent 36%);opacity:.4;transition:opacity .4s}.partner-card--featured:before{background:radial-gradient(circle at 72% 28%,rgba(203,173,114,.14),transparent 38%)}.partner-card:hover{transform:translateY(-8px);border-color:rgba(203,173,114,.32);box-shadow:0 24px 70px rgba(0,0,0,.28)}.partner-card:hover:before{opacity:1}.partner-card-top,.partner-card-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;font:500 .58rem var(--font-mono);letter-spacing:.1em;color:var(--stone-dim)}.partner-card-top em{font-style:normal;color:var(--brass-soft)}.partner-logo-wrap{position:relative;z-index:2;flex:1;min-height:155px;display:flex;align-items:center;justify-content:center;margin:25px 0}.partner-logo-wrap img{max-width:74%;max-height:90px;width:auto;filter:grayscale(.15) brightness(1.1);transition:transform .45s var(--ease),filter .45s}.partner-logo-wrap img.p-mark{width:108px;height:108px;max-height:none}.partner-card:hover .partner-logo-wrap img{transform:scale(1.055);filter:grayscale(0) brightness(1.18)}.partner-card-copy{position:relative;z-index:2;border-top:1px solid rgba(239,235,226,.09);padding-top:22px}.partner-card-copy h3{font-size:1.35rem;margin-bottom:9px}.partner-card-copy p{font-size:.86rem;margin:0;min-height:4.5em}.partner-card-foot{margin-top:24px;color:var(--stone)}.partner-card-foot i{font-style:normal;font-size:1rem;color:var(--brass-soft);transition:transform .3s}.partner-card:hover .partner-card-foot i{transform:translate(3px,-3px)}
.partners-flow{position:relative;z-index:2;margin-top:42px;padding:20px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;font:500 .6rem var(--font-mono);letter-spacing:.14em;color:var(--stone-dim)}.partners-flow i{height:1px;flex:1;background:linear-gradient(90deg,rgba(203,173,114,.1),rgba(203,173,114,.55),rgba(203,173,114,.1));position:relative}.partners-flow i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 12px rgba(203,173,114,.7)}
@media(max-width:900px){.partners-hero{grid-template-columns:1fr;gap:28px}.partners-manifesto{max-width:650px}.partner-showcase{grid-template-columns:1fr 1fr}.partner-card--featured{grid-column:1/-1;min-height:390px}.partner-card--featured .partner-logo-wrap{min-height:130px}.partners-network{right:-280px}.partners-flow{flex-wrap:wrap;justify-content:center}.partners-flow i{min-width:45px}}
@media(max-width:640px){.partners-hero h2{font-size:clamp(2.3rem,12vw,3.5rem)}.partners-manifesto{padding-left:18px}.partner-showcase{grid-template-columns:1fr}.partner-card--featured{grid-column:auto}.partner-card{min-height:370px;padding:20px}.partner-logo-wrap{min-height:125px}.partner-logo-wrap img.p-mark{width:92px;height:92px}.partners-flow{display:grid;grid-template-columns:1fr 32px 1fr;gap:12px;text-align:center}.partners-flow span:last-child{grid-column:2/4}.partners-network{display:none}}
@media(hover:none),(pointer:coarse){.partner-card:hover{transform:none}.partner-card:hover .partner-logo-wrap img{transform:none}}
@media(prefers-reduced-motion:reduce){.partners-network{animation:none}}
\n\n/* ===== UI/UX refinement v2: calmer hierarchy, less competing motion ===== */
.hero-cinematic{isolation:isolate}
.hero-video{filter:saturate(.48) contrast(1.06) brightness(.34);transform:scale(1.015)!important}
.hero-video-shade{background:linear-gradient(90deg,rgba(5,9,7,.97) 0%,rgba(5,9,7,.9) 40%,rgba(5,9,7,.66) 70%,rgba(5,9,7,.82) 100%),linear-gradient(0deg,var(--ink) 0%,transparent 34%,rgba(3,7,5,.2) 100%)}
.hero-copy{max-width:760px}
.hero-cinematic .hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(36px,6vw,92px)}
.hero-cinematic h1{font-size:clamp(4rem,8.3vw,8rem);line-height:.89;max-width:8ch}
.hero-cinematic .hero-lead{max-width:54ch;color:rgba(239,235,226,.74)}
.hero-visual{opacity:.48;filter:drop-shadow(0 20px 60px rgba(0,0,0,.28))}
.live-pill span{animation:none;box-shadow:0 0 10px rgba(44,138,113,.5)}
.hero-copy>*{animation:heroEnter .72s var(--ease) both}
.hero-copy>*:nth-child(2){animation-delay:.05s}.hero-copy>*:nth-child(3){animation-delay:.1s}.hero-copy>*:nth-child(4){animation-delay:.15s}.hero-copy>*:nth-child(5){animation-delay:.2s}.hero-copy>*:nth-child(6){animation-delay:.25s}
@keyframes heroEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.strip-track{animation:none!important;justify-content:center;flex-wrap:wrap;row-gap:10px}
.section{scroll-margin-top:90px}
.btn,.partner-card,.sol-item{will-change:auto}
@media(max-width:900px){.hero-cinematic .hero-grid{grid-template-columns:1fr}.hero-visual{position:absolute!important;right:-70px!important;top:150px!important;width:min(50vw,330px)!important;opacity:.12!important}.strip-track{justify-content:flex-start;flex-wrap:nowrap}}
@media(max-width:620px){.hero-copy>*{animation-duration:.45s}.hero-cinematic{min-height:auto!important}.hero-video{transform:none!important}.hero-video-shade{background:linear-gradient(180deg,rgba(5,9,7,.55),rgba(5,9,7,.88) 36%,var(--ink) 100%)}}
@media(prefers-reduced-motion:reduce){.hero-copy>*{animation:none}.strip-track{animation:none!important}}

/* ===== GF Radar - stacked editorial news ===== */
.news-radar{position:relative;overflow:hidden;background:linear-gradient(180deg,#0a0f0c 0%,#070a08 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.news-radar:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-280px;top:60px;background:radial-gradient(circle,rgba(44,138,113,.13),transparent 66%);pointer-events:none}
.news-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(40px,8vw,120px);align-items:end;margin-bottom:64px}
.news-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:20px;font:500 .62rem var(--font-mono);letter-spacing:.16em;color:var(--brass-soft)}
.news-eyebrow:before{content:"";width:30px;height:1px;background:var(--brass)}
.news-head h2{font-size:clamp(2.8rem,5.8vw,5.8rem);line-height:.94;letter-spacing:-.05em;max-width:12ch}
.news-head-copy{padding-left:26px;border-left:1px solid rgba(203,173,114,.22)}
.news-head-copy p{font-size:1rem;max-width:48ch;margin:0 0 25px}
.news-head-copy span{display:flex;align-items:center;gap:10px;font:500 .58rem var(--font-mono);letter-spacing:.13em;color:var(--stone-dim)}
.news-head-copy b{width:36px;height:1px;background:var(--brass);display:block}
.news-stack{position:relative;display:flex;flex-direction:column;gap:14px}
.news-card{position:relative;display:grid;grid-template-columns:72px 150px minmax(0,1fr) minmax(240px,.42fr);gap:clamp(20px,3vw,44px);align-items:start;padding:34px 32px;border:1px solid rgba(239,235,226,.1);border-radius:18px;background:linear-gradient(120deg,rgba(19,28,24,.94),rgba(9,13,11,.98));overflow:hidden;transition:border-color .35s,transform .35s var(--ease),background .35s}
.news-card:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--brass),var(--green));transform:scaleY(.2);transform-origin:top;opacity:.5;transition:transform .45s var(--ease),opacity .45s}
.news-card:hover{transform:translateX(6px);border-color:rgba(203,173,114,.27);background:linear-gradient(120deg,rgba(22,34,29,.98),rgba(9,13,11,.98))}
.news-card:hover:after{transform:scaleY(1);opacity:1}
.news-number{font:300 1.05rem var(--font-mono);color:rgba(203,173,114,.58);padding-top:4px}
.news-meta{display:flex;flex-direction:column;gap:9px;padding-top:2px}.news-meta span{font:600 .62rem var(--font-mono);letter-spacing:.13em;color:var(--brass-soft)}.news-meta time{font:500 .54rem var(--font-mono);letter-spacing:.09em;color:var(--stone-dim)}
.news-body h3{font-size:clamp(1.35rem,2vw,1.85rem);line-height:1.15;letter-spacing:-.025em;margin:0 0 13px;max-width:34ch}.news-body p{font-size:.9rem;line-height:1.72;margin:0;max-width:65ch}
.news-impact{padding:3px 0 3px 24px;border-left:1px solid rgba(239,235,226,.1)}.news-impact span{display:block;margin-bottom:11px;font:600 .55rem var(--font-mono);letter-spacing:.13em;color:var(--green-light,var(--brass-soft))}.news-impact p{font-size:.79rem;line-height:1.65;margin:0;color:var(--stone-dim)}
.news-footer{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.news-footer p{margin:0;font-size:.82rem}.news-footer strong{color:var(--brass-soft);font-weight:500}.news-cta{display:inline-flex;align-items:center;gap:14px;font:500 .62rem var(--font-mono);letter-spacing:.08em;color:var(--stone);text-decoration:none}.news-cta span{color:var(--brass-soft);font-size:1rem;transition:transform .25s}.news-cta:hover span{transform:translateX(4px)}
@media(max-width:1050px){.news-card{grid-template-columns:52px 120px minmax(0,1fr)}.news-impact{grid-column:3;padding:18px 0 0;border-left:0;border-top:1px solid rgba(239,235,226,.09)}}
@media(max-width:780px){.news-head{grid-template-columns:1fr;gap:28px;margin-bottom:42px}.news-head-copy{max-width:650px}.news-card{grid-template-columns:42px 1fr;gap:16px 20px;padding:26px 22px}.news-meta{grid-column:2}.news-body,.news-impact{grid-column:2}.news-body h3{font-size:1.35rem}.news-card:hover{transform:none}.news-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.news-head h2{font-size:clamp(2.35rem,12vw,3.2rem)}.news-head-copy{padding-left:18px}.news-card{grid-template-columns:1fr;padding:23px 19px}.news-number,.news-meta,.news-body,.news-impact{grid-column:1}.news-number{position:absolute;right:18px;top:20px}.news-meta{padding-right:45px}.news-impact{padding-top:16px}.news-body p{font-size:.84rem}}
@media(hover:none),(pointer:coarse){.news-card:hover{transform:none}}

/* ---------- Risk intelligence - storytelling refinement ---------- */
.risk-story {
  display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.65fr); gap:clamp(28px,4vw,64px);
  padding:clamp(26px,4vw,48px); margin-bottom:18px; border:1px solid var(--line-strong);
  border-radius:var(--radius-l); background:linear-gradient(135deg,rgba(212,175,55,.045),rgba(0,109,91,.035) 48%,transparent 78%);
  position:relative; overflow:hidden;
}
.risk-story::before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 49.8%,rgba(212,175,55,.035) 50%,transparent 50.2%); }
.risk-eyebrow,.risk-flow-label,.risk-summary-kicker { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.13em; color:var(--brass-soft); }
.risk-story-intro h3 { font-size:clamp(1.45rem,2.4vw,2.35rem); line-height:1.08; max-width:16ch; margin:14px 0 18px; }
.risk-story-intro p { font-size:.93rem; max-width:52ch; margin:0; }
.risk-flow { display:grid; grid-template-columns:1fr 34px 1fr 34px 1fr; align-items:stretch; }
.risk-flow-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:var(--radius-m); background:rgba(5,7,10,.42); position:relative; transition:transform .3s var(--ease),border-color .3s ease,background .3s ease; }
.risk-flow-card:hover { transform:translateY(-4px); border-color:var(--line-strong); background:rgba(7,17,22,.72); }
.risk-flow-card--accent { border-color:rgba(212,175,55,.28); background:linear-gradient(145deg,rgba(212,175,55,.075),rgba(0,109,91,.05)); }
.risk-flow-num { display:block; font-family:var(--font-mono); font-size:.66rem; color:var(--stone-dim); margin-bottom:28px; }
.risk-flow-card h4 { font-family:var(--font-display); color:var(--paper); font-size:1.05rem; margin:7px 0 10px; }
.risk-flow-card p { font-size:.78rem; line-height:1.6; margin:0; }
.risk-flow-arrow { display:flex; align-items:center; padding:0 7px; }
.risk-flow-arrow span { width:100%; height:1px; background:linear-gradient(90deg,var(--line-strong),var(--brass-soft)); position:relative; }
.risk-flow-arrow span::after { content:'>'; position:absolute; right:-2px; top:50%; transform:translateY(-53%); color:var(--brass-soft); font-family:var(--font-mono); font-size:.7rem; }
.risk-summary { display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 18px; border:1px solid var(--line-strong); border-radius:var(--radius-l); overflow:hidden; }
.risk-summary>div { padding:20px 24px; background:rgba(7,17,22,.45); }
.risk-summary>div+div { border-left:1px solid var(--line); }
.risk-summary strong { display:block; color:var(--paper); font-family:var(--font-display); font-size:1rem; margin:8px 0 5px; }
.risk-summary p { font-size:.76rem; margin:0; }
.dashboard { box-shadow:0 24px 80px rgba(0,0,0,.16); }
.dashboard-top .d-title::before { content:'LIVE VIEW / '; font-family:var(--font-mono); font-size:.58rem; letter-spacing:.1em; color:var(--brass-soft); margin-right:8px; vertical-align:middle; }
@media (max-width:1000px){ .risk-story{grid-template-columns:1fr}.risk-story-intro h3{max-width:24ch}.risk-flow{grid-template-columns:1fr 26px 1fr 26px 1fr} }
@media (max-width:760px){ .risk-flow{grid-template-columns:1fr;gap:10px}.risk-flow-arrow{height:18px;justify-content:center;padding:0}.risk-flow-arrow span{width:1px;height:18px;background:linear-gradient(var(--line-strong),var(--brass-soft))}.risk-flow-arrow span::after{content:'v';right:auto;left:50%;top:auto;bottom:-7px;transform:translateX(-50%)}.risk-summary{grid-template-columns:1fr}.risk-summary>div+div{border-left:0;border-top:1px solid var(--line)} }

/* ===== Expanded visual films ===== */
.cinema-grid{align-items:stretch}
.film-card{min-height:360px}
.film-card:nth-child(n+4){min-height:330px}
.film-card video{will-change:auto}
@media(max-width:780px){
  .film-card,.film-card:nth-child(n+4){min-height:300px}
  .cinema-grid{gap:12px}
}
@media(max-width:520px){
  .film-card,.film-card:nth-child(n+4){min-height:270px}
}


/* ===== SevenNine editorial feature ===== */
.editorial-feature{position:relative;background:linear-gradient(180deg,#070a08,#09100c);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.editorial-feature:before{content:"";position:absolute;width:540px;height:540px;left:-250px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(44,138,113,.12),transparent 68%);pointer-events:none}
.editorial-panel{display:grid;grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr) 120px;gap:clamp(30px,5vw,72px);align-items:stretch;padding:clamp(30px,5vw,64px);border:1px solid rgba(239,235,226,.11);border-radius:24px;background:linear-gradient(135deg,rgba(18,29,24,.92),rgba(7,10,8,.98));position:relative;overflow:hidden}
.editorial-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 45%,rgba(203,173,114,.035),transparent 70%);pointer-events:none}
.editorial-brand{display:flex;flex-direction:column;justify-content:space-between;gap:30px;border-right:1px solid rgba(239,235,226,.1);padding-right:clamp(24px,4vw,52px)}
.editorial-kicker,.editorial-overline,.editorial-status,.editorial-side span,.editorial-side small{font-family:var(--font-mono);letter-spacing:.13em}.editorial-kicker,.editorial-overline{font-size:.6rem;color:var(--brass-soft)}
.editorial-logo{min-height:100px;display:flex;align-items:center}.editorial-logo img{display:block;max-width:180px;max-height:92px;object-fit:contain;filter:saturate(.85) contrast(1.04)}
.editorial-status{font-size:.54rem;color:var(--stone-dim);display:flex;align-items:center;gap:9px}.editorial-status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(44,138,113,.65)}
.editorial-copy{align-self:center;position:relative;z-index:1}.editorial-copy h2{font-size:clamp(2.5rem,5vw,5.2rem);line-height:.94;letter-spacing:-.05em;margin:12px 0 22px;max-width:9ch}.editorial-copy p{max-width:66ch;font-size:.94rem;line-height:1.75;margin:0 0 26px}
.editorial-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.editorial-topics span{padding:8px 12px;border:1px solid rgba(239,235,226,.1);border-radius:999px;font:500 .55rem var(--font-mono);letter-spacing:.08em;color:var(--stone-dim);background:rgba(255,255,255,.02)}
.editorial-cta{display:inline-flex}.editorial-cta span{margin-left:8px;transition:transform .25s}.editorial-cta:hover span{transform:translate(3px,-3px)}
.editorial-side{border-left:1px solid rgba(239,235,226,.1);padding-left:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}.editorial-side span{font-size:.52rem;color:var(--stone-dim);writing-mode:vertical-rl}.editorial-side strong{font:300 3rem var(--font-mono);color:rgba(203,173,114,.5)}.editorial-side i{width:1px;flex:1;max-height:90px;background:linear-gradient(var(--brass),transparent);margin:14px 0}.editorial-side small{font-size:.47rem;line-height:1.7;color:var(--stone-dim)}
.partner-card-link{text-decoration:none;color:inherit}.partner-card-link:hover span{color:var(--brass-soft)}
@media(max-width:900px){.editorial-panel{grid-template-columns:190px 1fr}.editorial-side{display:none}}
@media(max-width:680px){.editorial-panel{grid-template-columns:1fr;padding:28px 22px}.editorial-brand{border-right:0;border-bottom:1px solid rgba(239,235,226,.1);padding:0 0 24px;gap:18px}.editorial-logo{min-height:0}.editorial-logo img{max-width:150px;max-height:72px}.editorial-copy h2{font-size:clamp(2.4rem,12vw,3.5rem)}.editorial-cta{width:100%;justify-content:center}}

/* ===== Executive density / premium system ===== */
.executive-overview{position:relative;padding:clamp(52px,7vw,92px) 0;background:linear-gradient(180deg,#080c0a 0%,#0b120f 52%,#080c0a 100%);border-bottom:1px solid var(--line);overflow:hidden}
.executive-overview:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(203,173,114,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(203,173,114,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent);pointer-events:none}
.executive-shell{position:relative;display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.45fr);gap:clamp(42px,7vw,100px);padding:clamp(30px,5vw,58px);border:1px solid rgba(239,235,226,.11);border-radius:28px;background:linear-gradient(135deg,rgba(17,28,23,.94),rgba(7,11,9,.97));box-shadow:0 28px 90px rgba(0,0,0,.2)}
.executive-shell:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 80% 20%,rgba(44,138,113,.11),transparent 35%);pointer-events:none}
.executive-intro{position:relative;z-index:1}.executive-kicker{font:500 .58rem var(--font-mono);letter-spacing:.15em;color:var(--brass-soft)}.executive-intro h2{font-size:clamp(2.15rem,4.1vw,4.2rem);line-height:.98;letter-spacing:-.045em;margin:17px 0 20px;max-width:11ch}.executive-intro p{font-size:.91rem;line-height:1.75;max-width:54ch}.executive-link{display:inline-flex;align-items:center;gap:12px;margin-top:22px;color:var(--paper);text-decoration:none;font:500 .62rem var(--font-mono);letter-spacing:.08em}.executive-link span{color:var(--brass-soft);transition:transform .25s}.executive-link:hover span{transform:translateX(5px)}
.executive-map{position:relative;z-index:1;display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center}.executive-map>i{height:1px;background:linear-gradient(90deg,rgba(203,173,114,.18),rgba(203,173,114,.72));position:relative}.executive-map>i:after{content:"";position:absolute;right:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--brass-soft);box-shadow:0 0 14px rgba(203,173,114,.5)}
.exec-node{min-height:190px;padding:20px 18px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(239,235,226,.1);border-radius:18px;background:rgba(4,8,6,.5);transition:transform .3s var(--ease),border-color .3s,background .3s}.exec-node:hover{transform:translateY(-5px);border-color:rgba(203,173,114,.28);background:rgba(14,25,20,.76)}.exec-node--accent{background:linear-gradient(145deg,rgba(203,173,114,.09),rgba(44,138,113,.09));border-color:rgba(203,173,114,.22)}.exec-node span{margin-bottom:auto;font:400 .62rem var(--font-mono);color:var(--brass-soft)}.exec-node strong{font:500 1.05rem var(--font-display);color:var(--paper);margin-bottom:8px}.exec-node small{font:.68rem/1.5 var(--font-ui);color:var(--stone-dim)}
.capability-rail{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;border:1px solid rgba(239,235,226,.09);border-radius:18px;overflow:hidden;background:rgba(8,13,10,.72)}.capability-rail>div{padding:18px 20px;display:flex;flex-direction:column;gap:6px}.capability-rail>div+div{border-left:1px solid rgba(239,235,226,.08)}.capability-rail b{font:600 .58rem var(--font-mono);letter-spacing:.12em;color:var(--brass-soft)}.capability-rail span{font-size:.72rem;color:var(--stone-dim)}
/* stronger section rhythm */
.section-head{margin-bottom:clamp(42px,6vw,76px)}
.section-head h2{max-width:14ch}
.problems,.solutions-grid,.team-grid,.norms-grid{position:relative}
.problem-row,.sol-item,.team-card,.norm{backdrop-filter:blur(8px)}
.section--raised{background:linear-gradient(180deg,rgba(15,24,20,.52),rgba(7,11,9,.3))}
@media(max-width:1050px){.executive-shell{grid-template-columns:1fr}.executive-intro h2{max-width:16ch}.executive-map{grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr}.exec-node{min-height:160px}.capability-rail{grid-template-columns:repeat(2,1fr)}.capability-rail>div:nth-child(3){border-left:0;border-top:1px solid rgba(239,235,226,.08)}.capability-rail>div:nth-child(4){border-top:1px solid rgba(239,235,226,.08)}}
@media(max-width:720px){.executive-shell{padding:26px 20px;border-radius:20px}.executive-map{grid-template-columns:1fr;gap:9px}.executive-map>i{width:1px;height:16px;margin:auto;background:linear-gradient(rgba(203,173,114,.2),rgba(203,173,114,.75))}.executive-map>i:after{right:-2px;top:auto;bottom:-1px}.exec-node{min-height:120px}.capability-rail{grid-template-columns:1fr}.capability-rail>div+div,.capability-rail>div:nth-child(3){border-left:0;border-top:1px solid rgba(239,235,226,.08)}}

/* ===== Quem somos - retratos executivos ===== */
.team-grid--portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:transparent;border:0}
.team-card--portrait{padding:0;overflow:hidden;border:1px solid rgba(239,235,226,.1);border-radius:20px;background:linear-gradient(145deg,rgba(17,27,23,.94),rgba(7,11,9,.98));transition:transform .35s var(--ease),border-color .35s,box-shadow .35s}
.team-card--portrait:hover{transform:translateY(-5px);border-color:rgba(203,173,114,.28);box-shadow:0 24px 70px rgba(0,0,0,.22)}
.team-photo{height:390px;overflow:hidden;position:relative;background:var(--surface)}
.team-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,9,7,.38),transparent 45%);pointer-events:none}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%;display:block;filter:saturate(.82) contrast(1.02);transition:transform .6s var(--ease),filter .4s}
.team-card--portrait:hover .team-photo img{transform:scale(1.025);filter:saturate(.95) contrast(1.03)}
.team-copy{padding:26px 28px 30px}
.team-eyebrow{display:block;margin-bottom:12px;font:500 .58rem var(--font-mono);letter-spacing:.14em;color:var(--brass-soft)}
.team-card--portrait h3{font-size:1.42rem;margin-bottom:5px}
.team-card--portrait p{max-width:52ch}
.team-card--compact{grid-column:1/-1;border:1px solid var(--line);border-radius:16px;padding:25px 28px;background:rgba(8,13,10,.7)}
@media(max-width:760px){.team-grid--portraits{grid-template-columns:1fr}.team-photo{height:min(110vw,430px)}.team-card--compact{grid-column:auto}.team-copy{padding:22px}}
@media(hover:none),(pointer:coarse){.team-card--portrait:hover{transform:none}.team-card--portrait:hover .team-photo img{transform:none}}
/* Team portraits kept natural/original at user's request */
.team-photo img{filter:none!important}
.team-card--portrait:hover .team-photo img{filter:none!important}
.footer-top{grid-template-columns:1.35fr .8fr 1fr 1.25fr}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.footer-top{grid-template-columns:1fr}}

/* Equipe - cards compactos, mantendo as fotos originais */
.team-grid--portraits{
  max-width:1040px;
  margin-inline:auto;
  grid-template-columns:repeat(2,minmax(0,430px));
  justify-content:center;
  gap:18px;
}
.team-card--portrait{border-radius:16px}
.team-photo{height:285px}
.team-photo img{object-position:center 24%;filter:none!important}
.team-copy{padding:20px 22px 23px}
.team-card--portrait h3{font-size:1.2rem}
.team-card--portrait p{font-size:.82rem;line-height:1.62}
.team-card--compact{max-width:878px;width:100%;margin-inline:auto;padding:20px 22px}
@media(max-width:760px){
  .team-grid--portraits{grid-template-columns:1fr;max-width:430px}
  .team-photo{height:min(82vw,330px)}
  .team-copy{padding:19px 20px 22px}
}
\n\n/* ===== Hero clean: somente o vídeo da Terra em movimento ===== */\n.hero-cinematic .hero-grid{\n  grid-template-columns:1fr!important;\n  max-width:1440px;\n}\n.hero-cinematic .hero-copy{\n  max-width:760px;\n  position:relative;\n  z-index:3;\n}\n.hero-visual{display:none!important}\n.hero-copy>*{animation:none!important}\n.live-pill span{animation:none!important;box-shadow:none!important}\n.hero-video{\n  filter:saturate(.64) contrast(1.06) brightness(.46)!important;\n  transform:scale(1.01)!important;\n}\n.hero-video-shade{\n  background:\n    linear-gradient(90deg,rgba(5,9,7,.93) 0%,rgba(5,9,7,.77) 38%,rgba(5,9,7,.34) 72%,rgba(5,9,7,.48) 100%),\n    linear-gradient(0deg,var(--ink) 0%,transparent 30%,rgba(3,7,5,.12) 100%)!important;\n}\n@media(max-width:900px){\n  .hero-cinematic .hero-grid{display:block!important}\n}\n@media(max-width:620px){\n  .hero-video{filter:saturate(.58) contrast(1.05) brightness(.40)!important;transform:none!important}\n  .hero-video-shade{background:linear-gradient(180deg,rgba(5,9,7,.48),rgba(5,9,7,.72) 42%,var(--ink) 100%)!important}\n}\n

/* ===== Coluna em movimento / artigos originais ===== */
.editorial-stream{padding-bottom:clamp(70px,9vw,120px)}
.editorial-stream-head{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.25fr) auto;gap:clamp(28px,5vw,70px);align-items:end;padding:0 0 clamp(38px,5vw,62px)}
.editorial-stream-brand{display:flex;flex-direction:column;gap:18px;align-self:stretch;justify-content:space-between;padding-right:clamp(18px,3vw,40px);border-right:1px solid rgba(239,235,226,.1)}
.editorial-stream-copy h2{font-size:clamp(2.5rem,4.8vw,5rem);line-height:.97;letter-spacing:-.05em;margin:10px 0 18px;max-width:12ch}
.editorial-stream-copy p{max-width:67ch;margin:0;font-size:.94rem;line-height:1.75;color:var(--stone)}
.editorial-stream-head>.editorial-cta{align-self:end;white-space:nowrap}
.column-marquee{position:relative;overflow:hidden;width:100%;border-top:1px solid rgba(239,235,226,.08);border-bottom:1px solid rgba(239,235,226,.08);padding:18px 0;background:rgba(2,5,4,.35)}
.column-marquee:before,.column-marquee:after{content:"";position:absolute;z-index:3;top:0;bottom:0;width:min(8vw,120px);pointer-events:none}
.column-marquee:before{left:0;background:linear-gradient(90deg,#070a08,rgba(7,10,8,0))}
.column-marquee:after{right:0;background:linear-gradient(270deg,#070a08,rgba(7,10,8,0))}
.column-marquee-track{display:flex;width:max-content;animation:gfColumnFlow 54s linear infinite;will-change:transform}
.column-marquee:hover .column-marquee-track,.column-marquee:focus-within .column-marquee-track{animation-play-state:paused}
.column-marquee-set{display:flex;gap:14px;padding-right:14px}
.column-story{width:clamp(300px,27vw,420px);min-height:300px;display:flex;flex-direction:column;padding:26px 26px 22px;border:1px solid rgba(239,235,226,.1);border-radius:19px;text-decoration:none;color:inherit;background:linear-gradient(145deg,rgba(17,28,23,.96),rgba(7,11,9,.98));box-shadow:0 18px 45px rgba(0,0,0,.16);transition:transform .35s var(--ease),border-color .35s,background .35s}
.column-story:hover,.column-story:focus-visible{transform:translateY(-6px);border-color:rgba(203,173,114,.38);background:linear-gradient(145deg,rgba(21,35,29,.98),rgba(9,14,11,.99));outline:none}
.column-story--seven{background:linear-gradient(145deg,rgba(43,35,18,.82),rgba(9,14,11,.99));border-color:rgba(203,173,114,.2)}
.column-story-top,.column-story-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.column-story-top span,.column-story-top small,.column-story-foot span{font-family:var(--font-mono);letter-spacing:.11em}
.column-story-top span{font-size:.58rem;color:var(--brass-soft)}
.column-story-top small{font-size:.5rem;color:var(--stone-dim)}
.column-story h3{font-size:clamp(1.35rem,1.7vw,1.85rem);line-height:1.08;letter-spacing:-.025em;margin:30px 0 14px;max-width:19ch}
.column-story p{font-size:.83rem;line-height:1.66;color:#aeb6b1;margin:0 0 28px;max-width:45ch}
.column-story-foot{margin-top:auto;padding-top:18px;border-top:1px solid rgba(239,235,226,.08)}
.column-story-foot span{font-size:.52rem;color:var(--stone-dim)}
.column-story-foot b{font:400 1rem var(--font-ui);color:var(--brass-soft);transition:transform .25s}
.column-story:hover .column-story-foot b{transform:translate(3px,-3px)}
@keyframes gfColumnFlow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:980px){.editorial-stream-head{grid-template-columns:170px 1fr}.editorial-stream-head>.editorial-cta{grid-column:2;justify-self:start}.editorial-stream-copy h2{max-width:14ch}.column-story{width:min(78vw,380px)}}
@media(max-width:680px){.editorial-stream-head{grid-template-columns:1fr;gap:24px}.editorial-stream-brand{border-right:0;border-bottom:1px solid rgba(239,235,226,.1);padding:0 0 20px}.editorial-stream-head>.editorial-cta{grid-column:1;width:100%;justify-content:center}.editorial-stream-copy h2{font-size:clamp(2.4rem,12vw,3.5rem)}.column-marquee{padding:12px 0}.column-marquee:before,.column-marquee:after{width:28px}.column-story{width:84vw;min-height:280px;padding:22px}.column-story h3{font-size:1.45rem;margin-top:24px}}
@media(prefers-reduced-motion:reduce){.column-marquee{overflow-x:auto;scroll-snap-type:x proximity}.column-marquee-track{animation:none}.column-story{scroll-snap-align:start}.column-marquee:before,.column-marquee:after{display:none}.column-marquee-set[aria-hidden="true"]{display:none}}


/* ===== Motion system v3: mais movimento, sem poluir o hero ===== */
/* Hero: o único movimento visual contínuo permanece sendo o vídeo da Terra.
   O texto institucional troca de forma calma e legível. */
.hero-motto{
  position:relative;
  display:block;
  min-height:3.25em;
  max-width:38ch!important;
  overflow:hidden;
  margin-top:18px!important;
  margin-bottom:24px!important;
}
.hero-motto span{
  display:inline-block;
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
  transition:opacity .34s var(--ease),transform .42s var(--ease),filter .34s var(--ease);
}
.hero-motto.is-changing span{
  opacity:0;
  transform:translateY(-12px);
  filter:blur(5px);
}
.hero-motto.is-entering span{
  animation:gfMottoIn .5s var(--ease) both;
}
@keyframes gfMottoIn{
  from{opacity:0;transform:translateY(12px);filter:blur(5px)}
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}

/* Faixa institucional: movimento horizontal leve, abaixo do hero. */
.strip{overflow:hidden}
.strip-track{
  width:max-content;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  animation:gfAuthorityFlow 34s linear infinite!important;
  will-change:transform;
}
.strip:hover .strip-track{animation-play-state:paused!important}
@keyframes gfAuthorityFlow{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Executive Intelligence: cada etapa entra em sequência e as conexões acendem. */
.executive-shell.is-in .exec-node{
  animation:gfNodeRise .72s var(--ease) both;
}
.executive-shell.is-in .exec-node:nth-child(1){animation-delay:.08s}
.executive-shell.is-in .exec-node:nth-child(3){animation-delay:.20s}
.executive-shell.is-in .exec-node:nth-child(5){animation-delay:.32s}
.executive-shell.is-in .exec-node:nth-child(7){animation-delay:.44s}
.executive-map>i{overflow:hidden}
.executive-map>i::before{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-115%);
  background:linear-gradient(90deg,transparent,rgba(244,210,122,.9),transparent);
}
.executive-shell.is-in .executive-map>i::before{
  animation:gfConnectorPass 1.05s var(--ease) .35s both;
}
@keyframes gfNodeRise{
  from{opacity:0;transform:translateY(16px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes gfConnectorPass{
  from{transform:translateX(-115%)}
  to{transform:translateX(115%)}
}

/* Story de risco: fluxo visual progressivo quando a seção entra na viewport. */
.risk-story.is-in .risk-flow-card{
  animation:gfRiskCard .68s var(--ease) both;
}
.risk-story.is-in .risk-flow-card:nth-child(1){animation-delay:.10s}
.risk-story.is-in .risk-flow-card:nth-child(3){animation-delay:.24s}
.risk-story.is-in .risk-flow-card:nth-child(5){animation-delay:.38s}
.risk-story.is-in .risk-flow-arrow span{
  transform-origin:left center;
  animation:gfRiskLine .66s var(--ease) .26s both;
}
@keyframes gfRiskCard{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes gfRiskLine{
  from{opacity:.1;transform:scaleX(0)}
  to{opacity:1;transform:scaleX(1)}
}

/* Relatórios: a biblioteca se monta por etapas, sem loop constante. */
.reports.reveal.is-in .report{
  animation:gfReportBuild .64s var(--ease) both;
}
.reports.reveal.is-in .report:nth-child(1){animation-delay:.04s}
.reports.reveal.is-in .report:nth-child(2){animation-delay:.10s}
.reports.reveal.is-in .report:nth-child(3){animation-delay:.16s}
.reports.reveal.is-in .report:nth-child(4){animation-delay:.22s}
.reports.reveal.is-in .report:nth-child(5){animation-delay:.28s}
.reports.reveal.is-in .report:nth-child(6){animation-delay:.34s}
.report-doc .hl{position:relative;overflow:hidden}
.report:hover .report-doc .hl::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(244,210,122,.42),transparent);
  animation:gfDocScan .8s var(--ease) both;
}
@keyframes gfReportBuild{
  from{opacity:0;transform:translateY(18px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes gfDocScan{
  from{transform:translateX(-120%)}
  to{transform:translateX(120%)}
}

/* Radar: cards alternam discretamente o lado de entrada. */
.news-card.reveal{transform:translate3d(22px,14px,0)}
.news-card.reveal:nth-child(even){transform:translate3d(-22px,14px,0)}
.news-card.reveal.is-in{transform:translate3d(0,0,0)}

/* Equipe e parceiros: montagem em cascata apenas ao entrar na tela. */
.team-grid.reveal.is-in .team-card,
.partner-showcase.reveal.is-in .partner-card{
  animation:gfCardCascade .68s var(--ease) both;
}
.team-grid.reveal.is-in .team-card:nth-child(2),
.partner-showcase.reveal.is-in .partner-card:nth-child(2){animation-delay:.12s}
.team-grid.reveal.is-in .team-card:nth-child(3),
.partner-showcase.reveal.is-in .partner-card:nth-child(3){animation-delay:.24s}
@keyframes gfCardCascade{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:720px){
  .hero-motto{min-height:4.1em;max-width:29ch!important}
  .strip-track{animation-duration:28s!important}
  .news-card.reveal,.news-card.reveal:nth-child(even){transform:translateY(14px)}
  .news-card.reveal.is-in{transform:none}
  .risk-story.is-in .risk-flow-arrow span{transform-origin:center top}
}
@media(prefers-reduced-motion:reduce){
  .hero-motto span,.hero-motto.is-changing span,.hero-motto.is-entering span{animation:none!important;transition:none!important;transform:none!important;filter:none!important;opacity:1!important}
  .strip-track{animation:none!important;transform:none!important;flex-wrap:wrap!important;width:auto!important;justify-content:center!important}
  .executive-shell.is-in .exec-node,.executive-shell.is-in .executive-map>i::before,
  .risk-story.is-in .risk-flow-card,.risk-story.is-in .risk-flow-arrow span,
  .reports.reveal.is-in .report,.team-grid.reveal.is-in .team-card,.partner-showcase.reveal.is-in .partner-card{
    animation:none!important;transform:none!important;opacity:1!important
  }
  .news-card.reveal,.news-card.reveal:nth-child(even),.news-card.reveal.is-in{transform:none!important}
}

/* ---------- FAQ / conteúdo indexável ---------- */
.section--faq{background:linear-gradient(180deg,rgba(10,18,14,.58),rgba(5,9,7,.2));border-top:1px solid rgba(203,173,114,.08)}
.faq-list{max-width:960px;margin-left:auto}
.faq-list details{border-top:1px solid rgba(246,241,230,.12);padding:0}
.faq-list details:last-child{border-bottom:1px solid rgba(246,241,230,.12)}
.faq-list summary{cursor:pointer;list-style:none;padding:22px 44px 22px 0;font:500 clamp(1rem,1.7vw,1.2rem)/1.35 var(--font-ui);color:var(--paper);position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font:400 1.35rem/1 var(--font-mono);color:var(--brass-soft);transition:transform .2s ease}
.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-list details p{max-width:76ch;margin:0;padding:0 44px 22px 0;color:var(--muted);line-height:1.75}
@media(max-width:760px){.faq-list{margin-left:0}.faq-list summary{padding-right:36px}.faq-list details p{padding-right:12px}}
