:root              { --header-bkg:rgba(249,248,244,.97); --header-borda:#e5e1d8; --header-menu:#292925;
                     --fundo:#f9f8f4; --fundo-secundario:#eae5dc; --fundo-card:#fff; --fundo-claro:#f1ede4;
                     --texto:#292925; --texto-secundario:#716e67; --texto-suave:#77736c; --texto-escuro:#292925; --texto-faq:#77736c;
                     --destaque:#8e7451; --destaque-texto:#fff;
                     --botao-fundo:#8e7451; --botao-texto:#fff; --botao-escuro-fundo:#70593d; --botao-escuro-hover:#70593d; --botao-escuro-texto:#fff;
                     --borda:#ddd8cf;
                     --faixa-fundo:#8e7451; --faixa-texto:#fff;
                     --cta-fundo:#8e7451; --cta-texto:#fff;
                     --footer-bkg:#22221f; --footer-texto:#aaa69e;
                     --painel-escuro:#292925; --painel-escuro-texto:#fff; --painel-texto-fraco:#bbb8b1;
                     interpolate-size:allow-keywords; }
*               { margin:0; padding:0; box-sizing:border-box;    }
html            { scroll-behavior:smooth;    }
body            { font-family:Arial,Helvetica,sans-serif; color:var(--texto); background:var(--fundo);    }
a               { text-decoration:none;    }
header          { position:sticky; top:40px; z-index:1000; height:84px; background:var(--header-bkg); border-bottom:1px solid var(--header-borda); backdrop-filter:blur(10px);    }
header .content { height:84px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; gap:30px;    }
.logo           { font-family:Georgia,serif; font-size:24px; color:var(--header-menu);    }
.logo span      { display:block; margin-top:4px; color:var(--destaque); font-family:Arial,sans-serif; font-size:9px; font-weight:bold; letter-spacing:2px; text-transform:uppercase;    }
nav             { display:flex; align-items:center; gap:30px;    }
nav a           { color:var(--header-menu); font-size:13px;    }
.btn            { display:inline-block; padding:14px 25px; background:var(--botao-fundo); color:var(--botao-texto); border-radius:2px; font-size:13px; transition:.2s;    }
.btn:hover      { background:var(--botao-escuro-hover); color:var(--botao-texto);   }
.content        { width:100%; max-width:1400px; margin:0 auto; padding: 0 20px}
.hero           { min-height:650px; padding:70px 0; scroll-margin-top:120px;    }
.hero .content  { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:80px;    }
.hero-label     { color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:3px; text-transform:uppercase;    }
.hero h1        { max-width:620px; margin:18px 0 25px; font-family:Georgia,serif; font-size:57px; line-height:1.08; font-weight:400; color:var(--texto-escuro);    }
.hero p         { max-width:550px; margin-bottom:32px; color:var(--texto-secundario); font-size:17px; line-height:1.8;    }
.hero-img       { height:520px; position:relative;    }
.hero-img img   { width:100%; height:100%; object-fit:cover; object-position:center top;    }
.crm            { position:absolute; right:-25px; bottom:30px; padding:18px 24px; background:var(--fundo-card); box-shadow:0 15px 35px rgba(0,0,0,.1);    }
.crm strong     { display:block; margin-bottom:4px; color:var(--destaque); font-size:14px;    }
.crm span       { color:var(--texto-suave); font-size:11px;    }
section         { padding:90px 0; scroll-margin-top:120px;    }
.titulo         { max-width:750px; margin:0 auto 55px; text-align:center;    }
.titulo span    { color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:2.5px; text-transform:uppercase;    }
.titulo h2      { margin:13px 0 17px; font-family:Georgia,serif; font-size:42px; font-weight:400;    }
.titulo p       { color:var(--texto-suave); line-height:1.7;    }
.especialidades { background:var(--fundo);    }
.grid-especialidades { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--borda);    }
.especialidade  { min-height:270px; padding:38px; background:var(--fundo-card);    }
.especialidade small { display:block; margin-bottom:50px; color:var(--destaque); font-size:12px;    }
.especialidade h3  { margin-bottom:14px; font-family:Georgia,serif; font-size:24px; font-weight:400;    }
.especialidade p   { color:var(--texto-secundario); font-size:14px; line-height:1.7;    }
.sobre          { background:var(--fundo-secundario);    }
.sobre .content { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:85px;    }
.sobre-img      { height:500px;    }
.sobre-img img  { width:100%; height:100%; object-fit:cover;    }
.sobre-texto span { color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:2px; text-transform:uppercase;    }
.sobre-texto h2 { margin:14px 0 24px; font-family:Georgia,serif; font-size:43px; font-weight:400;    }
.sobre-texto p  { margin-bottom:15px; color:var(--texto-secundario); line-height:1.8;    }
.assinatura     { margin-top:25px; font-family:Georgia,serif; font-size:20px; font-style:italic; color:var(--destaque);    }
.numeros        { padding:52px 0; background:var(--painel-escuro); color:var(--painel-escuro-texto);    }
.numeros .content { display:grid; grid-template-columns:repeat(4,1fr);    }
.numero         { text-align:center; border-right:1px solid #4c4b46;    }
.numero:last-child { border-right:0;   }
.numero strong  { display:block; margin-bottom:6px; font-family:Georgia,serif; font-size:34px; font-weight:400; color:#c4a97f;    }
.numero span    { color:#bbb8b1; font-size:12px;    }
.depoimentos    { background:var(--fundo);    }
.grid-depoimentos { display:grid; grid-template-columns:repeat(3,1fr); gap:25px;    }
.depoimento     { padding:35px; background:var(--fundo-card); border-bottom:2px solid var(--destaque);    }
.depoimento p   { margin-bottom:22px; color:var(--texto-secundario); font-family:Georgia,serif; font-size:16px; line-height:1.75; font-style:italic;    }
.depoimento strong { color:var(--texto-escuro); font-size:12px;    }
.cta            { margin:0 7% 80px; padding:70px 30px; text-align:center; background:var(--cta-fundo); color:var(--cta-texto);    }
.cta h2         { margin-bottom:13px; font-family:Georgia,serif; font-size:41px; font-weight:400;    }
.cta p          { margin-bottom:27px; color:var(--cta-texto);    }
.cta .btn       { background:var(--botao-fundo); color:var(--botao-texto);    }
footer          { padding:45px 7%; text-align:center; background:var(--footer-bkg); color:var(--footer-texto); font-size:12px;    }
.whatsapp       { position:fixed; right:25px; bottom:25px; width:58px; height:58px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:#25d366; color:#fff; font-size:25px; box-shadow:0 8px 25px rgba(0,0,0,.2); z-index:100;    }

@media(max-width:900px) {
    nav            { display:none;    }
    .hero .content { grid-template-columns:1fr;    }
    .hero h1       { font-size:44px;    }
    .crm           { right:15px;    }
    .grid-especialidades { grid-template-columns:1fr;    }
    .sobre .content { grid-template-columns:1fr;    }
    .numeros .content { grid-template-columns:1fr 1fr; gap:30px;    }
    .numero        { border-right:0;    }
    .grid-depoimentos { grid-template-columns:1fr;    }
}

@media(max-width:550px) {
    .hero h1       { font-size:36px;    }
    .hero-img      { height:390px;    }
    .sobre-img     { height:370px;    }
    .sobre-texto h2 { font-size:34px;    }
    .numeros .content { grid-template-columns:1fr;    }
    .cta           { margin:0 20px 50px;    }
}

.header-drop          { position:relative; flex-shrink:0; }
.header-drop-btn      { width:42px; height:42px; display:grid; place-items:center; border:0; border-radius:50%; color:var(--header-menu); background:transparent; font-size:19px; cursor:pointer; transition:.25s; }
.header-drop-btn:hover { filter:brightness(1.35); }
.header-drop-menu     { background:var(--header-bkg); position:absolute; top:50px; right:0; z-index:50; width:150px; padding:7px; display:none; box-shadow:0 12px 30px rgba(0,0,0,.35); }
.header-drop-menu.aberto { display:block; }
.header-drop-item     { width:100%; padding:10px 12px; display:block; border:0; color:var(--header-menu); background:transparent; text-align:left; cursor:pointer; }
.header-seta         { border-left:6px solid var(--header-menu); display:inline-block; width:0; height:0; margin-right:9px; vertical-align:middle; border-top:4px solid transparent; border-bottom:4px solid transparent; opacity:0; transition:.15s; }
.header-drop-item:hover .header-seta,
.header-drop-item.atual .header-seta { opacity:1; }