:root{--navy:#0b2a5b;--blue:#1a8cff;--orange:#ff7a1a;--yellow:#ffb81c;--purple:#7c5cf0;--green:#12b886;--bg:#fbf9f6;--ink:#33415c}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block}
.c-blue{color:var(--blue)}.c-orange{color:var(--orange)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:96px 0;position:relative}
.eyebrow{font-weight:600;letter-spacing:.35em;text-transform:uppercase;font-size:.85rem;color:var(--navy);margin-bottom:14px}
h1,h2,h3{font-family:'Baloo 2','Poppins',sans-serif;color:var(--navy);line-height:1.1}
h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800}
h2 span{color:var(--blue)}
.lead{font-size:1.15rem;max-width:680px;margin:16px auto 0}
.center{text-align:center}

/* nav */
nav{position:fixed;inset:0 0 auto;z-index:50;background:rgba(251,249,246,.85);backdrop-filter:blur(10px);border-bottom:1px solid #0b2a5b14}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
nav .brand{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-weight:800;font-size:1.4rem;color:var(--navy);text-decoration:none}
nav .brand img{height:34px}nav .brand b{color:var(--orange)}
nav ul{display:flex;gap:26px;list-style:none;padding:0}
nav a{color:var(--navy);text-decoration:none;font-weight:500;font-size:.92rem}
nav a:hover{color:var(--blue)}
@media(max-width:820px){nav ul{display:none}}

/* hero */
.hero{min-height:100vh;display:grid;place-items:center;text-align:center;padding-top:96px;background:url(../img/hero-bg.png) center/cover}
.hero img.logo{width:min(300px,60vw);margin:0 auto 10px}
.hero h1{font-size:clamp(3.2rem,10vw,6.5rem);font-weight:800}
.hero h1 b{background:linear-gradient(90deg,var(--blue),var(--orange));-webkit-background-clip:text;color:transparent}
.hero p{letter-spacing:.4em;font-weight:600;color:var(--navy);margin-top:6px;font-size:clamp(.8rem,2vw,1.1rem)}
.btn{display:inline-block;margin-top:34px;padding:14px 32px;border-radius:99px;background:var(--blue);color:#fff;text-decoration:none;font-weight:600;box-shadow:0 10px 26px #1a8cff55;transition:.2s}
.btn:hover{transform:translateY(-2px)}

/* visão */
.visao{background:linear-gradient(180deg,#fff,#fff6ec)}
.visao .grid{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.visao .txt{font-size:1.3rem;color:var(--navy)}
.visao .txt p+p{margin-top:20px}
.visao .photo{border-radius:28px;overflow:hidden;box-shadow:0 24px 60px #0b2a5b33;aspect-ratio:4/3;position:relative}
.visao .photo img{width:100%;height:100%;object-fit:cover}
.salmo{margin-top:64px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.salmo h3{font-size:1.2rem;letter-spacing:.3em}
.salmo ol{list-style:none;padding:0;margin-top:18px;display:grid;gap:12px}
.salmo li{display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 6px 20px #0b2a5b10}
.salmo li i{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-weight:700}
.salmo li i.blue{background:#dcecff;color:var(--navy)}.salmo li i.orange{background:#ffe7d2;color:#c4560a}
.salmo .quote{text-align:center}
.salmo .quote img{max-height:420px;margin:0 auto}
.salmo .quote blockquote{font-family:'Baloo 2';font-size:1.6rem;color:var(--navy);margin-top:10px;font-weight:700}
@media(max-width:820px){.visao .grid,.salmo{grid-template-columns:1fr}}

/* problema */
.problema{background:var(--navy);color:#dbe6ff;overflow:hidden}
.problema h2{color:#fff}.problema .eyebrow{color:var(--yellow)}
.problema .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.problema p{font-size:1.15rem}.problema p+p{margin-top:18px}
.problema strong{color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:10px 18px;border-radius:99px;background:#ffffff14;border:1px solid #ffffff30;font-weight:500}
.problema::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border-radius:50%;background:var(--orange);opacity:.18}
@media(max-width:820px){.problema .grid{grid-template-columns:1fr}}

/* hub */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:56px}
.card{background:#fff;border-radius:24px;padding:28px 20px;text-align:center;box-shadow:0 10px 34px #0b2a5b14;transition:.25s;border-top:5px solid var(--c)}
.card:hover{transform:translateY(-8px)}
.card .ico{width:64px;height:64px;border-radius:18px;margin:0 auto 14px;display:grid;place-items:center;background:var(--c)}
.card svg{width:34px;height:34px;fill:#fff}
.card h3{font-size:1.3rem;text-transform:uppercase}
.card p{font-size:.92rem;margin-top:8px}
.card.blue{--c:var(--blue)}.card.orange{--c:var(--orange)}.card.yellow{--c:var(--yellow)}.card.purple{--c:var(--purple)}.card.green{--c:var(--green)}
.core{margin:48px auto 0;width:max-content;max-width:100%;display:flex;align-items:center;gap:14px;background:#fff;padding:18px 40px;border-radius:30px;box-shadow:0 16px 44px #0b2a5b22;font-family:'Baloo 2';font-size:2rem;font-weight:800;color:var(--navy)}
.core img{height:56px}.core b{color:var(--orange)}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}

/* pilares */
.pilares{background:linear-gradient(180deg,#eef6ff,#fff3e6)}
.pil{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;margin-top:56px}
.box{background:#fff;border-radius:30px;padding:36px 28px;box-shadow:0 16px 50px #0b2a5b1a;text-align:center}
.box .ico{width:72px;height:72px;border-radius:20px;margin:0 auto 12px;display:grid;place-items:center}
.box.m .ico{background:var(--blue)}.box.p .ico{background:var(--orange)}
.box svg{width:40px;height:40px;fill:#fff}
.box h3{font-size:2.2rem;letter-spacing:.04em}
.box>p{margin-top:4px}
.tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.tags span{padding:10px 16px;border-radius:14px;font-weight:600;font-size:.9rem;color:var(--navy)}
.m .tags span{background:#e4f0ff}.p .tags span{background:#ffeadb}
.loop{text-align:center;font-family:'Baloo 2';font-size:1.5rem;font-weight:800;color:var(--navy);max-width:220px;line-height:1.25}
.loop .arrow{font-size:3.4rem;line-height:1}.loop .a1{color:var(--blue)}.loop .a2{color:var(--orange)}
.loop hr{border:0;border-top:2px solid #0b2a5b22;margin:14px 30px}
@media(max-width:900px){.pil{grid-template-columns:1fr}.loop{margin:0 auto}}

/* ecossistema */
.eco .grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center}
.eco h2{margin-bottom:18px}
.bens{display:grid;gap:14px;margin-top:28px}
.ben{display:flex;gap:16px;align-items:center;background:#fff;border-radius:18px;padding:16px 20px;box-shadow:0 8px 26px #0b2a5b12}
.ben i{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-style:normal;font-size:1.3rem}
.ben:nth-child(1) i{background:#dcecff}.ben:nth-child(2) i{background:#ffe7d2}.ben:nth-child(3) i{background:#ece6ff}
.ben strong{color:var(--navy);display:block}
.eco .shot{border-radius:26px;box-shadow:0 24px 60px #0b2a5b2e;width:100%}
@media(max-width:900px){.eco .grid{grid-template-columns:1fr}}

/* encerramento */
.fim{background:linear-gradient(135deg,#0b2a5b,#14498f);color:#e5eeff;padding-bottom:0}
.fim .eyebrow{color:var(--yellow)}
.fim h2{color:#fff}
.fim .motto{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:'Baloo 2';font-size:1.3rem;font-weight:700;margin:20px 0}
.fim .motto b:nth-child(1){color:#59b3ff}.fim .motto b:nth-child(2){color:#ffa04d}.fim .motto b:nth-child(3){color:#8fc6ff}
.fim .grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.fim p.big{font-size:1.2rem}.fim p.big strong{color:#fff}
.verse{margin-top:28px;background:#ffffff14;border-left:4px solid var(--orange);border-radius:0 18px 18px 0;padding:18px 22px}
.verse small{letter-spacing:.2em;color:var(--yellow);font-weight:600}
.verse blockquote{font-family:'Baloo 2';font-size:1.4rem;color:#fff;font-weight:700;line-height:1.25;margin:6px 0}
.fim .shot{border-radius:26px 26px 0 0;width:100%}
footer{background:#071b3d;color:#9fb3d9;text-align:center;padding:26px 20px;font-size:.9rem}
@media(max-width:900px){.fim .grid{grid-template-columns:1fr}}

.blob{position:absolute;pointer-events:none;z-index:0}
.blob.tl{top:0;left:0;width:340px}.blob.br{bottom:0;right:0;width:420px}
.wrap{position:relative;z-index:1}
@media(max-width:700px){.blob{opacity:.5;width:200px!important}}

/* wordmark (logo_nome) */
nav .brand img{height:30px}
.hero h1 .wordmark{width:min(560px,86vw);margin:0 auto}
.core img{height:64px}
.fim h2 .wordmark{width:min(380px,80vw)}

/* rodapé */
.site-footer{background:#fff;text-align:center;padding:48px 20px 40px;color:#4b5563;font-size:.95rem}
.site-footer img{height:46px;margin:0 auto 22px}
.site-footer p{max-width:900px;margin:0 auto}
.site-footer .links{margin-top:22px}
.site-footer a{color:var(--orange);text-decoration:none}
.site-footer a:hover{text-decoration:underline}

/* páginas legais */
.legal{padding:110px 0 70px}
.doc{background:#fff;border-radius:24px;padding:40px;box-shadow:0 10px 34px #0b2a5b14;max-width:820px;margin:0 auto}
.doc h1{font-size:2.2rem}
.doc .upd{color:#8a94a6;font-size:.8rem;margin:4px 0 24px}
.doc h2{font-size:1.2rem;margin:26px 0 8px}
.doc p{margin-bottom:12px}
.doc ul{margin:0 0 12px 22px}.doc li{margin-bottom:6px}
.doc strong{color:var(--navy)}
.doc a{color:var(--orange)}
@media(max-width:600px){.doc{padding:24px}}

/* pilares: tiles com ícones */
.pil{grid-template-columns:1fr 230px 1fr}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:104px;padding:12px 6px;border-radius:18px;background:#fff;border:1px solid #0b2a5b0d;box-shadow:0 6px 18px #0b2a5b12;font-size:.82rem;font-weight:500;color:var(--navy);line-height:1.2;overflow-wrap:anywhere;transition:.2s}
.tile:hover{transform:translateY(-3px);box-shadow:0 12px 26px #0b2a5b1c}
.ti{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 14%,#fff)}
.ti svg{width:24px;height:24px;fill:var(--tc)}
.ti.blue{--tc:var(--blue)}.ti.orange{--tc:var(--orange)}.ti.yellow{--tc:var(--yellow)}.ti.purple{--tc:var(--purple)}.ti.green{--tc:var(--green)}.ti.red{--tc:#f04e4e}
.m.box{background:linear-gradient(180deg,#eaf3ff,#fff 70%)}
.p.box{background:linear-gradient(180deg,#fff1e4,#fff 70%)}
.tiles .tile:nth-last-child(-n+2):nth-child(7){grid-column:1}
.m .tiles .tile:nth-child(7){grid-column:1 / span 1}
.loop{max-width:none;position:relative;display:grid;place-items:center}
.loop .cycle{width:210px;height:210px;grid-area:1/1}
.loop .cycle-txt{grid-area:1/1;font-size:1.1rem;width:130px}
.loop .cycle-txt hr{margin:8px 14px}
@media(max-width:1100px){.pil{grid-template-columns:1fr}.loop{margin:0 auto}}
@media(max-width:480px){.tiles{grid-template-columns:repeat(2,1fr)}}

/* ajuste ciclo e tiles */
.pilares .wrap{max-width:1240px}
.pil{grid-template-columns:1fr 280px 1fr;gap:20px;align-items:stretch}
.box{padding:32px 20px;display:flex;flex-direction:column}
.box .tiles{margin-top:auto;padding-top:24px}
.tile{font-size:.78rem;overflow-wrap:normal;word-break:normal;hyphens:none;padding:12px 4px}
.loop .cycle{width:280px;height:280px}
.loop .cycle path{stroke-width:9}
.loop .cycle-txt{width:150px;font-size:.98rem;line-height:1.2}
@media(max-width:1100px){.pil{grid-template-columns:1fr}.loop{margin:0 auto}}
