:root{--deep:#031923;--petrol:#082f40;--teal:#24c9c5;--cyan:#75dfea;--paper:#f5f8f9;--ink:#09243a;--muted:#637783;--line:rgba(8,31,42,.13);--max:1360px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 128px));margin:auto}.eyebrow{font-size:.7rem;letter-spacing:.23em;text-transform:uppercase;font-weight:600}.icon{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;color:inherit}.icon use{pointer-events:none}.arrow{display:inline-block;transition:.25s}.cta:hover .arrow{transform:translateX(5px)}h1,h2,h3,p{max-width:100%}header{height:88px;position:absolute;z-index:10;left:0;right:0;border-bottom:1px solid #ffffff20;color:#fff}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{line-height:1}.brand strong{font-size:1.28rem;letter-spacing:.28em;font-weight:500}.brand span{display:block;font-size:.51rem;letter-spacing:.28em;margin-top:8px}.menu{display:flex;gap:30px;font-size:.78rem}.menu a{padding:34px 0}.menu .active{border-bottom:2px solid var(--teal)}.languages{font-size:.68rem;letter-spacing:.14em}.contact{padding:10px 19px;border:1px solid #ffffff6d;border-radius:99px;font-size:.78rem}
.hero{min-height:770px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(2,18,26,.99),rgba(2,20,29,.86) 46%,rgba(2,20,29,.1) 78%),url("/img/v2/jellyfish.webp") 58% center/cover}.hero:after,.dark:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(116deg,transparent 0 170px,#24c9c508 171px,transparent 172px);pointer-events:none}.hero-copy{position:relative;z-index:2;padding-top:200px;width:52%;max-width:690px}.hero h1{font-size:clamp(4rem,6.6vw,7.3rem);font-weight:500;letter-spacing:-.065em;line-height:.92;margin:22px 0 30px}.hero h1 em{font-style:normal;color:var(--cyan)}.hero p{max-width:600px;color:#ffffffb5}.hero-actions{display:flex;gap:20px;align-items:center;margin-top:34px}.play{width:42px;height:42px;border:1px solid #ffffff73;border-radius:50%;display:grid;place-items:center;color:var(--cyan)}.hero-note{position:absolute;z-index:2;right:5%;top:235px;font-size:.66rem;line-height:2;letter-spacing:.2em;text-transform:uppercase;color:#a7d8df}.hero-note.bottom{top:auto;bottom:110px}
.approach{padding:100px 0 115px;background:#fff}.approach-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px;align-items:end}.approach h2,.principles h2,.core h2,.filter h2,.current h2,.paths h2,.compound h2,.partner h2,.final h2{font-size:clamp(2.65rem,4.3vw,4.8rem);font-weight:500;line-height:1.05;letter-spacing:-.055em;margin:15px 0 22px}.approach-head p{color:var(--muted);max-width:730px}.journey{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-top:75px}.phase{position:relative;border-top:1px solid var(--line);padding-top:25px}.phase:not(:last-child):after{content:"→";position:absolute;right:-17px;top:68px;color:#65a5b2}.phase .number{font-size:.66rem;color:#0d7287;letter-spacing:.16em}.phase-icon .icon{width:30px;height:30px}.phase-icon{width:88px;height:88px;border-radius:42% 58% 60% 40%/50% 38% 62% 50%;display:grid;place-items:center;margin:19px 0;background:radial-gradient(circle at 35% 30%,#386778,#092330 70%);box-shadow:inset 0 0 20px #ffffff30;color:var(--cyan);font-size:1.5rem;transform:rotate(var(--r,0deg))}.phase h3{font-size:1rem;margin:0 0 10px}.phase p{font-size:.78rem;color:var(--muted);min-height:74px}.phase a{font-size:.72rem;color:#0c7891}
.principles{padding:100px 0;background:#f2f6f7}.split-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:end}.split-head>p{color:var(--muted)}.principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.principle{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px}.principle span,.filter-card span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e4f1f3;color:#0d7f91;margin-bottom:22px}.principle strong{font-size:.86rem}.principle p{font-size:.77rem;color:var(--muted)}
.dark{position:relative;overflow:hidden;background:radial-gradient(circle at 62% 42%,#0a4a5d,var(--petrol) 35%,var(--deep) 76%);color:#fff}.core{padding:110px 0}.core-layout{position:relative;z-index:2;display:grid;grid-template-columns:.65fr .62fr .73fr;gap:70px;align-items:center}.core-copy p{color:#ffffff9c}.core-stack{position:relative;height:360px;display:grid;place-items:center}.layer{position:absolute;width:270px;height:95px;border:1px solid #75dfea6e;border-radius:50%;background:#0b60795c;box-shadow:0 0 35px #24c9c525;transform:translateY(var(--y))}.layer:nth-child(1){--y:-85px}.layer:nth-child(2){--y:-30px}.layer:nth-child(3){--y:25px}.layer:nth-child(4){--y:80px}.core-stack strong{z-index:2;margin-top:260px;font-size:.7rem;letter-spacing:.18em}.cap-list{display:grid;gap:19px}.cap{border-left:1px solid var(--teal);padding-left:18px}.cap strong{display:block;font-size:.86rem}.cap span{font-size:.68rem;color:#ffffff84}.cta{display:inline-flex;align-items:center;gap:23px;padding:14px 23px;border:1px solid currentColor;border-radius:99px;font-size:.78rem;font-weight:600;margin-top:24px}
.filter{padding:105px 0;background:#fff}.filter-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.filter-intro p{color:var(--muted)}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.filter-card{padding:22px;border:1px solid var(--line);background:#fafcfc}.filter-card strong{font-size:.82rem}.filter-card p{font-size:.72rem;color:var(--muted);margin-bottom:0}.evidence{margin-top:45px;padding:28px;border-left:2px solid var(--teal);background:#eef6f7}.evidence strong{display:block;font-size:1.05rem}.evidence p{margin-bottom:0;color:var(--muted);font-size:.84rem}
.current{padding:110px 0}.current-layout{position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.current p{color:#ffffff9c}.venture-card{min-height:320px;border:1px solid #75dfea45;background:linear-gradient(90deg,#051d28f2,#04192366),url("/img/v2/hero-oceantek-v3.webp") 65% center/cover;padding:36px;display:flex;flex-direction:column;justify-content:space-between}.status{display:inline-flex;align-items:center;gap:8px;width:max-content;padding:7px 11px;border:1px solid #75dfea66;border-radius:99px;font-size:.64rem;color:var(--cyan)}.status:before{content:"";width:6px;height:6px;background:var(--teal);border-radius:50%}.venture-card h3{font-size:2rem;font-weight:500;margin:12px 0}.venture-card p{max-width:520px;font-size:.85rem}.venture-card a{font-size:.76rem;color:var(--cyan)}
.paths{padding:100px 0;background:#fff}.paths-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:end}.paths-head p{color:var(--muted)}.path-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:58px;border-top:1px solid var(--line)}.path{padding:24px 20px;border-right:1px solid var(--line)}.path:last-child{border-right:0}.path span{color:var(--teal);font-size:1.2rem}.path strong{display:block;font-size:.84rem;margin:17px 0 8px}.path p{font-size:.72rem;color:var(--muted)}
.compound{padding:115px 0}.compound-layout{position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;align-items:center}.compound-copy p{color:#ffffff9c;max-width:470px}.compound-kicker{display:flex;align-items:center;gap:15px;margin-top:30px;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cyan)}.compound-kicker:before{content:"";width:30px;height:1px;background:var(--teal)}.infinity{position:relative;min-height:410px}.infinity svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.loop-track{fill:none;stroke:#75dfea29;stroke-width:22;filter:url(#softGlow)}.loop-line{fill:none;stroke:url(#loopGradient);stroke-width:1.8}.loop-arrow{fill:none;stroke:#24c9c5;stroke-width:1.7;marker-end:url(#arrowhead)}.loop-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:128px;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid #79e4ec66;background:radial-gradient(circle,#0a5266,#031923 72%);box-shadow:0 0 44px #24c9c52b;color:var(--cyan);font-size:.62rem;letter-spacing:.15em}.loop-node{position:absolute;z-index:2;font-size:.7rem;color:#ffffffa8}.loop-node b{display:block;color:#fff;font-size:.86rem;font-weight:500}.ln1{left:18%;top:10%}.ln2{right:15%;top:11%;text-align:right}.ln3{right:9%;bottom:16%;text-align:right}.ln4{left:50%;bottom:3%;transform:translateX(-50%);text-align:center}.ln5{left:6%;bottom:18%}.compound-note{position:absolute;right:-30px;top:50%;transform:translateY(-50%);font-size:.62rem;line-height:1.8;letter-spacing:.17em;text-transform:uppercase;color:#79e4ec80}
.partner{padding:0;background:#f8fbfc}.partner-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:0;min-height:560px}.partner-copy{padding:92px 80px 82px 0;align-self:center}.partner p{color:var(--muted);max-width:560px}.partner-capabilities{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:30px 0 5px;border-top:1px solid var(--line)}.partner-capabilities span{padding:13px 12px 13px 0;border-bottom:1px solid var(--line);font-size:.72rem;color:#496774}.partner-capabilities span:before{content:"";display:inline-block;width:6px;height:6px;border:1px solid var(--teal);border-radius:50%;margin-right:9px}.partner-visual{position:relative;min-height:560px;background:linear-gradient(90deg,#f8fbfc22,#0319231f),url("/img/v2/investors-hero-v1.webp") 62% center/cover;overflow:hidden}.partner-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8fbfc 0%,transparent 24%,rgba(3,25,35,.14))}.visual-words{position:absolute;z-index:2;right:40px;bottom:38px;padding-left:22px;border-left:1px solid var(--teal);color:#fff;font-size:.66rem;line-height:1.9;letter-spacing:.18em;text-transform:uppercase}.partner-signature{margin-top:18px;color:#07879b;font-size:.7rem;letter-spacing:.08em}.final{padding:95px 0;background:var(--deep);color:#fff}.final-layout{display:flex;justify-content:space-between;align-items:end;gap:70px}.final p{color:#ffffff90}.actions{display:flex;gap:12px;flex-wrap:wrap}.final .cta{margin-top:0}.final .cta.primary{background:#fff;color:var(--deep);border-color:#fff}
footer{background:#02131b;color:#fff;padding:62px 0 26px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:75px}.footer-col strong{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase}.footer-col a{display:block;color:#ffffff85;margin-top:9px;font-size:.78rem}.footer-bottom{border-top:1px solid #ffffff1f;margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;color:#ffffff61;font-size:.68rem}.reveal{opacity:0;transform:translateY(20px);transition:.75s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1040px){.wrap{width:calc(100% - 56px)}.menu{display:none}.hero-copy{width:64%}.approach-head,.split-head,.core-layout,.filter-grid,.current-layout,.paths-head,.compound-layout,.partner-layout{grid-template-columns:1fr;gap:42px}.journey{grid-template-columns:repeat(3,1fr)}.principle-grid{grid-template-columns:1fr 1fr}.core-stack{height:300px}.path-grid{grid-template-columns:repeat(3,1fr)}.infinity{max-width:760px;width:100%;margin:auto}.compound-note{right:0}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}header{height:76px}.languages{display:none}.contact{padding:8px 12px}.brand strong{font-size:1rem}.hero{min-height:720px;background-position:61% center}.hero-copy{padding-top:160px;width:100%}.hero h1{font-size:3.65rem}.hero-note{display:none}.approach,.principles,.core,.filter,.current,.paths,.compound,.partner,.final{padding:76px 0}.approach h2,.principles h2,.core h2,.filter h2,.current h2,.paths h2,.compound h2,.partner h2,.final h2{font-size:2.65rem}.journey{grid-template-columns:1fr 1fr}.phase:not(:last-child):after{display:none}.principle-grid,.filters,.path-grid{grid-template-columns:1fr}.core-stack{height:280px}.layer{width:230px}.current-layout{gap:25px}.venture-card{min-height:380px}.infinity{min-height:340px}.compound-note{display:none}.loop-core{width:102px;height:102px}.loop-node{font-size:.6rem}.loop-node b{font-size:.72rem}.ln1{left:13%}.ln2{right:10%}.ln3{right:4%}.ln5{left:2%}.partner-layout{grid-template-columns:1fr}.partner-copy{padding:76px 0 58px}.partner-visual{min-height:360px;margin:0 -20px}.partner-capabilities{grid-template-columns:1fr}.final-layout{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:7px}}
.phase-icon{width:100%;height:116px;border-radius:0;margin:14px 0 18px;background-color:transparent;background-image:url("/img/v2/venture-stages-v1.webp");background-repeat:no-repeat;background-size:500% 100%;box-shadow:none;transform:none!important}
.phase:nth-child(1) .phase-icon{background-position:0 50%}.phase:nth-child(2) .phase-icon{background-position:25% 50%}.phase:nth-child(3) .phase-icon{background-position:50% 50%}.phase:nth-child(4) .phase-icon{background-position:75% 50%}.phase:nth-child(5) .phase-icon{background-position:100% 50%}.phase-icon .icon{display:none}
.venture-card{background:linear-gradient(90deg,#041923f5 0%,#041923c7 46%,#0419233d 100%),url("/img/v2/passgo-swarm-v1.webp") 67% center/cover no-repeat}
.partner-visual{background:linear-gradient(90deg,#f8fbfc12,#03192322),url("/img/v2/build-with-us-v1.webp") 62% center/cover no-repeat}
@media(max-width:760px){.phase-icon{height:150px;background-size:500% 100%}.venture-card{background-position:63% center}.partner-visual{background-position:72% center}}

/* Complementos comuns a todas as páginas do site v2.
   Carregado DEPOIS do CSS da página, então pode corrigir/estender o layout.
   Regras de aparência de cada página ficam em css/v2/pages/<pagina>.css. */

/* --- Fallback sem JS ------------------------------------------------------
   O layout original esconde os blocos .reveal com opacity:0 e só os mostra
   via IntersectionObserver. Sem JS (ou se o script falhar) a página ficava
   em branco. A classe .js é adicionada no <head> antes da renderização. */
html:not(.js) .reveal { opacity: 1 !important; transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .arrow, .link .arrow { transition: none !important; transform: none !important; }
  .reveal { opacity: 1 !important; }
  html { scroll-behavior: auto; }
}

/* --- Claim do footer (era style inline no layout original) --- */
.footer-claim { color: rgba(255,255,255,.6); margin-top: 24px; }

/* --- Foco visível: acessibilidade de teclado --- */
a:focus-visible, button:focus-visible {
  outline: 2px solid #24c9c5;
  outline-offset: 3px;
  border-radius: 3px;
}

/* --- Navegação mobile -----------------------------------------------------
   O layout original simplesmente escondia o menu abaixo de 980px, deixando o
   site sem navegação no celular. Aqui entra um menu lateral acessível. */
.nav-toggle {
  display: none;
  position: relative;
  /* Acima do drawer: o botão vira o "X" que fecha o menu. */
  z-index: 70;
  width: 44px; height: 44px;
  margin-left: auto;
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.nav-toggle[aria-expanded="true"] { color: #fff; }
.nav-toggle span {
  display: block;
  height: 2px; width: 22px;
  margin: 0 auto;
  background: currentColor;
  transition: transform .25s, opacity .25s;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-drawer {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(320px, 84vw);
  z-index: 60;
  background: #031923;
  color: #fff;
  padding: 92px 32px 32px;
  transform: translateX(100%);
  transition: transform .3s ease;
  overflow-y: auto;
}
.nav-drawer[hidden] { display: block; visibility: hidden; }
.nav-drawer.open { transform: translateX(0); visibility: visible; }
.nav-close {
  position: absolute;
  top: 26px; right: 26px;
  width: 40px; height: 40px;
  padding: 0;
  background: none;
  border: 0;
  color: #fff;
  cursor: pointer;
}
.nav-close span {
  position: absolute;
  top: 50%; left: 9px;
  width: 22px; height: 2px;
  background: currentColor;
}
.nav-close span:nth-child(1) { transform: rotate(45deg); }
.nav-close span:nth-child(2) { transform: rotate(-45deg); }

.nav-drawer nav { display: flex; flex-direction: column; gap: 4px; }
.nav-drawer a {
  padding: 14px 0;
  font-size: 1.05rem;
  color: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.nav-drawer a.active, .nav-drawer a:hover { color: #24c9c5; }

.nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: rgba(3,20,30,.6);
  opacity: 0;
  transition: opacity .3s;
}
.nav-backdrop.open { opacity: 1; }

body.nav-open { overflow: hidden; }

@media (max-width: 1040px) {
  .nav-toggle { display: flex; }
  header .nav { gap: 16px; }
}

/* No celular o botão "Fale conosco" disputa espaço com o hambúrguer e quebra
   em duas linhas — o mesmo link já está dentro do menu lateral como "Contato". */
@media (max-width: 620px) {
  header .pill, header .contact { display: none; }
}
@media (min-width: 1041px) {
  .nav-drawer, .nav-backdrop { display: none !important; }
}

/* --- Imagens responsivas: o layout usa fotos grandes em grids --- */
img { max-width: 100%; }

