/*================ CARTELA CLINICA2 (PADRAO) ================*/
:root {
interpolate-size:allow-keywords;

/*================ HEADER ================*/
--header-bkg:       #0d3c5a;
--header-borda:     #2a5878;
--header-menu:      #ffffff;
--header-btn-bkg:   #ff6b3d;
--header-btn-texto: #ffffff;
/*================ HERO ================*/
--hero-overlay:    linear-gradient(90deg,rgba(3,15,24,.92) 0%,rgba(3,15,24,.60) 52%,rgba(3,15,24,.20));
--hero-btn-fundo:   #ff6b3d;
--hero-btn-texto:   #ffffff;
--hero-btn-hover:   #e85622;
/*================ FOOTER ================*/
--footer-bkg:       #061f30;
--footer-texto:     #c3d4dc;
--footer-endereco:  #c3d4dc;
--footer-logo:      #ffffff;
--footer-dev:       #c3d4dc;
/*================ BASE ================*/
--fundo:            #f2f7f8;
--fundo-secundario: #092f49;
--fundo-card:       #0d3c5a;
--fundo-claro:      #ffffff;
/*================ TEXTOS ================*/
--texto:            #102f3d;
--texto-secundario: #bad0db;
--texto-suave:      #627985;
--texto-escuro:     #102f3d;
--texto-faq:        #657b85;
--rotulo:           var(--destaque);
/*================ DESTAQUE ================*/
--destaque:         #ff6b3d;
--destaque-texto:   #ffffff;
/*================ BOTÕES ================*/
--botao-fundo:      #ff6b3d;
--botao-texto:      #ffffff;
--botao-escuro-fundo:#092f49;
--botao-escuro-texto:#ffffff;
--botao-escuro-hover:#0d3c5a;
--borda:            #cbdde3;
--borda-faq:        #cad8dd;
--borda-modal:      #0d3c5a;
/*================ MODAL ================*/
--modal-fundo:      #092f49;
--modal-texto:      #ffffff;
--modal-texto-secundario:#bad0db;
--modal-overlay:rgba(2,10,16,.92);
/*================ SOBREPOSIÇÕES ================*/
--card-overlay:     linear-gradient(transparent 25%,rgba(3,15,24,.92));
/*================ FAIXA ================*/
--faixa-fundo:      #ff6b3d;
--faixa-texto:      #ffffff;
/*================ CTA ================*/
--cta-fundo:        #ff6b3d;
--cta-texto:        #ffffff;
/*================ PARTICULARIDADE HERO ================*/
--hero-dado-fundo:  var(--fundo-claro);
--hero-dado-texto:  var(--texto-escuro);
}

/*================ HERO ================*/
.hero                       { min-height:760px; position:relative; padding:175px 0 90px; display:flex; align-items:center; color:#ffffff; background-color:var(--fundo-secundario); background-image:var(--hero-overlay),var(--hero-img,var(--logo-dark)); background-position:center; background-size:cover; }
.hero .content              { width:100%; max-width:1400px; margin:0 auto; padding:0 20px; }
.hero-conteudo              { max-width:730px; }
.hero-rotulo                { color:var(--rotulo); font-size:11px; font-weight:bold; letter-spacing:2px; text-transform:uppercase; }
.hero-titulo                { margin:18px 0 24px; font-size:clamp(48px,6vw,82px); line-height:.96; }
.hero-titulo span           { color:var(--destaque); }
.hero-texto                 { max-width:590px; margin-bottom:30px; color:var(--texto-secundario); font-size:17px; line-height:1.7; }
.hero-btn                   { color:var(--hero-btn-texto); background:var(--hero-btn-fundo); }
.hero-btn:hover             { color:var(--hero-btn-texto); background:var(--hero-btn-hover); transform:none; box-shadow:0 6px 18px rgba(0,0,0,.18); }
.hero-dado                  { position:absolute; right:40px; bottom:40px; width:220px; padding:25px; color:var(--hero-dado-texto); background:var(--hero-dado-fundo); }
.hero-dado strong           { display:block; font-size:32px; }

/*================ TÍTULOS ================*/
.titulo                     { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:45px; }
.titulo h2                  { max-width:720px; margin-top:10px; font-size:clamp(38px,5vw,58px); line-height:1; }
.titulo p                   { max-width:470px; color:var(--texto-suave); line-height:1.7; }

/*================ PROGRAMAS ================*/
.programas                  { color:var(--texto-escuro); background:var(--fundo-claro); }
.grid-programas             { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.programa                   { position:relative; min-height:430px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; color:#ffffff; }
.programa img               { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.5s; }
.programa:after             { content:""; position:absolute; inset:0; background:var(--card-overlay); }
.programa:hover img         { transform:scale(1.06); }
.programa div               { position:relative; z-index:1; }
.programa h3                { font-size:27px; }
.programa p                 { margin-top:10px; color:var(--texto-secundario); line-height:1.6; }

/*================ DIFERENCIAIS ================*/
.diferenciais               { background:var(--fundo); }
.diferenciais .content      { display:grid; grid-template-columns:.8fr 1.2fr; gap:6vw; align-items:center; }
.cabecalho h2               { margin-top:12px; font-size:clamp(40px,5vw,55px); line-height:1; }
.lista                      { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.item                       { padding:25px; color:var(--texto-escuro); background:var(--fundo-claro); }
.item b                     { display:block; margin-bottom:28px; color:var(--destaque); font-size:12px; }
.item strong                { display:block; margin-bottom:8px; }
.item p                     { color:var(--texto-suave); font-size:14px; line-height:1.55; }

/*================ JORNADA ================*/
.jornada                    { color:var(--botao-escuro-texto); background:var(--botao-escuro-fundo); }
.jornada .titulo p          { color:rgba(255,255,255,.70); }
.etapas                     { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; }
.etapa                      { min-height:250px; padding:30px; background:rgba(255,255,255,.07); }
.etapa b                    { color:var(--destaque); font-size:34px; }
.etapa h3                   { margin:45px 0 10px; }
.etapa p                    { color:rgba(255,255,255,.68); font-size:14px; line-height:1.6; }

/*================ FAQ ================*/
.faq                        { color:var(--texto-escuro); background:var(--fundo-claro); }
.faq .content               { display:grid; grid-template-columns:.8fr 1.2fr; gap:6vw; }
.faq h2                     { margin-top:12px; font-size:52px; line-height:1; }

/*================ CTA ================*/
.cta                        { display:flex; color:var(--cta-texto); background:var(--cta-fundo); }
.cta .content               { width:100%; max-width:1400px; margin:0 auto; padding:75px 20px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.cta h2                     { max-width:760px; font-size:45px; }
.cta .btn                   { color:var(--botao-escuro-fundo); background:var(--fundo-claro); }
.cta .btn:hover             { color:var(--botao-escuro-fundo); background:var(--fundo-claro); }

/*================ ANIMAÇÃO DE ENTRADA (específica) ================*/
.grid-programas .programa:nth-child(odd),
.lista .item:nth-child(odd),
.etapas .etapa:nth-child(odd) { transform:translateX(-55px) translateY(30px); }
.grid-programas .programa:nth-child(even),
.lista .item:nth-child(even),
.etapas .etapa:nth-child(even) { transform:translateX(55px) translateY(30px); }
.grid-programas .reveal.ativo,
.lista .reveal.ativo,
.etapas .reveal.ativo       { opacity:1; transform:none; }
.grid-programas .programa:nth-child(2), .lista .item:nth-child(2), .etapas .etapa:nth-child(2) { transition-delay:.10s; }
.grid-programas .programa:nth-child(3), .lista .item:nth-child(3), .etapas .etapa:nth-child(3) { transition-delay:.20s; }
.grid-programas .programa:nth-child(4), .etapas .etapa:nth-child(4) { transition-delay:.30s; }

/*================ RESPONSIVO ================*/
@media(max-width:900px) {
    .hero-dado              { position:static; width:auto; margin-top:35px; }
    .grid-programas         { grid-template-columns:1fr 1fr; }
    .diferenciais .content,
    .faq .content           { grid-template-columns:1fr; }
    .etapas                 { grid-template-columns:1fr 1fr; }
    .titulo                 { display:block; }
    .titulo p               { margin-top:20px; }
}

@media(max-width:560px) {
    .grid-programas,
    .lista,
    .etapas                 { grid-template-columns:1fr; }
    .cta .content           { flex-direction:column; align-items:flex-start; }
}