
:root{
  color-scheme: light;
  --fundo:#FAF4EB; --fundo-2:#EFE5D5; --salvia:#A3AE94; --salvia-suave:#E3E8DA;
  --texto:#4A4526; --texto-suave:#635C38; --cobre:#966628; --sobre-cobre:#FAF4EB;
  --noite:#2F2C17; --sobre-noite:#FAF4EB; --sobre-noite-suave:#E8DCC6; --dourado:#D9B37E;
  --borda:#D8CBB4; --placeholder:#E6DBC8;
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --fundo:#22200F; --fundo-2:#2B2915; --salvia-suave:#343A2A;
    --texto:#EDE4D3; --texto-suave:#CFC4AE; --cobre:#D3A468; --sobre-cobre:#22200F;
    --noite:#151409; --borda:#4A4526; --placeholder:#3A3720;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --fundo:#22200F; --fundo-2:#2B2915; --salvia-suave:#343A2A;
  --texto:#EDE4D3; --texto-suave:#CFC4AE; --cobre:#D3A468; --sobre-cobre:#22200F;
  --noite:#151409; --borda:#4A4526; --placeholder:#3A3720;
}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px); scroll-behavior:smooth}
*,*::before,*::after{box-sizing:inherit}
body{margin:0; background:var(--fundo); color:var(--texto); font-family:var(--sans); font-size:17px; line-height:1.65; -webkit-font-smoothing:antialiased}
body::before{content:""; position:fixed; inset:0 0 auto; height:env(safe-area-inset-top,0px); z-index:10; background:var(--fundo)}
img{max-width:100%; display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--cobre); outline-offset:3px}
h1,h2,h3{font-family:var(--serif); font-weight:500; line-height:1.1; margin:0}
p{margin:0}
.envolve{max-width:1160px; margin:0 auto; padding:0 24px}
.estreito{max-width:680px; margin:0 auto; padding:0 24px}

/* Cabeçalho */
.topo{position:sticky; top:env(safe-area-inset-top,0px); z-index:20; background:var(--fundo); border-bottom:1px solid var(--borda)}
.topo .envolve{display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:68px}
.marca{font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:.28em; text-decoration:none; white-space:nowrap}
.menu{display:flex; align-items:center; gap:30px}
.menu a{text-decoration:none; font-size:15px; letter-spacing:.04em; padding:10px 0; border-bottom:1px solid transparent}
.menu a:hover{border-bottom-color:var(--cobre)}
.menu a[aria-current="page"]{border-bottom-color:var(--cobre)}
.botao-menu{display:none; width:44px; height:44px; border:0; background:transparent; color:var(--texto); cursor:pointer; padding:0; align-items:center; justify-content:center}
.botao{display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 28px; font-family:var(--sans); font-size:15px; font-weight:500; letter-spacing:.06em; text-decoration:none; border-radius:2px; border:1px solid var(--cobre); background:var(--cobre); color:var(--sobre-cobre); cursor:pointer; transition:filter .2s}
.botao:hover{filter:brightness(1.08)}
.botao.contorno{background:transparent; color:var(--texto); border-color:var(--texto)}
.menu .botao{min-height:44px; padding:0 22px; border-bottom:1px solid var(--cobre)}
@media (max-width: 860px){
  .botao-menu{display:inline-flex}
  .menu{position:absolute; left:0; right:0; top:100%; background:var(--fundo); border-bottom:1px solid var(--borda); flex-direction:column; align-items:stretch; gap:0; padding:8px 24px 24px; display:none}
  .menu.aberto{display:flex}
  .menu a{padding:14px 0; font-size:18px; border-bottom:1px solid var(--borda)}
  .menu .botao{margin-top:16px; min-height:52px; border-bottom:1px solid var(--cobre)}
}

/* Faixa de aviso */
.faixa{background:var(--salvia); color:#2F2C17; text-align:center; font-size:15px; padding:11px 24px}
.faixa strong{font-weight:500}

/* Hero */
.sempre-claro{--fundo:#FAF4EB; --texto:#4A4526; --texto-suave:#635C38; --cobre:#966628; --sobre-cobre:#FAF4EB; --borda:#D8CBB4; background:#FAF4EB; color:#4A4526}
.hero{padding:56px 0 72px}
.hero .envolve{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:64px; align-items:center}
.hero-texto{display:flex; flex-direction:column; align-items:center; text-align:center; gap:26px}
.hero-texto img{width:min(300px,72vw); height:auto}
.hero-texto p{font-size:19px; max-width:24em}
.acoes{display:flex; flex-wrap:wrap; gap:12px; justify-content:center}
.arco{border-radius:50% 50% 0 0 / 34% 34% 0 0; overflow:hidden; background:var(--placeholder)}
.arco img{width:100%; height:100%; object-fit:cover}
.hero .arco{aspect-ratio:4/4.4}
@keyframes surgir{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
.hero-texto, .hero .arco{animation:surgir .9s ease-out both}
.hero .arco{animation-delay:.15s}
@media (prefers-reduced-motion: reduce){ .hero-texto, .hero .arco{animation:none} html{scroll-behavior:auto} }
@media (max-width: 860px){
  .hero{padding:36px 0 48px}
  .hero .envolve{grid-template-columns:1fr; gap:40px}
  .hero .arco{aspect-ratio:4/4.6; max-width:460px; width:100%; margin:0 auto}
}

/* Seções */
.secao{padding:96px 0}
.secao.alt{background:var(--fundo-2)}
.rotulo{font-family:var(--serif); font-weight:600; font-size:15px; letter-spacing:.24em; text-transform:uppercase; color:var(--cobre); margin-bottom:14px}
.titulo{font-size:clamp(34px,5vw,52px); margin-bottom:22px}
.centro{text-align:center}
.texto-grande{font-size:19px; line-height:1.75}
@media (max-width: 860px){ .secao{padding:64px 0} }

.cabeca-linha{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:40px}
.cabeca-linha .titulo{margin-bottom:0}
.link{color:var(--cobre); font-weight:500; text-decoration:none; border-bottom:1px solid currentColor; padding:8px 0}
.pratos{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:36px}
.prato{display:flex; flex-direction:column; gap:12px}
.prato .foto{aspect-ratio:4/3; background:var(--placeholder); display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--texto-suave)}
.prato .nome-preco{display:flex; justify-content:space-between; align-items:baseline; gap:12px}
.prato h3{font-size:26px; font-weight:600}
.nota{font-size:14px; color:var(--texto-suave); margin-top:28px}

.dupla{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center}
.dupla .arco{aspect-ratio:4/4.6}
@media (max-width: 860px){ .dupla{grid-template-columns:1fr; gap:36px} .dupla .arco{max-width:460px; width:100%; margin:0 auto} }
.citacao{font-family:var(--serif); font-style:italic; font-size:clamp(24px,3vw,30px); line-height:1.35; margin-bottom:22px}

.novidade{background:var(--salvia-suave)}
.noite{background:var(--noite); color:var(--sobre-noite)}
.noite .rotulo{color:var(--dourado)}
.noite p{color:var(--sobre-noite-suave)}
.noite .botao.contorno{color:var(--sobre-noite); border-color:var(--sobre-noite)}
.noite .envolve{display:flex; flex-wrap:wrap; gap:40px; align-items:center; justify-content:space-between}
.noite .bloco{flex:1 1 520px}

.galeria{display:grid; grid-template-columns:1.4fr 1fr; gap:20px}
.galeria img{width:100%; height:100%; aspect-ratio:4/3; object-fit:cover}
.galeria figure{margin:0}
@media (max-width: 700px){ .galeria{grid-template-columns:1fr} }

/* Divisor da marca */
.divisor{display:flex; align-items:center; gap:12px; max-width:320px; margin:0 auto; color:var(--cobre)}
.divisor span{flex:1; height:1px; background:currentColor}
.divisor i{width:5px; height:5px; border-radius:50%; background:currentColor}

/* Cardápio */
.pagina-topo{padding:72px 0 40px; text-align:center}
.pagina-topo h1{font-size:clamp(44px,7vw,68px); margin-bottom:18px}
.aviso{border:1px solid var(--borda); background:var(--fundo-2); padding:18px 22px; font-size:15px; margin:28px auto 0; max-width:620px; text-align:left}
.categorias{position:sticky; top:calc(env(safe-area-inset-top,0px) + 69px); z-index:5; background:var(--fundo); border-bottom:1px solid var(--borda); overflow-x:auto; -webkit-overflow-scrolling:touch}
.categorias .envolve{display:flex; gap:8px; padding-top:10px; padding-bottom:10px; white-space:nowrap}
.categorias a{display:inline-flex; align-items:center; min-height:44px; padding:0 18px; border:1px solid var(--borda); border-radius:22px; text-decoration:none; font-size:15px}
.categorias a:hover{border-color:var(--cobre)}
.categoria{padding:56px 0 8px}
.categoria h2{font-size:38px; margin-bottom:8px}
.categoria .sub{color:var(--texto-suave); margin-bottom:22px}
.item{display:grid; grid-template-columns:1fr auto; gap:4px 20px; padding:20px 0; border-bottom:1px solid var(--borda)}
.item h3{font-size:24px; font-weight:600}
.item .preco{font-weight:500; white-space:nowrap}
.item p{grid-column:1 / -1; color:var(--texto-suave); font-size:16px}
.extra{font-size:15px !important; color:var(--texto) !important; margin-top:6px}
.executivo{display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; padding:18px 0 8px; font-family:var(--serif); font-size:21px}
.executivo b{color:var(--cobre); font-weight:400}
.etiqueta{display:inline-block; font-size:13px; border:1px solid var(--borda); padding:2px 10px; border-radius:12px; margin-left:8px; font-family:var(--sans); font-weight:400; vertical-align:middle}

/* História */
.historia-corpo{padding-top:24px; padding-bottom:96px}
.historia-corpo h2{font-size:34px; margin:48px 0 18px}
.historia-corpo p{font-family:var(--serif); font-size:22px; line-height:1.6; margin-bottom:18px}
.historia-corpo .citacao{font-size:clamp(26px,4vw,30px); line-height:1.35; margin-bottom:24px}
.assinatura{font-style:italic; margin-top:36px}

/* Eventos */
.ocasioes{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:var(--borda); border:1px solid var(--borda); margin:40px 0}
.ocasioes div{background:var(--fundo); padding:26px 22px; font-family:var(--serif); font-size:24px}
.passos{counter-reset:p; list-style:none; padding:0; margin:28px 0 0; display:grid; gap:22px}
.passos li{counter-increment:p; display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:start}
.passos li::before{content:counter(p); width:44px; height:44px; border:1px solid var(--cobre); color:var(--cobre); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-size:22px}

/* Visite-nos e rodapé */
.visite .envolve{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:64px}
.dados{display:grid; gap:24px; margin:8px 0 32px}
.dados dt{font-size:14px; font-weight:500; letter-spacing:.08em; color:var(--texto-suave)}
.dados dd{margin:4px 0 0; font-size:18px}
.mapa{min-height:380px; background:var(--fundo-2); border:1px solid var(--borda); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; text-align:center; padding:32px}
.mapa p{font-family:var(--serif); font-size:26px}
@media (max-width: 860px){ .visite .envolve{grid-template-columns:1fr; gap:40px} .mapa{min-height:260px} }
.rodape{background:var(--noite); color:var(--sobre-noite-suave); padding:56px 0 calc(56px + 64px)}
.rodape .envolve{display:flex; flex-wrap:wrap; justify-content:space-between; gap:28px; align-items:center}
.rodape .marca{color:var(--sobre-noite)}
.rodape .slogan{font-family:var(--serif); font-size:16px; letter-spacing:.2em; text-transform:uppercase; margin-top:8px}
.rodape nav{display:flex; flex-wrap:wrap; gap:8px 28px}
.rodape nav a{text-decoration:none; min-height:44px; display:inline-flex; align-items:center}
.rodape nav a:hover{text-decoration:underline}
.flutuante{position:fixed; right:18px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:30; display:none; align-items:center; gap:8px; min-height:52px; padding:0 22px; border-radius:26px; background:var(--texto); color:var(--fundo); text-decoration:none; font-weight:500; box-shadow:0 4px 18px rgba(47,44,23,.25)}
@media (max-width: 860px){ .flutuante{display:inline-flex; opacity:0; transform:translateY(12px); pointer-events:none; transition:opacity .3s, transform .3s} .flutuante.visivel{opacity:1; transform:none; pointer-events:auto} }


/* Produção */
.pular{position:absolute; left:-9999px; top:0; background:var(--cobre); color:var(--sobre-cobre); padding:12px 18px; z-index:50}
.pular:focus{left:12px; top:12px}
.destaques{display:grid; gap:0; border-top:1px solid var(--borda)}
.destaque{padding:22px 0; border-bottom:1px solid var(--borda); display:grid; grid-template-columns:1fr auto; gap:4px 20px}
.destaque h3{font-size:26px; font-weight:600}
.destaque p{grid-column:1 / -1; color:var(--texto-suave)}
.destaque .preco{font-weight:500; white-space:nowrap}
.mapa iframe{width:100%; height:100%; min-height:380px; border:0; display:block}
.mapa.com-mapa{padding:0; display:block}
.legal{padding:24px 0 96px}
.legal h2{font-size:30px; margin:40px 0 12px}
.legal p, .legal li{margin-bottom:12px}
.erro{padding:120px 0; text-align:center}
.categoria{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 150px)}
