/* Pirá v2 — guia web v4 (Danilo, base Oca). Raio 0, metades, 1 acento brasa por tela. */
@font-face{font-family:"Outfit";src:url(/fonts/outfit-latin.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
 --azul:#2F3587;--mare:#4B6295;--ceu:#698FA3;--sal:#FEFAEA;--brasa:#DD5325;--brasa-texto:#B8401A;--noite:#1A1D4A;--branco:#fff;
 --font:"Sofia Pro","Outfit","Futura","Century Gothic",Arial,sans-serif;
 --t-key:clamp(2.25rem,4.4vw,4rem);--t-h1:clamp(2.25rem,5vw,3.6rem);--t-h2:clamp(1.875rem,3vw,2.25rem);--t-h3:1.45rem;--t-body:1.125rem;--t-label:.8125rem;--t-brasa:1.1875rem;
 --s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;--s7:64px;--s8:96px;
 --container:1200px;--gutter:24px;--margem:48px;--header-h:72px;--touch:48px;
 --lado:max(var(--margem),calc((100vw - var(--container))/2));
 --escamas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16'%3E%3Cpath d='M0 16a16 16 0 0 1 32 0M-16 0a16 16 0 0 0 32 0M16 0a16 16 0 0 0 32 0' fill='none' stroke='%23698FA3' stroke-width='2'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sal);color:var(--azul);font:400 var(--t-body)/1.55 var(--font)}
h1,h2,h3,p,figure,blockquote,ul{margin:0}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--mare);outline-offset:3px}
.azul :focus-visible,.rodape :focus-visible{outline-color:var(--sal)}
.wrap{max-width:calc(var(--container) + 2*var(--margem));margin:0 auto;padding:0 var(--margem)}
.pular{position:absolute;left:-9999px;top:0;background:var(--azul);color:var(--branco);padding:var(--s3);z-index:50}
.pular:focus{left:var(--s3)}
.rotulo{display:block;font-size:var(--t-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--mare);margin-bottom:var(--s3)}
.azul .rotulo{color:var(--sal)}
h2{font-size:var(--t-h2);font-weight:700;line-height:1.1;letter-spacing:-.01em;margin-bottom:var(--s4)}
h3{font-size:var(--t-h3);font-weight:700;line-height:1.2}
.texto p,.txt{max-width:65ch}
.texto p+p{margin-top:var(--s3)}
.azul{background:var(--azul);color:var(--branco)}
/* botões: retangulares, caixa-alta +0,08em */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--touch);padding:var(--s3) var(--s4);font:600 .875rem/1.15 var(--font);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border:2px solid var(--azul);background:var(--azul);color:var(--branco);transition:background .2s,color .2s}
.btn svg{width:20px;height:20px;flex:none}
.btn:hover{background:var(--noite);border-color:var(--noite)}
.btn-linha{background:transparent;color:var(--azul)}
.btn-linha:hover{background:var(--azul);color:var(--branco);border-color:var(--azul)}
.btn-sal,.azul .btn{background:var(--sal);border-color:var(--sal);color:var(--azul);font-size:1rem}
.btn-sal:hover,.azul .btn:hover{background:var(--branco);border-color:var(--branco)}
.azul .btn-linha{background:transparent;color:var(--sal)}
.azul .btn-linha:hover{background:var(--sal);color:var(--azul)}
.link{color:var(--azul);font-weight:600;text-underline-offset:4px}
.azul .link{color:var(--sal)}
.ctas{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s5)}
/* selo brasa: único acento da tela (19px bold = texto grande WCAG) */
.selo{display:inline-block;align-self:flex-start;background:var(--brasa);color:var(--branco);font:700 var(--t-brasa)/1.2 var(--font);text-transform:uppercase;letter-spacing:.06em;padding:var(--s2) var(--s3)}
/* placeholders visíveis */
.ph{display:inline;font-size:.8em;font-weight:600;color:var(--mare);border:1px dashed var(--mare);padding:0 .3em;background:rgba(105,143,163,.12)}
.azul .ph,.rodape .ph{color:var(--sal);border-color:var(--sal);background:rgba(254,250,234,.1)}
.rascunho{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mare);border:1px dashed var(--mare);padding:0 .3em}
.aviso{font-size:.875rem;color:var(--mare)}
.azul .aviso{color:var(--sal)}
/* header fixo sal */
.hd{position:sticky;top:0;z-index:20;height:var(--header-h);background:var(--sal);border-bottom:1px solid rgba(47,53,135,.15)}
.hd .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.logo{display:flex;align-items:center;gap:var(--s2);text-decoration:none}
.logo img{height:36px;width:auto}
.tag-logo{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--mare);border:1px dashed var(--mare);padding:2px 6px;white-space:nowrap}
.nav{display:flex;align-items:center;gap:var(--s5)}
.nav a:not(.btn){text-decoration:none;font-weight:400;padding:var(--s2) 0}
.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}
/* figuras com crédito e marcador REFERÊNCIA */
.foto{position:relative;margin:0;overflow:hidden;background:#E9E6DA}
.foto picture,.foto img{width:100%;height:100%}
.foto img{object-fit:cover}
.metade>.foto img{position:absolute;inset:0}
.ref{position:absolute;left:0;top:0;background:var(--noite);color:var(--branco);font-size:.75rem;font-weight:700;letter-spacing:.1em;padding:6px 10px;z-index:1}
.foto figcaption{position:absolute;right:0;bottom:0;max-width:92%;background:rgba(26,29,74,.88);color:var(--branco);font-size:.75rem;line-height:1.35;padding:6px 10px}
/* metades */
.metade{display:grid;grid-template-columns:1fr 1fr}
.bloco{display:flex;flex-direction:column;justify-content:center;padding:var(--s8) var(--s7)}
.metade>.bloco:first-child{padding-left:var(--lado)}
.metade>.bloco:last-child{padding-right:var(--lado)}
.escamas{position:relative}
.escamas::after{content:"";position:absolute;left:0;right:0;bottom:0;height:32px;background:var(--escamas);opacity:.6}
/* 01 hero */
.hero{height:calc(100vh - var(--header-h));min-height:560px;max-height:860px}
.hero .bloco{gap:var(--s4);padding-bottom:calc(var(--s8) + 16px)}
.hero h1{font-size:var(--t-h1);font-weight:700;line-height:1.05;letter-spacing:-.02em;max-width:14ch}
.hero .linha{font-size:var(--t-key);font-weight:700;line-height:.95;letter-spacing:-.04em;color:var(--ceu)}
.hero .btn{align-self:flex-start}
/* apoio (logo abaixo da dobra) */
.apoio{padding:var(--s6) 0;border-bottom:1px solid rgba(47,53,135,.15)}
.apoio .wrap{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:center}
.apoio .wrap>div:first-child{grid-column:1/span 8}
.apoio .ctas{grid-column:9/span 4;justify-content:flex-end;margin:0}
.apoio .sub{font-size:1.25rem;max-width:60ch}
.apoio .info{margin-top:var(--s2);color:var(--mare);font-size:1rem}
/* 03 manifesto */
.manifesto{min-height:720px}
.manifesto .bloco{gap:var(--s4)}
.manifesto h2{margin:0}
.manifesto blockquote{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.35}
.manifesto blockquote p{margin:0}
.manifesto blockquote b{font-weight:700}
.manifesto figcaption.nota{font-size:.875rem;color:var(--mare)}
/* 02 peixe do dia */
.peixe{min-height:640px}
.peixe .bloco{gap:var(--s4)}
.peixe h2{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none;padding:0}
.chips li{border:1px solid rgba(254,250,234,.6);padding:4px 10px;font-size:.9375rem}
.precos{display:flex;flex-wrap:wrap;gap:var(--s5);align-items:baseline;font-size:1rem}
.precos b{font-size:1.5rem}
.cita p{font-size:1.25rem;line-height:1.4}
.cita cite{display:block;margin-top:var(--s2);font-style:normal;font-size:.875rem;opacity:.9}
/* 04 cardápio */
.secao{padding:var(--s8) 0}
.cardapio .grade{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
.cardapio .cab{grid-column:1/span 7}
.cardapio .cols{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:var(--s5)}
.menu-sec h3{font-size:var(--t-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--mare);padding-bottom:var(--s2);border-bottom:2px solid var(--azul)}
.menu-sec ul{list-style:none;padding:0}
.menu-sec li{display:grid;grid-template-columns:1fr auto;gap:var(--s1) var(--s3);padding:var(--s3) 0;border-bottom:1px solid rgba(47,53,135,.18)}
.menu-sec li b{font-size:1.125rem;line-height:1.25}
.menu-sec li p{grid-column:1/-1;font-size:.9375rem;color:var(--mare)}
.preco{font-weight:700;white-space:nowrap}
.menu-sec+.menu-sec{margin-top:var(--s5)}
/* 05 casa e porto */
.casa{min-height:600px}
.casa .bloco{padding-bottom:calc(var(--s8) + 16px)}
/* quem faz */
.dois{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:start}
.dois>:first-child{grid-column:1/span 7}
.dois>:last-child{grid-column:9/span 4}
.depo{list-style:none;padding:0;margin-top:var(--s3)}
.depo li{padding:var(--s3) 0 var(--s3) var(--s4);border-left:3px solid var(--ceu);margin-bottom:var(--s3);font-size:1.125rem}
.mt{margin-top:var(--s6)}
.nota-g{margin-top:var(--s3);font-weight:600}
/* 06 horários e endereço */
.visite{border-top:1px solid rgba(47,53,135,.15)}
.visite .dois>:first-child{grid-column:1/span 6}
.visite .dois>:last-child{grid-column:7/span 6}
.horarios{margin-top:var(--s4);border-top:2px solid var(--azul);padding-top:var(--s3)}
.horarios p+p{margin-top:var(--s3)}
.mapa{position:relative;aspect-ratio:4/3;background:#E9E6DA}
.mapa picture,.mapa img{width:100%;height:100%;object-fit:cover}
.mapa .btn{position:absolute;left:var(--s3);bottom:var(--s3)}
.mapa iframe{width:100%;height:100%;border:0;display:block}
.faq{margin-top:var(--s8);max-width:800px}
.faq details{border-bottom:1px solid rgba(47,53,135,.25)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:var(--s3);align-items:center;min-height:var(--touch);padding:var(--s3) 0;font-weight:600;font-size:1.125rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;line-height:1;color:var(--mare)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 var(--s3)}
.faq>.aviso{margin-top:var(--s4)}
/* 07 rodapé azul (fecha com CTA) */
.rodape{background:var(--azul);color:var(--branco);padding:var(--s8) 0 var(--s6);position:relative}
.rodape::before{content:"";position:absolute;left:0;right:0;top:0;height:32px;background:var(--escamas);opacity:.6}
.rodape .final{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);align-items:end;padding-bottom:var(--s7);border-bottom:1px solid rgba(254,250,234,.25)}
.rodape .final h2{grid-column:1/span 7;font-size:var(--t-key);line-height:.95;letter-spacing:-.04em;color:var(--ceu);margin:0}
.rodape .final .ctas{grid-column:8/span 5;justify-content:flex-end;margin:0}
.rodape .info{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter);padding-top:var(--s6);font-size:.9375rem}
.rodape .info>img{grid-column:1/span 3;width:151px;height:auto}
.rodape .info>div{grid-column:5/span 8}
.rodape .info p+p{margin-top:var(--s2)}
.rodape .links{display:flex;flex-wrap:wrap;gap:var(--s4)}
.rodape a{color:var(--branco);text-underline-offset:4px}
.moderacao{font-weight:600}
/* barra mobile + consentimento */
.barra{display:none}
.consent{position:fixed;left:var(--s3);right:var(--s3);bottom:var(--s3);max-width:560px;z-index:40;background:var(--sal);color:var(--azul);border:2px solid var(--azul);padding:var(--s4);font-size:.9375rem}
.consent[hidden]{display:none}
.consent .acoes{display:flex;gap:var(--s2);margin-top:var(--s3)}
.consent button{font:600 .875rem/1 var(--font);text-transform:uppercase;letter-spacing:.08em;min-height:var(--touch);padding:0 var(--s4);border:2px solid var(--azul);background:var(--azul);color:var(--branco);cursor:pointer}
.consent button.sec{background:transparent;color:var(--azul)}
/* páginas internas */
.interna{padding:var(--s8) 0}
.interna h1{font-size:var(--t-h1);line-height:1.05;margin-bottom:var(--s4)}
.interna h2{font-size:1.5rem;margin:var(--s5) 0 var(--s2)}
.interna p{max-width:65ch}
/* revelação */
.js .rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.js .rv.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{opacity:1;transform:none;transition:none}*{transition:none!important;animation:none!important}}
/* tablet: 8 colunas, gutter 20, margem 32 */
@media (max-width:1023px){
 :root{--gutter:20px;--margem:32px;--lado:var(--margem)}
 .bloco{padding:var(--s7) var(--s5)}
 .cardapio .cols{grid-template-columns:1fr 1fr}
 .dois>:first-child,.dois>:last-child,.visite .dois>:first-child,.visite .dois>:last-child{grid-column:1/-1}
 .apoio .wrap>div:first-child,.apoio .ctas{grid-column:1/-1;justify-content:flex-start}
 .nav{gap:var(--s4)}
}
/* mobile: 4 colunas, gutter 16, margem 16 */
@media (max-width:767px){
 :root{--gutter:16px;--margem:16px;--header-h:60px}
 .nav a:not(.btn),.nav .btn{display:none}
 .logo img{height:30px}
 .metade{grid-template-columns:1fr}
 .metade>.foto{order:-1;height:280px}
 .manifesto>.foto,.peixe>.foto,.casa>.foto{height:320px}
 .metade>.bloco,.metade>.bloco:first-child,.metade>.bloco:last-child{padding:var(--s6) var(--margem) var(--s7)}
 .hero{height:auto;min-height:0;max-height:none}
 .hero .bloco{gap:var(--s3);padding-top:var(--s5)}
 .hero h1{font-size:2.25rem}
 .hero .linha{font-size:2rem}
 .manifesto,.peixe,.casa{min-height:0}
 .secao{padding:var(--s7) 0}
 .cardapio .cols{grid-template-columns:1fr}
 .cardapio .cab{grid-column:1/-1}
 .rodape .final h2,.rodape .final .ctas,.rodape .info>img,.rodape .info>div{grid-column:1/-1}
 .rodape .final .ctas{justify-content:flex-start}
 .rodape .final .btn{width:100%}
 body{padding-bottom:76px}
 .barra{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--sal);border-top:1px solid rgba(47,53,135,.2);padding:var(--s3) var(--margem) 12px}
 .barra .btn{width:100%}
 .consent{bottom:88px}
 .faq{margin-top:var(--s7)}
}
.precos span{white-space:nowrap}
