/* Andorinha Pães e Café · papel kraft + carimbo */
:root{
  --kraft:#E4D3B4; --kraft-2:#D8C29C; --papel:#F3EAD8;
  --cafe:#3B2418; --cafe-2:#6B4A35; --carimbo:#2F4A7A;
  --serif:"Libre Caslon Text",Georgia,serif; --display:"Libre Caslon Display","Libre Caslon Text",Georgia,serif;
  --mono:"DM Mono",ui-monospace,Menlo,monospace;
  --w:1180px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{
  background-color:var(--kraft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .23 0 0 0 0 .14 0 0 0 0 .09 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  color:var(--cafe); font:400 1.0625rem/1.65 var(--serif); overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--carimbo);outline-offset:3px}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.pular{position:absolute;left:-999px;top:8px;background:var(--cafe);color:var(--papel);padding:10px 14px;z-index:10}
.pular:focus{left:8px}
.mono{font-family:var(--mono)}

/* topo */
.topo{border-bottom:1.5px dashed var(--cafe-2)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;flex-wrap:wrap}
.marca{min-height:44px;display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--display);font-size:1.5rem;line-height:1}
.marca svg{width:38px;height:38px;flex:none}
.menu{display:flex;gap:4px;flex-wrap:wrap;list-style:none;padding:0;font-family:var(--mono);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.menu a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none}
.menu a:hover,.menu a[aria-current]{text-decoration:underline;text-decoration-color:var(--carimbo);text-decoration-thickness:2px;text-underline-offset:6px}

/* carimbo */
.carimbo{display:inline-grid;place-items:center;text-align:center;color:var(--carimbo);border:2.5px solid currentColor;outline:1px solid currentColor;outline-offset:3px;
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;line-height:1.35;padding:10px 14px;transform:rotate(-6deg);mix-blend-mode:multiply;opacity:.92}
.carimbo b{display:block;font-size:1.6rem;letter-spacing:.02em;font-weight:500}
.carimbo.redondo{border-radius:50%;width:150px;height:150px;padding:18px}

/* botões */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;font-family:var(--mono);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;text-decoration:none;border:2px solid var(--cafe);background:var(--cafe);color:var(--papel);transition:transform .2s ease,background .2s ease}
.btn:hover{background:var(--carimbo);border-color:var(--carimbo)}
.btn.vazio{background:transparent;color:var(--cafe)}
.btn.vazio:hover{background:var(--cafe);color:var(--papel)}

h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;letter-spacing:-.01em}
h2{font-size:clamp(2.1rem,4.4vw,3.4rem)}
.sobretitulo{font-family:var(--mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--carimbo);margin-bottom:14px;display:block}
section{padding:clamp(56px,8vw,104px) 0}

/* hero */
.hero{overflow-x:clip}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,56px);align-items:center;padding-top:clamp(32px,5vw,64px);padding-bottom:clamp(40px,6vw,80px)}
.hero h1{font-size:clamp(2.7rem,6.6vw,5.6rem);margin-bottom:22px}
.hero h1 em{font-style:italic;color:var(--carimbo)}
.hero p.lead{max-width:34ch;font-size:1.2rem;margin-bottom:28px}
.hero .acoes{display:flex;gap:12px;flex-wrap:wrap}
.foto-saco{position:relative;background:var(--papel);padding:14px 14px 56px;box-shadow:0 1px 0 var(--kraft-2),0 18px 30px -22px rgba(59,36,24,.55);transform:rotate(1.5deg)}
.foto-saco img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:sepia(.18) saturate(.92)}
.foto-saco figcaption{position:absolute;left:18px;bottom:16px;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em}
.foto-saco .carimbo{position:absolute;right:-18px;bottom:-30px;background:var(--kraft)}
@media (prefers-reduced-motion:no-preference){
  .foto-saco .carimbo{animation:carimbar .55s cubic-bezier(.3,1.6,.5,1) .5s both}
  @keyframes carimbar{from{transform:rotate(-14deg) scale(1.6);opacity:0}to{transform:rotate(-6deg) scale(1);opacity:.92}}
}

/* fornadas */
.fornadas{border-top:1.5px dashed var(--cafe-2);border-bottom:1.5px dashed var(--cafe-2);background:var(--papel)}
.fornadas .cab{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.fornadas .cab p{max-width:42ch}
.linha-tempo{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--cafe)}
.linha-tempo li{list-style:none;padding:22px 24px 8px 0;position:relative}
.linha-tempo li+li{padding-left:24px;border-left:1.5px dashed var(--cafe-2)}
.linha-tempo .hora{font-family:var(--mono);font-size:2.6rem;color:var(--carimbo);line-height:1;display:block;margin-bottom:6px}
.linha-tempo h3{font-size:1.5rem;margin-bottom:8px}
.linha-tempo ul{padding:0;margin-top:10px}
.linha-tempo ul li{padding:4px 0;border:0;display:flex;justify-content:space-between;gap:8px;font-size:1rem}
.linha-tempo ul li+li{padding-left:0;border-left:0}
.preco{font-family:var(--mono);white-space:nowrap;font-size:.95rem}

/* cardápio resumido */
.duas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px)}
.lista{list-style:none;padding:0}
.lista li{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-bottom:1px solid rgba(107,74,53,.35)}
.lista li .nome{flex:0 1 auto;min-width:0;max-width:72%}
.lista .preco{flex:none}
.lista li .nome small{display:block;font-size:.88rem;color:var(--cafe-2);font-style:italic}
.lista li::after{content:none}
.lista .pontos{flex:1;border-bottom:1.5px dotted var(--cafe-2);transform:translateY(-5px);min-width:16px}
.foto-coluna{display:grid;gap:22px;align-content:start}
.foto-coluna img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:sepia(.15)}
.nota{font-family:var(--mono);font-size:.82rem;color:var(--cafe-2)}

/* forno / história */
.historia{background:var(--cafe);color:var(--papel)}
.historia .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
.historia .sobretitulo{color:#B9C9E6}
.historia img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:sepia(.2)}
.historia dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin-top:28px;font-size:1rem}
.historia dt{font-family:var(--mono);color:#E4D3B4;font-size:1.4rem}
.historia p{max-width:52ch}

/* depoimentos */
.bilhetes{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:22px;margin-top:40px;align-items:start}
.bilhete{background:var(--papel);padding:26px 24px 22px;position:relative;box-shadow:0 14px 24px -20px rgba(59,36,24,.6)}
.bilhete:nth-child(1){transform:rotate(-1deg)}
.bilhete:nth-child(2){transform:rotate(1.2deg);margin-top:28px}
.bilhete:nth-child(3){transform:rotate(-.6deg);margin-top:8px}
.bilhete::before{content:"";position:absolute;top:-10px;left:50%;width:70px;height:20px;margin-left:-35px;background:rgba(216,194,156,.85);transform:rotate(-3deg)}
.bilhete blockquote{font-size:1.08rem;font-style:italic}
.bilhete cite{display:block;margin-top:14px;font-family:var(--mono);font-style:normal;font-size:.8rem;color:var(--carimbo);letter-spacing:.06em}

/* local */
.local .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.horario{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.95rem}
.horario td{padding:10px 0;border-bottom:1px solid rgba(107,74,53,.35)}
.horario td:last-child{text-align:right}
address{font-style:normal;font-size:1.2rem;margin:10px 0 22px}

/* cta */
.cta{background:var(--carimbo);color:var(--papel);text-align:center}
.cta h2{max-width:20ch;margin:0 auto 18px}
.cta p{max-width:46ch;margin:0 auto 28px}
.cta .btn{background:var(--papel);color:var(--cafe);border-color:var(--papel)}
.cta .btn:hover{background:var(--kraft);border-color:var(--kraft)}

/* rodapé */
footer{padding:40px 0 48px;font-family:var(--mono);font-size:.8rem;line-height:1.8;border-top:1.5px dashed var(--cafe-2)}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{display:inline-block;padding:6px 0}

/* página cardápio */
.cab-pagina{padding:clamp(40px,6vw,80px) 0 24px}
.cab-pagina h1{font-size:clamp(2.6rem,6vw,5rem);max-width:16ch}
.cab-pagina p{max-width:52ch;margin-top:16px;font-size:1.15rem}
.indice{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;list-style:none;padding:0}
.indice a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--cafe);font-family:var(--mono);font-size:.85rem;text-decoration:none}
.indice a:hover{background:var(--cafe);color:var(--papel)}
.bloco{padding:44px 0;border-top:2px solid var(--cafe)}
.bloco .wrap{display:grid;grid-template-columns:280px 1fr;gap:clamp(24px,5vw,72px)}
.bloco .hora{font-family:var(--mono);font-size:clamp(3rem,7vw,5rem);line-height:.9;color:var(--carimbo)}
.bloco h2{font-size:clamp(1.8rem,3vw,2.4rem);margin-top:8px}
.bloco .lado p{margin-top:12px;font-size:.98rem;color:var(--cafe-2)}
.bloco:nth-of-type(even){background:var(--papel)}

@media (max-width:860px){
  .hero .wrap,.duas,.historia .wrap,.local .wrap,.bloco .wrap{grid-template-columns:1fr}
  .linha-tempo{grid-template-columns:1fr}
  .linha-tempo li+li{padding-left:0;border-left:0;border-top:1.5px dashed var(--cafe-2)}
  .bilhetes{grid-template-columns:1fr}
  .bilhete:nth-child(n){margin-top:0}
  .foto-saco .carimbo{right:6px;bottom:-26px}
  .carimbo.redondo{width:124px;height:124px;font-size:.7rem}
  .carimbo b{font-size:1.3rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
