
:root{--verde:#103523;--verde2:#0b2819;--verde3:#16422c;--creme:#fdeddf;--creme2:rgba(253,237,223,.74);--linha:rgba(253,237,223,.16);--salvia:#b3cbab;--display:'Jost',system-ui,sans-serif;--sans:'Inter',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--verde);color:var(--creme);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}picture{display:block}
.hero-media picture,.zoom picture,.th picture,.menu-top picture,.card-f .ft picture{height:100%}a{color:inherit}
.w{width:min(1200px,100% - 40px);margin-inline:auto}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:.55em}h3{font-size:1.15rem;font-weight:500;line-height:1.25}
.eyebrow{font:500 .74rem/1 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--salvia);margin-bottom:1.2em}
.lead{color:var(--creme2);max-width:36em}
section{padding:clamp(64px,9vw,120px) 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* topo das páginas internas */
header.top{position:sticky;top:0;z-index:20;background:rgba(16,53,35,.94);border-bottom:1px solid var(--linha)}
header.top .w{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo-s img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:22px}.nav a:not(.btn){font:500 .78rem var(--display);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--creme2)}.nav a:not(.btn):hover{color:var(--creme)}
@media(max-width:640px){.nav a.hide-m{display:none}}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:0 26px;border-radius:12px;background:var(--creme);color:var(--verde)!important;text-decoration:none;font:500 .8rem var(--display);letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--creme);cursor:pointer;transition:background .2s}
.btn:hover{background:#fff}.btn.sm{min-height:40px;padding:0 16px;font-size:.72rem}
.btn.ghost{background:transparent;color:var(--creme)!important;border-color:rgba(253,237,223,.4)}.btn.ghost:hover{background:rgba(253,237,223,.08)}
.lk{display:inline-flex;gap:.5em;font:500 .8rem var(--display);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--creme);border-bottom:1px solid rgba(253,237,223,.45);padding-bottom:6px}.lk:hover{border-color:var(--creme)}

/* hero da bio: foto limpa (sem véu nem desfoque) + painel */
.hero{display:grid;padding:0;min-height:100svh}
.hero-media{position:relative;height:58svh;min-height:360px;overflow:hidden;background:var(--verde2)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-media::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(to bottom,rgba(16,53,35,0),var(--verde))}
.hero-panel{position:relative;z-index:1;margin-top:-34px;padding:0 20px 44px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-panel .logo img{width:min(200px,54vw);height:auto}
.tagline{font:400 .76rem var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--creme2);margin-top:16px}
.status{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.84rem;color:var(--creme);border:1px solid var(--linha);padding:6px 14px;border-radius:99px}.status:empty{display:none}
.status i{width:8px;height:8px;border-radius:50%;background:#e2a64a}.status.open i{background:#62c27f}
.links{width:min(460px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px}
.bt{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:0 20px;border:1px solid var(--linha);border-radius:14px;background:rgba(253,237,223,.035);text-decoration:none;font:500 .8rem var(--display);letter-spacing:.15em;text-transform:uppercase;color:var(--creme);transition:background .2s,border-color .2s}
.bt::after{content:"→";font-family:var(--sans);letter-spacing:0;opacity:.55}
.bt:hover{background:rgba(253,237,223,.09);border-color:rgba(253,237,223,.38)}
.bt.half{grid-column:span 1;padding:0 14px;font-size:.74rem;letter-spacing:.12em}
.bt.main{background:var(--creme);border-color:var(--creme);color:var(--verde)}.bt.main:hover{background:#fff}
.endereco{margin-top:24px;font-size:.84rem;color:var(--creme2)}
.promo{display:block;grid-column:span 2;border-radius:14px;overflow:hidden;margin-bottom:4px}
@media(min-width:960px){
 .hero{grid-template-columns:minmax(0,52%) minmax(0,48%);min-height:100vh}
 .hero-media{height:100vh;min-height:640px}.hero-media::after{display:none}
 .hero-panel{margin:0;justify-content:center;padding:56px clamp(32px,5vw,84px)}
 .hero-panel .logo img{width:230px}
}

/* faixa com o padrão da marca */
.padrao{height:40px;background:url(/img/padrao.svg) 0 0/40px 40px repeat-x;opacity:.22}

/* mosaico de fotos */
.mosaico{columns:2;column-gap:12px;margin-top:8px}
.mosaico figure{break-inside:avoid;margin:0 0 12px;position:relative}
.mosaico img{width:100%;border-radius:12px}
.mosaico figcaption{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);font:500 .66rem/1.3 var(--display);letter-spacing:.14em;text-transform:uppercase;background:rgba(11,40,25,.78);padding:6px 10px;border-radius:99px}
@media(min-width:760px){.mosaico{columns:3;column-gap:16px}.mosaico figure{margin-bottom:16px}.mosaico figcaption{font-size:.7rem}}
a.zoom{display:block;cursor:zoom-in;border-radius:12px;overflow:hidden}

/* faixa larga */
.banda{padding:0;max-width:2048px;margin-inline:auto}
.banda img{width:100%;height:clamp(300px,58vw,780px);object-fit:cover}
.manifesto p{font:300 clamp(1.45rem,3.3vw,2.35rem)/1.38 var(--display);max-width:28em}
.manifesto p+p{margin-top:.9em;font:400 1rem/1.7 var(--sans);color:var(--creme2);max-width:40em}

/* pratos */
.pratos{display:grid;grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:10px}
.prato .zoom{aspect-ratio:4/5}.prato .zoom img{width:100%;height:100%;object-fit:cover}
.prato h3{margin-top:12px}.prato p{font-size:.86rem;line-height:1.5;color:var(--creme2);margin-top:4px}
.prato .p{margin-top:6px;font:500 .95rem var(--display);color:var(--salvia)}
.prato.dest{grid-column:span 2}.prato.dest .zoom{aspect-ratio:4/5}
@media(min-width:760px){.pratos{grid-template-columns:repeat(3,1fr);gap:34px 22px}.prato.dest{grid-column:auto}}

/* happy hour e almoço */
.duo{display:grid;gap:18px}
.card-f{background:var(--verde3);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.card-f .ft img{width:100%;aspect-ratio:4/3;object-fit:cover}.card-f .ft img.pos-topo{object-position:50% 22%}
.card-f .tx{padding:24px 24px 28px}.card-f h3{font-size:1.5rem;font-weight:400}
.card-f .hr{font:500 .76rem var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--salvia);margin:10px 0 12px}
.card-f ul{list-style:none;margin:0 0 20px}.card-f li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--linha);font-size:.92rem}
.card-f li span:last-child{font-family:var(--display);color:var(--salvia);white-space:nowrap}
@media(min-width:760px){.duo{grid-template-columns:1fr 1fr;gap:24px}}

/* reservas, chegar, faq */
.painel{background:var(--verde3);border-radius:22px;padding:clamp(24px,5vw,56px)}
.acoes{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 30px}
form.res{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end}
form.res label{display:grid;gap:6px;font:500 .7rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--creme2)}
form.res input,form.res select{height:50px;padding:0 14px;border-radius:10px;border:1px solid var(--linha);background:var(--verde);color:var(--creme);font:400 1rem var(--sans);color-scheme:dark}
.dois{display:grid;gap:36px}@media(min-width:900px){.dois{grid-template-columns:1fr 1fr;gap:56px;align-items:start}}
table.h{width:100%;border-collapse:collapse;margin-top:8px}table.h td{padding:11px 0;border-bottom:1px solid var(--linha);font-size:.95rem}table.h td:last-child{text-align:right;color:var(--creme2)}
.foto-larga img{width:100%;border-radius:16px}
.map{margin-top:14px;width:100%;aspect-ratio:16/10;border-radius:16px;border:1px solid var(--linha);background:var(--verde2);color:var(--creme2);font:500 .78rem var(--display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;overflow:hidden}.map iframe{width:100%;height:100%;border:0}
.quick{border-left:2px solid var(--salvia);padding:4px 0 4px 18px;color:var(--creme2);margin-bottom:28px}.quick strong{display:block;font:500 .7rem var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--salvia);margin-bottom:6px}
details{border-bottom:1px solid var(--linha);padding:18px 0}summary{cursor:pointer;font:400 1.08rem var(--display);list-style:none;display:flex;justify-content:space-between;gap:16px}summary::after{content:"+";color:var(--salvia)}details[open] summary::after{content:"–"}summary::-webkit-details-marker{display:none}details p{color:var(--creme2);margin-top:10px}

/* cardápio */
.menu-top{padding:0}.menu-top img{width:100%;height:clamp(240px,42vw,520px);object-fit:cover}
.menu-head{padding:40px 0 10px}
.tabs{position:sticky;top:64px;z-index:10;background:var(--verde);display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none;border-bottom:1px solid var(--linha)}.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:0 0 auto;height:38px;padding:0 16px;border-radius:99px;border:1px solid var(--linha);background:transparent;color:var(--creme2);font:500 .72rem var(--display);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.tabs button[aria-selected=true]{background:var(--creme);color:var(--verde);border-color:var(--creme)}
.panel[hidden]{display:none}
.menu-list{list-style:none;max-width:860px}
.menu-list li{display:grid;grid-template-columns:1fr auto;gap:2px 18px;padding:18px 0;border-bottom:1px solid var(--linha);align-items:start}
.menu-list li.ft{grid-template-columns:76px 1fr auto}
.menu-list .th{width:76px;height:95px;border-radius:10px;overflow:hidden}.menu-list .th .zoom{height:100%;border-radius:10px}.menu-list .th img{width:100%;height:100%;object-fit:cover}
.menu-list .n{font:500 1.02rem var(--display)}.menu-list .d{display:block;font-size:.88rem;line-height:1.5;color:var(--creme2);margin-top:3px}
.menu-list li.sub{display:block;padding:34px 0 6px;border-bottom:0}.menu-list li.sub:first-child{padding-top:8px}.menu-list li.sub h3{font:500 .78rem var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--salvia)}
.menu-list .p{font:500 .98rem var(--display);color:var(--salvia);white-space:nowrap}
.tag{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;border:1px solid rgba(179,203,171,.5);color:var(--salvia);font:500 .62rem var(--display);letter-spacing:.12em;text-transform:uppercase;vertical-align:middle}
.aviso-preco{margin-top:12px;font-size:.84rem;color:var(--creme2);opacity:.85}
.nota{margin-top:24px;font-size:.86rem;color:var(--creme2);max-width:860px}

/* rodapé, flutuante, cookies, lightbox */
footer{background:var(--verde2);padding:56px 0 100px;font-size:.9rem;color:var(--creme2)}footer .logo-s img{height:44px}footer a{color:var(--creme)}footer p{margin-top:10px}
.fab{position:fixed;right:16px;bottom:16px;z-index:30;width:56px;height:56px;border-radius:50%;background:#25a35a;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.35)}.fab svg{width:28px;height:28px;fill:#fff}
#ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:680px;display:none;flex-wrap:wrap;align-items:center;gap:12px;background:var(--verde2);border:1px solid var(--linha);border-radius:16px;padding:16px 18px;font-size:.86rem;box-shadow:0 12px 30px rgba(0,0,0,.4)}
#ck.on{display:flex}#ck p{flex:1;min-width:220px}
dialog.lb{border:0;padding:0;margin:0;width:100vw;height:100vh;max-width:none;max-height:none;background:transparent}
dialog.lb::backdrop{background:rgba(5,18,11,.95)}
dialog.lb img{width:100%;height:100%;object-fit:contain;padding:12px}
.lb-x{position:fixed;top:14px;right:14px;z-index:2;width:46px;height:46px;border-radius:50%;border:1px solid var(--linha);background:rgba(16,53,35,.85);color:var(--creme);font-size:1.6rem;line-height:1;cursor:pointer}
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
.prose{max-width:760px;padding:56px 0}.prose h2{font-size:1.4rem;margin-top:1.6em}.prose p{margin-top:.7em;color:var(--creme2)}
