:root{
--color-primary:#0D2E5E;
--color-primary-dark:#0B2144;

--color-green:#0A786A;
--color-green-light:#149A89;

--color-secondary:#F4B400;
--color-secondary-light:#FFD54F;

--color-accent:#2F6CC4;
--color-bg:#F5F7FA;
--color-text:#0D2E5E;
--color-muted:#4A4A4A;
--color-white:#FFFFFF;
--color-border:#D9E4F2;

--shadow:0 18px 45px rgba(13,46,94,.14);
--shadow-green:0 18px 45px rgba(10,120,106,.16);
--radius:22px;
--container:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
color:var(--color-text);
background:var(--color-white);
line-height:1.6;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

.container{
width:min(100% - 32px,var(--container));
margin-inline:auto;
}

.skip-link{
position:absolute;
left:-999px;
top:auto;
background:var(--color-primary);
color:#fff;
padding:10px;
z-index:99;
}

.skip-link:focus{
left:10px;
top:10px;
}

.topbar{
background:var(--color-green);
color:#fff;
font-size:.92rem;
}

.topbar__inner{
display:flex;
justify-content:space-between;
gap:16px;
padding:8px 0;
}

.topbar a{font-weight:700}

.site-header{
position:sticky;
top:0;
background:#fff;
z-index:50;
box-shadow:0 6px 20px rgba(0,0,0,.06);
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
padding:14px 0;
}

.brand img{object-fit:contain}

.menu{
display:flex;
gap:22px;
align-items:center;
font-weight:700;
font-size:.95rem;
}

.menu a:hover{
color:var(--color-green);
}

.btn{
display:inline-flex;
align-items:center;
justify-content:center;
border:0;
border-radius:999px;
background:var(--color-secondary);
color:var(--color-primary);
padding:14px 24px;
font-weight:800;
box-shadow:0 10px 24px rgba(13,46,94,.22);
transition:.2s ease;
}

.btn:hover{
transform:translateY(-2px);
background:var(--color-secondary-light);
}

.btn--small{
padding:10px 18px;
font-size:.92rem;
}

.btn--ghost{
background:#fff;
color:var(--color-primary);
border:1px solid var(--color-border);
box-shadow:none;
}

.btn--ghost:hover{
border-color:var(--color-green);
color:var(--color-green);
}

.btn--light{
background:#fff;
color:var(--color-primary-dark);
}

.btn--gold{
background:var(--color-secondary);
color:var(--color-primary);
box-shadow:0 10px 24px rgba(244,180,0,.22);
}

.btn--gold:hover{
background:var(--color-secondary-light);
color:var(--color-primary);
}

.hero{
background:linear-gradient(135deg,#0D2E5E 0%,#0A786A 100%);
color:#fff;
overflow:hidden;
}

.hero__grid{
display:grid;
grid-template-columns:1fr .92fr;
gap:52px;
align-items:center;
padding:78px 0;
}

.hero h1{
font-size:clamp(2.2rem,5vw,4.4rem);
line-height:1.02;
margin:12px 0 18px;
}

.hero p{
font-size:1.12rem;
max-width:640px;
color:#EEF5FF;
}

.hero__actions{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-top:28px;
}

.hero__media{
margin:0;
position:relative;
}

.hero__media img{
border-radius:32px;
box-shadow:var(--shadow);
aspect-ratio:17/14;
object-fit:cover;
}

.hero__media:after{
content:"";
position:absolute;
right:-28px;
bottom:-28px;
width:180px;
height:180px;
background:var(--color-secondary);
border-radius:50%;
z-index:-1;
opacity:.9;
}

.eyebrow{
display:inline-flex;
color:var(--color-secondary);
font-weight:900;
text-transform:uppercase;
letter-spacing:.08em;
font-size:.78rem;
}

.section{
padding:82px 0;
}

.section--soft{
background:var(--color-bg);
}

.section__heading{
text-align:center;
max-width:720px;
margin:0 auto 38px;
}

.section__heading h2,
.split h2,
.franchise h2,
.cta-band h2,
.blog-box h2,
.location h2,
.newsletter h2{
font-size:clamp(1.8rem,3vw,3rem);
line-height:1.12;
margin:10px 0 12px;
}

.section__heading p{
color:var(--color-muted);
margin:0;
}

.section__heading--inline{
display:flex;
align-items:end;
justify-content:space-between;
text-align:left;
max-width:none;
gap:20px;
}

.cards{
display:grid;
gap:22px;
}

.cards--four{
grid-template-columns:repeat(4,1fr);
}

.card{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:.2s ease;
  display:flex;
  flex-direction:column;
}

.card:hover{
border-color:var(--color-green);
box-shadow:var(--shadow-green);
transform:translateY(-4px);
}

.card img{
width:100%;
aspect-ratio:3/2;
object-fit:cover;
}

.card h3{
font-size:1.25rem;
margin:18px 18px 8px;
}

.card p{
  margin:0 18px 16px;
  color:var(--color-muted);
  flex:1;
}

.card a{
  display:inline-block;
  margin:0 18px 20px;
  color:var(--color-green);
  font-weight:900;
  margin-top:auto;
}

.service-list{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:14px;
}

.service-list span{
background:#fff;
border:1px solid var(--color-border);
border-radius:16px;
padding:18px;
font-weight:800;
color:var(--color-primary-dark);
}

.service-list span:hover{
border-color:var(--color-green);
color:var(--color-green);
}

.split__grid,
.franchise__grid,
.location{
display:grid;
grid-template-columns:.9fr 1fr;
gap:52px;
align-items:center;
}

.split__image img{
border-radius:32px;
box-shadow:var(--shadow);
aspect-ratio:31/26;
object-fit:cover;
}

.split__content p,
.franchise p,
.cta-band p,
.blog-box p,
.location p{
color:var(--color-muted);
font-size:1.05rem;
}

.check-list{
padding:0;
margin:22px 0;
list-style:none;
}

.check-list li{
margin:10px 0;
padding-left:28px;
position:relative;
}

.check-list li:before{
content:"✓";
position:absolute;
left:0;
color:var(--color-green);
font-weight:900;
}

.franchise,
.cta-band{
background:linear-gradient(135deg,#0B2144 0%,#0A786A 100%);
color:#fff;
}

.franchise p,
.cta-band p{
color:#EEF5FF;
}

.franchise h2,
.cta-band h2{
color:#fff;
}

.metrics{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:16px;
}

.metrics div{
background:rgba(255,255,255,.1);
border:1px solid rgba(255,255,255,.22);
border-radius:20px;
padding:22px;
}

.metrics strong{
display:block;
font-size:1.35rem;
color:var(--color-secondary);
}

.metrics span{
display:block;
color:#EEF5FF;
margin-top:4px;
}

.testimonials{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.testimonial{
background:#fff;
border:1px solid var(--color-border);
border-radius:var(--radius);
padding:26px;
box-shadow:var(--shadow);
}

.testimonial:hover{
border-color:var(--color-green);
}

.testimonial span{
color:var(--color-secondary);
letter-spacing:.1em;
}

.testimonial p{
color:var(--color-muted);
}

.steps{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.steps article{
background:#fff;
border:1px solid var(--color-border);
border-radius:var(--radius);
padding:26px;
}

.steps article:hover{
border-color:var(--color-green);
}

.steps strong{
display:inline-grid;
place-items:center;
width:42px;
height:42px;
border-radius:50%;
background:var(--color-green);
color:#fff;
}

.steps h3{
margin-bottom:4px;
}

.steps p{
color:var(--color-muted);
}

.cta-band__inner,
.blog-box,
.newsletter__inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:28px;
}

.blog-box{
background:var(--color-bg);
border-radius:32px;
padding:42px;
border:1px solid var(--color-border);
}

.location__form{
background:#fff;
border:1px solid var(--color-border);
border-radius:var(--radius);
padding:26px;
box-shadow:var(--shadow);
}

.location__form label{
display:block;
font-weight:900;
margin-bottom:8px;
}

.location__form input,
.newsletter input{
width:100%;
border:1px solid var(--color-border);
border-radius:999px;
padding:15px 18px;
font-size:1rem;
margin-bottom:14px;
}

.location__form input:focus,
.newsletter input:focus{
outline:none;
border-color:var(--color-green);
}

.newsletter{
background:var(--color-green);
padding:42px 0;
}

.newsletter h2{
margin:0;
color:#fff;
}

.newsletter p{
color:#EEF5FF;
}

.newsletter form{
display:flex;
gap:10px;
min-width:min(460px,100%);
}

.newsletter input{
margin:0;
}

.newsletter button{
border:0;
border-radius:999px;
background:var(--color-primary-dark);
color:#fff;
font-weight:900;
padding:0 22px;
}

.footer{
background:linear-gradient(90deg,#0B2144 0%,#0A786A 100%);
color:#FFFFFF;
padding:58px 0 24px;
}

.footer__grid{
display:grid;
grid-template-columns:1.4fr repeat(3,1fr);
gap:36px;
}

.footer h3{
color:#fff;
margin-top:0;
}

.footer a,
.footer span{
display:block;
color:#FFFFFF;
margin:8px 0;
}

.footer a:hover{
color:var(--color-secondary-light);
}

.footer p{
color:#D9E4F2;
}

.footer__bottom{
display:flex;
justify-content:space-between;
gap:20px;
border-top:1px solid rgba(255,255,255,.12);
margin-top:34px;
padding-top:20px;
font-size:.9rem;
}

.whatsapp-float{
position:fixed;
right:18px;
bottom:18px;
background:#25D366;
color:#fff;
padding:14px 18px;
border-radius:999px;
font-weight:900;
box-shadow:0 12px 30px rgba(0,0,0,.22);
z-index:60;
}

.sr-only{
position:absolute;
width:1px;
height:1px;
overflow:hidden;
clip:rect(0,0,0,0);
}

@media (max-width:980px){
.menu{display:none}

.hero__grid,
.split__grid,
.franchise__grid,
.location{
grid-template-columns:1fr;
}

.cards--four,
.service-list{
grid-template-columns:repeat(2,1fr);
}

.testimonials,
.steps{
grid-template-columns:1fr;
}

.footer__grid{
grid-template-columns:1fr 1fr;
}

.cta-band__inner,
.blog-box,
.newsletter__inner,
.section__heading--inline{
align-items:flex-start;
flex-direction:column;
}

.newsletter form{
min-width:100%;
}
}

@media (max-width:620px){
.topbar__inner,
.footer__bottom{
flex-direction:column;
}

.cards--four,
.service-list,
.metrics,
.footer__grid{
grid-template-columns:1fr;
}

.hero__grid{
padding:52px 0;
}

.section{
padding:56px 0;
}

.btn{
width:100%;
}

.newsletter form{
flex-direction:column;
}

.newsletter button{
padding:14px 22px;
}

.nav .btn{
display:none;
}
}

/* ==================================================
   PÁGINA SEJA UM FRANQUEADO
   ================================================== */

.franchise-hero{
  background:
    linear-gradient(120deg,rgba(13,46,94,.65),rgba(10,120,106,.45)),
    url('assets/img/hero-franquias.webp') center center/cover no-repeat;
  color:#fff;
  padding:72px 0;
}

.franchise-hero__grid{
  display:grid;
  grid-template-columns:1fr 430px;
  gap:46px;
  align-items:center;
}

.franchise-hero h1{
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:1;
  margin:12px 0 18px;
  color:#fff;
}

.franchise-hero p{
  color:#EEF5FF;
  font-size:1.15rem;
  max-width:720px;
}

.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.hero-badges span{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
}

.lead-form{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow);
}

.lead-form h2{
  color:var(--color-primary);
  margin:0 0 6px;
}

.lead-form p{
  color:var(--color-muted);
  font-size:.98rem;
}

.lead-form label{
  display:block;
  font-weight:900;
  margin-bottom:8px;
  color:var(--color-primary);
}

.lead-form input{
  width:100%;
  border:1px solid var(--color-border);
  border-radius:999px;
  padding:15px 18px;
  font-size:1rem;
  margin-bottom:14px;
}

.lead-form input:focus{
  outline:none;
  border-color:var(--color-green);
}

.lead-form .btn{
  width:100%;
  margin-top:6px;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 110px;
  gap:12px;
}

.timeline,
.metric-cards,
.numbers-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.timeline article,
.metric-cards article,
.feature-grid article{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius);
  padding:26px;
  box-shadow:var(--shadow);
}

.timeline article:hover,
.metric-cards article:hover,
.feature-grid article:hover{
  border-color:var(--color-green);
}

.timeline strong{
  display:inline-flex;
  background:var(--color-green);
  color:#fff;
  border-radius:999px;
  padding:7px 14px;
}

.metric-cards strong{
  display:block;
  font-size:1.9rem;
  color:var(--color-green);
  line-height:1.1;
}

.metric-cards span{
  display:block;
  color:var(--color-muted);
  margin-top:8px;
}

.card--text{
  padding:26px;
}

.card--text h3{
  margin:0 0 8px;
}

.card--text p{
  margin:0;
}

.numbers-band{
  background:linear-gradient(135deg,#0B2144,#0A786A);
  color:#fff;
}

.numbers-band h2{
  color:#fff;
}

.numbers-grid article{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:26px;
}

.numbers-grid span{
  display:block;
  color:#D9E4F2;
}

.numbers-grid strong{
  display:block;
  color:var(--color-secondary);
  font-size:1.35rem;
  margin-top:8px;
}

.note{
  color:#D9E4F2;
  text-align:center;
  max-width:860px;
  margin:24px auto 0;
}

.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.feature-grid h3{
  margin:0 0 8px;
}

.feature-grid p{
  margin:0;
  color:var(--color-muted);
}

.marketing-section{
  background:linear-gradient(135deg,#0D2E5E,#0A786A);
  color:#fff;
}

.marketing-section h2{
  color:#fff;
}

.marketing-section p{
  color:#EEF5FF;
}

.faq-wrap{
  max-width:860px;
}

.faq-wrap details{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:18px;
  margin:12px 0;
  padding:18px 22px;
  box-shadow:0 8px 24px rgba(13,46,94,.08);
}

.faq-wrap summary{
  cursor:pointer;
  font-weight:900;
  color:var(--color-primary);
}

.faq-wrap p{
  color:var(--color-muted);
}

.final-cta{
  background:linear-gradient(135deg,#0D2E5E,#0A786A);
  color:#fff;
  text-align:center;
  padding:88px 0;
}

.final-cta__inner{
  max-width:820px;
}

.final-cta h2{
  font-size:clamp(2rem,4vw,4rem);
  line-height:1.05;
  margin:10px 0;
  color:#fff;
}

.final-cta p{
  color:#EEF5FF;
  font-size:1.1rem;
}

.final-cta .btn{
  margin:8px;
}

@media (max-width:980px){
  .franchise-hero__grid{
    grid-template-columns:1fr;
  }

  .timeline,
  .metric-cards,
  .numbers-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .feature-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:620px){
  .timeline,
  .metric-cards,
  .numbers-grid,
  .form-grid{
    grid-template-columns:1fr;
  }

  .franchise-hero{
    padding:48px 0;
  }

  .hero-badges span{
    width:100%;
  }
}

.history-image{
  margin:0 auto 34px;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.history-image img{
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
}