/* ─── Partners ─────────────────────────────────────────── */
.partners{background:#fff;padding:1.5rem 0;border-bottom:1px solid hsl(220 15% 90%/.4)}
.partners p{text-align:center;font-size:.875rem;color:hsl(220 10% 46%);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}
.partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:center;justify-items:center;max-width:1280px;margin:0 auto;padding:0 1rem}
@media(min-width:768px){.partners-grid{grid-template-columns:repeat(7,1fr)}}
.partners-grid img{width:100%;max-height:60px;object-fit:contain}
.partners-grid img:last-child{grid-column:span 3}
@media(min-width:768px){.partners-grid img:last-child{grid-column:span 1}}

/* ─── Section shared ────────────────────────────────────── */
.section-padding{padding:4rem 1rem}
@media(min-width:768px){.section-padding{padding:6rem 1rem}}
.section-alt{background:hsl(220 40% 98%)}
.section-title{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:700;color:hsl(220 20% 15%);text-align:center;margin-bottom:1rem}
@media(min-width:768px){.section-title{font-size:2.25rem}}
.section-sub{text-align:center;color:hsl(220 10% 46%);max-width:42rem;margin:0 auto 3rem}

/* ─── For Who ───────────────────────────────────────────── */
.forwho-list{display:flex;flex-direction:column;gap:1rem;max-width:36rem;margin:0 auto;list-style:none;padding:0}
.forwho-item{display:flex;align-items:flex-start;gap:.75rem;background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 2px rgba(0,0,0,.06);border:1px solid hsl(220 15% 90%/.5)}
.forwho-item svg{flex-shrink:0;color:hsl(220 61% 39%);margin-top:.125rem}

/* ─── Expectation ───────────────────────────────────────── */
.expectation-box{background:hsl(220 61% 95%/.5);border-radius:1rem;padding:2rem;border:1px solid hsl(220 61% 39%/.1);max-width:56rem;margin:0 auto}
@media(min-width:768px){.expectation-box{padding:3rem}}
.expectation-icon{width:2.5rem;height:2.5rem;border-radius:50%;background:hsl(220 20% 96%);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.expectation-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}
.expectation-list{list-style:none;padding:0;margin:.75rem 0;display:flex;flex-direction:column;gap:.75rem}
.expectation-list li{display:flex;align-items:flex-start;gap:.5rem;color:hsl(220 10% 46%)}
.expectation-list li::before{content:'';display:inline-block;width:.375rem;height:.375rem;border-radius:50%;background:hsl(220 61% 39%);margin-top:.5rem;flex-shrink:0}

/* ─── How It Works ──────────────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:1fr;gap:2rem;max-width:64rem;margin:0 auto}
@media(min-width:768px){.steps-grid{grid-template-columns:repeat(3,1fr)}}
.step{text-align:center}
.step-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:1rem;background:hsl(220 61% 39%);color:#fff;margin-bottom:1.25rem;box-shadow:0 8px 20px hsl(220 61% 39%/.2)}
.step-icon svg{width:1.75rem;height:1.75rem}
.step h3{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:hsl(220 20% 15%)}
.step p{color:hsl(220 10% 46%);line-height:1.75}
.howit-note{margin-top:3rem;background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid hsl(220 15% 90%/.5);text-align:center;max-width:42rem;margin-left:auto;margin-right:auto}
.howit-note p{color:hsl(220 10% 46%)}

/* ─── Why Best Life ─────────────────────────────────────── */
.benefits-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:64rem;margin:0 auto}
@media(min-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}
.benefit-card{display:flex;align-items:flex-start;gap:1rem;background:#fff;border-radius:.75rem;padding:1.5rem;border:1px solid hsl(220 15% 90%/.5);transition:border-color .3s,box-shadow .3s}
.benefit-card:hover{border-color:hsl(220 61% 39%/.2);box-shadow:0 4px 12px rgba(0,0,0,.08)}
.benefit-icon{width:3rem;height:3rem;border-radius:.75rem;background:hsl(220 61% 95%);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.benefit-icon svg{width:1.5rem;height:1.5rem;color:hsl(220 61% 39%)}
.benefit-card h3{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.125rem;font-weight:700;margin-bottom:.25rem;color:hsl(220 20% 15%)}
.benefit-card p{color:hsl(220 10% 46%);line-height:1.75}

/* ─── Footer / Trust ────────────────────────────────────── */
.trust-footer{padding:4rem 1rem;border-top:1px solid hsl(220 15% 90%/.5);text-align:center}
.trust-footer svg{color:hsl(220 61% 39%);margin:0 auto 1rem;display:block}
.trust-footer h2{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:hsl(220 20% 15%)}
@media(min-width:768px){.trust-footer h2{font-size:1.875rem}}
.trust-footer p{color:hsl(220 10% 46%);max-width:32rem;margin:0 auto 1.5rem;line-height:1.75}
.copyright{margin-top:2rem;font-size:.875rem;color:hsl(220 10% 46%)}

/* ─── CTA Button ────────────────────────────────────────── */
.cta-center{display:flex;justify-content:center;margin-top:2.5rem}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:hsl(220 52% 32%);color:#fff;padding:.75rem 2rem;font-size:1rem;font-weight:500;border:none;cursor:pointer;box-shadow:0 8px 20px hsl(220 61% 39%/.2);transition:filter .2s;min-height:3rem;font-family:inherit}
.btn-primary:hover{filter:brightness(.9)}

/* ─── Form page extras ──────────────────────────────────── */
.form-page{display:flex;flex-direction:column;min-height:100vh}
.form-page-header{border-bottom:1px solid hsl(220 15% 90%);background:#fff;padding:1rem}
.form-page-header .inner{max-width:1280px;margin:0 auto;display:flex;justify-content:center}
.form-page-main{flex:1;padding:2.5rem 1rem}
@media(min-width:768px){.form-page-main{padding:4rem 1rem}}
.form-page-footer{border-top:1px solid hsl(220 15% 90%/.5);padding:2rem;text-align:center;font-size:.875rem;color:hsl(220 10% 46%)}
.form-centered{max-width:48rem;margin:0 auto}
.form-head{text-align:center;margin-bottom:2rem}
.form-head h1{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:700;color:hsl(220 20% 15%);margin-bottom:.75rem}
@media(min-width:768px){.form-head h1{font-size:3rem}}
.form-head p{color:hsl(220 10% 46%);font-size:1.125rem}
.security-note{text-align:center;font-size:.75rem;color:hsl(220 10% 46%);margin-top:1rem}
.form-partners{padding:1.5rem 0}
.form-partners p{text-align:center;font-size:.875rem;color:hsl(220 10% 46%);margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.05em}
.form-partners-logos{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}
.form-partners-logos img{height:auto;object-fit:contain}

/* ─── Toast / Spinner ───────────────────────────────────── */
.toast{position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;z-index:9999;display:none;max-width:90vw}
.toast-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.toast-ok{background:#d1fae5;color:#065f46;border:1px solid #6ee7b7}
.spinner{display:inline-block;width:1rem;height:1rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-right:.25rem}
@keyframes spin{to{transform:rotate(360deg)}}

/* ─── Contabilix ─────────────────────────────────────────── */
.cntx-header{border-bottom:1px solid hsl(220 15% 90%/.4)}
.cntx-header .inner{max-width:1280px;margin:0 auto;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between}
.cntx-partner-label{font-size:.75rem;font-weight:500;color:#264479}
@media(min-width:768px){.cntx-partner-label{font-size:.875rem}}
.cntx-logos{display:flex;align-items:center;gap:.75rem}
@media(min-width:768px){.cntx-logos{gap:.875rem}}

.cntx-hero{background:linear-gradient(135deg,#264479,#287BB1);padding:3.5rem 1rem}
@media(min-width:768px){.cntx-hero{padding:6rem 1rem}}
.cntx-hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;max-width:1280px;margin:0 auto}
@media(min-width:1024px){.cntx-hero-grid{grid-template-columns:1fr 1fr}}
.cntx-badge{display:inline-block;background:rgba(255,255,255,.15);color:#fff;border-radius:9999px;padding:.375rem 1rem;font-size:.875rem;font-weight:500;margin-bottom:1.25rem;backdrop-filter:blur(4px)}
.cntx-hero h1{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:800;color:#fff;line-height:1.15;margin-bottom:1.25rem}
@media(min-width:768px){.cntx-hero h1{font-size:2.625rem}}
.cntx-hero h1 .highlight{color:#FFD86B}
.cntx-hero-sub{font-size:1.125rem;color:rgba(255,255,255,.9);max-width:36rem;line-height:1.75}
.cntx-btn{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#264479,#287BB1);border:1px solid #fff;color:#fff;border-radius:.5rem;padding:1rem 1.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,filter .2s;font-family:inherit;margin-top:1.75rem}
.cntx-btn:hover{transform:scale(1.02);filter:brightness(1.1)}
.cntx-hero-note{margin-top:1rem;font-size:.875rem;color:rgba(255,255,255,.8)}
.cntx-hero-img{width:100%;height:auto;display:none}
@media(min-width:1024px){.cntx-hero-img{display:block}}

.cntx-section-title{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:700;text-align:center;margin-bottom:3rem;color:#264479}
@media(min-width:768px){.cntx-section-title{font-size:2.25rem}}

.cntx-cards{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.cntx-cards{grid-template-columns:repeat(3,1fr)}}
.cntx-card{border-radius:1rem;border:1px solid hsl(220 15% 90%/.6);background:#fff;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:box-shadow .3s;display:flex;flex-direction:column}
.cntx-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.12)}
.cntx-card img{width:100%;height:11rem;object-fit:cover}
.cntx-card-body{padding:1.5rem;flex:1}
.cntx-card-body h3{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.25rem;font-weight:700;margin-bottom:.5rem;color:#264479}
.cntx-card-body p{color:hsl(220 10% 46%);line-height:1.75}

.cntx-steps{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:768px){.cntx-steps{grid-template-columns:repeat(3,1fr)}}
.cntx-step{position:relative;background:#fff;border-radius:1rem;padding:1.75rem 1.75rem 1.75rem;margin-top:1.5rem;border:1px solid hsl(220 15% 90%/.5);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.cntx-step-num{position:absolute;top:-1.5rem;left:1.75rem;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,#264479,#287BB1);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Plus Jakarta Sans Variable',sans-serif;font-weight:700;font-size:1.25rem;box-shadow:0 4px 12px rgba(38,68,121,.3)}
.cntx-step p{color:hsl(220 20% 15%);line-height:1.75;padding-top:.5rem}

.cntx-plain-cards{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.cntx-plain-cards{grid-template-columns:repeat(3,1fr)}}
.cntx-plain-card{background:#fff;border-radius:1rem;padding:1.5rem;border:1px solid hsl(220 15% 90%/.4)}
.cntx-plain-card .emoji{font-size:1.875rem;margin-bottom:.75rem}
.cntx-plain-card h3{font-family:'Plus Jakarta Sans Variable',sans-serif;font-weight:700;font-size:1.125rem;margin-bottom:.5rem;color:#264479}
.cntx-plain-card p{color:hsl(220 10% 46%);line-height:1.75}
.cntx-link-btn{font-weight:600;color:#287BB1;background:none;border:none;cursor:pointer;font-family:inherit;font-size:1rem;text-decoration:underline;text-underline-offset:.25rem}

.cntx-form-section{background:linear-gradient(135deg,#264479,#287BB1);padding:4rem 1rem}
@media(min-width:768px){.cntx-form-section{padding:6rem 1rem}}
.cntx-form-head{text-align:center;margin-bottom:2.5rem}
.cntx-form-head h2{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:700;color:#fff;margin-bottom:.75rem}
@media(min-width:768px){.cntx-form-head h2{font-size:2.25rem}}
.cntx-form-head p{font-size:1.125rem;color:rgba(255,255,255,.9)}
.cntx-form-wrap{background:#fff;border-radius:1rem;padding:1.5rem;box-shadow:0 24px 48px rgba(0,0,0,.2);max-width:48rem;margin:0 auto}
@media(min-width:768px){.cntx-form-wrap{padding:2.5rem}}

/* ─── Reveal animation ───────────────────────────────────── */
.reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

/* ─── Obrigado ───────────────────────────────────────────── */
.obrigado-wrap{display:flex;flex-direction:column;min-height:100vh}
.obrigado-main{flex:1;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem}
.obrigado-card{max-width:28rem;text-align:center}
.obrigado-icon{width:5rem;height:5rem;border-radius:50%;background:hsl(220 40% 96%);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.obrigado-icon svg{color:hsl(220 61% 39%)}
.obrigado-card h1{font-family:'Plus Jakarta Sans Variable',sans-serif;font-size:1.875rem;font-weight:700;margin-bottom:1rem;color:hsl(220 20% 15%)}
@media(min-width:768px){.obrigado-card h1{font-size:2.25rem}}
.obrigado-card p{color:hsl(220 10% 46%);font-size:1.125rem;line-height:1.75}
