:root{
  --creme:#F7ECE1; --creme-claro:#FBF5EE; --linha:#E6D3C1; --linha-forte:#D9BFA6;
  --oliva:#3B4520; --cobre:#A9592A; --cobre-escuro:#8E4920; --cobre-claro:#C98A5A; --dourado:#E2B07E;
  --texto-suave:#5F5A4B;
  --serif:'Cormorant Garamond', Georgia, serif; --sans:Jost, system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--oliva);font-family:var(--sans);overflow-x:hidden}
img{max-width:100%}
a{color:var(--oliva);text-decoration:none}a:hover{color:var(--cobre)}
.wrap{max-width:1240px;margin:0 auto;padding-left:28px;padding-right:28px}
.serif{font-family:var(--serif)}
em{font-style:italic}
.acento{font-weight:500;color:var(--cobre)}

/* rótulos */
.rotulo{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:.32em;color:var(--cobre);text-transform:uppercase}
.rotulo::before{content:"";width:36px;height:1px;background:var(--cobre-claro)}
.rotulo.centro::after{content:"";width:40px;height:1px;background:var(--cobre-claro)}
.titulo{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(38px,4.6vw,60px);line-height:1.05}
.texto{margin:0;font-size:17px;line-height:1.75;color:var(--texto-suave)}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;background:var(--cobre);color:#FFF8F0;font-size:16px;font-weight:500;border:0;cursor:pointer;transition:background .25s,transform .25s;font-family:var(--sans)}
.btn:hover{background:var(--cobre-escuro);color:#FFF8F0;transform:translateY(-2px)}
.btn.peq{min-height:44px;padding:0 22px;font-size:15px}
.btn-linha{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;border:1px solid var(--oliva);color:var(--oliva);background:transparent;font-size:16px;cursor:pointer;transition:all .25s;font-family:var(--sans)}
.btn-linha:hover{background:var(--oliva);color:var(--creme)}

/* topo */
.topo{background:var(--creme-claro);border-bottom:1px solid var(--linha);position:sticky;top:0;z-index:20}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding-top:12px;padding-bottom:12px}
.marca{display:flex;align-items:center;gap:12px}
.marca img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.marca span{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1;color:var(--oliva)}
.menu{display:flex;flex-wrap:wrap;gap:4px 30px}
.menu a{padding:12px 2px;font-size:15px}
.acoes{display:flex;align-items:center;gap:10px}
.ico-redondo{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--linha-forte)}

/* hero */
.hero{position:relative}
.ramo{position:absolute;pointer-events:none}
.ramo-hero{left:-30px;top:30px;width:200px;opacity:.9;animation:balanco 7s ease-in-out infinite;transform-origin:10% 95%}
@keyframes balanco{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@media (prefers-reduced-motion:reduce){.ramo-hero{animation:none}html{scroll-behavior:auto}}
.hero .wrap{padding-top:88px;padding-bottom:96px;display:flex;flex-wrap:wrap;align-items:center;gap:56px}
.hero-texto{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:26px}
.hero h1{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(48px,6.4vw,86px);line-height:1.02;letter-spacing:-.015em}
.hero-sub{margin:0;max-width:520px;font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45;color:var(--texto-suave)}
.lema{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;letter-spacing:.28em;color:var(--texto-suave)}
.lema b{color:var(--cobre-claro);font-weight:400}
.hero-foto{flex:1 1 380px;min-width:0;display:flex;justify-content:center}
.arco{position:relative;width:100%;max-width:480px}
.arco::before{content:"";position:absolute;inset:-18px -18px 18px 18px;border:1px solid var(--cobre-claro);border-radius:240px 240px 24px 24px}
.arco-img{position:relative;aspect-ratio:4/5;border-radius:240px 240px 24px 24px;overflow:hidden;background:#EFE0D0}
.arco-img img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;display:block}
.selo{position:absolute;left:-28px;bottom:36px;width:120px;height:120px;border-radius:50%;overflow:hidden;border:6px solid var(--creme-claro)}
.selo img{width:100%;height:100%;object-fit:cover;display:block}

/* pilares */
.pilares{background:var(--creme-claro);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.pilares .wrap{padding-top:30px;padding-bottom:30px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.pilar{display:flex;align-items:center;justify-content:center;gap:16px;font-size:13px;letter-spacing:.24em;line-height:1.6}

/* categorias */
.secao{padding-top:110px;padding-bottom:100px}
.cabeca-centro{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;margin-bottom:56px}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:28px 20px}
.cat{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;transition:transform .35s}
.cat:hover{transform:translateY(-6px)}
.anel{width:156px;height:156px;border-radius:50%;border:1px solid var(--linha-forte);padding:7px;background:var(--creme-claro);transition:border-color .3s}
.cat:hover .anel{border-color:var(--cobre)}
.anel>div{width:100%;height:100%;border-radius:50%;border:1px solid var(--linha);background:var(--creme);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.estrelinha{display:flex;align-items:center;gap:6px}.estrelinha i{width:18px;height:1px;background:var(--cobre-claro)}
.cat strong{font-family:var(--serif);font-weight:600;font-size:24px}
.cat small{font-size:14px;line-height:1.55;color:var(--texto-suave);max-width:200px}

/* galeria */
.galeria{background:var(--creme-claro);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.galeria .wrap{padding-top:100px;padding-bottom:100px;display:flex;flex-direction:column;gap:40px}
.galeria-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.filtros{display:flex;flex-wrap:wrap;gap:8px}
.filtro{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--linha-forte);background:transparent;color:var(--oliva);font-family:var(--sans);font-size:15px;cursor:pointer}
.filtro[aria-pressed="true"]{background:var(--oliva);border-color:var(--oliva);color:var(--creme)}
.mural{columns:4 220px;column-gap:20px}
.peca{margin:0 0 22px;display:inline-flex;flex-direction:column;gap:10px;width:100%;break-inside:avoid}
.peca[hidden]{display:none}
.peca button{display:block;width:100%;padding:0;border:0;background:#EFE0D0;cursor:zoom-in;border-radius:14px;overflow:hidden}
.peca img{display:block;width:100%;height:auto;transition:transform .7s ease}
.peca button:hover img{transform:scale(1.04)}
.peca figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.peca figcaption span:first-child{font-family:var(--serif);font-weight:600;font-size:20px}
.peca figcaption span:last-child{font-size:11px;letter-spacing:.2em;color:var(--cobre);text-transform:uppercase;white-space:nowrap}
.vazio{text-align:center;color:var(--texto-suave)}
.centro{display:flex;justify-content:center}

/* essência */
.essencia{display:flex;flex-wrap:wrap;align-items:center;gap:64px}
.emblema{flex:1 1 380px;min-width:0;display:flex;justify-content:center}
.emblema button{width:100%;max-width:460px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:1px solid var(--linha-forte);padding:12px;background:var(--creme-claro);cursor:zoom-in}
.emblema img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.essencia-texto{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:24px}
.abre{margin:0;font-family:var(--serif);font-style:italic;font-size:26px;line-height:1.4}
.citacao{margin:8px 0 0;padding:26px 30px;border-radius:20px;background:var(--creme-claro);border:1px solid var(--linha);display:flex;flex-direction:column;gap:12px}
.citacao p{margin:0;font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.45}
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:8px}
.valor{padding:22px;border-radius:16px;border:1px solid var(--linha);background:var(--creme-claro);display:flex;flex-direction:column;gap:8px}
.valor b{font-family:var(--serif);font-style:italic;font-weight:600;font-size:28px;color:var(--cobre)}
.valor span{font-size:15px;line-height:1.55;color:var(--texto-suave)}

/* passos */
.passos{background:var(--oliva);color:var(--creme)}
.passos .rotulo{color:var(--dourado)}.passos .rotulo::before,.passos .rotulo::after{background:var(--dourado)}
.passos .titulo{color:var(--creme-claro)}.passos .acento{color:var(--dourado)}
.passos ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.passos li{display:flex;flex-direction:column;gap:14px;padding:30px 26px;border-radius:20px;border:1px solid rgba(247,236,225,.18)}
.passos li b{font-family:var(--serif);font-style:italic;font-weight:500;font-size:52px;line-height:1;color:var(--dourado)}
.passos li strong{font-family:var(--serif);font-weight:600;font-size:26px;color:var(--creme-claro)}
.passos li span{font-size:15px;line-height:1.65;color:#DCD3C2}

/* instagram */
.insta{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:110px;padding-bottom:40px}
.insta-texto{flex:999 1 460px;min-width:0;display:flex;flex-direction:column;gap:22px}
.perfil{display:flex;align-items:center;gap:16px}
.perfil img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.insta-fotos{flex:1 1 320px;min-width:0;display:flex;justify-content:center;gap:18px}
.insta-fotos button{width:46%;max-width:230px;aspect-ratio:9/16;border-radius:22px;overflow:hidden;border:1px solid var(--linha-forte);padding:0;background:none;cursor:zoom-in}
.insta-fotos button:first-child{margin-top:40px}
.insta-fotos img{width:100%;height:100%;object-fit:cover;display:block}

/* contato */
.contato{position:relative;border-radius:32px;background:var(--creme-claro);border:1px solid var(--linha);padding:clamp(36px,6vw,72px);display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;overflow:hidden}
.infos{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 32px;margin-top:18px;font-size:15px;color:var(--texto-suave)}
.infos span{display:flex;align-items:center;gap:8px}

/* rodapé */
.rodape{background:var(--oliva);color:#DCD3C2}
.rodape .wrap{padding-top:48px;padding-bottom:48px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.rodape a{color:var(--creme-claro)}

/* janela de ampliar */
.janela{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.janela::backdrop{background:rgba(36,42,18,.9)}
.janela-fundo{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;background:transparent;cursor:zoom-out}
.janela-conteudo{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:72px 80px 32px;pointer-events:none}
.janela-conteudo img{display:block;max-width:100%;max-height:78vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);pointer-events:auto}
.janela-conteudo strong{font-family:var(--serif);font-weight:600;font-size:28px;color:var(--creme-claro);text-align:center}
.janela-conteudo small{font-size:12px;letter-spacing:.22em;color:var(--dourado);text-transform:uppercase}
.janela-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid rgba(251,245,238,.4);background:rgba(251,245,238,.1);color:var(--creme-claro);display:flex;align-items:center;justify-content:center;cursor:pointer}
.janela-btn:hover{background:rgba(251,245,238,.22)}
.janela-fechar{top:18px;right:18px;width:48px;height:48px}
.janela-ant{left:14px;top:50%;transform:translateY(-50%)}
.janela-prox{right:14px;top:50%;transform:translateY(-50%)}
@media (max-width:640px){.janela-conteudo{padding:72px 16px 90px}.janela-ant,.janela-prox{top:auto;bottom:18px;transform:none}.janela-ant{left:calc(50% - 66px)}.janela-prox{right:calc(50% - 66px)}}
:focus-visible{outline:2px solid var(--cobre);outline-offset:3px}
section[id]{scroll-margin-top:84px}
@media (max-width:760px){
  .topo{position:static}
  section[id]{scroll-margin-top:0}
  .ramo-hero{display:none}
  .hero .wrap{padding-top:48px;padding-bottom:64px}
  .menu{gap:0 22px}
  .selo{left:-8px;width:96px;height:96px}
}
