/* Aparência do site. Cores principais em :root. */

:root{--blue:#315bfa;
--ink:#111c30;
--lime:#c6f58c;
--muted:#6b778a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;
font:15px/1.6 Arial,Helvetica,sans-serif;
color:var(--ink)}
button,input,select{font:inherit}
a{color:inherit;
text-decoration:none}
button,a{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #89a0ff;
outline-offset:4px}
button{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2{letter-spacing:-1.8px;
line-height:1.06}
h1{font-size:clamp(42px,5vw,78px)}
h2{font-size:clamp(32px,3.4vw,48px)}
p{color:var(--muted)}
.wrap{max-width:1300px;
margin:auto;
padding:0 6%}
.mockup-label{background:#eaf0ff;
color:#4562ad;
text-align:center;
font-size:9px;
letter-spacing:.6px;
padding:6px 12px}
header{padding:23px 0;
border-bottom:1px solid #ffffff18;
background:var(--ink);
color:#fff}
header .wrap{display:flex;
justify-content:space-between;
align-items:center;
gap:30px}
header img{width:155px}
nav{display:flex;
align-items:center;
gap:30px;
font-size:12px}
.button{display:inline-flex;
align-items:center;
justify-content:center;
gap:24px;
background:var(--blue);
border:1px solid var(--blue);
color:white;
padding:13px 20px;
border-radius:7px;
font-size:12px;
font-weight:bold}
.button.outline{background:none;
border-color:#59657a}
.button.lime{background:var(--lime);
border-color:var(--lime);
color:var(--ink)}
.menu-toggle{display:none;
background:none;
border:1px solid #fff4;
border-radius:5px;
color:#fff;
padding:4px 12px}
.hero{background:var(--ink);
color:white;
overflow:hidden;
position:relative}
.hero .wrap{position:relative;
display:grid;
grid-template-columns:1.15fr .85fr;
align-items:center;
min-height:615px;
padding-top:70px;
padding-bottom:80px;
gap:20px}
.eyebrow{font-size:10px;
font-weight:bold;
letter-spacing:1.7px;
margin-bottom:22px;
display:block;
color:var(--muted)}
.hero .eyebrow{color:#bcc8e2}
.hero h1 span{color:var(--lime)}
.hero p{font-size:15px;
max-width:480px;
color:#aebbd0;
margin:28px 0}
.hero-actions{display:flex;
gap:12px}
.hero-art{width:112%;
margin-left:0;
filter:drop-shadow(0 32px 35px #0002)}
.hero-art img{width:100%;
transform:rotate(-7deg)}
.art-caption{color:#9bacc9;
font-size:10px;
letter-spacing:1.8px;
position:absolute;
bottom:38px;
right:8%}
.proof-strip{border-bottom:1px solid #e1e5ed}
.proof-strip .wrap{display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
padding-top:24px;
padding-bottom:24px}
.proof-strip span{font-size:9px;
letter-spacing:1.5px;
color:#7c889b}
.proof-strip b{font-size:12px;
font-weight:500}
.section{padding:90px 0}
.section-head{display:flex;
justify-content:space-between;
align-items:flex-end;
gap:40px;
margin-bottom:45px}
.section-head p{max-width:360px;
font-size:14px}
.solutions{display:grid;
grid-template-columns:repeat(4,1fr);
gap:0;
border-top:1px solid #e1e5ed}
.solution{padding:30px 24px 10px 0}
.solution+.solution{padding-left:24px;
border-left:1px solid #e1e5ed}
.solution>span{color:var(--blue);
font-size:28px;
display:block;
margin-bottom:25px}
.solution h3{font-size:18px;
line-height:1.3;
margin-bottom:14px;
letter-spacing:-.4px}
.solution p{font-size:13px;
line-height:1.7}
.method{background:#f5f7fc}
.method-grid{display:grid;
grid-template-columns:1fr 1fr;
gap:10%;
align-items:start}
.method-intro p{margin-top:25px;
font-size:14px;
max-width:400px}
.method-intro .formula{font-size:16px;
font-weight:700;
color:var(--ink);
line-height:1.9;
margin-top:34px}
.formula em{font-style:normal;
color:var(--blue)}
.steps{border-top:1px solid #d8dfea}
.step{display:grid;
grid-template-columns:40px 1fr;
gap:10px;
border-bottom:1px solid #d8dfea;
padding:25px 0}
.step>span{color:var(--blue);
font-size:11px;
font-weight:bold;
padding-top:4px}
.step h3{font-size:18px;
margin-bottom:8px}
.step p{font-size:13px}
.network{display:grid;
grid-template-columns:1fr 1fr;
gap:10%;
align-items:center}
.network-visual{background:var(--blue);
padding:55px 45px;
border-radius:3px;
min-height:370px;
color:white;
position:relative;
overflow:hidden}
.network-visual img{width:180px;
margin-bottom:45px}
.network-visual strong{font-size:31px;
line-height:1.2;
letter-spacing:-1px;
position:relative;
z-index:1}
.network-visual:after{content:'';
position:absolute;
right:-40px;
bottom:-60px;
width:240px;
height:240px;
border:50px solid #ffffff14;
transform:rotate(-25deg)}
.network-text p{font-size:14px;
margin-top:25px}
.network-tags{display:flex;
flex-wrap:wrap;
gap:9px;
margin-top:25px}
.network-tags span{border:1px solid #dce3f0;
padding:7px 13px;
border-radius:20px;
font-size:11px}
.cta{background:var(--ink);
color:#fff;
padding:65px 0}
.cta .wrap{display:flex;
justify-content:space-between;
align-items:center;
gap:35px}
.cta p{color:#aebbd0;
max-width:480px;
font-size:14px;
margin-top:20px}
footer{padding:38px 0}
.footer-top{display:flex;
justify-content:space-between;
align-items:center;
gap:30px;
padding-bottom:25px;
border-bottom:1px solid #e1e5ed}
.footer-top img{width:140px}
.footer-top span{font-size:11px;
color:var(--muted)}
.footer-bottom{display:flex;
justify-content:space-between;
gap:30px;
padding-top:22px;
font-size:10px;
color:#8792a4}
dialog{border:0;
border-radius:15px;
padding:36px;
max-width:470px;
width:90%;
color:var(--ink);
box-shadow:0 25px 70px #0003}
dialog::backdrop{background:#111c3099;
backdrop-filter:blur(4px)}
dialog h2{font-size:31px;
letter-spacing:-1px;
margin-bottom:16px}
dialog p{font-size:13px;
margin-bottom:20px}
dialog label{display:block;
font-size:11px;
font-weight:bold;
margin:13px 0}
dialog input,dialog select{display:block;
width:100%;
padding:10px 12px;
border:1px solid #ccd5e4;
border-radius:5px;
margin-top:5px;
color:var(--ink);
background:white;
font-size:13px}
.close{position:absolute;
right:14px;
top:10px;
background:none;
border:0;
font-size:23px;
color:#68778b}
.form-note{font-size:10px!important;
color:#8190a5}
.form-result{background:#eef8e4;
padding:20px;
border-radius:8px;
margin-top:18px}
.form-result p{margin:7px 0}
.form-result b{font-size:15px}
.section,section[id]{scroll-margin-top:15px}
@media(max-width:760px){.wrap{padding:0 7%}
header{padding:20px 0}
header img{width:135px}
.menu-toggle{display:block}
header .wrap{position:relative}
nav{display:none;
position:absolute;
top:55px;
left:0;
right:0;
background:#17243b;
padding:20px 7%;
flex-direction:column;
align-items:stretch;
gap:20px;
z-index:30}
nav.open{display:flex}
.hero .wrap{grid-template-columns:1fr;
padding-top:55px;
padding-bottom:55px;
min-height:0}
.hero h1{font-size:46px;
letter-spacing:-2px}
.hero p{font-size:14px;
max-width:100%;
margin:22px 0}
.hero-actions{flex-wrap:wrap}
.hero-art{width:66%;
margin:20px auto -20px;
opacity:.95}
.art-caption{display:none}
.proof-strip .wrap{flex-wrap:wrap;
gap:10px 24px;
padding-top:20px;
padding-bottom:20px}
.proof-strip span{width:100%;
font-size:9px}
.proof-strip b{font-size:11px}
.section{padding:58px 0}
.section-head{display:block;
margin-bottom:30px}
.section-head p{margin-top:22px;
max-width:100%}
.solutions{grid-template-columns:1fr 1fr}
.solution{padding:25px 15px 20px 0!important}
.solution+.solution{padding-left:15px!important}
.solution:nth-child(3){border-left:0;
padding-left:0!important}
.solution:nth-child(n+3){border-top:1px solid #e1e5ed}
.solution h3{font-size:16px}
.solution p{font-size:12px}
.solution>span{margin-bottom:15px}
.method-grid,.network{grid-template-columns:1fr;
gap:35px}
.method-intro h2{font-size:37px}
.network-visual{padding:40px 35px;
min-height:310px}
.network-text h2{font-size:37px}
.cta .wrap{display:block}
.cta .button{margin-top:26px}
.cta h2{font-size:36px}
.footer-top,.footer-bottom{align-items:flex-start;
flex-direction:column;
gap:20px}
.footer-bottom{font-size:9px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
}


/* Contatos oficiais e formulário conectado ao servidor. */
.footer-contact-grid {display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:32px 0;border-bottom:1px solid #e1e5ed;}
.footer-label {display:block;font-size:10px;letter-spacing:1.5px;color:#6b778a;font-weight:bold;margin-bottom:12px;}
.footer-email {color:#315bfa;font-weight:bold;font-size:18px;overflow-wrap:anywhere;}
.footer-contact-grid p,.footer-contact-grid address {font-size:13px;line-height:1.9;color:#6b778a;font-style:normal;}
.footer-contact-grid p {margin-top:9px;}
dialog {max-width:550px;max-height:90vh;max-height:90dvh;overflow-y:auto;}
.form-columns {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
dialog textarea {display:block;width:100%;padding:10px 12px;border:1px solid #ccd5e4;border-radius:5px;margin-top:5px;color:#111c30;background:#fff;font:13px/1.6 Arial,Helvetica,sans-serif;resize:vertical;min-height:100px;}
dialog textarea:focus-visible {outline:3px solid #89a0ff;outline-offset:4px;}
.optional {color:#8190a5;font-weight:normal;}
.form-error {padding:12px 14px;border-radius:6px;background:#fff2f0;color:#a12622;font-size:12px;line-height:1.6;margin:16px 0;}
.form-honeypot {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
button:disabled {opacity:.65;cursor:wait;}
#success-title {font-size:19px;line-height:1.4;}
[hidden] {display:none!important;}
@media(max-width:760px) {.footer-contact-grid {grid-template-columns:1fr;gap:25px}.footer-email {font-size:16px}.form-columns{grid-template-columns:1fr;gap:0}dialog{padding:28px 22px}}
