/* Fudges For Us — design tokens */
:root{
  --cream: #E5CD92;
  --cream-soft: #FBF7EE;
  --navy: #0F234F;
  --navy-deep: #0B1830;
  --gold: #AC884A;
  --gold-light: #E5CD92;
  --cocoa: #3E2415;
  --ink: #241C13;
  --max: 1140px;
  --radius: 2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream-soft);
  color:var(--ink);
  font-family:Calibri, "Carlito", -apple-system, sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.wordmark{
  font-family:"Felix Titling", "Cinzel", Georgia, serif;
  font-weight:500;
  color:var(--navy);
  margin:0 0 .4em;
  line-height:1.15;
}
h1{font-size:clamp(2.1rem, 5vw, 3.4rem); font-weight:440;}
h2{font-size:clamp(1.6rem, 3.2vw, 2.3rem);}
h3{font-size:1.25rem; font-weight:600;}
p{margin:0 0 1em;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{max-width:var(--max); margin:0 auto; padding:0 24px;}

/* Focus visibility */
a:focus-visible, button:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}

/* Nav */
.site-header{
  position:absolute;
  top:0; left:0; right:0;
  z-index:20;
  padding:26px 0;
}
.site-header.solid{
  position:relative;
  background:var(--cream-soft);
  border-bottom:1px solid rgba(20,40,79,0.12);
}
.nav-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.wordmark{
  font-size:1.5rem;
  color:var(--cream-soft);
  display:flex;
  flex-direction:column;
  line-height:1;
}
.site-header.solid .wordmark{color:var(--navy);}
.wordmark em{
  font-style:italic;
  font-size:1.7rem;
}
.wordmark small{
  font-family:Calibri, "Carlito", sans-serif;
  font-size:.62rem;
  letter-spacing:.14em;
  margin-top:2px;
  opacity:.85;
}
.nav-links{
  display:flex;
  gap:34px;
  list-style:none;
  margin:0; padding:0;
}
.nav-links a{
  color:var(--cream-soft);
  font-size:.95rem;
  padding-bottom:4px;
  border-bottom:1px solid transparent;
}
.site-header.solid .nav-links a{color:var(--navy);}
.nav-links a:hover, .nav-links a.active{border-bottom-color:var(--gold);}
.nav-toggle{display:none;}

@media (max-width:760px){
  .nav-links{
    position:fixed;
    inset:0 0 0 auto;
    width:min(78vw,320px);
    background:var(--navy);
    flex-direction:column;
    padding:96px 32px;
    gap:26px;
    transform:translateX(100%);
    transition:transform .35s ease;
  }
  .nav-links a{color:var(--cream-soft); font-size:1.1rem;}
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{
    display:block;
    background:none;
    border:0;
    cursor:pointer;
    width:34px; height:26px;
    position:relative;
    z-index:30;
  }
  .nav-toggle span{
    position:absolute; left:0; right:0; height:2px;
    background:var(--cream-soft);
    transition:transform .3s ease, opacity .3s ease;
  }
  .site-header.solid .nav-toggle span{background:var(--navy);}
  .nav-toggle span:nth-child(1){top:2px;}
  .nav-toggle span:nth-child(2){top:12px;}
  .nav-toggle span:nth-child(3){top:22px;}
  .nav-toggle.open span:nth-child(1){transform:translateY(10px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg);}
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 30px;
  font-family:Calibri, "Carlito", sans-serif;
  font-size:.98rem;
  font-weight:600;
  border-radius:var(--radius);
  border:1px solid transparent;
  cursor:pointer;
}
.btn-gold{
  background:var(--gold);
  color:var(--cream-soft);
}
.btn-gold:hover{background:#8f6c31;}
.btn-outline{
  border-color:currentColor;
  background:transparent;
}
.btn-outline:hover{background:rgba(255,255,255,.08);}

/* Hero (home) */
.hero{
  position:relative;
  min-height:92vh;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center 30%;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,24,48,.15) 0%, rgba(11,24,48,.35) 45%, rgba(11,24,48,.92) 100%);
}
.hero-content{
  position:relative;
  z-index:2;
  color:var(--cream-soft);
  padding:60px 0 56px;
  max-width:640px;
}
.hero-content p.lede{
  font-size:1.15rem;
  color:var(--gold-light);
  max-width:34ch;
}

/* Page header band (inner pages) */
.page-head{
  padding:150px 0 56px;
  background:var(--cream);
  border-bottom:1px solid rgba(20,40,79,.1);
}
.page-head p{max-width:56ch; color:var(--cocoa);}

/* Sections */
section{padding:76px 0;}
.split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.split.reverse .split-media{order:2;}
.split-media img{border-radius:var(--radius);}
@media (max-width:820px){
  .split, .split.reverse .split-media{order:initial;}
  .split{grid-template-columns:1fr; gap:32px;}
}

.eyebrow-note{
  color:var(--gold);
  font-style:italic;
  font-family:"Felix Titling", "Cinzel", serif;
  font-size:1.05rem;
  margin-bottom:.5em;
}

/* Flavor teaser tiles (home) */
.teaser-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.teaser-tile{position:relative; display:block; overflow:hidden; border-radius:var(--radius);}
.teaser-tile img{aspect-ratio:1/1; object-fit:cover; width:100%;}
.teaser-tile span{
  position:absolute; left:14px; bottom:12px;
  color:#fff;
  font-family:"Felix Titling", "Cinzel", serif;
  font-style:italic;
  font-size:1.1rem;
  text-shadow:0 2px 10px rgba(0,0,0,.5);
}
.teaser-tile::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(11,24,48,0) 55%, rgba(11,24,48,.75) 100%);
}
@media (max-width:700px){
  .teaser-grid{grid-template-columns:1fr 1fr;}
}

/* Band (dark) */
.band{
  background:var(--navy);
  color:var(--cream-soft);
}
.band .eyebrow-note{color:var(--gold-light);}
.band h2{color:var(--cream-soft);}

/* Flavor menu (sabores page) */
.menu-category{
  border-top:1px solid rgba(20,40,79,.18);
  padding:40px 0;
}
.menu-category:first-of-type{border-top:none;}
.menu-category-head{
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-bottom:22px;
}
.menu-category-head h3{white-space:nowrap;}
.menu-category-head .rule{flex:1; height:1px; background:var(--gold-light);}
.menu-list{list-style:none; margin:0; padding:0;}
.menu-list li{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:14px 0;
  border-bottom:1px dotted rgba(20,40,79,.25);
}
.menu-list li:last-child{border-bottom:none;}
.menu-list .flavor-name{font-family:"Felix Titling", "Cinzel", serif; font-size:1.15rem; color:var(--navy); font-weight:500;}
.menu-list .flavor-note{color:var(--cocoa); font-size:.95rem; text-align:right; max-width:34ch;}

.menu-figure{
  margin:36px 0;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:28px;
  align-items:center;
}
.menu-figure.reverse{grid-template-columns:1fr 1.1fr;}
.menu-figure img{border-radius:var(--radius);}
.menu-figure figcaption{
  font-family:"Felix Titling", "Cinzel", serif;
  font-style:italic;
  color:var(--gold);
  margin-top:10px;
  font-size:.95rem;
}
@media (max-width:760px){
  .menu-figure, .menu-figure.reverse{grid-template-columns:1fr;}
  .menu-list li{flex-direction:column; gap:4px;}
  .menu-list .flavor-note{text-align:left;}
}

/* About page gallery strip */
.gallery-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gallery-strip img{aspect-ratio:3/4; object-fit:cover; border-radius:var(--radius);}
@media (max-width:700px){
  .gallery-strip{grid-template-columns:1fr 1fr;}
}

/* Contact page */
.contact-hero{
  background:var(--navy);
  color:var(--cream-soft);
  padding:170px 0 90px;
  text-align:center;
}
.contact-hero h1{color:var(--cream-soft);}
.contact-hero .lede{color:var(--gold-light); max-width:46ch; margin:0 auto 34px;}
.contact-details{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:44px;
  margin-top:56px;
}
.contact-item{text-align:center;}
.contact-item .label{
  font-family:"Felix Titling", "Cinzel", serif;
  font-style:italic;
  color:var(--gold-light);
  font-size:.95rem;
  margin-bottom:6px;
  display:block;
}
.contact-item a, .contact-item span.value{font-size:1.05rem;}

/* Footer */
footer{
  background:var(--navy-deep);
  color:rgba(251,247,238,.82);
  padding:56px 0 30px;
  font-size:.92rem;
}
.footer-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:36px;
  margin-bottom:36px;
}
.footer-grid .wordmark{color:var(--cream-soft);}
.footer-links{list-style:none; margin:0; padding:0;}
.footer-links li{margin-bottom:8px;}
.footer-links a:hover{color:var(--gold-light);}
.footer-bottom{
  border-top:1px solid rgba(251,247,238,.14);
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  opacity:.7;
}

/* ---- v2: navegação com mais páginas ---- */
.nav-links{gap:26px;}
.nav-links a{white-space:nowrap;}
@media (max-width:1060px) and (min-width:761px){
  .nav-links{gap:18px;}
  .nav-links a{font-size:.88rem;}
}

/* Cardápio com linhas pontilhadas (sobremesas, empresas) */
.dish{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,6fr);
  gap:44px;
  align-items:center;
  padding:44px 0;
  border-top:1px solid rgba(20,40,79,.14);
}
.dish:first-child{border-top:none; padding-top:8px;}
.dish.flip .dish-media{order:2;}
.dish-media img{width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius);}
.dish-media.tall img{aspect-ratio:4/5;}
.dish h3{font-size:1.55rem; font-weight:500; margin-bottom:.35em;}
.dish p{color:var(--cocoa); max-width:46ch;}
.sizes{list-style:none; margin:18px 0 0; padding:0; max-width:380px;}
.sizes li{
  display:flex; align-items:baseline; gap:10px;
  padding:6px 0;
  font-size:.98rem;
}
.sizes li::after{content:none;}
.sizes .lbl{white-space:nowrap;}
.sizes .dots{flex:1; border-bottom:1px dotted rgba(20,40,79,.4); transform:translateY(-4px);}
.sizes .price{font-family:"Felix Titling","Cinzel",serif; font-weight:600; color:var(--navy); white-space:nowrap;}
.dish .composition{font-size:.93rem; font-style:italic; margin-top:10px;}
@media (max-width:760px){
  .dish, .dish.flip{grid-template-columns:1fr; gap:22px; padding:34px 0;}
  .dish.flip .dish-media{order:initial;}
}

/* Grupos dentro de uma página */
.group-head{
  padding:64px 0 10px;
  border-bottom:2px solid var(--gold-light);
  margin-bottom:8px;
}
.group-head:first-child{padding-top:0;}
.group-head h2{margin-bottom:.2em;}
.group-head p{color:var(--cocoa); max-width:60ch; margin:0 0 18px;}

/* Sabores oficiais */
.flavor-board{
  display:block;
  border-top:1px solid rgba(20,40,79,.18);
}
.flavor-group{
  padding:30px 0 34px;
  border-bottom:1px solid rgba(20,40,79,.18);
}
.flavor-cards{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(150px, 1fr));
  gap:24px 20px;
}
.flavor-card{margin:0;}
.flavor-card .thumb{
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:var(--radius);
  background:var(--cream);
  margin-bottom:10px;
}
.flavor-card .thumb img{width:100%; height:100%; object-fit:cover; display:block;}
.flavor-card .fname{
  display:block;
  font-family:"Felix Titling","Cinzel",serif;
  font-size:1.1rem;
  color:var(--navy);
}
.flavor-card .fdesc{
  display:block;
  font-family:Calibri,"Carlito",sans-serif;
  font-size:.85rem;
  color:var(--cocoa);
  line-height:1.4;
  margin-top:2px;
}
@media (max-width:560px){
  .flavor-cards{grid-template-columns:repeat(2, 1fr);}
}
.flavor-group h3{
  font-size:1.05rem;
  font-family:Calibri,"Carlito",sans-serif;
  font-weight:600;
  color:var(--gold);
  margin-bottom:14px;
}
.flavor-group ul{list-style:none; margin:0; padding:0;}
.flavor-group li{
  font-family:"Felix Titling","Cinzel",serif;
  font-size:1.6rem;
  line-height:1.3;
  color:var(--navy);
}
@media (max-width:900px){ .flavor-board{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .flavor-board{grid-template-columns:1fr;} .flavor-group li{font-size:1.4rem;} }

/* Presentes: grade compacta */
.gift-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px 28px;
  margin-top:28px;
}
.gift img{width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center bottom; border-radius:var(--radius); background:var(--cream);}
.gift h3{font-size:1.2rem; margin:14px 0 4px;}
.gift p{margin:0; color:var(--cocoa); font-size:.95rem;}
.gift .price{font-family:"Felix Titling","Cinzel",serif; font-weight:600; color:var(--navy); font-size:1.1rem; margin-top:6px; display:block;}
@media (max-width:860px){ .gift-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .gift-grid{grid-template-columns:1fr;} }

/* Home: o que fazemos */
.offer-list{list-style:none; margin:28px 0 0; padding:0; border-top:1px solid rgba(20,40,79,.18);}
.offer-list li{border-bottom:1px solid rgba(20,40,79,.18);}
.offer-list a{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:28px;
  align-items:center;
  padding:22px 0;
}
.offer-list img{width:120px; height:90px; object-fit:cover; border-radius:var(--radius);}
.offer-list h3{margin:0 0 4px; font-size:1.4rem; font-weight:500;}
.offer-list p{margin:0; color:var(--cocoa); font-size:.97rem;}
.offer-list .go{font-family:"Felix Titling","Cinzel",serif; font-style:italic; color:var(--gold); white-space:nowrap;}
.offer-list a:hover h3{text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:5px;}
@media (max-width:640px){
  .offer-list a{grid-template-columns:84px 1fr; gap:18px;}
  .offer-list img{width:84px; height:84px;}
  .offer-list .go{display:none;}
}

/* História */
.story{max-width:680px; margin:0 auto;}
.story p{font-family:"Felix Titling","Cinzel",serif; font-size:1.18rem; line-height:1.75; color:var(--ink);}
.story p.opening{font-size:1.6rem; line-height:1.4; color:var(--navy); font-style:italic;}
.story .signature{margin-top:40px; font-family:Calibri,"Carlito",sans-serif; font-size:1rem;}
.story .signature strong{display:block; color:var(--navy); font-size:1.1rem;}

.price-note{font-size:.9rem; color:var(--cocoa); margin-top:36px; font-style:italic;}
.site-header.solid + .page-head{padding-top:64px;}
.hero h1{color:var(--cream-soft);}
.group-head + .dish{border-top:none;}
.nav-links{gap:22px;}
@media (max-width:1180px){
  .nav-links{
    position:fixed; inset:0 0 0 auto; width:min(80vw,330px);
    background:var(--navy); flex-direction:column; padding:96px 32px; gap:24px;
    transform:translateX(100%); transition:transform .35s ease;
  }
  .nav-links a, .site-header.solid .nav-links a{color:var(--cream-soft); font-size:1.1rem;}
  .nav-links.open{transform:translateX(0);}
  .nav-toggle{display:block; background:none; border:0; cursor:pointer; width:34px; height:26px; position:relative; z-index:30;}
  .nav-toggle span{position:absolute; left:0; right:0; height:2px; background:var(--cream-soft); transition:transform .3s ease, opacity .3s ease;}
  .site-header.solid .nav-toggle span{background:var(--navy);}
  .nav-toggle.open span{background:var(--cream-soft) !important;}
  .nav-toggle span:nth-child(1){top:2px;}
  .nav-toggle span:nth-child(2){top:12px;}
  .nav-toggle span:nth-child(3){top:22px;}
  .nav-toggle.open span:nth-child(1){transform:translateY(10px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg);}
}
/* Sabores com descrição */
.flavor-group li{display:flex; flex-direction:column; margin-bottom:16px; line-height:1.25;}
.flavor-group li:last-child{margin-bottom:0;}
.flavor-group .fname{font-family:"Felix Titling","Cinzel",serif; font-size:1.4rem; color:var(--navy);}
.flavor-group .fdesc{font-family:Calibri,"Carlito",sans-serif; font-size:.93rem; color:var(--cocoa); line-height:1.45; margin-top:3px; max-width:32ch;}
@media (max-width:560px){ .flavor-group .fname{font-size:1.3rem;} }

/* v4: identidade da apresentação (Marcellus + Carlito/Calibri, azul #0F234F, dourado #AC884A, bege #E5CD92) */
body{font-size:18px;}
h1,h2,h3{font-weight:400; letter-spacing:.01em;}
.eyebrow-note{font-family:Calibri,"Carlito",sans-serif; font-style:italic; font-size:1.05rem;}
.brand{display:block; line-height:0;}
.brand img{height:62px; width:auto;}
.brand .logo-dark{display:none;}
.site-header.solid .brand{
  display:inline-flex;
  align-items:center;
  background:var(--navy);
  padding:10px 20px;
  border-radius:var(--radius);
}
.site-header.solid .brand .logo-light{display:block;}
.site-header.solid .brand .logo-dark{display:none;}
footer .brand img{height:80px;}
.page-head{background:var(--cream);}
.page-head p{color:var(--ink);}
.btn-gold:hover{background:#94733c;}
.what-is{max-width:720px;}
.what-is p{font-size:1.15rem; line-height:1.7;}
.gallery-strip.two{grid-template-columns:1fr 1fr;}
.split.single{grid-template-columns:1fr; max-width:720px;}
@media (max-width:760px){ .brand img{height:50px;} }
.story p.opening{font-style:normal;} .contact-item .label{font-family:Calibri,"Carlito",sans-serif;}

/* v5: fontes da apresentação oficial — títulos Felix Titling (Cinzel como alternativa web), textos Calibri (Carlito como alternativa) */
h1{font-size:clamp(1.9rem,4.2vw,3rem); line-height:1.15;}
h2{font-size:clamp(1.45rem,2.8vw,2.05rem); line-height:1.2;}
h3{letter-spacing:.02em;}
.hero h1{font-size:clamp(1.9rem,4.4vw,3.2rem);}
.flavor-group .fname{font-size:1.15rem; letter-spacing:.03em;}
.dish h3{font-size:1.3rem;}
.gift h3{font-size:1.05rem;}
.story p{font-family:Calibri,"Carlito",sans-serif; font-size:1.2rem;}
.story p.opening{font-family:"Felix Titling","Cinzel",serif; font-size:1.35rem; line-height:1.5;}
.brand img{height:70px;}
footer .brand img{height:90px;}
/* v6: fotos sem corte */
.gift img{aspect-ratio:1/1; object-fit:contain; object-position:center;}
.dish-media img, .dish-media.tall img{aspect-ratio:auto; height:auto; max-height:620px; object-fit:contain; width:100%;}
.dish-media{display:flex; justify-content:center;}
.dish-media.tall img{width:auto; max-width:100%;}
.offer-list img{object-fit:cover;}
.page-head .subtitle{margin-top:-.2em; margin-bottom:0;}
.split-media img{height:auto;}
/* v7: foto da capa na página inicial */
.hero-capa{min-height:min(88vh, 46vw); background-position:40% center; background-color:var(--navy); align-items:center;}
.hero-capa::after{background:linear-gradient(90deg, rgba(11,24,48,.05) 0%, rgba(11,24,48,.15) 45%, rgba(11,24,48,.82) 100%);}
.hero-capa .hero-content{margin-left:auto; max-width:520px; padding-top:120px;}
@media (max-width:760px){
  .hero-capa{min-height:78vh; background-position:44% center; align-items:flex-end;}
  .hero-capa::after{background:linear-gradient(180deg, rgba(11,24,48,.1) 0%, rgba(11,24,48,.35) 45%, rgba(11,24,48,.92) 100%);}
  .hero-capa .hero-content{margin-left:0; padding-top:60px;}
}
@media (min-width:761px){ .hero-capa .hero-content{margin-left:auto; margin-right:max(24px, calc((100% - 1140px)/2));} }
/* v8: capa com a foto inteira, como na apresentação */
.hero-cover{background:var(--navy); padding-top:110px; color:var(--cream-soft);}
.hero-cover-img{display:block; width:100%; height:auto;}
.hero-cover-text{padding:48px 24px 64px; text-align:center;}
.hero-cover-text h1{color:var(--cream-soft); margin-bottom:.35em;}
.hero-cover-text p.lede{color:var(--gold-light); font-size:1.15rem; margin:0 auto 26px; max-width:40ch;}
@media (max-width:760px){ .hero-cover{padding-top:96px;} .hero-cover-text{padding:32px 20px 48px;} }
/* v9: menu revisado — Contato como botão */
.nav-links a.nav-cta{border:1px solid var(--gold); color:var(--gold-light); padding:8px 16px; border-radius:var(--radius);}
.site-header.solid .nav-links a.nav-cta{color:var(--navy); border-color:var(--gold);}
.nav-links a.nav-cta:hover, .nav-links a.nav-cta.active{background:var(--gold); color:#fff;}
@media (max-width:1180px){ .nav-links a.nav-cta, .site-header.solid .nav-links a.nav-cta{color:var(--cream-soft);} }
.dish.solo{grid-template-columns:1fr; max-width:680px;}

/* v10: páginas internas com cabeçalho em faixa azul-marinho, como na página inicial */
.site-header.inner{position:relative; background:var(--navy);}
.site-header.inner + .page-head{padding-top:64px;}

/* v11: tamanhos com sugestão de uso */
.sizes.guide{max-width:440px;}
.sizes.guide li{flex-wrap:wrap; row-gap:2px; padding:10px 0;}
.sizes .sug{flex-basis:100%; font-size:.93rem; font-style:italic; color:var(--cocoa);}
.sizes .sug a{color:inherit; text-decoration:underline;}
