:root {
  --bg: #050d12;
  --bg-2: #08151d;
  --panel: #0c1b24;
  --panel-2: #102632;
  --text: #f4f7f8;
  --muted: #9eb0ba;
  --line: rgba(255,255,255,.10);
  --gold: #d7ad4f;
  --gold-2: #f0ca71;
  --green: #4cc18c;
  --blue: #60a5fa;
  --violet: #a78bfa;
  --container: min(1120px, calc(100% - 40px));
  --shadow: 0 24px 70px rgba(0,0,0,.32);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--text); background: var(--bg); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
.container { width: var(--container); margin-inline: auto; }
.eyebrow { display: inline-block; color: var(--gold-2); font-size: .76rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.site-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid rgba(255,255,255,.07); background: rgba(5,13,18,.88); backdrop-filter: blur(16px); }
.header-inner { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand img { width: 178px; max-height: 58px; object-fit: contain; }
.header-link { padding: 10px 14px; border: 1px solid rgba(215,173,79,.32); border-radius: 999px; color: var(--gold-2); font-size: .84rem; font-weight: 850; }
.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 50% 16%, rgba(215,173,79,.12), transparent 30%), linear-gradient(180deg,#07131a 0%,#050d12 100%); }
.hero-grid-bg { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero-inner { position: relative; min-height: 76vh; max-width: 900px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 90px 0 80px; }
.hero h1 { max-width: 900px; margin: 14px 0 18px; font-size: clamp(2.8rem, 7vw, 5.8rem); line-height: .98; letter-spacing: -.055em; }
.hero-lead { max-width: 720px; margin: 0; color: #b7c7cf; font-size: clamp(1.02rem,2.2vw,1.25rem); line-height: 1.65; }
.hero-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
.hero-pills span { padding: 9px 13px; border: 1px solid var(--line); border-radius: 999px; color: #d5e0e5; background: rgba(255,255,255,.035); font-size: .84rem; font-weight: 750; }

.hero-actions { display:flex; flex-direction:column; align-items:center; gap:14px; margin-top:32px; }
.hero-primary-cta { min-width:300px; }
.hero-secondary-link { display:inline-flex; align-items:center; gap:7px; color:#c8d6dd; font-size:.88rem; font-weight:800; text-decoration:none; opacity:.9; }
.hero-secondary-link:hover { color:var(--gold-2); }
.scroll-cue { display: inline-flex; align-items: center; gap: 9px; margin-top: 38px; color: var(--gold-2); font-weight: 850; }
.proof-strip { border-block: 1px solid rgba(255,255,255,.07); background: #071118; }
.proof-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.proof-grid > div { min-height: 108px; padding: 22px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.07); }
.proof-grid > div:last-child { border-right: 0; }
.proof-grid strong { color: var(--gold-2); font-size: 1.06rem; }
.proof-grid span { margin-top: 5px; color: var(--muted); font-size: .83rem; line-height: 1.4; }
.journey-section { padding: 92px 0 96px; background: linear-gradient(180deg,#071118,#08151d 58%,#061016); }
.journey-wrap { max-width: 920px; }
.section-heading { max-width: 840px; margin-bottom: 48px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading h2 { margin: 10px 0 14px; font-size: clamp(2rem,4.6vw,3.4rem); line-height: 1.04; letter-spacing: -.04em; }
.section-heading p { margin: 0; color: var(--muted); font-size: 1.03rem; line-height: 1.65; }
.journey-flow { position: relative; display: grid; gap: 0; max-width: 800px; margin-inline: auto; }
.journey-card { position: relative; display: grid; grid-template-columns: 92px 1fr; gap: 22px; align-items: center; min-height: 188px; padding: 28px; border: 1px solid var(--line); border-radius: 24px; background: linear-gradient(145deg,rgba(18,38,50,.98),rgba(8,20,28,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.22); }
.card-kicker { grid-column: 1/-1; display: flex; align-items: center; gap: 8px; margin-bottom: -4px; color: #8fa3ae; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.card-kicker span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: #071118; background: var(--gold-2); font-size: .68rem; letter-spacing: 0; }
.card-icon { width: 82px; height: 82px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; color: var(--gold-2); background: radial-gradient(circle at 30% 25%,rgba(255,255,255,.08),transparent 46%),rgba(255,255,255,.035); font-weight: 950; font-size: 1.35rem; box-shadow: inset 0 0 0 1px rgba(255,255,255,.025); }
.card-copy small { color: var(--gold-2); font-size: .73rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.card-copy h3 { margin: 6px 0 8px; font-size: clamp(1.35rem,3vw,1.8rem); line-height: 1.06; }
.card-copy p { margin: 0; color: #aebdc5; line-height: 1.55; }
.skill-card .card-icon { color: #bdebd7; border-color: rgba(76,193,140,.28); background-color: rgba(76,193,140,.08); }
.reward-card { border-color: rgba(215,173,79,.34); background: linear-gradient(145deg,rgba(54,42,15,.28),rgba(10,23,31,.98)); }
.reward-card .card-icon { color: #081118; border-color: rgba(240,202,113,.55); background: linear-gradient(145deg,#e4bd60,#f4d98e); }
.stage-superfinal { border-color: rgba(96,165,250,.25); }
.stage-superfinal .card-icon { color: #dbeafe; border-color: rgba(96,165,250,.32); background-color: rgba(96,165,250,.08); }
.definitive-card { border-color: rgba(167,139,250,.28); background: linear-gradient(145deg,rgba(37,25,67,.30),rgba(10,22,30,.98)); }
.definitive-card .card-icon { color: #eee8ff; border-color: rgba(167,139,250,.32); background-color: rgba(167,139,250,.09); }
.flow-connector { min-height: 78px; display: grid; place-items: center; position: relative; color: #7f929d; font-size: .76rem; font-weight: 800; text-align: center; }
.flow-connector::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: linear-gradient(var(--gold),rgba(215,173,79,.12)); }
.flow-connector span { position: relative; z-index: 1; padding: 7px 12px; border: 1px solid rgba(215,173,79,.16); border-radius: 999px; background: #08151d; }
.self-sustain-band { margin: 22px 0; padding: 22px 24px; border: 1px solid rgba(76,193,140,.34); border-radius: 20px; text-align: center; background: linear-gradient(135deg,rgba(76,193,140,.11),rgba(76,193,140,.035)); }
.self-sustain-band strong { display: block; color: #bcebd6; font-size: 1rem; }
.self-sustain-band span { display: block; max-width: 650px; margin: 7px auto 0; color: #9db6aa; font-size: .86rem; line-height: 1.5; }
.journey-disclaimer { max-width: 780px; margin: 34px auto 0; color: #748792; text-align: center; font-size: .78rem; line-height: 1.55; }
.partner-mini { padding: 62px 0; border-block: 1px solid var(--line); background: #071118; }
.partner-mini-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 44px; align-items: center; }
.partner-mini-copy h2 { margin: 9px 0 12px; font-size: clamp(1.8rem,3.4vw,2.65rem); line-height: 1.06; letter-spacing: -.035em; }
.partner-mini-copy p { max-width: 650px; margin: 0; color: var(--muted); line-height: 1.6; }
.partner-logos { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.partner-logos div { min-width: 145px; min-height: 88px; padding: 14px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.035); }
.partner-logos img { max-width: 155px; max-height: 62px; object-fit: contain; }
.partner-logos span { color: #6f828d; font-weight: 900; }
.section { padding: 84px 0; }
.authority-section { background: #08151d; }
.authority-layout { display: grid; grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr); gap: 56px; align-items: center; }
.authority-photo { position: relative; min-height: 440px; overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: #0b1a23; box-shadow: var(--shadow); }
.authority-photo > img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; }
.authority-badge { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(4,12,17,.82); backdrop-filter: blur(12px); }
.authority-badge strong,.authority-badge span { display:block; }
.authority-badge span { margin-top: 4px; color:#aebdc5; font-size:.86rem; }
.authority-copy h2 { margin: 9px 0 18px; font-size: clamp(2rem,4vw,3.1rem); line-height: 1.05; letter-spacing: -.04em; }
.authority-copy p { color: var(--muted); line-height: 1.65; }
.authority-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin-top:24px; }
.authority-stats > div { padding:16px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.035); }
.authority-stats strong,.authority-stats span { display:block; }
.authority-stats strong { color:var(--gold-2); }
.authority-stats span { margin-top:4px; color:#9fb0b9; font-size:.82rem; }
.final-cta { padding: 92px 0; background: radial-gradient(circle at 50% 0,rgba(215,173,79,.11),transparent 40%),linear-gradient(180deg,#061016,#040a0e); }
.final-panel { max-width: 880px; margin-inline:auto; padding: 52px; border: 1px solid rgba(215,173,79,.22); border-radius: 30px; text-align: center; background: linear-gradient(145deg,rgba(18,38,50,.88),rgba(7,17,24,.96)); box-shadow: var(--shadow); }
.final-panel > img { width: 220px; max-height: 92px; margin: 0 auto 24px; object-fit:contain; }
.final-panel h2 { margin: 10px 0 16px; font-size: clamp(2rem,4.6vw,3.45rem); line-height: 1.04; letter-spacing:-.045em; }
.final-panel p { max-width:650px; margin:0 auto 26px; color:#b5c4cc; line-height:1.6; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:14px 22px; border-radius:14px; font-weight:900; }
.btn-primary { color:#071118; background:linear-gradient(135deg,#d8ae51,#f0cf80); box-shadow:0 14px 30px rgba(215,173,79,.17); }
.btn-large { min-height:58px; padding:16px 28px; font-size:1rem; }
.final-panel small { display:block; max-width:680px; margin:18px auto 0; color:#778b96; line-height:1.5; }
footer { background:#040a0e; color:#91a4ae; }
.footer-inner { min-height:112px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.footer-inner img { width:160px; max-height:72px; object-fit:contain; }
.footer-inner p { margin:0; text-align:right; }
.image-unavailable::after { content:"Imagem indisponível"; display:grid; place-items:center; min-height:140px; color:#81939d; background:#0b1a23; }

@media (max-width: 900px) {
  .proof-grid { grid-template-columns: repeat(2,1fr); }
  .proof-grid > div:nth-child(2) { border-right:0; }
  .proof-grid > div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.07); }
  .partner-mini-grid,.authority-layout { grid-template-columns:1fr; }
  .partner-logos { justify-content:flex-start; }
  .authority-photo { max-width:620px; }
}

@media (max-width: 640px) {
  :root { --container: min(100% - 28px, 620px); }
  .site-header { position: relative; }
  .header-inner { min-height:68px; }
  .brand img { width:150px; max-height:50px; }
  .header-link { padding:9px 11px; font-size:.76rem; }
  .hero-inner { min-height: 70vh; padding: 72px 0 64px; }
  .hero h1 { font-size: clamp(2.55rem,13.3vw,4.2rem); }
  .hero-lead { font-size:.98rem; }
  .hero-pills { gap:7px; }
  .hero-pills span { padding:8px 10px; font-size:.76rem; }

  .hero-actions { width:100%; margin-top:26px; gap:12px; }
  .hero-primary-cta { width:100%; min-width:0; }
  .hero-secondary-link { font-size:.82rem; }
  .proof-grid { grid-template-columns:1fr 1fr; }
  .proof-grid > div { min-height:94px; padding:16px 14px; }
  .proof-grid strong { font-size:.92rem; }
  .proof-grid span { font-size:.73rem; }
  .journey-section { padding: 70px 0 72px; }
  .section-heading { margin-bottom:34px; }
  .section-heading h2 { font-size:2.15rem; }
  .section-heading p { font-size:.95rem; }
  .journey-card { grid-template-columns:64px 1fr; gap:16px; min-height:0; padding:21px 18px; border-radius:20px; }
  .card-kicker { margin-bottom:0; font-size:.65rem; }
  .card-kicker span { width:24px; height:24px; font-size:.62rem; }
  .card-icon { width:60px; height:60px; border-radius:17px; font-size:1rem; }
  .card-copy small { font-size:.65rem; }
  .card-copy h3 { margin:5px 0 6px; font-size:1.27rem; }
  .card-copy p { font-size:.88rem; line-height:1.48; }
  .flow-connector { min-height:58px; font-size:.68rem; }
  .flow-connector span { padding:6px 9px; }
  .self-sustain-band { margin:18px 0; padding:18px 16px; }
  .self-sustain-band strong { font-size:.93rem; }
  .self-sustain-band span { font-size:.79rem; }
  .partner-mini { padding:48px 0; }
  .partner-mini-grid { gap:26px; }
  .partner-mini-copy h2 { font-size:2rem; }
  .partner-logos { gap:9px; }
  .partner-logos div { min-width:0; flex:1; min-height:72px; padding:10px; }
  .partner-logos img { max-width:120px; max-height:50px; }
  .section { padding:64px 0; }
  .authority-photo { min-height:360px; }
  .authority-photo > img { min-height:360px; }
  .authority-stats { grid-template-columns:1fr 1fr; gap:9px; }
  .authority-stats > div { padding:13px; }
  .authority-stats strong { font-size:.86rem; }
  .authority-stats span { font-size:.75rem; }
  .final-cta { padding:70px 0; }
  .final-panel { padding:34px 20px; border-radius:24px; }
  .final-panel > img { width:180px; }
  .final-panel h2 { font-size:2.25rem; }
  .btn-large { width:100%; min-height:58px; }
  .footer-inner { padding:24px 0; flex-direction:column; align-items:flex-start; }
  .footer-inner p { text-align:left; font-size:.84rem; }
}
