:root{--bg:#FCF5ED;--surface:#FFFDF9;--alt:#F3E6D2;--border:#EADFCF;--text:#3C2714;--muted:#634322;--accent:#C18636;--accent-text:#8A5A1F;--gold:#D0A76B}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
a{color:inherit}
.marca{font-family:"Dancing Script",cursive;font-weight:700}
.topo{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px max(20px,calc((100vw - 1080px)/2));background:var(--bg);border-bottom:1px solid var(--border)}
.topo .marca{font-size:28px;text-decoration:none}
.topo nav{display:flex;align-items:center;gap:18px;font-weight:600;font-size:14px}
.topo nav a:not(.btn){text-decoration:none}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;background:var(--text);color:var(--bg);font-weight:700;text-decoration:none;margin:4px 8px 4px 0}
.btn-sm{min-height:40px;padding:0 18px;margin:0}
.btn-ghost{background:transparent;color:var(--text);border:2px solid var(--accent)}
.hero{min-height:68vh;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(31,20,11,.82),rgba(31,20,11,.25))}
.hero-sm{min-height:42vh}
.hero-in{position:relative;color:#FCF5ED;padding:40px 20px;max-width:900px;margin:0 auto;width:100%}
.hero .btn-ghost{color:#FCF5ED;border-color:var(--gold)}
.hero .btn{background:var(--gold);color:#1F140B}
.kicker{letter-spacing:.35em;font-size:13px;margin:0;color:var(--gold);font-weight:700}
.grande{font-size:clamp(56px,12vw,104px);line-height:1;margin:0}
h1{margin:0 0 8px;font-size:clamp(32px,6vw,52px)}
.lead{font-size:18px;max-width:560px}
.bloco{padding:56px 20px;max-width:1120px;margin:0 auto}
.bloco.claro{max-width:none;background:var(--alt)}
.bloco.claro>*{max-width:1080px;margin-left:auto;margin-right:auto}
.estreito{max-width:720px}
h2{font-size:14px;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}
h3{margin:0 0 4px;font-size:18px}
.muted{color:var(--muted)}
.pratos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:16px 0 24px}
.prato{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.prato img,.prato-marca{width:100%;height:170px;object-fit:cover;display:block}
.prato-marca{display:flex;align-items:center;justify-content:center;background:var(--alt);color:var(--accent);font-family:"Dancing Script",cursive;font-size:34px}
.prato-corpo{padding:14px 16px}
.preco{font-weight:700;margin:8px 0 0}
.servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(18px,2.4vw,32px)}
.servico{display:block;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;text-decoration:none}
.servico img{width:100%;height:160px;object-fit:cover;display:block}
.servico div{padding:14px 16px}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.galeria img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}
.passos{padding-left:20px}
.passos li{margin:8px 0}
.rodape{background:#1F140B;color:#D9C8AE;text-align:center;padding:36px 20px}
.rodape .marca{font-size:32px;color:#FCF5ED;margin:0}
.rodape .links a{margin:0 10px;color:var(--gold)}
@media(max-width:560px){.topo nav a:not(.btn){display:none}}

.hero-sm{object-position:center 10%}
.hero-sm{background-position:center 12%}
.sobre{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:clamp(24px,5vw,56px);align-items:center}
.carrossel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:18px;aspect-ratio:4/5}
.carrossel::-webkit-scrollbar{display:none}
.carrossel img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;object-position:center 25%;scroll-snap-align:start}
.sobre-texto p{line-height:1.65}
.momentos{text-align:center}
.momentos svg{color:var(--gold);margin-bottom:4px}
.momentos p{max-width:520px;margin:8px auto 18px}
@media(max-width:700px){.sobre{grid-template-columns:1fr}.carrossel{max-width:420px;margin:0 auto;width:100%}}

.texto h2{margin-top:28px}
.texto ul{padding-left:20px}
.texto li{margin:6px 0}

/* ---- topo da home: apresentação no estilo do Instagram, com fotos de fundo em transição ---- */
.hero-home{position:relative;min-height:0;display:block;background:#1F140B;overflow:hidden}
.hero-home::before{z-index:1;background:linear-gradient(100deg,rgba(31,20,11,.84) 0%,rgba(31,20,11,.55) 50%,rgba(31,20,11,.14) 100%)}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;background-size:cover;opacity:0;animation:fundo 35s infinite;transform:scale(1.04)}
.slide:first-child{opacity:1}
@keyframes fundo{0%{opacity:0;transform:scale(1.04)}3%{opacity:1}14%{opacity:1}19%{opacity:0;transform:scale(1.12)}100%{opacity:0}}
.hero-grade{position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,6vw,88px);align-items:center;max-width:1120px;margin:0 auto;padding:56px 20px}
.retrato{margin:0}
.anel{display:block;padding:5px;border-radius:50%;background:linear-gradient(45deg,#FCAF45,#F77737,#E1306C,#C13584,#833AB4)}
.anel img{display:block;width:clamp(165px,19vw,238px);aspect-ratio:1;object-fit:cover;border-radius:50%;border:5px solid #FCF5ED}
.hero-texto{color:#FCF5ED;text-align:left}
.chef{margin:0;font-weight:700;font-size:clamp(30px,4.2vw,46px);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);line-height:1;text-shadow:0 2px 14px rgba(0,0,0,.45)}
.hero-texto .grande{text-align:left;font-size:clamp(54px,8vw,92px);margin:2px 0 4px}
.handle{margin:0 0 6px;font-size:19px;font-weight:700}
.handle a{color:#FCF5ED;text-decoration:none}
.handle a:hover{text-decoration:underline}
.bio{margin:2px 0;font-size:17px}
.bio.lema{font-family:"Dancing Script",cursive;font-weight:700;font-size:clamp(24px,2.6vw,32px);color:var(--gold);margin-top:10px;line-height:1.2}
.ig-topo{position:absolute;z-index:3;top:16px;right:max(14px,calc((100vw - 1080px)/2));display:inline-flex;align-items:center;gap:8px;color:#FCF5ED;text-decoration:none;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;background:rgba(31,20,11,.45);border:1px solid rgba(252,245,237,.35);backdrop-filter:blur(4px)}
.ig-topo:hover{background:rgba(31,20,11,.7)}
@media(max-width:700px){.hero-grade{grid-template-columns:1fr;gap:14px;padding:64px 20px 36px;justify-items:start}.anel img{width:132px}.ig-topo span{display:none}.ig-topo{padding:8px}}
@media(prefers-reduced-motion:reduce){.slide{animation:none}.slide:not(:first-child){display:none}}

.itens{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px}
.itens li{display:flex;flex-direction:column;gap:2px;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--gold);border-radius:12px}
.itens li span{color:var(--muted)}
.folder{width:100%;max-width:560px;display:block;margin:8px 0 28px;border-radius:16px;box-shadow:0 10px 30px rgba(60,39,20,.18)}

/* frase manuscrita (mesma fonte do lema do topo) */
.script{font-family:"Dancing Script",cursive;font-weight:700;font-size:23px;line-height:1.25;color:var(--accent-text);margin:2px 0 0}
.hero .script{color:var(--gold);font-size:clamp(26px,3.4vw,38px)}

.estreito h2{margin-top:34px}
.estreito p+h2{margin-top:34px}

/* topo do Personal Chef: fotos lado a lado, separadas por uma fina margem branca */
.hero-colagem{min-height:52vh;align-items:flex-end;background:#fff}
.hero-colagem::before{background:linear-gradient(to top,rgba(31,20,11,.86) 0%,rgba(31,20,11,.35) 55%,rgba(31,20,11,.05) 100%)}
.colagem{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:6px;background:#fff}
.colagem div{background-size:cover;background-position:center}
.colagem div:nth-child(3){background-position:center 55%}
@media(max-width:700px){.colagem{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr}.colagem div:last-child:nth-child(odd){grid-column:1/-1}.hero-colagem{min-height:68vh}}
.colagem{z-index:0}
.hero-colagem::before{z-index:1;background:linear-gradient(to top,rgba(31,20,11,.88) 0%,rgba(31,20,11,.55) 38%,rgba(31,20,11,0) 72%)}
.hero-colagem .hero-in{position:relative;z-index:2;max-width:1120px;padding:40px 20px 34px}
.hero-colagem .lead{max-width:640px}
