:root {
    --header-bkg:#f7f4ee; --header-borda:#ded8ce; --header-menu:#59534a;
    --fundo:#f7f4ee; --fundo-secundario:#fff; --fundo-card:#fff; --fundo-claro:#f1ece3;
    --texto:#25231f; --texto-secundario:#716b62; --texto-suave:#9a938a; --texto-escuro:#25231f; --texto-faq:#756e65;
    --destaque:#9b815e; --destaque-texto:#fff;
    --botao-fundo:#28251f; --botao-texto:#fff; --botao-escuro-fundo:#211f1b; --botao-escuro-hover:#3a362f; --botao-escuro-texto:#fff;
    --borda:#ddd6cc;
    --faixa-fundo:#24221e; --faixa-texto:#d8d1c7;
    --cta-fundo:#c4aa84; --cta-texto:#25231f;
    --footer-bkg:#211f1b; --footer-texto:#aaa298;
    --painel-escuro:#26231e; --painel-escuro-texto:#fff; --painel-texto-fraco:#bbb3a8;
    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; }
.content        { width:100%; max-width:1400px; margin:0 auto; padding:0 20px; }
header          { position:sticky; top:40px; z-index:1000; background:var(--header-bkg); border-bottom:1px solid var(--header-borda); }
header .content { width:100%; max-width:1400px; margin:0 auto; padding:0 20px; height:80px; display:flex; align-items:center; justify-content:space-between; }
.logo           { font-family:Georgia,serif; font-size:27px; letter-spacing:2px; }
nav             { display:flex; gap:28px; align-items:center; }
nav a           { color:var(--header-menu); font-size:13px; }
.btn            { display:inline-block; padding:14px 23px; background:var(--botao-fundo); color:var(--botao-texto); font-size:13px; }
.hero           { min-height:650px; }
.hero .content  { min-height:650px; padding:65px 0; display:grid; grid-template-columns:.85fr 1.15fr; gap:65px; align-items:center; }
.hero small     { color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:3px; text-transform:uppercase; }
.hero h1        { margin:18px 0 25px; font-family:Georgia,serif; font-size:63px; line-height:1.02; font-weight:400; }
.hero p         { max-width:500px; margin-bottom:30px; color:var(--texto-secundario); font-size:16px; line-height:1.8; }
.hero-img       { height:540px; overflow:hidden; }
.hero-img img   { width:100%; height:100%; object-fit:cover; }
.assinatura     { background:var(--painel-escuro); color:var(--painel-escuro-texto); }
.assinatura .content { padding:32px 0; display:flex; justify-content:space-between; gap:30px; }
.assinatura div { font-size:12px; letter-spacing:1px; }
section         { padding:90px 0; scroll-margin-top:120px; }
.titulo         { max-width:700px; margin-bottom:48px; }
.titulo span    { color:var(--destaque); font-size:11px; font-weight:bold; letter-spacing:2px; text-transform:uppercase; }
.titulo h2      { margin-top:12px; font-family:Georgia,serif; font-size:45px; font-weight:400; }
.servicos,.equipe{ background:var(--fundo-secundario); }
.grid-servicos  { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--borda); }
.servico        { padding:32px; border-right:1px solid var(--borda); }
.servico:last-child { border-right:0; }
.servico small  { color:var(--destaque); }
.servico h3     { margin:35px 0 10px; font-family:Georgia,serif; font-size:24px; font-weight:400; }
.servico p      { color:var(--texto-secundario); font-size:13px; line-height:1.7; }
.portfolio      { background:var(--fundo-claro); }
.mosaico        { display:grid; grid-template-columns:1.3fr .7fr .7fr; grid-template-rows:260px 260px; gap:12px; }
.mosaico img    { width:100%; height:100%; object-fit:cover; }
.mosaico img:first-child { grid-row:1 / 3; }
.precos         { background:var(--painel-escuro); color:var(--painel-escuro-texto); }
.precos .content { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.precos h2      { font-family:Georgia,serif; font-size:43px; font-weight:400; }
.precos p       { margin-top:18px; color:var(--painel-texto-fraco); line-height:1.7; }
.lista-precos   { display:grid; }
.preco          { padding:19px 0; display:flex; justify-content:space-between; border-bottom:1px solid #49443d; }
.preco span     { color:var(--painel-escuro-texto); }
.preco strong   { color:var(--destaque); }
.grid-equipe    { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pessoa img     { width:100%; height:340px; object-fit:cover; }
.pessoa h3      { margin-top:14px; font-family:Georgia,serif; font-weight:400; }
.pessoa span    { color:var(--destaque); font-size:11px; }
.cta            { margin:0 7% 75px; padding:65px; text-align:center; background:var(--cta-fundo); color:var(--cta-texto); }
.cta h2         { font-family:Georgia,serif; font-size:42px; font-weight:400; }
.cta p          { margin:12px 0 25px; color:var(--cta-texto); }
footer          { padding:42px; text-align:center; background:var(--footer-bkg); color:var(--footer-texto); font-size:12px; }
@media(max-width:900px) { nav { display:none; } .hero .content { grid-template-columns:1fr; } .grid-servicos { grid-template-columns:1fr 1fr; } .mosaico { grid-template-columns:1fr 1fr; } .precos .content { grid-template-columns:1fr; } }
@media(max-width:550px) { .hero h1 { font-size:40px; } .assinatura .content { flex-direction:column; } .grid-servicos { grid-template-columns:1fr; } .mosaico { display:block; } .mosaico img { height:260px; margin-bottom:10px; } .grid-equipe { grid-template-columns:1fr; } .cta { margin:0 20px 50px; padding:40px 25px; } }

.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; }