@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(assets/manrope.woff2) format("woff2")}

body{margin:0;background:#F8FCFD}
html{scroll-behavior:smooth}
*{box-sizing:border-box}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid #25B8D3;outline-offset:3px;border-radius:8px}
.nav-link{padding:10px 14px;border-radius:999px;color:#31465A;font-weight:600;font-size:15px;transition:background .2s,color .2s}
.nav-link:hover{background:#E8F5F6;color:#087F96}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;min-height:48px;border:0}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(120deg,#0A8F73,#0B7F96);color:#fff;box-shadow:0 10px 24px -10px rgba(8,127,150,.7)}
.btn-primary:hover{box-shadow:0 16px 30px -10px rgba(8,127,150,.8)}
.btn-ghost{background:#fff;color:#101C2D;border:1px solid #DCEBF0}
.btn-ghost:hover{background:#F0F9FA}
.card{background:#fff;border:1px solid #DCEBF0;border-radius:24px;box-shadow:0 1px 2px rgba(16,28,45,.04),0 12px 32px -18px rgba(8,127,150,.25);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(16,28,45,.04),0 22px 40px -18px rgba(8,127,150,.35)}
.grid-bg{background-image:linear-gradient(#DCEBF0 1px,transparent 1px),linear-gradient(90deg,#DCEBF0 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);opacity:.5}
.tab{padding:12px 22px;border-radius:999px;border:1px solid #DCEBF0;background:#fff;color:#31465A;font:700 15px Manrope,sans-serif;cursor:pointer;min-height:48px;transition:all .2s}
.tab:hover{background:#F0F9FA}
.tab[aria-selected="true"]{background:#101C2D;color:#fff;border-color:#101C2D}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;background:none;border:0;padding:24px 28px;font:700 18px Manrope,sans-serif;color:#101C2D;text-align:left;cursor:pointer;min-height:64px}
.burger{display:none}
.features-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.features-grid>.card{height:100%}
@media(max-width:1100px){.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.features-grid>.card:last-child{grid-column:1/-1}}
@media(max-width:720px){.features-grid{grid-template-columns:minmax(0,1fr)}.features-grid>.card{grid-column:1/-1!important}}
.rise{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.float{animation:float 7s ease-in-out infinite}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes reveal{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.rv-pre{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)!important}
.rv-pre.rv-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
 main > section h2,main > section h2 + p,main > section .card,main > section ol > li,#planos > div > div:last-child,main > section:last-child > div,footer > div{animation:none!important}
}
@media (max-width:900px){
 .nav-desk,.hdr-cta{display:none!important}
 .burger{display:inline-flex!important}
 .float-card{display:none!important}
 .hero-mock{transform:none!important}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .rise,.float{animation:none}
 .btn,.card{transition:none}
}

[hidden]{display:none!important}.crm-capture{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f8fcfd}.brand-mark{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:132px;height:36px;color:#101c2d;font-size:18px;font-weight:500;letter-spacing:-.6px;white-space:nowrap}.brand-mark img{display:block;object-fit:contain}.brand-mark b{font-weight:800}.price-unit{display:block;margin-top:4px;font-size:14px;line-height:1.5;letter-spacing:0;font-weight:500;color:#4a6073}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;padding:12px 18px;border:2px solid #087f96;border-radius:12px}.skip-link:focus{top:12px}section[id]{scroll-margin-top:100px}
.contact-dialog,.legal-dialog{font-family:Manrope,system-ui,sans-serif;color:#101c2d;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dcebf0;border-radius:28px;padding:30px;box-shadow:0 30px 90px #06303c55;background:#fff}.contact-dialog::backdrop,.legal-dialog::backdrop{background:#06303c77;backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dialog-head h2{margin:4px 0;font-size:28px;letter-spacing:-1px}.dialog-head .eyebrow{font-size:12px;font-weight:700;color:#087f96;margin:0}.dialog-close{background:#edf7f8;border:1px solid #dcebf0;border-radius:50%;font-size:24px;cursor:pointer;flex:none;width:38px;height:38px;color:#31465a}.dialog-intro{color:#4a6073;font-size:14px;line-height:1.6}#lead-form{display:flex;flex-direction:column;gap:9px}#lead-form label:not(.consent){font-size:13px;font-weight:700;margin-top:8px}#lead-form input:not([type=checkbox]),#lead-form select{font:inherit;font-size:15px;width:100%;min-height:48px;padding:10px 12px;border:1px solid #c5dce2;border-radius:12px;background:#fbfefe;color:#101c2d}#lead-form small{font-size:11px;color:#4a6073}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:#4a6073;margin:12px 0}.consent input{flex:none;width:18px;height:18px;accent-color:#087f96}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.submit-button{border:0;font:inherit;cursor:pointer;min-height:50px;width:100%}.submit-button:disabled{opacity:.7;cursor:default}.preview-note{font-size:11px;color:#4a6073;line-height:1.6}.form-error,.form-success{padding:12px;border-radius:12px;font-size:13px;line-height:1.5}.form-error{background:#fff1ef;color:#9c3222}.form-success{background:#e3f6f1;color:#096b55}.legal-dialog p{font-size:14px;line-height:1.8;color:#4a6073}
@media(max-width:600px){footer>div:first-child>div:first-child{grid-column:1/-1!important}.contact-dialog,.legal-dialog{padding:22px;border-radius:22px}.crm-capture{min-height:0!important}}
