:root{--azul:#1b3577;--azul-d:#12245a;--azul-l:#dfe5f2;--porcelana:#f7f5f0;--linho:#ebe6da;--barro:#a5502c;--barro-d:#8a3f20;--azeite:#56622a;--tinta:#1a1d26;--cinza:#4c5160;--f-d:"Playfair Display",Georgia,serif;--f-t:"Mulish",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--porcelana);color:var(--tinta);font:400 1rem/1.6 var(--f-t);-webkit-font-smoothing:antialiased;padding-bottom:64px}
img{max-width:100%;height:auto;display:block}
a{color:var(--azul)}
.sr{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:-999px;top:0;background:var(--azul);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--barro);outline-offset:2px}
/* topo */
.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1.1rem;background:rgba(247,245,240,.96);border-bottom:1px solid var(--linho);backdrop-filter:blur(6px)}
.brand{text-decoration:none;color:var(--azul);display:flex;flex-direction:column;line-height:1}
.brand-w{font:italic 700 1.55rem/1 var(--f-d);letter-spacing:-.01em;color:var(--azul);margin:0}
.brand-s{font:700 .62rem/1.4 var(--f-t);letter-spacing:.18em;text-transform:uppercase;color:var(--cinza);margin-top:.15rem}
.nav{display:none;gap:1.4rem}
.nav a,.top-tel{font-weight:700;font-size:.88rem;text-decoration:none;color:var(--tinta)}
.nav a:hover{color:var(--azul);text-decoration:underline;text-underline-offset:4px}
.top-tel{color:var(--azul);white-space:nowrap}
/* hero */
.hero{display:grid;gap:2rem;padding:2.2rem 1.1rem 1rem;max-width:1200px;margin:0 auto}
.kicker,.sec-n{font:800 .72rem/1.4 var(--f-t);letter-spacing:.2em;text-transform:uppercase;color:var(--barro-d);margin:0 0 .8rem}
h1,h2,h3{font-family:var(--f-d);font-weight:700;line-height:1.12;margin:0;color:var(--azul-d)}
h1{font-size:clamp(2.05rem,7.6vw,3.9rem);letter-spacing:-.015em}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--azul)}
.lede{font-size:1.06rem;color:var(--cinza);max-width:36rem;margin:1.1rem 0 1.5rem}
.cta{display:flex;flex-wrap:wrap;gap:.7rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.25rem;border-radius:999px;font:800 .92rem/1.2 var(--f-t);text-decoration:none;border:2px solid var(--azul);transition:background .2s,color .2s,transform .2s;cursor:pointer;text-align:center}
.btn-a{background:var(--azul);color:#fff}
.btn-a:hover{background:var(--azul-d);border-color:var(--azul-d)}
.btn-b{background:transparent;color:var(--azul)}
.btn-b:hover{background:var(--azul);color:#fff}
.btn.full{width:100%}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0;margin:1.6rem 0 0;font-size:.92rem;color:var(--cinza)}
.facts strong{color:var(--tinta)}
.hero-fig{margin:0;justify-self:center;max-width:520px;width:100%}
.plate{position:relative;aspect-ratio:1;border-radius:50%;padding:14px;background:var(--porcelana);box-shadow:0 0 0 2px var(--azul),0 0 0 9px var(--porcelana),0 0 0 11px var(--azul),0 24px 50px -24px rgba(18,36,90,.45);overflow:hidden;animation:gira 1.2s cubic-bezier(.2,.7,.2,1) both}
.plate img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@keyframes gira{from{opacity:0;transform:rotate(-8deg) scale(.96)}to{opacity:1;transform:none}}
.hero-fig figcaption{font-size:.78rem;color:var(--cinza);text-align:center;margin-top:1.2rem}
.rim{display:flex;justify-content:center;gap:1.4rem;padding:1.4rem 0;color:var(--azul)}
.rim svg{width:26px;height:26px}
.rim svg:nth-child(2){width:38px;height:38px;color:var(--barro)}
/* secoes */
.sec-h{max-width:760px;margin:0 auto 1.8rem;text-align:center;padding:0 1.1rem}
h2{font-size:clamp(1.7rem,5.4vw,2.7rem)}
.sec-l{color:var(--cinza);margin:.9rem 0 0}
/* cardapio */
.menu{padding:2.4rem 0 3rem;background:var(--porcelana)}
.tabs-wrap{position:sticky;top:57px;z-index:30;background:var(--porcelana);border-top:1px solid var(--linho);border-bottom:1px solid var(--linho)}
.tabs{display:flex;gap:.3rem;overflow-x:auto;padding:.55rem 1.1rem;scrollbar-width:none;max-width:1200px;margin:0 auto}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;border:0;background:none;font:700 .9rem/1 var(--f-t);color:var(--cinza);padding:.7rem .85rem;border-radius:999px;cursor:pointer;display:flex;gap:.4rem;align-items:baseline;min-height:44px}
.tab-n{font:italic 500 .8rem var(--f-d);color:var(--barro-d)}
.tab[aria-selected=true]{background:var(--azul);color:#fff}
.tab[aria-selected=true] .tab-n{color:#f2c7b1}
.panels{max-width:880px;margin:0 auto;padding:0 1.1rem}
.panel{padding-top:2rem;animation:entra .35s ease both}
.panel:focus{outline:none}
@keyframes entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel-h{text-align:center;margin-bottom:1.6rem}
.panel-n{font:italic 500 1.1rem var(--f-d);color:var(--barro-d);margin:0}
.panel-t{font-size:clamp(1.9rem,6vw,2.6rem);margin:.1rem 0}
.panel-s{margin:0;color:var(--cinza);font-size:.92rem}
.grp{font:800 .75rem/1 var(--f-t);letter-spacing:.18em;text-transform:uppercase;color:var(--azeite);margin:2rem 0 .4rem;padding-bottom:.5rem;border-bottom:2px solid var(--azul)}
.dishes{list-style:none;margin:0;padding:0}
.dish{padding:1rem 0;border-bottom:1px dashed #c9cbd6;display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;align-items:start}
.dish-h{grid-column:1/-1;display:flex;align-items:baseline;gap:.5rem}
.dish-n{font-size:1.14rem;font-weight:700;color:var(--tinta)}
.leader{flex:1;border-bottom:2px dotted #b9bdcc;transform:translateY(-4px);min-width:1rem}
.dish-p{font:700 1.02rem var(--f-d);color:var(--azul-d);white-space:nowrap}
.dish-p small{font:600 .7rem var(--f-t);color:var(--cinza);text-transform:uppercase;letter-spacing:.06em}
.dish-d{margin:0;color:var(--cinza);font-size:.93rem;grid-column:1}
.add{grid-column:2;grid-row:2;align-self:center;border:1.5px solid var(--barro);color:var(--barro-d);background:none;border-radius:999px;font:800 .78rem var(--f-t);padding:.45rem .8rem;cursor:pointer;min-height:36px;white-space:nowrap}
.add:hover,.add.on{background:var(--barro);color:#fff}
.menu-note{max-width:880px;margin:2rem auto 0;padding:0 1.1rem;font-size:.86rem;color:var(--cinza);text-align:center}
/* casa */
.casa{display:grid;gap:2rem;padding:3.5rem 1.1rem;background:var(--azul);color:#e9edf7}
.casa h2{color:#fff}
.casa .sec-n{color:#f2c7b1}
.casa a{color:#fff}
.casa-fig img{border-radius:6px;width:100%;aspect-ratio:4/3;object-fit:cover;border:8px solid var(--porcelana)}
.casa-txt p{max-width:38rem}
.casa-small{font-size:.86rem;color:#c8d1e8}
/* galeria */
.galeria{padding:3.5rem 0}
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;padding:0 1.1rem;max-width:1200px;margin:0 auto}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:4px;background:var(--linho)}
.gal img{width:100%;height:100%;object-fit:cover;aspect-ratio:1;transition:transform .6s ease}
.gal figure:hover img{transform:scale(1.04)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.4rem .6rem .5rem;font-size:.75rem;font-weight:700;color:#fff;background:linear-gradient(transparent,rgba(10,18,45,.85))}
.g1,.g6{grid-column:span 2}
.g1 img,.g6 img{aspect-ratio:4/3}
/* visita */
.visita{padding:3.5rem 0;background:var(--linho)}
.vis-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem;max-width:1200px;margin:0 auto;padding:0 1.1rem}
.bloco{background:var(--porcelana);border:2px solid var(--azul);border-radius:6px;padding:1.4rem 1rem;box-shadow:5px 5px 0 var(--azul);margin-right:5px}
.bloco h3{font-size:1.6rem}
.bloco-l{font-size:.9rem;color:var(--cinza)}
.bloco-list{list-style:none;padding:0;margin:1rem 0;border-top:1px solid var(--linho)}
.bloco-list li{display:flex;align-items:center;gap:.5rem;padding:.55rem 0;border-bottom:1px solid var(--linho);font-size:.92rem}
.bloco-list .vazio{color:var(--cinza);font-style:italic}
.bl-n{flex:1}
.bl-q{display:flex;align-items:center;gap:.3rem}
.bl-q button{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--azul);background:none;color:var(--azul);font-weight:800;cursor:pointer}
.bl-p{min-width:5.6rem;text-align:right;font-weight:700}
.bl-x{border:0;background:none;color:var(--barro-d);font-weight:800;cursor:pointer;padding:.3rem;font-size:.8rem}
.bloco-tot{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;margin:.5rem 0}
.bloco-tot strong{font:700 1.3rem var(--f-d);color:var(--azul-d)}
.bloco-aviso{font-size:.8rem;color:var(--barro-d);margin:.2rem 0 1rem}
.form{display:grid;gap:.8rem;margin-top:1.2rem}
.f2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.7rem}
.form label{display:grid;gap:.25rem;font-size:.8rem;font-weight:800;color:var(--tinta)}
.form input,.form textarea{font:inherit;font-weight:400;padding:.65rem .7rem;border:1.5px solid #9aa0b3;border-radius:4px;background:#fff;color:var(--tinta);min-height:44px;width:100%}
.erro{color:#a1261b;font-weight:700;font-size:.88rem;margin:0}
.info address{font-style:normal;margin:1rem 0}
.info address a{font-weight:700;font-size:1.05rem}
.horas{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1.2rem;margin:0;font-size:1.02rem}
.horas dt{font-weight:800}
.horas dd{margin:0;font-family:var(--f-d)}
.info-src{font-size:.8rem;color:var(--cinza);margin:.4rem 0 0}
.canais{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem}
.canais .btn{width:100%}
.mapa{border:2px solid var(--azul);border-radius:6px;overflow:hidden;aspect-ratio:4/3}
.mapa iframe{width:100%;height:100%;border:0;display:block}
/* fama */
.fama{display:grid;gap:1.5rem;padding:3.5rem 1.1rem;max-width:1000px;margin:0 auto}
.fama-nota{text-align:center;color:var(--cinza)}
.nota{font:700 4.4rem/1 var(--f-d);color:var(--azul);margin:0}
.fama-nota p{margin:.2rem 0}
.fama h2{font-size:1.6rem;margin-bottom:1rem}
blockquote{margin:0 0 1.2rem;padding-left:1rem;border-left:3px solid var(--barro)}
blockquote p{margin:0;font:italic 500 1.08rem/1.5 var(--f-d)}
blockquote footer{font-size:.8rem;color:var(--cinza);margin-top:.3rem}
.lnk{font-weight:800}
/* faq */
.faq{padding:3rem 1.1rem 4rem;max-width:820px;margin:0 auto}
details{border-bottom:1px solid #c9cbd6}
summary{cursor:pointer;padding:1rem 2rem 1rem 0;font:700 1.12rem var(--f-d);color:var(--azul-d);list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.2rem;top:.8rem;font:500 1.5rem var(--f-t);color:var(--barro-d)}
details[open] summary::after{content:"–"}
details p{margin:0 0 1rem;color:var(--cinza)}
/* rodape */
.rodape{background:var(--azul-d);color:#d6dcee;padding:2.5rem 1.1rem 1.5rem;text-align:center}
.rodape .brand-w{color:#fff;font-size:2rem}
.rodape a{color:#fff}
.rod-small{font-size:.78rem;color:#b9c3df}
.sig{font-weight:800;letter-spacing:.06em;margin-top:1.4rem;color:#fff}
/* barra */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(4,1fr);background:var(--azul-d);border-top:3px solid var(--barro);padding-bottom:env(safe-area-inset-bottom)}
.barra a{color:#fff;text-decoration:none;font:800 .8rem var(--f-t);text-align:center;padding:.75rem .2rem;min-height:56px;display:flex;align-items:center;justify-content:center;gap:.3rem}
.barra a+a{border-left:1px solid rgba(255,255,255,.15)}
.barra-wa{background:var(--barro-d)}
#barra-n{background:#fff;color:var(--azul-d);border-radius:999px;padding:.05rem .45rem;font-size:.72rem}
@media (min-width:760px){
 .nav{display:flex}
 .hero{grid-template-columns:1.15fr .85fr;align-items:center;padding:4rem 2rem 2rem}
 .casa{grid-template-columns:1fr 1fr;align-items:center;padding:5rem max(2rem,calc((100vw - 1200px)/2))}
 .gal{grid-template-columns:repeat(4,1fr)}
 .g1{grid-column:span 2;grid-row:span 2}.g1 img{aspect-ratio:auto;height:100%}
 .g6{grid-column:span 2}
 .g7{grid-row:span 2}.g7 img{aspect-ratio:auto;height:100%}
 .vis-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}
 .fama{grid-template-columns:200px 1fr;align-items:start}
}
@media (min-width:1024px){
 body{padding-bottom:0}
 .barra{display:none}
 .tabs{justify-content:center;flex-wrap:wrap}
 .tabs-wrap{top:61px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
