/* KP Investimentos — réplica do visual original (tema Flatsome, Montserrat, azul-marinho + turquesa) */
:root {
  --navy: #1f2338;
  --navy-box: #131e34;
  --teal: #33cccc;
  --teal-dark: #17859b;
  --input: #474f61;
  --text: #777;
  --title: #555;
  --font: "Montserrat", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 70px; }
body { margin: 0; font: 300 15px/1.6 var(--font); color: var(--text); background: #fff; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--teal); text-decoration: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--font); }
p { margin: 0 0 1em; }
.container { width: min(1050px, 100% - 30px); margin-inline: auto; }
.accent { color: var(--teal); }
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 10px; top: 10px; z-index: 100; background: #fff; color: #000; padding: 8px 12px; }

/* Cabeçalho transparente que fica escuro ao rolar */
.header { position: fixed; inset: 0 0 auto; z-index: 50; transition: background .3s, box-shadow .3s; background: linear-gradient(rgba(0,0,0,.25), transparent); }
.header.is-scrolled { background: rgba(31, 35, 56, .97); box-shadow: 0 1px 6px rgba(0,0,0,.25); }
.header__inner { display: flex; align-items: center; height: 96px; gap: 20px; transition: height .3s; }
.header.is-scrolled .header__inner { height: 70px; }
.logo img { width: 200px; }
.nav { display: flex; gap: 10px; margin-left: auto; }
.nav a { color: #fff; font-weight: 500; font-size: .92em; padding: 8px 0; transition: opacity .2s; }
.nav a:hover { opacity: .75; }
.nav a.nav__muted { color: rgba(255,255,255,.65); }
.header__right { display: flex; align-items: center; gap: 14px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.2); }
.social { display: flex; gap: 6px; }
.social a { display: grid; place-items: center; width: 22px; height: 22px; color: #fff; transition: opacity .2s; }
.social a:hover { opacity: .7; }
.social svg { width: 17px; height: 17px; fill: currentColor; }
.social svg.stroke { fill: none; stroke: currentColor; stroke-width: 2; }
.social svg.stroke circle:last-child { fill: currentColor; }
.lang { display: flex; gap: 2px; }
.lang button { background: none; border: 1px solid transparent; color: rgba(255,255,255,.6); font: 500 11px/1 var(--font); padding: 4px 6px; border-radius: 3px; cursor: pointer; }
.lang button[aria-pressed="true"] { color: #fff; border-color: rgba(255,255,255,.5); }
.menu-btn { display: none; background: none; border: 0; width: 36px; height: 36px; padding: 6px; cursor: pointer; }
.menu-btn span { display: block; height: 2px; background: #fff; margin: 5px 0; }

/* Hero: a imagem de fundo já traz o azul-marinho e a onda turquesa */
/* O original usa parallax que desloca a imagem para baixo: só a crista das ondas aparece */
.hero { min-height: 830px; background: var(--navy) url(../img/hero_11.jpg) center 300px / max(1920px, 100%) auto no-repeat; color: #fff; padding-top: 110px; display: flex; }
.hero .container { display: flex; flex-direction: column; }
.hero__row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 15px; min-height: 420px; }
.hero h1 { font-size: clamp(2.2rem, 4.4vw, 2.9rem); font-weight: 900; line-height: 1.25; color: #fff; margin-bottom: .9em; }
.hero__text p { font-weight: 400; font-size: 1rem; }
/* Linhas com pontos: High Growth / Cash Generation / Professional Teams */
.hero__points { position: relative; height: 360px; }
.point { position: absolute; top: 0; width: 2px; background: var(--teal-dark); }
.point::before { content: ""; position: absolute; top: -6px; left: -5px; width: 12px; height: 12px; border-radius: 50%; background: var(--teal-dark); }
.point span { position: absolute; left: 18px; top: 10px; white-space: nowrap; font-weight: 500; font-size: .88em; color: #fff; }
.point--1 { left: 4%; height: 335px; }
.point--2 { left: 43%; top: 58px; height: 200px; }
.point--3 { left: 77%; top: 22px; height: 328px; }
.point--3 span { white-space: normal; width: 90px; text-align: center; top: 12px; }
.hero__boxes { display: flex; justify-content: center; gap: 30px; margin: 10px 0 0 -120px; }
.hbox { width: 240px; display: flex; flex-direction: column; align-items: center; text-align: center; font-weight: 400; }
.hbox img { width: 44px; height: 44px; margin-bottom: 20px; }
.hbox strong { font-weight: 400; display: block; }

/* What we do: fundo com imagem clara e véu branco */
.whatwedo { position: relative; padding: 53px 0 80px; background: url(../img/bg_finance-scaled.jpg) 53% 34% / cover no-repeat; }
.whatwedo::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.86); }
.whatwedo .container { position: relative; }
.supertitle { text-transform: uppercase; font-weight: 400; font-size: .95em; margin-bottom: .2em; }
.whatwedo h2 { font-size: 1.6em; font-weight: 900; color: var(--title); margin-bottom: .7em; }
.whatwedo .subtitle { margin-bottom: 3.5em; }
.features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.feature { display: flex; gap: 15px; align-items: flex-start; }
.feature img { width: 52px; height: 52px; flex-shrink: 0; }
.feature strong { font-weight: 400; color: #444; }

/* Start here: imagem com as ondas turquesa */
.starthere { min-height: 400px; padding: 60px 0; color: #fff; background: var(--navy) url(../img/background_angel-investors.jpg) 46% 0% / cover no-repeat; }
.starthere__row { display: grid; grid-template-columns: 7fr 5fr; gap: 30px; align-items: start; }
.starthere .supertitle { margin-top: 10px; }
.starthere h2 { font-size: 2em; font-weight: 900; color: #fff; margin-bottom: .5em; }
.starthere .subtitle { font-weight: 400; max-width: 600px; }
.premium { font-size: 1.6em; font-weight: 900; line-height: 1.25; margin-top: 42px; color: #fff; }

/* Formulários "flat" com campos arredondados */
.flat-form { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.flat-form input[type=text], .flat-form input[type=email] { width: 100%; height: 35px; padding: 0 11px; border-radius: 99px; border: 1px solid rgba(255,255,255,.12); background: var(--input); color: #fff; font: 400 .97em var(--font); }
.flat-form input::placeholder { color: #fff; opacity: 1; }
.flat-form input:focus { outline: none; border-color: var(--teal); }
.flat-form input.is-invalid { border-color: #e05a5a; }
.flat-form input[type=file] { color: #fff; font: 400 .97em var(--font); background: var(--input); border-radius: 99px; padding: 1px 2px; max-width: 100%; }
.flat-form input[type=file]::file-selector-button { font: 400 13px Arial, sans-serif; border-radius: 99px 0 0 99px; border: 1px solid #bbb; background: #f2f2f2; padding: 2px 8px; margin-right: 6px; cursor: pointer; }
.button { background: var(--teal); color: #fff; border: 0; border-radius: 99px; padding: 0 18px; height: 34px; font: 400 .97em var(--font); letter-spacing: .03em; text-transform: uppercase; cursor: pointer; transition: box-shadow .3s, opacity .3s; }
.button:hover { box-shadow: inset 0 0 0 100px rgba(0,0,0,.2); }
.form-status { margin: 0; font-size: .85em; font-weight: 400; color: #fff; text-align: center; min-height: 1.2em; }

/* Come join: caixa azul sobre fundo claro */
.comejoin { position: relative; min-height: 670px; padding: 50px 0; display: flex; align-items: center; background: url(../img/blog1.jpg) 100% 10% / cover no-repeat; }
.comejoin::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.89); }
.comejoin .container { position: relative; }
.join-box { max-width: 956px; margin-inline: auto; background: var(--navy-box); border-radius: 21px; padding: 46px 34px; text-align: center; color: #fff; }
.join-box h2 { font-size: 1.6em; font-weight: 900; color: #fff; margin-bottom: .6em; }
.join-sub { font-weight: 400; margin-bottom: 15px; }
.divider { width: 146px; height: 1px; background: #434343; margin: 0 auto 15px; }

/* Rodapé */
.footer { background: #fff; padding: 30px 0 20px; font-size: .97em; }
.footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding: 10px 0 30px; }
.footer h4 { font-weight: 700; letter-spacing: .05em; color: #777; font-size: .97em; text-transform: uppercase; }
.small-divider { width: 30px; height: 3px; background: rgba(0,0,0,.1); margin: 1em 0; }
.footer p { color: #a88e6e; }
.footer__cols > div:last-child p { color: var(--text); }
.footer__cols a { color: var(--text); }
.footer__cols a:hover { color: var(--teal); }
.social--footer { gap: 4px; }
.social--footer a { color: var(--teal); }
.footer__bottom { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding: 20px 0 30px; font-size: .9em; color: #999; }
.footer__bottom p { margin: 0; }

/* Responsivo */
@media (max-width: 849px) {
  .menu-btn { display: block; }
  .header__inner { height: 70px; }
  .logo { margin-inline: auto; }
  .logo img { width: 160px; }
  .nav { position: fixed; inset: 0 auto 0 0; width: 260px; flex-direction: column; gap: 0; padding: 80px 20px 20px; background: var(--navy); transform: translateX(-100%); transition: transform .3s; box-shadow: 4px 0 20px rgba(0,0,0,.3); z-index: -1; }
  .nav.is-open { transform: none; }
  .nav a { text-transform: uppercase; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .header__right { border: 0; padding: 0; }
  .social--header { display: none; }
  .hero { min-height: 0; padding: 150px 0 140px; background-position: center calc(100% + 560px); }
  .hero__row { grid-template-columns: 1fr; min-height: 0; }
  .hero__points { display: none; }
  .hero__boxes { flex-direction: column; align-items: center; margin: 40px 0 0; }
  .features, .starthere__row, .footer__cols { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: center; text-align: center; }
}
