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

/*================ HEADER ================*/
--header-bkg:       #000000;
--header-borda:     #313131;
--header-menu:      #ffffff;
--header-btn-bkg:   #7a8800;
--header-btn-texto: #ffffff;
/*================ HERO ================*/
--hero-overlay:    linear-gradient(90deg,rgba(5,24,19,.92) 0%,rgba(5,24,19,.60) 52%,rgba(5,24,19,.15));
--hero-btn-fundo:   #d6f06b;
--hero-btn-texto:   #17372f;
--hero-btn-hover:   #c8e35c;
/*================ FOOTER ================*/
--footer-bkg:       #0b2922;
--footer-texto:     #c8d2ce;
--footer-endereco:  #c8d2ce;
--footer-logo:      #ffffff;
--footer-dev:       #c8d2ce;
/*================ BASE ================*/
--fundo:            #f4f1e8;
--fundo-secundario: #173e35;
--fundo-card:       #edf1e9;
--fundo-claro:      #ffffff;
/*================ TEXTOS ================*/
--texto:            #16342d;
--texto-secundario: #c7d4cf;
--texto-suave:      #5d6f69;
--texto-escuro:     #16342d;
--texto-faq:        #60736c;
--rotulo:           var(--destaque);
/*================ DESTAQUE ================*/
--destaque:         #d6f06b;
--destaque-texto:   #17372f;
/*================ BOTÕES ================*/
--botao-fundo:      #d6f06b;
--botao-texto:      #17372f;
--botao-escuro-fundo:#173e35;
--botao-escuro-texto:#ffffff;
--botao-escuro-hover:#1f4a40;
--borda:            #bdc8c1;
--borda-faq:        #ccd5d0;
--borda-modal:      #5b756a;
/*================ MODAL ================*/
--modal-fundo:      #173e35;
--modal-texto:      #ffffff;
--modal-texto-secundario:#c8d6d0;
--modal-overlay:rgba(2,10,8,.95);
/*================ SOBREPOSIÇÕES ================*/
--card-overlay:     linear-gradient(transparent 30%,rgba(5,24,19,.85));
/*================ FAIXA ================*/
--faixa-fundo:      #d6f06b;
--faixa-texto:      #17372f;
/*================ CTA ================*/
--cta-fundo:        #d6f06b;
--cta-texto:        #16342d;
}

/*================ HERO ================*/
.hero                       { background:var(--fundo-secundario); color:#ffffff; min-height:100vh; position:relative; padding:150px 0 80px; display:flex; align-items:center; overflow:hidden; }
.hero-inner                 { display:flex; justify-content:space-between; align-items:center; gap:40px; }
.hero-video                 { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.hero-overlay               { background:var(--hero-overlay); position:absolute; inset:0; z-index:1; }
.hero-conteudo              { position:relative; z-index:2; max-width:850px; }
.hero-rotulo                { color:var(--rotulo); font-size:11px; font-weight:bold; letter-spacing:2px; text-transform:uppercase; }
.hero-titulo                { max-width:680px; margin:18px 0 25px; font-family:Georgia,serif; font-size:clamp(48px,6vw,86px); line-height:.96; font-weight:normal; }
.hero-texto                 { max-width:560px; margin-bottom:30px; color:var(--texto-secundario); font-size:17px; line-height:1.75; }
.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); }

/*================ FAIXA ================*/
.faixa                      { padding:23px 0; color:var(--faixa-texto); background:var(--faixa-fundo); font-size:12px; font-weight:bold; letter-spacing:1px; }
.faixa-inner                { display:flex; justify-content:space-around; gap:25px; }

/*================ ATENDIMENTOS ================*/
.servicos                   { color:var(--texto-escuro); background:var(--fundo-claro); }
.cabecalho                  { max-width:720px; margin-bottom:50px; }
.cabecalho h2               { font-size:clamp(38px,5vw,60px); }
.grid-servicos              { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.servico                    { position:relative; min-height:430px; padding:28px; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; border:0; border-radius:18px; color:#ffffff; background:var(--fundo-card); font:inherit; text-align:left; cursor:pointer; transition:.3s; }
.servico-img                { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; transition:.5s; }
.servico:after              { content:""; position:absolute; inset:0; background:var(--card-overlay); }
.servico:hover img          { transform:scale(1.06); }
.servico-info               { position:relative; z-index:1; }
.servico:hover              { transform:translateY(-8px); transition:.3s; }
.servico b                  { font:normal 36px Georgia,serif; }
.servico h3                 { margin:6px 0 12px; font-size:22px; }
.servico p                  { color:#c7d4cf; font-size:14px; line-height:1.65; }

/*================ MÉTODO ================*/
.metodo                     { background:var(--fundo); }
.metodo-inner               { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; }
.metodo img                 { width:100%; height:550px; object-fit:cover; border-radius:20px; }
.metodo h2                  { font-size:52px; }
.metodo p                   { color:var(--texto-suave); line-height:1.8; }
.passos                     { margin-top:28px; border-top:1px solid var(--borda); }
.passo                      { padding:18px 0; display:grid; grid-template-columns:45px 1fr; border-bottom:1px solid var(--borda); }

/*================ DEPOIMENTOS ================*/
.depoimento                 { color:var(--botao-escuro-texto); background:var(--botao-escuro-fundo); }
.depoimento-grid            { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.depoimento-card            { margin:0; padding:34px 28px; display:flex; flex-direction:column; gap:18px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:18px; }
.depoimento-card p          { font:italic 19px/1.6 Georgia,serif; }
.depoimento-card strong     { margin-top:auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:1.5px; text-transform:uppercase; }

/*================ FAQ ================*/
.faq                        { color:var(--texto-escuro); background:var(--fundo-claro); }
.faq-grid                   { display:grid; grid-template-columns:.72fr 1.28fr; gap:8vw; align-items:center; }
.faq h2                     { font-size:50px; }
.faq-intro p                { color:var(--texto-faq); font-size:13px; line-height:1.8; }
.faq-lista                  { border-top:1px dashed color-mix(in srgb, var(--borda-faq) 55%, transparent); }
.faq-item                   { padding:0; border-bottom:1px solid var(--borda-faq); }
.faq-item::details-content  { height:0; overflow:hidden; opacity:0; transition:height .38s ease,opacity .28s ease,content-visibility .38s; transition-behavior:allow-discrete; }
.faq-item[open]::details-content { height:auto; opacity:1; }
.faq-pergunta               { min-height:60px; padding:15px 65px 15px 0; position:relative; display:flex; align-items:center; font:bold 18px Georgia,serif; cursor:pointer; list-style:none; }
.faq-pergunta::-webkit-details-marker { display:none; }
.faq-pergunta::after        { position:absolute; right:3px; content:"+"; font-family:Arial,sans-serif; font-weight:bold; transition:color .25s; }
.faq-item[open] .faq-pergunta::after { color:var(--destaque); content:"−"; }
.faq-resposta               { max-width:700px; padding:0 0 20px; color:var(--texto-faq); font-size:13px; line-height:1.6; }

/*================ CTA ================*/
.cta                        { margin:80px 5% 80px; padding:70px 0; border-radius:25px; color:var(--cta-texto); background:var(--cta-fundo); }
.cta-inner                  { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cta h2                     { max-width:700px; font-size:46px; }
.cta .btn                   { color:var(--botao-escuro-texto); background:var(--botao-escuro-fundo); }

/*================ FOOTER (espaçamento específico) ================*/
.footer                     { padding:20px 0; }

/*================ MODAL (título específico) ================*/
.modal-conteudo h2          { font-size:45px; }

/*================ RESPONSIVO ================*/
@media(max-width:900px) {
    .grid-servicos          { grid-template-columns:1fr 1fr; }
    .depoimento-grid        { grid-template-columns:1fr 1fr; }
    .metodo-inner,
    .faq-grid               { grid-template-columns:1fr; }
}

@media(max-width:560px) {
    .hero                   { min-height:100vh; padding-top:120px; padding-bottom:60px; }
    .hero-titulo            { font-size:48px; }
    .hero-overlay           { background:rgba(5,24,19,.76); }
    .hero-inner,
    .cta-inner              { flex-direction:column; }
    .grid-servicos          { grid-template-columns:1fr; }
    .depoimento-grid        { grid-template-columns:1fr; }
    .faixa-inner            { flex-wrap:wrap; }
    .modal-conteudo h2      { font-size:34px; }
    .cta                    { padding:40px 0; }
}