/* ClassyCO · site.css
   Mundo: o próprio logo. Papel claro do arquivo da marca, verde-oliva do C, beterraba do prato,
   laranja do "co" como ponto de luz e o verde-folha das folhinhas nas seções escuras. */
:root{
  --papel:#F4F3F0;
  --leite:#FAF9F6;
  --aveia:#EAE7DD;
  --aveia-2:#DEDACB;
  --oliva:#82962D;
  --oliva-esc:#5B6A1C;
  --oliva-viva:#B5C95A;
  --oliva-clara:#E3E8C8;
  --laranja:#F2A31B;
  --laranja-clara:#FBE3B8;
  --bet:#A8285A;
  --bet-esc:#8E1F4B;
  --bet-viva:#E7A3BC;
  --rosa-clara:#F6DCE5;
  --folha:#1C2B22;
  --folha-2:#24382C;
  --folha-3:#2E4537;
  --texto:#232B24;
  --suave:#596158;
  --creme:#F1EEE4;
  --creme-suave:#C3C9B8;
  --linha:rgba(28,43,34,.14);
  --linha-forte:rgba(28,43,34,.32);
  --linha-clara:rgba(241,238,228,.18);
  --linha-clara-forte:rgba(241,238,228,.4);

  --ease:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.22,1,.36,1);
  --t-hover:180ms;

  --f-display:"Young Serif",Georgia,serif;
  --f-text:"Urbanist",system-ui,sans-serif;
  --f-mono:"Sometype Mono",ui-monospace,monospace;

  --gutter:clamp(20px,5vw,80px);
  --max:1320px;
  --edge:max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter)));
  --sec:clamp(84px,9vw,136px);
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 3.5L13.5 8 9 12.5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;scroll-padding-top:84px;scrollbar-gutter:stable}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--papel);color:var(--texto);
  font-family:var(--f-text);font-size:clamp(17px,1.12vw,19px);line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:1.04;letter-spacing:-.02em;margin:0;text-wrap:balance;color:var(--folha)}
h2{font-size:clamp(36px,4.2vw,64px)}
h3{font-size:clamp(22px,1.7vw,27px);line-height:1.15}
/* a Young Serif não tem itálico: a ênfase vem pela cor */
h1 em,h2 em{font-style:normal;color:var(--bet)}
p{margin:0;text-wrap:pretty}
.lede{margin-top:22px;max-width:46ch;font-size:clamp(18px,1.3vw,21px);color:var(--suave)}
.mono{font-family:var(--f-mono);font-weight:500;font-size:13px;letter-spacing:.01em}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.sec{position:relative;padding:var(--sec) 0}
.sec-head{max-width:760px;margin-bottom:clamp(36px,4vw,56px)}
body.intro-on{overflow:hidden}
.intro-vista body.intro-on,.sem-motor body.intro-on{overflow:visible}

.escuro{background:var(--folha);color:var(--creme)}
.escuro h2,.escuro h3{color:var(--creme)}
.escuro h2 em{color:var(--oliva-viva)}
.escuro .lede{color:var(--creme-suave)}

.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--folha);color:var(--creme);padding:12px 18px;text-decoration:none;font-weight:600;border-radius:12px;transition:top var(--t-hover) var(--ease)}
.skip:focus{top:16px}
:focus-visible{outline:2px solid var(--bet);outline-offset:3px}
.escuro :focus-visible,.eventos :focus-visible{outline-color:var(--laranja)}
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}
.off,.off *{animation-play-state:paused!important}

/* ============ LOGO REAL (recorte do arquivo enviado: x 120 a 930, y 480 a 780 de 1080 x 1350) ============ */
.logo-crop{position:relative;display:block;overflow:hidden;aspect-ratio:810/300}
.logo-crop img{position:absolute;max-width:none;width:133.3333%;height:auto;left:-14.8148%;top:-160%}

/* ============ BOTÕES DIRECIONAIS ============ */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:0 9px 0 26px;
  border:0;border-radius:999px;background:var(--bet);color:var(--leite);text-decoration:none;font-weight:600;font-size:17px;cursor:pointer;
  box-shadow:0 12px 26px -14px rgba(168,40,90,.85);
  transition:transform var(--t-hover) var(--ease),background-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.26) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--ease-out)}
.btn:hover{transform:translateY(-3px);background:var(--bet-esc);box-shadow:0 18px 36px -12px rgba(168,40,90,.75)}
.btn:hover::before{transform:translateX(120%)}
.btn:active{transform:translateY(0) scale(.97);transition-duration:90ms}
.btn-i{position:relative;flex:none;width:40px;height:40px;border-radius:50%;background:var(--leite);overflow:hidden}
.btn-i::before,.btn-i::after{content:"";position:absolute;inset:0;background:var(--bet);-webkit-mask:var(--arrow) center/16px no-repeat;mask:var(--arrow) center/16px no-repeat;transition:transform 200ms var(--ease)}
.btn-i::after{transform:translateX(-130%)}
.btn:hover .btn-i::before{transform:translateX(130%)}
.btn:hover .btn-i::after{transform:none}
.btn-sm{min-height:46px;padding:0 6px 0 20px;font-size:15px;gap:12px}
.btn-sm .btn-i{width:34px;height:34px}
.btn-full{width:100%}
/* no escuro e na faixa beterraba: laranja do "co" com círculo verde-folha */
.btn-claro{background:var(--laranja);color:var(--folha);box-shadow:0 12px 26px -14px rgba(242,163,27,.8)}
.btn-claro:hover{background:#F7B547;box-shadow:0 18px 36px -12px rgba(242,163,27,.7)}
.btn-claro .btn-i{background:var(--folha)}
.btn-claro .btn-i::before,.btn-claro .btn-i::after{background:var(--laranja)}

.btn-line{display:inline-flex;align-items:center;gap:14px;min-height:48px;text-decoration:none;font-weight:600;font-size:16.5px;color:var(--folha);cursor:pointer}
.btn-line span{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;padding-bottom:3px;transition:background-size 200ms var(--ease)}
.btn-line i{position:relative;flex:none;width:42px;height:42px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--linha-forte);color:var(--bet);transition:background-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),transform var(--t-hover) var(--ease),color var(--t-hover) var(--ease)}
.btn-line i::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--arrow) center/15px no-repeat;mask:var(--arrow) center/15px no-repeat}
.btn-line:hover span{background-size:100% 1.5px}
.btn-line:hover i{background:var(--bet);box-shadow:inset 0 0 0 1.5px var(--bet);color:var(--leite);transform:translateX(4px)}
.escuro .btn-line{color:var(--creme)}
.escuro .btn-line i{box-shadow:inset 0 0 0 1.5px var(--linha-clara-forte);color:var(--laranja)}
.escuro .btn-line:hover i{background:var(--laranja);box-shadow:inset 0 0 0 1.5px var(--laranja);color:var(--folha)}

/* ============ ABERTURA ============ */
#intro{position:fixed;inset:0;z-index:100;overflow:hidden;display:grid;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);
  padding:clamp(20px,4vw,48px);background:#F4F3F0;color:var(--folha)}
#intro[hidden],.intro-vista #intro,.sem-motor #intro{display:none}
.intro-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(26px,5vh,56px);cursor:pointer;user-select:none;-webkit-user-select:none;outline:none}
.intro-stage:focus-visible .intro-mark{outline:2px solid var(--bet);outline-offset:14px;border-radius:16px}
.intro-mark{position:relative;width:min(780px,92vw);aspect-ratio:810/300;flex:none}
.pecas{position:absolute;inset:0}
.peca{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:0;--gap:#F4F3F0}
.intro-logo{position:absolute;inset:0;opacity:0}
.intro-text{min-height:2.3em;display:flex;align-items:flex-start;justify-content:center;font-size:clamp(24px,3vw,44px)}
.intro-line{font-family:var(--f-display);line-height:1.12;letter-spacing:-.015em;text-align:center;max-width:24ch;text-wrap:balance;font-size:1em}
.intro-bottom{display:flex;justify-content:center}
.intro-hint{display:flex;align-items:center;gap:12px;margin:0;color:var(--suave);transition:opacity .4s var(--ease),transform .4s var(--ease)}
.intro-hint.gone{opacity:0;transform:translateY(6px)}
.hint-ic{position:relative;width:10px;height:10px;border-radius:50%;background:var(--bet)}
.hint-ic::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--bet);opacity:0;animation:hint 1.8s var(--ease-out) infinite}
@keyframes hint{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
@media (max-width:600px){.intro-text{min-height:3.4em}}

/* ============ CABEÇALHO ============ */
.site-head{position:fixed;inset:0 0 auto;z-index:60;transition:opacity .5s var(--ease),background-color .35s var(--ease),box-shadow .35s var(--ease)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px;transition:height .35s var(--ease)}
/* fundo sólido no papel do arquivo do logo: o recorte do PNG some no fundo, sem caixa */
.site-head.scrolled{background:#F4F3F0;box-shadow:0 1px 0 var(--linha)}
.site-head.scrolled .wrap{height:68px}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;border-radius:8px}
.brand-logo{width:132px}
.site-head.scrolled .brand-logo{width:118px}
.brand-logo{transition:width .35s var(--ease)}
.nav{display:flex;align-items:center;gap:clamp(16px,2.1vw,32px)}
.nav a:not(.btn){text-decoration:none;font-weight:600;font-size:15.5px;color:var(--suave);position:relative;padding:6px 0;transition:color var(--t-hover) var(--ease)}
.nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--oliva);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--t-hover) var(--ease)}
.nav a:not(.btn):hover{color:var(--folha)}
.nav a:not(.btn):hover::after{transform:scaleX(1)}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-btn i{position:absolute;left:10px;right:10px;height:2px;border-radius:2px;background:var(--folha);transition:transform var(--t-hover) var(--ease),opacity var(--t-hover) var(--ease)}
.menu-btn i:nth-child(1){top:15px}.menu-btn i:nth-child(2){top:21px}.menu-btn i:nth-child(3){top:27px}
body.menu-open .menu-btn i:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.menu-open .menu-btn i:nth-child(2){opacity:0}
body.menu-open .menu-btn i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
body.intro-on .site-head{opacity:0}
.intro-vista body.intro-on .site-head,.sem-motor body.intro-on .site-head{opacity:1}
/* com "Cardápio" no menu, o menu cheio só cabe acima de 1180 px */
@media (max-width:1180px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:26px;background:#F4F3F0;opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility 0s .3s}
  .nav a:not(.btn){font-family:var(--f-display);font-weight:400;font-size:34px;letter-spacing:-.02em;color:var(--folha)}
  .nav .btn{margin-top:8px}
  body.menu-open .nav{opacity:1;visibility:visible;transition:opacity .3s var(--ease)}
  body.menu-open{overflow:hidden}
  body.menu-open .site-head{background:#F4F3F0}
}

/* ============ HERO: o prato se serve com a rolagem ============ */
.hero{position:relative}
.hero-rola .hero{height:620vh}
.stage{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--papel);--p:0;--gap:#F4F3F0}
.hero-rola .stage{position:sticky;top:0;height:100vh;height:100svh}
.h-fundo{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(38% 46% at 76% 54%,rgba(242,163,27,.13),transparent 70%),
    radial-gradient(30% 36% at 96% 96%,rgba(130,150,45,.16),transparent 70%),
    radial-gradient(26% 30% at 58% 8%,rgba(168,40,90,.07),transparent 70%)}
.h-art{position:absolute;right:var(--edge);top:50%;width:min(47vw,740px);height:auto;overflow:visible;transform:translateY(-46%);
  --pa:clamp(0,calc(var(--p) / .3),1);
  --pr:clamp(0,calc((var(--p) - .04) / .24),1);
  --pc:clamp(0,calc((var(--p) - .33) / .22),1);
  --ps:clamp(0,calc((var(--p) - .42) / .2),1);
  --pt:clamp(0,calc((var(--p) - .62) / .16),1);
  --pu:clamp(0,calc((var(--p) - .74) / .2),1)}
.h-halo{fill:var(--aveia);opacity:.6}
.h-prato,.h-folhas{transform-box:fill-box;transform-origin:50% 50%}
.h-prato{transform:scale(calc(.88 + .12 * var(--pa)))}
.h-folhas{transform-origin:50% 100%;transform:rotate(calc((1 - var(--pa)) * -10deg))}
.h-aro{stroke-dasharray:1px 2px;stroke-dashoffset:calc((1 - var(--pr)) * 1px)}
.gap,.aro{stroke:var(--gap,#F4F3F0)}
.h-c{transform:translateX(calc((1 - var(--pc)) * -150px));opacity:var(--pc)}
.h-colher{fill:none;stroke:var(--laranja);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1px 2px;stroke-dashoffset:calc((1 - var(--ps)) * 1px)}
.h-talher{transform:translateY(calc((1 - var(--pt)) * 70px));opacity:var(--pt)}
.h-sol{transform:translateY(calc((1 - var(--pu)) * 40px));opacity:var(--pu)}
/* entrada da cena quando a abertura pousa no cabeçalho */
.js .h-art{opacity:0}
.js .stage.vivo .h-art{animation:servir 1.2s var(--ease-out) forwards}
.sem-motor .h-art{opacity:1}
@keyframes servir{from{opacity:0;scale:.94}to{opacity:1;scale:1}}

.band{position:absolute;left:var(--edge);top:50%;transform:translateY(-50%);width:min(41vw,600px);opacity:0;pointer-events:none;color:var(--folha);isolation:isolate}
.band::before{content:"";position:absolute;inset:-26% -18% -26% -24%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(244,243,240,.92),rgba(244,243,240,0))}
.band.on{pointer-events:auto}
.band .t{font-family:var(--f-display);font-weight:400;font-size:clamp(40px,4.3vw,74px);line-height:1.02;letter-spacing:-.025em;max-width:13ch;width:fit-content;margin:0;color:var(--folha)}
.band-final .t{font-size:clamp(38px,4vw,68px);max-width:15ch}
.band .sub{margin-top:20px;max-width:36ch;font-size:clamp(17px,1.3vw,21px);font-weight:500;color:var(--suave)}
.band .w{display:inline-block;--kc:clamp(0,(var(--k,0) - var(--th,0)) * 3,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc)) * 16px))}
.band[data-fx="lado"] .w{transform:translateX(calc((1 - var(--kc)) * -18px))}
.band[data-fx="abre"] .w{transform:translateX(calc((1 - var(--kc)) * var(--dx,0px)))}
.band .sub{--ks:clamp(0,(var(--k,0) - .35) * 3,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks)) * 12px))}
.band .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px;--kb:clamp(0,(var(--k,0) - .6) * 4,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb)) * 12px))}

/* hero estático (movimento reduzido, celular deitado com tela baixa, sem JS): só a faixa final, cena montada */
html:not(.hero-rola) .stage{--p:1!important;display:flex;align-items:center}
html:not(.hero-rola) .band:not(.band-final){display:none}
html:not(.hero-rola) .band-final{position:relative;left:auto;top:auto;transform:none;margin:0 0 0 var(--edge);padding:120px 0 72px;opacity:1!important;--k:1!important;pointer-events:auto}
html:not(.hero-rola) .band-final .w,html:not(.hero-rola) .band-final .sub,html:not(.hero-rola) .band-final .ctas{opacity:1!important;transform:none!important}
html:not(.hero-rola) .h-art{opacity:1!important;animation:none!important}

/* celular e tablet em pé: faixas no topo, cena embaixo */
@media (orientation:portrait) and (max-width:1024px),(max-width:760px){
  .hero-rola .hero{height:520vh}
  .h-art{left:50%;right:auto;top:auto;bottom:clamp(18px,4svh,48px);width:min(94vw,580px);transform:translateX(-50%)}
  .band{left:var(--gutter);right:var(--gutter);top:calc(env(safe-area-inset-top,0px) + 96px);transform:none;width:auto}
  .band::before{inset:-14% -8% -20% -8%}
  .band .t,.band-final .t{font-size:clamp(32px,8.4vw,58px);max-width:14ch}
  .band .sub{margin-top:14px;font-size:16.5px;max-width:34ch}
  .band .ctas{margin-top:22px}
  html:not(.hero-rola) .stage{flex-direction:column;align-items:stretch}
  html:not(.hero-rola) .band-final{margin:0 var(--gutter);padding:110px 0 0}
  html:not(.hero-rola) .h-art{position:relative;left:auto;bottom:auto;transform:none;margin:28px auto 36px}
}
@media (orientation:portrait) and (max-width:1024px) and (max-height:900px),(max-width:760px) and (max-height:900px){
  .band-final .sub{display:none}
}
@media (orientation:portrait) and (max-width:1024px) and (max-height:720px){
  .band .sub{display:none}
  .h-art{width:min(80vw,440px)}
}
@media (orientation:landscape) and (max-height:560px){
  .band .t,.band-final .t{font-size:clamp(28px,4.6vw,44px)}
  .band .sub{display:none}
}

/* ============ LETREIRO ============ */
.mq{overflow:hidden;background:var(--oliva);color:var(--folha);padding:20px 0;border-block:1px solid rgba(28,43,34,.12)}
.mq-row{display:flex;align-items:center;width:max-content;gap:30px;animation:mq 42s linear infinite}
.mq span{font-family:var(--f-display);font-size:clamp(24px,2.4vw,36px);letter-spacing:-.015em;white-space:nowrap}
.mq b{flex:none;width:22px;height:22px;border-radius:50%;background:var(--bet);box-shadow:inset 0 0 0 4px var(--bet),inset 0 0 0 6px var(--papel)}
@keyframes mq{to{transform:translateX(calc(-50% - 15px))}}

/* ============ O QUE A GENTE PREPARA ============ */
.cardapio{background:var(--papel)}
.vitrine{position:relative}
.vit-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px var(--edge) 28px;scroll-padding-inline:var(--edge);scrollbar-width:none;cursor:grab;outline:none}
.vit-track::-webkit-scrollbar{display:none}
.vit-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.vit-track:focus-visible{outline:2px solid var(--bet);outline-offset:-2px;border-radius:24px}
.vit{flex:none;width:clamp(280px,29vw,380px);scroll-snap-align:start;display:flex;flex-direction:column;border-radius:28px;background:var(--leite);overflow:hidden;cursor:pointer;
  box-shadow:0 1px 0 var(--linha),0 24px 48px -36px rgba(28,43,34,.45);transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.m-js .vit-track.m-in.m-done > .vit{transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.vit:hover,.m-js .vit-track.m-in > .vit:hover{transform:translateY(-6px);box-shadow:0 1px 0 var(--linha),0 30px 60px -34px rgba(28,43,34,.55)}
.vit-art{aspect-ratio:16/11;display:grid;place-items:center;background:var(--aveia)}
.vit-art svg{width:100%;height:100%;transition:transform .5s var(--ease-out)}
.vit:hover .vit-art svg{transform:scale(1.04) rotate(-1.5deg)}
.v-sob .vit-art{background:var(--oliva-clara)}
.v-chef .vit-art{background:var(--laranja-clara)}
.v-buffet .vit-art{background:var(--folha)}
.v-kids .vit-art{background:var(--rosa-clara)}
.vit-body{display:flex;flex-direction:column;gap:10px;padding:24px 24px 18px;flex:1}
.vit-body p{color:var(--suave);font-size:16.5px}
.vit-body .btn-line{margin-top:auto;padding-top:8px}
.vit-hint{padding:0 var(--edge);color:var(--suave);transition:opacity .4s var(--ease)}
.vit-hint.gone{opacity:0}
.vit-track.dragging .vit{pointer-events:none}

/* ============ DO SEU JEITO ============ */
.monte{overflow:hidden}
.monte::before{content:"";position:absolute;right:-12%;top:-20%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(closest-side,rgba(181,201,90,.12),transparent);pointer-events:none}
.monte-grid{position:relative;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);grid-template-areas:"txt prato" "form prato";gap:0 clamp(36px,6vw,96px);align-items:center}
.monte-txt{grid-area:txt;align-self:end}
.monte-prato{grid-area:prato}
.monte-form{grid-area:form;align-self:start;margin-top:34px;display:grid;gap:22px;justify-items:start}
.chips{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend,.tipos legend{padding:0;margin-bottom:12px;font-weight:600;font-size:16px;color:var(--creme)}
.chips label,.tipos label{display:block}
.chips input,.tipos input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}
.chips span,.tipos span{display:inline-flex;align-items:center;min-height:44px;padding:0 17px;border-radius:999px;border:1.5px solid var(--linha-clara-forte);color:var(--creme);font-size:15.5px;font-weight:500;cursor:pointer;
  transition:background-color var(--t-hover) var(--ease),border-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),transform var(--t-hover) var(--ease)}
.chips span:hover,.tipos span:hover{border-color:var(--laranja)}
.chips input:checked + span,.tipos input:checked + span{background:var(--laranja);border-color:var(--laranja);color:var(--folha);font-weight:700}
.chips input:focus-visible + span,.tipos input:focus-visible + span{outline:2px solid var(--laranja);outline-offset:3px}
.chips label:active span{transform:scale(.96)}
.monte-err{color:#FFC2B3;font-size:14.5px;font-weight:600}
.monte-err:empty{display:none}
.monte-prato{display:grid;justify-items:center;gap:18px}
.monte-prato svg{width:min(100%,460px);height:auto;filter:drop-shadow(0 30px 50px rgba(0,0,0,.35))}
.fatias circle{fill:none;stroke-width:76;transition:stroke-dasharray .6s var(--ease-out),stroke-dashoffset .6s var(--ease-out)}
.monte-leg{color:var(--creme-suave);text-align:center;max-width:34ch;min-height:2.8em}
@media (max-width:900px){.monte-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"txt" "prato" "form"}.monte-prato{margin-top:36px}.monte-prato svg{width:min(78vw,360px)}}

/* ============ QUEM COZINHA ============ */
.quem{background:var(--leite)}
.quem-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,110px);align-items:center}
.quem-foto{position:relative;margin:0;width:min(100%,440px);justify-self:center}
.quem-foto img{position:relative;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:30px;box-shadow:0 30px 60px -36px rgba(28,43,34,.6)}
/* o prato da marca por trás da foto, saindo pelo canto */
.quem-disco{position:absolute;right:-9%;bottom:6%;width:46%;aspect-ratio:1;border-radius:50%;background:var(--bet);box-shadow:inset 0 0 0 14px var(--bet),inset 0 0 0 19px var(--leite)}
.quem-disco::before{content:"";position:absolute;left:-58%;top:-128%;width:62%;aspect-ratio:1;border-radius:50%;background:var(--oliva);opacity:.9}
.quem-foto figcaption{margin-top:16px;color:var(--suave)}
.quem-lista{list-style:none;margin:30px 0 26px;padding:0;display:grid;gap:0}
.quem-lista li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--linha);font-weight:600;font-size:17.5px}
.quem-lista li:first-child{border-top:1px solid var(--linha)}
.ponto{flex:none;width:14px;height:14px;border-radius:50%;background:var(--oliva);box-shadow:4px -4px 0 -2px var(--laranja)}
@media (max-width:900px){.quem-grid{grid-template-columns:minmax(0,1fr)}.quem-foto{width:min(86%,400px)}}

/* ============ COMO FUNCIONA ============ */
.como{background:var(--aveia)}
.passos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.passo{background:var(--leite);border-radius:26px;padding:28px 26px 30px;box-shadow:0 1px 0 var(--linha)}
.passo:nth-child(even){margin-top:56px}
.passo:nth-child(2){background:var(--oliva-clara)}
.passo:nth-child(4){background:var(--laranja-clara)}
.passo h3{margin-top:22px}
.passo p{margin-top:10px;color:var(--suave);font-size:16.5px}
.passo-ic{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--bet);color:var(--leite)}
.passo-ic svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1000px){.passos{grid-template-columns:repeat(2,minmax(0,1fr))}.passo:nth-child(even){margin-top:36px}}
@media (max-width:560px){.passos{grid-template-columns:minmax(0,1fr)}.passo:nth-child(even){margin-top:0;margin-left:18px}.passo:nth-child(odd){margin-right:18px}}

/* ============ EVENTOS ============ */
.eventos{background:var(--bet);color:var(--creme);overflow:hidden}
.eventos h2{color:var(--creme)}
.eventos h2 em{color:var(--laranja-clara)}
.eventos .lede{color:#F6E3EA}
.ev-aros{position:absolute;right:-12vw;top:50%;width:min(70vw,860px);transform:translateY(-50%);pointer-events:none}
.ev-aros circle{fill:none;stroke:rgba(251,227,184,.16);stroke-width:2}
.ev-grid{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,6vw,96px);align-items:center}
.ev-txt .btn{margin-top:34px}
.ev-card{background:var(--leite);color:var(--texto);border-radius:28px;padding:clamp(24px,3vw,38px);box-shadow:0 40px 70px -40px rgba(40,6,20,.8)}
.ev-card-t{font-family:var(--f-display);font-size:clamp(22px,1.9vw,28px);line-height:1.15;color:var(--folha)}
.ev-card ul{list-style:none;margin:20px 0 0;padding:0}
.ev-card li{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--linha);font-weight:600}
.ev-card li::before{content:"";flex:none;width:16px;height:16px;border-radius:50%;background:var(--bet);box-shadow:inset 0 0 0 3px var(--bet),inset 0 0 0 4.5px var(--leite)}
@media (max-width:900px){.ev-grid{grid-template-columns:minmax(0,1fr)}.ev-aros{right:-40vw;width:110vw}}

/* ============ DÚVIDAS ============ */
.duvidas{background:var(--papel)}
.duv-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(36px,6vw,96px);align-items:start}
.duv-head{position:sticky;top:110px}
.acc details{border-bottom:1px solid var(--linha-forte)}
.acc details:first-child{border-top:1px solid var(--linha-forte)}
.acc summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;cursor:pointer;font-family:var(--f-display);font-size:clamp(20px,1.6vw,25px);line-height:1.2;color:var(--folha);transition:color var(--t-hover) var(--ease)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--linha-forte);
  background:linear-gradient(var(--bet),var(--bet)) center/12px 2px no-repeat,linear-gradient(var(--bet),var(--bet)) center/2px 12px no-repeat;transition:transform .3s var(--ease),background-color var(--t-hover) var(--ease)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc summary:hover{color:var(--bet)}
.acc details p{padding:0 50px 26px 0;color:var(--suave);max-width:60ch}
.acc details p a{color:var(--bet);font-weight:600;text-underline-offset:3px}
@media (max-width:900px){.duv-grid{grid-template-columns:minmax(0,1fr)}.duv-head{position:static}}

/* ============ INSTAGRAM: faixa de fotos 4/5, cartões pares descidos no computador ============ */
.insta{background:var(--leite);overflow:hidden}
.insta-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(30px,3.6vw,48px)}
.insta-txt{max-width:720px}
.setas{display:flex;gap:10px;flex:none}
.seta{position:relative;flex:none;width:54px;height:54px;padding:0;border:0;border-radius:50%;background:none;color:var(--bet);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--linha-forte);
  transition:background-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),transform var(--t-hover) var(--ease),opacity .3s var(--ease)}
.seta i{position:absolute;inset:0;border-radius:50%;overflow:hidden}
.seta i::before,.seta i::after{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:var(--arrow) center/17px no-repeat;mask:var(--arrow) center/17px no-repeat;transition:transform 200ms var(--ease)}
.seta i::after{transform:translateX(-130%)}
.seta-volta i{transform:scaleX(-1)}
.seta:hover{background:var(--bet);color:var(--leite);box-shadow:inset 0 0 0 1.5px var(--bet);transform:translateY(-3px)}
.seta:hover i::before{transform:translateX(130%)}
.seta:hover i::after{transform:none}
.seta:active{transform:scale(.97);transition-duration:90ms}
.seta.fim{opacity:.32;pointer-events:none}
.insta-track{list-style:none;margin:0;display:flex;align-items:flex-start;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px var(--edge) 34px;scroll-padding-inline:var(--edge);scrollbar-width:none;cursor:grab;outline:none}
.insta-track::-webkit-scrollbar{display:none}
.insta-track.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.insta-track.dragging .ig{pointer-events:none}
.insta-track:focus-visible{outline:2px solid var(--bet);outline-offset:-2px;border-radius:24px}
/* todas as fotos no mesmo cartão 4/5 de no máximo 320 px (as de 640 px não esticam) */
.insta-track > li{flex:none;width:clamp(240px,24vw,320px);scroll-snap-align:start}
@media (min-width:900px){.insta-track > li:nth-child(even){margin-top:48px}}
.ig{position:relative;display:block;aspect-ratio:4/5;border-radius:24px;overflow:hidden;background:var(--aveia);-webkit-user-drag:none;
  box-shadow:0 1px 0 var(--linha),0 26px 50px -34px rgba(28,43,34,.55)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out);-webkit-user-drag:none;user-select:none}
.ig:hover img{transform:scale(1.06)}
.ig::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(28,43,34,.08);pointer-events:none}
.ig-selo{position:absolute;left:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(250,249,246,.92);color:var(--bet);
  transition:background-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),transform var(--t-hover) var(--ease)}
.ig-selo svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ig-selo svg .f{fill:currentColor;stroke:none}
.ig:hover .ig-selo{background:var(--bet);color:var(--leite);transform:translateY(-3px)}
.ig:focus-visible{outline-offset:4px}
.insta-pe{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:6px}
.insta-hint{padding:0}
@media (max-width:700px){.insta-head{flex-direction:column;align-items:flex-start;gap:22px}}

/* ============ CONTATO ============ */
.contato{overflow:hidden}
.cta-grid{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.contatos{margin:36px 0 0;display:grid;gap:14px}
.contatos > div{display:flex;align-items:center;gap:16px}
.contatos dt,.contatos dd{margin:0}
.ct-ic{position:relative;display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:50%;color:var(--laranja);text-decoration:none;
  box-shadow:inset 0 0 0 1.5px var(--linha-clara-forte);
  transition:background-color var(--t-hover) var(--ease),color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),transform var(--t-hover) var(--ease)}
.ct-ic svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ct-ic svg .f{fill:currentColor;stroke:none}
.ct-ic:hover,.contatos > div:hover .ct-ic{background:var(--laranja);color:var(--folha);box-shadow:inset 0 0 0 1.5px var(--laranja);transform:translateY(-2px)}
.contatos dd{font-family:var(--f-display);font-size:clamp(22px,2vw,28px);letter-spacing:-.015em}
.contatos dd a{text-decoration:none;background:linear-gradient(var(--laranja),var(--laranja)) 0 100%/0 2px no-repeat;transition:background-size 200ms var(--ease)}
.contatos dd a:hover{background-size:100% 2px}
.form{display:grid;gap:16px;padding:clamp(22px,3vw,40px);border-radius:28px;background:var(--folha-2);box-shadow:0 0 0 1px var(--linha-clara),0 40px 80px -40px rgba(0,0,0,.7)}
.form > label,.form .row label{display:grid;gap:7px;font-weight:600;font-size:14.5px;color:var(--creme-suave)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form input:not([type=checkbox]),.form textarea{width:100%;min-height:52px;padding:0 14px;background:var(--folha);color:var(--creme);border:1.5px solid var(--linha-clara-forte);font:inherit;font-size:16px;font-weight:500;border-radius:14px;transition:border-color var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease)}
.form textarea{min-height:110px;padding:12px 14px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:rgba(195,201,184,.62)}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--laranja);box-shadow:0 0 0 4px rgba(242,163,27,.18)}
.tipos{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.form .ok{display:none;padding:12px 14px;border-radius:14px;border:1px solid rgba(181,201,90,.6);background:rgba(181,201,90,.12);color:var(--creme)}
.form.sent .ok{display:block}
.form .err{color:#FFC2B3;font-size:14.5px;font-weight:600}
.form .err:empty{display:none}
@media (max-width:900px){.cta-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.form .row{grid-template-columns:1fr}}

/* ============ RODAPÉ ============ */
.foot{background:#F4F3F0;padding-top:clamp(40px,4vw,60px)}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-logo{width:min(230px,56vw);border-radius:8px}
.foot-ct{display:flex;gap:12px}
.foot-ct .ct-ic{width:44px;height:44px;color:var(--bet);box-shadow:inset 0 0 0 1.5px var(--linha-forte)}
.foot-ct .ct-ic svg{width:26px;height:26px}
.foot-ct .ct-ic:hover{background:var(--bet);color:var(--leite);box-shadow:inset 0 0 0 1.5px var(--bet)}
.foot-motto{margin-top:24px}
.foot-motto > b{font-family:var(--f-display);font-weight:400;font-size:clamp(18px,1.5vw,22px);color:var(--folha)}

/* ============ WHATSAPP FIXO ============ */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:70;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;
  box-shadow:0 14px 30px -10px rgba(16,60,30,.55);transition:transform var(--t-hover) var(--ease),box-shadow var(--t-hover) var(--ease),opacity .4s var(--ease)}
.wa-float svg{width:32px;height:32px;fill:currentColor}
.wa-float:hover{transform:translateY(-3px);box-shadow:0 18px 36px -10px rgba(37,211,102,.6)}
.wa-float:active{transform:scale(.95)}
.wa-float.m-pulse{color:#fff}
.wa-float.m-pulse::after{animation-name:wa-pulso}
@keyframes wa-pulso{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%,100%{box-shadow:0 0 0 16px rgba(37,211,102,0)}}
body.intro-on .wa-float{opacity:0;pointer-events:none}
.intro-vista body.intro-on .wa-float,.sem-motor body.intro-on .wa-float{opacity:1;pointer-events:auto}
@media (max-width:600px){.wa-float{right:14px;bottom:14px;width:56px;height:56px}}

@media (pointer:coarse){.btn-line{min-height:44px}}

/* ============ MOVIMENTO REDUZIDO: tudo no estado final ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .mq-row,.hint-ic::after,.wa-float.m-pulse::after{animation:none!important}
  .mq{overflow-x:auto}
  .js .h-art{opacity:1}
}
