/* ============================================================
   AI FIRST — institucional, no padrão visual da Palantir.
   Tema CLARO. Tipografia fina (peso 400), tracking apertado,
   leading medido no site real. Marca: anel azul-degradê.
   ============================================================ */

/* ---- Fonts (Geist — grotesco neutro, o par livre mais próximo
   da Alliance No.1/No.2 que a Palantir usa de fato; Alliance é
   fonte proprietária da Palantir, não pode ser copiada) ---- */
@font-face { font-family:'Geist'; src:url('../assets/fonts/Geist-Variable.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'Geist Mono'; src:url('../assets/fonts/GeistMono-Variable.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap; }

/* ---- Tokens ---- */
:root {
  --bg:      #ffffff;
  --bg-alt:  #ffffff;
  --bg-soft: #ffffff;
  --ink:     #090909;
  --ink-2:   #4c4c4c;
  --ink-3:   #aaaaaa;     /* cinza de ênfase / palavras esmaecidas */
  --eyebrow: #b9b9b9;     /* labels minúsculos */
  --line:    rgba(30,31,43,0.13);
  --line-2:  rgba(30,31,43,0.22);

  --brand-a: #4A5FE0;
  --brand-b: #00D4FF;
  --grad: linear-gradient(180deg, var(--brand-a), var(--brand-b));

  --maxw: 1440px;
  --gut: clamp(22px, 5vw, 88px);

  --font: 'Geist', system-ui, -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --mono: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace;
  --e: cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---- Reset ---- */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body {
  background:var(--bg); color:var(--ink);
  font-family:var(--font); font-size:16px; line-height:1.45; font-weight:400;
  letter-spacing:normal; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
a { color:inherit; text-decoration:none; }
img, svg, video { display:block; max-width:100%; }
::selection { background:var(--brand-a); color:#fff; }
:focus-visible { outline:2px solid var(--brand-a); outline-offset:3px; }

/* ---- Layout ---- */
.wrap { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gut); }
.sec { position:relative; }
.pad { padding-block:clamp(64px, 7vw, 104px); }
.pad-s { padding-block:clamp(44px, 5vw, 76px); }
.alt { background:var(--bg-alt); }
.rule-t { border-top:1px solid var(--line); }

/* ---- Type (Palantir: peso 400, tracking ~-0.04em, leading ~1, tamanhos fixos no desktop) ---- */
.display {
  font-weight:400; letter-spacing:-0.0425em; line-height:0.975;
  font-size:clamp(2.5rem, 5.5vw, 5rem); text-wrap:balance;   /* desktop: 80px */
}
.h-xl { font-weight:400; letter-spacing:-0.04em; line-height:1.0; font-size:clamp(2.1rem, 4.6vw, 4.25rem); text-wrap:balance; } /* 68px */
.h-lg { font-weight:400; letter-spacing:-0.032em; line-height:1.04; font-size:clamp(1.85rem, 3vw, 2.875rem); text-wrap:balance; } /* 46px */
.h-md { font-weight:400; letter-spacing:-0.025em; line-height:1.1; font-size:clamp(1.3rem, 1.9vw, 1.75rem); } /* 28px */
h1,h2,h3,h4 { font-weight:400; }
.muted { color:var(--ink-3); }      /* palavras esmaecidas no statement */
.lede { font-size:clamp(1.05rem, 1.4vw, 1.25rem); line-height:1.42; color:var(--ink-2); font-weight:400; max-width:38ch; }
.body { color:var(--ink-2); font-weight:400; line-height:1.55; max-width:62ch; font-size:1rem; }
.body strong, strong { color:var(--ink); font-weight:500; }

/* eyebrow minúsculo, como na Palantir (10px, tracking 0.5px) */
.eyebrow {
  font-family:var(--font); font-size:0.625rem; font-weight:500;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--eyebrow);
}
.idx { font-family:var(--font); font-size:0.95rem; color:var(--ink-3); letter-spacing:0; }

/* ---- Nav ---- */
.nav { position:fixed; top:0; left:0; right:0; z-index:100; background:transparent; transition:background .3s var(--e), border-color .3s var(--e); border-bottom:1px solid transparent; }
/* páginas sem hero full-bleed recebem respiro pro nav fixo */
.has-topbar { padding-top:74px; }
.nav.solid { background:rgba(255,255,255,0.86); backdrop-filter:blur(14px) saturate(150%); border-bottom-color:var(--line); }
.nav.on-dark { color:#fff; }
.nav-in { display:flex; align-items:center; justify-content:space-between; height:74px; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:0.55em; font-weight:500; font-size:1.15rem; letter-spacing:-0.03em; }
.nav-links { display:flex; align-items:center; gap:clamp(16px,1.9vw,32px); }
.nav-links a { font-size:0.95rem; color:inherit; opacity:0.72; font-weight:400; transition:opacity .2s var(--e); }
.nav-links a:hover, .nav-links a[aria-current="page"] { opacity:1; }
.nav-right { display:flex; align-items:center; gap:12px; }
.nav-tog { display:none; width:44px; height:40px; border:1px solid currentColor; opacity:.85; border-radius:8px; background:transparent; color:inherit; cursor:pointer; align-items:center; justify-content:center; }
@media (max-width:960px){
  .nav-links { position:fixed; inset:74px 0 auto; flex-direction:column; align-items:stretch; gap:0;
    background:var(--bg); color:var(--ink); border-bottom:1px solid var(--line); padding:6px var(--gut) 22px;
    transform:translateY(-115%); transition:transform .4s var(--e); }
  .nav-links.open { transform:none; }
  .nav-links a { padding:15px 0; border-bottom:1px solid var(--line); font-size:1.05rem; opacity:1; }
  .nav-tog { display:inline-flex; }
  .nav-right .btn-pill { display:none; }
}

/* ---- Buttons (sóbrios, como Palantir) ---- */
.btn-pill { display:inline-flex; align-items:center; gap:0.5em; font-size:0.95rem; font-weight:400;
  padding:0.6em 1.3em; border:1px solid currentColor; border-radius:100px; background:transparent; color:inherit;
  transition:background .25s var(--e), color .25s var(--e); cursor:pointer; opacity:.95; }
.btn-pill:hover { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.nav.on-dark .btn-pill:hover { background:#fff; color:var(--ink); border-color:#fff; }
.btn-solid { display:inline-flex; align-items:center; gap:0.5em; font-size:0.98rem; font-weight:400;
  padding:0.8em 1.5em; border-radius:100px; background:var(--ink); color:#fff; border:1px solid var(--ink);
  transition:transform .25s var(--e), background .25s var(--e); cursor:pointer; }
.btn-solid:hover { transform:translateY(-2px); }
.btn-solid .a, .btn-pill .a, .lnk .a { transition:transform .25s var(--e); display:inline-block; }
.btn-solid:hover .a, .btn-pill:hover .a { transform:translateX(3px); }
.lnk { display:inline-flex; align-items:center; gap:0.4em; font-weight:400; color:var(--ink); border-bottom:1px solid var(--line-2); padding-bottom:2px; transition:border-color .2s var(--e); width:fit-content; }
.lnk:hover { border-color:var(--brand-a); }
.lnk:hover .a { transform:translate(2px,-2px); }

/* ---- Hero (full-bleed image, headline central fina, claro→escuro) ---- */
.hero { position:relative; min-height:100svh; display:grid; place-items:center; overflow:hidden; text-align:center; }
.hero-media { position:absolute; inset:0; z-index:0; }
.hero-media img, .hero-media video { width:100%; height:100%; object-fit:cover; }
.hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,22,30,.5), rgba(20,22,30,.32) 40%, rgba(20,22,30,.55)); }
/* variante grainient: shader grafite/preto no lugar da foto; sem véu escuro extra,
   e um degradê branco na base pra emendar com o fundo claro da seção seguinte */
.hero-media--grainient { background:#050506; }
.hero-media--grainient::after {
  background:
    linear-gradient(180deg, rgba(5,5,6,.45), rgba(5,5,6,0) 32%),
    linear-gradient(180deg, transparent 64%, rgba(255,255,255,.4) 84%, var(--bg) 100%);
}
.hero-in { position:relative; z-index:2; padding:var(--gut); color:#fff; max-width:1100px; }
.hero h1 { color:#f2f2f2; font-weight:400; letter-spacing:-0.0425em; line-height:0.975; font-size:clamp(2.5rem, 5.5vw, 5rem); text-wrap:balance; }  /* desktop: 80px */
.hero .sub { color:rgba(255,255,255,.82); font-size:clamp(1.05rem,1.4vw,1.25rem); line-height:1.45; max-width:44ch; margin:28px auto 0; font-weight:400; }
.hero .cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:38px; }
.scroll-hint { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:2; color:rgba(255,255,255,.75); text-align:center; font-size:.8rem; letter-spacing:.02em; }
.scroll-hint .arr { display:block; margin:0 auto 8px; animation:bob 2s var(--e) infinite; }
@keyframes bob { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(6px); } }
@media (prefers-reduced-motion: reduce){ .scroll-hint .arr{ animation:none; } }
/* hero buttons inherit white border */
.hero .btn-pill { color:#fff; }
.hero .btn-pill:hover { background:#fff; color:var(--ink); border-color:#fff; }
.hero .btn-solid { background:#fff; color:var(--ink); border-color:#fff; }

/* ---- Pill row (topics) ---- */
.pills { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.pill { font-size:0.92rem; color:var(--ink-2); border:1px solid var(--line); border-radius:100px; padding:0.45em 1em; background:var(--bg); transition:border-color .2s var(--e), color .2s var(--e); }
.pill:hover, .pill.on { color:var(--ink); border-color:var(--ink); }

/* ---- Section header (eyebrow + small) ---- */
.sec-head { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }

/* ---- Statement (declaração central grande, palavras esmaecidas) ---- */
.statement { font-weight:400; letter-spacing:-0.04em; line-height:1.05; font-size:clamp(2rem, 4.4vw, 4.25rem); text-wrap:balance; max-width:18ch; }  /* desktop: 68px */
.statement.center { margin-inline:auto; text-align:center; max-width:22ch; }

/* ---- Offerings (linhas com LETRA gigante) ---- */
.offers { border-top:1px solid var(--line); }
.offer { display:grid; grid-template-columns:minmax(220px, 0.9fr) 1fr; gap:clamp(20px,4vw,60px); align-items:center;
  padding-block:clamp(34px, 4vw, 60px); border-bottom:1px solid var(--line); position:relative; }
.offer-l .idx { display:block; margin-bottom:18px; }
.offer-l h3 { font-size:clamp(1.25rem,1.7vw,1.6rem); font-weight:400; letter-spacing:-0.025em; }
.offer-l p { color:var(--ink-2); margin-top:10px; max-width:42ch; font-size:0.98rem; }
.offer-l .lnk { margin-top:20px; }
.offer-glyph { display:flex; align-items:center; justify-content:flex-end; gap:clamp(16px,3vw,48px); }
.offer-letter { font-weight:400; letter-spacing:-0.05em; line-height:0.8; color:var(--ink);
  font-size:clamp(6rem, 11vw, 11.25rem); }  /* desktop: 180px */
.offer-mark { width:clamp(54px,7vw,92px); height:clamp(54px,7vw,92px); flex:none; }
.offer-img { width:clamp(116px,15vw,184px); height:auto; aspect-ratio:1; flex:none; display:block;
  padding:clamp(20px,2.4vw,30px); background:#fff; border:1px solid rgba(20,22,34,.07);
  border-radius:clamp(22px,2.6vw,32px);
  box-shadow:0 14px 34px -16px rgba(20,22,34,.30), 0 2px 6px -2px rgba(20,22,34,.10); }
@media (max-width:760px){ .offer{ grid-template-columns:1fr; } .offer-glyph{ justify-content:flex-start; min-height:0; } }

/* ---- Image card (full-bleed featured) ---- */
.card-img { position:relative; border-radius:6px; overflow:hidden; min-height:clamp(340px, 52vh, 560px); display:flex; align-items:flex-end; }
.card-img > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.card-img::after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(20,22,30,.05), rgba(20,22,30,.5) 70%, rgba(20,22,30,.82)); }
.card-in { position:relative; z-index:2; padding:clamp(26px,3vw,48px); color:#fff; max-width:680px; }
.card-in .eyebrow { color:rgba(255,255,255,.7); }
.card-in h3 { color:#fff; margin-top:14px; }

/* ---- Split (image + text) ---- */
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,72px); align-items:center; }
.split.rev > .split-media { order:2; }
.split-media { border-radius:6px; overflow:hidden; aspect-ratio:4/3; background:var(--bg-alt); }
.split-media img { width:100%; height:100%; object-fit:cover; }
@media (max-width:820px){ .split{ grid-template-columns:1fr; } .split.rev > .split-media{ order:0; } }

/* ---- Two-col rows (capabilities) ---- */
.rows { border-top:1px solid var(--line); }
.rowx { display:grid; grid-template-columns:minmax(200px,300px) 1fr; gap:clamp(20px,4vw,56px); padding-block:clamp(26px,3vw,40px); border-bottom:1px solid var(--line); align-items:baseline; }
.rowx h3 { font-weight:400; letter-spacing:-0.02em; font-size:clamp(1.2rem,1.6vw,1.5rem); }
.rowx p { color:var(--ink-2); max-width:60ch; }
.rowx .eyebrow { display:block; margin-bottom:10px; }
@media (max-width:680px){ .rowx{ grid-template-columns:1fr; gap:10px; } }

/* ---- Chips ---- */
.chips { display:flex; flex-wrap:wrap; gap:9px; }
.chip { font-size:0.88rem; color:var(--ink-2); border:1px solid var(--line); border-radius:100px; padding:0.4em 0.9em; }

/* ---- Ontology graph (light) ---- */
.graph { position:relative; aspect-ratio:16/8; max-height:440px; border:1px solid var(--line); border-radius:6px; overflow:hidden; background:var(--bg-soft); }
.graph svg.edges { position:absolute; inset:0; width:100%; height:100%; }
.gnode { position:absolute; transform:translate(-50%,-50%); border:1px solid var(--line-2); background:var(--bg);
  border-radius:7px; padding:9px 13px; font-size:0.82rem; color:var(--ink); white-space:nowrap; box-shadow:0 4px 18px rgba(30,31,43,.06); }
.gnode .gk { display:block; font-size:0.62rem; color:var(--ink-3); letter-spacing:.06em; text-transform:uppercase; margin-bottom:3px; }
.gnode.core { border-color:transparent; background:linear-gradient(var(--bg),var(--bg)) padding-box, var(--grad) border-box; border:1.5px solid transparent; }
.gnode.core .gk { color:var(--brand-a); }

/* ---- Big footer (claro, multi-coluna) ---- */
.foot { background:var(--bg-alt); border-top:1px solid var(--line); }
.foot-top { display:grid; grid-template-columns:1.5fr repeat(4,1fr); gap:32px; padding-block:clamp(48px,6vw,84px) 36px; }
.foot h5 { font-size:0.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--eyebrow); font-weight:500; margin-bottom:16px; }
.foot ul { list-style:none; display:grid; gap:10px; }
.foot a { color:var(--ink-2); font-size:0.92rem; transition:color .2s var(--e); }
.foot a:hover { color:var(--ink); }
.foot .blurb { color:var(--ink-2); font-size:0.95rem; max-width:34ch; margin-top:16px; }
.foot-bot { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding:24px 0 44px; border-top:1px solid var(--line); }
.foot-bot p { font-size:0.82rem; color:var(--ink-3); }
@media (max-width:860px){ .foot-top{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .foot-top{ grid-template-columns:1fr; gap:28px; } }

/* ---- Motion (reveal pronunciado, suave — estilo Palantir/GSAP) ---- */
.js [data-rise] { opacity:0; transform:translateY(54px); will-change:opacity, transform; }
.js [data-rise].in { opacity:1; transform:none; transition:opacity 1.05s var(--e), transform 1.15s var(--e); }
@media (prefers-reduced-motion: reduce){ .js [data-rise]{ opacity:1!important; transform:none!important; transition:none!important; } }
/* parallax do hero */
.hero-media img { will-change:transform; }

/* ---- Split reveal (letra-a-letra / palavra-a-palavra amarrado ao scroll,
   igual ao heading da Palantir — opacidade calculada por frame, sem transition,
   pra sentir "colado" no scroll em vez de um fade genérico) ---- */
.js .rv-u { opacity:0; will-change:opacity; }
@media (prefers-reduced-motion: reduce){ .js .rv-u{ opacity:1!important; } }

/* ---- Utilities ---- */
.mt1{ margin-top:14px; } .mt2{ margin-top:26px; } .mt3{ margin-top:42px; } .mt4{ margin-top:64px; }
.flex{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.between{ justify-content:space-between; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,5vw,80px); }
@media (max-width:820px){ .grid2{ grid-template-columns:1fr; } }
.center{ text-align:center; }
.mx{ margin-inline:auto; }
.max-h{ max-width:760px; } .max-m{ max-width:560px; }
.dim{ color:var(--ink-3); }

/* ============================================================
   HOME 2026 — EXECUTIVE INTELLIGENCE INFRASTRUCTURE
   ============================================================ */
.landing-v2 {
  --paper: #ffffff; --paper-2: #ffffff;
  --night: #050505; --night-2: #050505;
  --electric: oklch(66% 0.18 250); --aqua: oklch(77% 0.14 205);
  background:var(--paper); color:var(--night);
}
.skip-link { position:fixed; z-index:1000; left:16px; top:12px; padding:12px 16px; background:var(--paper); color:var(--night); transform:translateY(-150%); transition:transform .2s var(--e); }
.skip-link:focus { transform:none; }
.landing-v2 .wrap { max-width:1580px; }
.landing-v2 .nav { color:var(--paper); }
.landing-v2 .nav.solid { background:color-mix(in oklch,var(--paper) 90%,transparent); color:var(--night); border-color:color-mix(in oklch,var(--night) 14%,transparent); }
.landing-v2 .nav-in { height:82px; }
.brand-mark { width:32px; height:32px; flex:none; }
.landing-v2 .brand { font-size:1.02rem; letter-spacing:-.035em; gap:.7rem; }
.landing-v2 .nav-links a { font-size:.82rem; letter-spacing:.02em; }
.nav-cta { min-height:44px; display:inline-flex; align-items:center; gap:1.5rem; padding:0 1rem; border-bottom:1px solid currentColor; font-size:.8rem; transition:gap .25s var(--e); }
.nav-cta:hover { gap:2rem; }

.hero-v2 { min-height:100svh; background:var(--night); color:var(--paper); isolation:isolate; overflow:hidden; display:flex; align-items:center; text-align:center; }
.hero-grid,.final-grid { position:absolute; inset:0; z-index:-2; opacity:.18; background-image:linear-gradient(to right,color-mix(in oklch,var(--paper) 18%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklch,var(--paper) 18%,transparent) 1px,transparent 1px); background-size:clamp(56px,7vw,118px) clamp(56px,7vw,118px); mask-image:linear-gradient(to bottom,transparent 0%,#000 35%,#000 100%); }
.hero-v2::before { content:""; position:absolute; width:70vw; aspect-ratio:1; top:-45vw; left:-22vw; border-radius:50%; background:radial-gradient(circle,var(--electric),transparent 67%); opacity:.15; filter:blur(50px); z-index:-1; }
.hero-v2-inner { padding-top:clamp(140px,16vh,210px); padding-bottom:clamp(70px,8vh,110px); position:relative; z-index:2; }
.hero-v2 h1 { position:relative; z-index:2; margin-inline:auto; font-size:clamp(2.4rem,5.9vw,6.4rem); line-height:1.02; letter-spacing:-.06em; font-weight:390; white-space:nowrap; }
.hero-v2 h1 em { display:block; font:inherit; color:color-mix(in oklch,var(--paper) 42%,var(--night)); }
.hero-lede { max-width:44ch; margin-top:clamp(28px,4vh,48px); margin-inline:auto; font-size:clamp(1.05rem,1.4vw,1.3rem); line-height:1.5; color:color-mix(in oklch,var(--paper) 74%,transparent); }
.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:32px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:space-between; gap:2.8rem; padding:0 1.2rem; font-size:.83rem; border:1px solid transparent; transition:transform .25s var(--e),background .25s var(--e),color .25s var(--e),gap .25s var(--e); }
.button:hover { transform:translateY(-2px); gap:3.3rem; }
.button-primary { min-width:230px; background:var(--paper); color:var(--night); }
.button-ghost { border-color:color-mix(in oklch,var(--paper) 30%,transparent); color:var(--paper); }
.button-dark { color:var(--paper); background:var(--night); min-width:250px; }
.button-white { background:var(--paper); color:var(--night); min-width:290px; }
.hero-proof { display:flex; justify-content:center; gap:clamp(28px,4vw,72px); margin-top:clamp(54px,7vh,90px); margin-inline:auto; padding-top:22px; border-top:1px solid color-mix(in oklch,var(--paper) 14%,transparent); max-width:760px; }
.hero-proof div { display:grid; gap:2px; justify-items:center; }
.hero-proof strong { color:var(--paper); font-size:.78rem; font-weight:500; }
.hero-proof span { color:color-mix(in oklch,var(--paper) 45%,transparent); font-size:.7rem; }
.hero-index,.section-index { display:flex; flex-direction:column; gap:6px; font-family:var(--mono); font-size:.58rem; letter-spacing:.14em; color:color-mix(in oklch,var(--night) 40%,transparent); }
.hero-index { position:absolute; right:var(--gut); bottom:44px; align-items:flex-end; color:color-mix(in oklch,var(--paper) 36%,transparent); writing-mode:vertical-rl; flex-direction:row; }

.executive-statement { padding-block:clamp(100px,13vw,210px); background:var(--paper); }
.statement-grid { display:grid; grid-template-columns:minmax(120px,1fr) minmax(0,4.2fr); gap:clamp(36px,6vw,100px); }
.statement-v2 { max-width:19ch; font-size:clamp(2.7rem,6vw,7.2rem); line-height:.95; letter-spacing:-.06em; }
.statement-v2 span { color:color-mix(in oklch,var(--night) 24%,var(--paper)); }
.statement-support { margin-top:clamp(54px,7vw,110px); display:grid; grid-template-columns:minmax(0,520px) auto; gap:40px; align-items:end; }
.statement-support p { font-size:clamp(1rem,1.35vw,1.22rem); color:color-mix(in oklch,var(--night) 66%,var(--paper)); line-height:1.55; }
.text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:3rem; padding-block:14px; border-bottom:1px solid currentColor; font-size:.8rem; }

.section-index.light { color:color-mix(in oklch,var(--paper) 36%,transparent); }
.eyebrow-v2 { font-family:var(--mono); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; margin-bottom:18px; color:color-mix(in oklch,currentColor 52%,transparent); }
.value-head h2,.final-inner h2 { font-size:clamp(3rem,6.7vw,7.8rem); line-height:.88; letter-spacing:-.065em; font-weight:390; }
.value-head h2 span,.final-inner h2 span { color:color-mix(in oklch,currentColor 32%,transparent); }

/* Lista editorial de sistemas — uma linha por produto */
.landing-v2 .system-intro { background:var(--paper); color:var(--night); padding-block:clamp(90px,10vw,160px); overflow:visible; }
.system-title { display:grid; grid-template-columns:1fr minmax(280px,.75fr); gap:clamp(40px,8vw,140px); align-items:end; }
.system-title h2 { font-size:clamp(2rem,3.4vw,3.8rem); line-height:1; letter-spacing:-.052em; font-weight:400; }
.system-title p { max-width:42ch; color:color-mix(in oklch,var(--night) 58%,var(--paper)); line-height:1.5; font-size:.92rem; }
.system-list { margin-top:clamp(60px,7vw,110px); border-top:1px solid color-mix(in oklch,var(--night) 13%,transparent); }
.system-row { min-height:clamp(220px,18vw,310px); display:grid; grid-template-columns:minmax(150px,.8fr) minmax(100px,.62fr) minmax(0,3.8fr) 30px; gap:clamp(24px,4vw,72px); align-items:center; border-bottom:1px solid color-mix(in oklch,var(--night) 13%,transparent); position:relative; isolation:isolate; }
.system-row::before { content:""; position:absolute; inset:0; background:var(--paper-2); opacity:0; z-index:-1; transform:scaleY(.82); transition:opacity .3s var(--e),transform .45s var(--e); }
.system-row-meta { align-self:stretch; padding-block:18px 26px; display:flex; flex-direction:column; justify-content:space-between; }
.system-row-meta p { max-width:22ch; font-size:.8rem; line-height:1.08; color:color-mix(in oklch,var(--night) 84%,var(--paper)); }
.system-row-meta span { font-family:var(--mono); font-size:.56rem; color:color-mix(in oklch,var(--night) 42%,transparent); }
.system-row>img { width:clamp(82px,8vw,132px); height:clamp(82px,8vw,132px); object-fit:contain; opacity:.055; transition:opacity .35s var(--e),transform .55s var(--e); }
.system-row h3 { font-size:clamp(4.4rem,9vw,9.5rem); line-height:.82; letter-spacing:-.075em; font-weight:380; transition:transform .45s var(--e); }
.system-row>i { width:28px; height:28px; border:1px solid color-mix(in oklch,var(--night) 15%,transparent); border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:.65rem; opacity:0; transform:translate(-12px,12px); transition:opacity .25s var(--e),transform .4s var(--e); }
@media (hover:hover) {
  .system-row:hover::before { opacity:1; transform:none; }
  .system-row:hover>img { opacity:.86; transform:rotate(2deg) scale(1.04); }
  .system-row:hover h3 { transform:translateX(8px); }
  .system-row:hover>i { opacity:1; transform:none; }
}

.architecture { padding-block:clamp(100px,12vw,190px); background:var(--paper-2); }
.architecture-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(70px,10vw,180px); }
.architecture-copy { display:flex; flex-direction:column; align-items:flex-start; }
.architecture-copy .eyebrow-v2 { margin-top:clamp(54px,8vw,110px); }
.architecture-copy h2,.sectors-grid h2 { font-size:clamp(2.7rem,5vw,6rem); line-height:.95; letter-spacing:-.055em; max-width:12ch; }
.architecture-copy>p:not(.eyebrow-v2) { max-width:40ch; margin-top:32px; color:color-mix(in oklch,var(--night) 63%,var(--paper)); line-height:1.55; }
.architecture-copy .button { margin-top:44px; }
.decision-stack { position:relative; border-top:1px solid color-mix(in oklch,var(--night) 16%,transparent); }
.decision-stack article { min-height:152px; display:grid; grid-template-columns:42px 1fr 24px; gap:24px; padding:26px 0; border-bottom:1px solid color-mix(in oklch,var(--night) 16%,transparent); position:relative; }
.decision-stack article>span,.decision-stack small { font-family:var(--mono); font-size:.57rem; letter-spacing:.1em; text-transform:uppercase; color:color-mix(in oklch,var(--night) 40%,transparent); }
.decision-stack h3 { font-size:clamp(1.5rem,2.3vw,2.25rem); letter-spacing:-.04em; margin-top:6px; }.decision-stack p { font-size:.82rem; max-width:40ch; color:color-mix(in oklch,var(--night) 55%,var(--paper)); margin-top:6px; }
.decision-stack i { width:24px; height:24px; border:1px solid color-mix(in oklch,var(--night) 20%,transparent); border-radius:50%; display:grid; place-items:center; font-style:normal; font-size:.7rem; }
.decision-line { position:absolute; left:15px; top:44px; bottom:44px; width:1px; background:linear-gradient(var(--electric),var(--aqua)); opacity:.65; }

.value-section { background:var(--night); color:var(--paper); padding-block:clamp(100px,12vw,190px); }
.value-head { display:grid; grid-template-columns:minmax(100px,.65fr) 3fr; gap:clamp(38px,6vw,100px); }
.value-list { margin-top:clamp(78px,10vw,150px); border-top:1px solid color-mix(in oklch,var(--paper) 18%,transparent); }
.value-list article { display:grid; grid-template-columns:minmax(50px,.7fr) 1fr 1.3fr; gap:30px; padding:clamp(30px,4vw,60px) 0; border-bottom:1px solid color-mix(in oklch,var(--paper) 18%,transparent); align-items:start; position:relative; isolation:isolate; overflow:hidden; }
.value-list article::before { content:""; position:absolute; inset:0; z-index:-1; background:color-mix(in oklch,var(--paper) 4%,transparent); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--e); }
.value-list article::after { content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--aqua); transform:scaleY(0); transform-origin:center; transition:transform .35s var(--e); }
.value-list article>span { font-family:var(--mono); font-size:.58rem; color:color-mix(in oklch,var(--paper) 38%,transparent); position:relative; z-index:1; }
.value-list h3 { font-size:clamp(2rem,4vw,4.4rem); letter-spacing:-.055em; line-height:.9; position:relative; z-index:1; transition:transform .42s var(--e); }.value-list p { max-width:48ch; color:color-mix(in oklch,var(--paper) 58%,transparent); line-height:1.5; position:relative; z-index:1; transition:color .3s var(--e); }
@media (hover:hover) {
  .value-list article:hover::before { transform:none; }
  .value-list article:hover::after { transform:none; }
  .value-list article:hover h3 { transform:translateX(14px); }
  .value-list article:hover p { color:color-mix(in oklch,var(--paper) 72%,transparent); }
}

.sectors-v2 { background:var(--paper); padding-block:clamp(100px,12vw,190px); }
.sectors-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(70px,10vw,180px); }
.sectors-grid h2 { margin-top:clamp(54px,8vw,110px); }
.sector-links { border-top:1px solid color-mix(in oklch,var(--night) 18%,transparent); }
.sector-links a { min-height:104px; display:grid; grid-template-columns:50px 1fr auto; gap:20px; align-items:center; border-bottom:1px solid color-mix(in oklch,var(--night) 18%,transparent); font-size:clamp(1.35rem,2.5vw,2.5rem); letter-spacing:-.04em; transition:padding .3s var(--e),color .2s var(--e); }
.sector-links a:hover { padding-inline:16px; color:var(--electric); }.sector-links span { font-family:var(--mono); font-size:.57rem; color:color-mix(in oklch,var(--night) 40%,transparent); letter-spacing:0; }.sector-links i { font-style:normal; font-size:.8rem; }

.final-cta { min-height:92svh; position:relative; isolation:isolate; overflow:hidden; background:var(--night-2); color:var(--paper); display:flex; align-items:center; padding-block:clamp(100px,12vw,180px); }
.final-cta::after { content:""; position:absolute; right:-15vw; top:-20vw; width:60vw; aspect-ratio:1; border:1px solid color-mix(in oklch,var(--paper) 12%,transparent); border-radius:50%; box-shadow:0 0 0 8vw color-mix(in oklch,var(--paper) 1.2%,transparent),0 0 0 16vw color-mix(in oklch,var(--paper) 1%,transparent); z-index:-1; }
.final-inner { position:relative; }.final-inner .eyebrow-v2 { margin-top:clamp(50px,8vw,100px); }.final-inner h2 { max-width:10ch; }
.final-inner>p:not(.eyebrow-v2) { margin-top:38px; max-width:43ch; line-height:1.55; color:color-mix(in oklch,var(--paper) 62%,transparent); }.final-inner .button { margin-top:38px; }

.footer-v2 { background:#050505; color:var(--paper); padding-top:72px; }
.footer-main { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; padding-bottom:90px; }
.footer-main>div:not(.footer-brand) { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.footer-main h3 { font-family:var(--mono); font-size:.56rem; text-transform:uppercase; letter-spacing:.14em; color:color-mix(in oklch,var(--paper) 38%,transparent); margin-bottom:10px; }
.footer-main a:not(.brand) { font-size:.78rem; color:color-mix(in oklch,var(--paper) 66%,transparent); }.footer-main a:hover { color:var(--paper); }
.footer-brand p { margin-top:28px; color:color-mix(in oklch,var(--paper) 45%,transparent); font-size:.82rem; line-height:1.5; }
.footer-bottom { min-height:70px; border-top:1px solid color-mix(in oklch,var(--paper) 12%,transparent); display:flex; align-items:center; justify-content:space-between; gap:20px; color:color-mix(in oklch,var(--paper) 35%,transparent); font-family:var(--mono); font-size:.52rem; letter-spacing:.08em; text-transform:uppercase; }

@media (max-width:1024px) {
  .architecture-grid { gap:70px; }.value-list article { grid-template-columns:50px .8fr 1.2fr; }
  .footer-main { grid-template-columns:1.5fr repeat(3,1fr); }
}
@media (max-width:760px) {
  .landing-v2 .nav-in { height:68px; }.landing-v2 .nav-links { inset:68px 0 auto; background:var(--paper); color:var(--night); visibility:hidden; opacity:0; }.landing-v2 .nav-links.open { visibility:visible; opacity:1; }.landing-v2 .nav-links a { font-size:1.1rem; }.nav-cta { display:none; }
  .hero-v2 { min-height:860px; align-items:stretch; }.hero-v2-inner { padding-top:150px; padding-bottom:52px; display:flex; flex-direction:column; }
  .hero-v2 h1 { font-size:clamp(2.4rem,10.5vw,4rem); line-height:1.04; white-space:normal; text-wrap:balance; }.hero-lede { margin-top:auto; font-size:1rem; max-width:33ch; }
  .hero-actions { flex-direction:column; align-items:stretch; }.button { width:100%; }.hero-proof { gap:15px; justify-content:space-between; margin-top:36px; }.hero-proof div:nth-child(2) { display:none; }.hero-index { display:none; }
  .statement-grid,.architecture-grid,.value-head,.sectors-grid { grid-template-columns:1fr; }.statement-v2 { font-size:clamp(2.7rem,13vw,4.2rem); }.statement-support { grid-template-columns:1fr; gap:28px; }.statement-support .text-link { width:max-content; }
  .architecture-grid { gap:80px; }.architecture-copy .eyebrow-v2,.sectors-grid h2 { margin-top:44px; }.decision-stack article { grid-template-columns:32px 1fr 24px; gap:14px; }
  .value-head { gap:48px; }.value-list article { grid-template-columns:38px 1fr; gap:16px; }.value-list p { grid-column:2; }
  .sectors-grid { gap:70px; }.sector-links a { min-height:86px; }.final-cta { min-height:auto; }.final-inner h2 { font-size:clamp(3.2rem,15vw,5.4rem); }
  .footer-main { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:1/-1; margin-bottom:28px; }.footer-main>div:last-child { grid-column:1/-1; margin-top:22px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; justify-content:center; padding-block:24px; }
  .system-title { grid-template-columns:1fr; gap:24px; }
  .system-title p { max-width:34ch; }
  .system-row { min-height:220px; grid-template-columns:68px minmax(0,1fr) 24px; gap:18px; padding-block:18px; }
  .system-row-meta { grid-column:1/-1; min-height:58px; padding:0; flex-direction:row; align-items:flex-start; gap:20px; }
  .system-row-meta p { max-width:31ch; font-size:.75rem; }
  .system-row-meta span { order:-1; flex:none; padding-top:2px; }
  .system-row>img { width:62px; height:62px; opacity:.12; }
  .system-row h3 { font-size:clamp(3.4rem,18vw,5rem); }
  .system-row>i { opacity:1; transform:none; border:0; }
}
@media (pointer:coarse) { .nav-cta,.sector-links a,.footer-main a { min-height:44px; } }
@media (prefers-reduced-motion:reduce) { .button,.value-list article::before,.value-list article::after,.value-list h3,.sector-links a { transition:none !important; } }
