:root {
  --cha: #EBC2B5;
  --cha-claro: #F4DCD3;
  --folha: #1F3A2B;
  --folha-2: #2A4C39;
  --polen: #E9B930;
  --papel: #F6EDE4;
  --vinho: #8A3B4A;
  --f-titulo: "Fraunces", Georgia, serif;
  --f-texto: "Karla", system-ui, sans-serif;
  --ease-saida: cubic-bezier(.16, 1, .3, 1);
  --ease-mola: cubic-bezier(.34, 1.5, .64, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--papel); color: var(--folha); font: 400 1.0625rem/1.65 var(--f-texto); overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--vinho); outline-offset: 3px; }
.verde :focus-visible { outline-color: var(--polen); }
.pular { position: absolute; left: -999px; top: 8px; background: var(--polen); color: var(--folha); padding: 10px 14px; z-index: 20; }
.pular:focus { left: 8px; }
.wrap { width: min(100% - 32px, 1240px); margin-inline: auto; }
h1, h2, h3 { font-family: var(--f-titulo); font-weight: 500; margin: 0; line-height: 1; font-variation-settings: "SOFT" 100, "WONK" 1; }
h2 { font-size: clamp(2.6rem, 6.4vw, 5.6rem); letter-spacing: -.03em; }
h2 em, h1 em { font-style: italic; font-weight: 400; color: var(--vinho); }
.verde h2 em { color: var(--polen); }
h3 { font-size: 1.6rem; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
.capitulo { font: 500 .95rem/1 var(--f-titulo); font-style: italic; color: var(--vinho); display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.capitulo::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.verde .capitulo { color: var(--polen); }

/* topo */
.topo .wrap { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 0; }
.marca { font: 600 1.7rem/1 var(--f-titulo); font-style: italic; text-decoration: none; display: inline-flex; align-items: center; gap: 10px; min-height: 44px; letter-spacing: -.02em; }
.topo ul { display: flex; flex-wrap: wrap; gap: 4px; list-style: none; margin: 0; padding: 0; }
.topo nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 999px; text-decoration: none; font-weight: 600; }
.topo nav a:hover { background: var(--cha-claro); }
.topo nav a[aria-current="page"] { background: var(--folha); color: var(--papel); }

.btn { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; background: var(--folha); color: var(--papel); font: 700 1rem var(--f-texto); text-decoration: none; border: 2px solid var(--folha); cursor: pointer; transition: transform .25s var(--ease-mola), background-color .16s; }
.btn:hover { transform: translateY(-2px) rotate(-1.5deg); }
.btn-polen { background: var(--polen); color: var(--folha); border-color: var(--polen); }
.btn-linha { background: transparent; color: var(--folha); }

/* hero */
.hero { padding: 24px 0 clamp(56px, 8vw, 110px); position: relative; }
.hero .wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 40px; align-items: center; }
.hero h1 { font-size: clamp(3.2rem, 8.6vw, 7.8rem); letter-spacing: -.045em; line-height: .9; font-weight: 400; }
.hero h1 em { display: block; }
.hero .lead { font-size: 1.2rem; max-width: 38ch; margin: 28px 0 32px; }
.hero .acoes { display: flex; flex-wrap: wrap; gap: 12px; }
.colagem { position: relative; aspect-ratio: 1 / 1.08; }
.colagem figure { margin: 0; position: absolute; animation: pousa .9s var(--ease-saida) both; }
.colagem img { width: 100%; height: 100%; object-fit: cover; }
.colagem .a { inset: 0 18% 22% 0; border-radius: 999px 999px 0 0; overflow: hidden; }
.colagem .b { right: 0; bottom: 0; width: 52%; aspect-ratio: 1; border-radius: 50%; overflow: hidden; border: 10px solid var(--papel); animation-delay: .12s; }
.colagem .c { left: 4%; bottom: 2%; background: var(--polen); padding: 14px 18px; border-radius: 4px; transform: rotate(-4deg); font: 500 1.1rem/1.2 var(--f-titulo); font-style: italic; max-width: 220px; animation-delay: .24s; }
@keyframes pousa { from { opacity: 0; transform: translateY(28px) rotate(2deg); } }
.colagem .c { animation-name: pousa-c; }
@keyframes pousa-c { from { opacity: 0; transform: translateY(20px) rotate(-10deg); } to { transform: rotate(-4deg); } }
.folhas { position: absolute; pointer-events: none; }

/* histórias */
.secao { padding: clamp(64px, 9vw, 130px) 0; position: relative; }
.verde { background: var(--folha); color: var(--papel); }
.cha { background: var(--cha); }
.jornada { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-top: 56px; list-style: none; padding: 0; }
.jornada li { padding: 0 28px 0 0; }
.jornada li + li { border-left: 1px solid rgba(246,237,228,.3); padding-left: 28px; }
.jornada .hora { font: 400 clamp(3rem, 5.4vw, 4.6rem)/1 var(--f-titulo); font-style: italic; color: var(--polen); display: block; margin-bottom: 14px; letter-spacing: -.03em; }
.jornada p { color: #E3DACF; margin: 8px 0 0; }

/* destaques */
.destaques { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 24px; margin-top: 48px; align-items: start; }
.destaques article { background: var(--papel); border-radius: 18px; overflow: hidden; transition: transform .35s var(--ease-mola); }
.destaques article:nth-child(2) { margin-top: 64px; }
.destaques article:hover { transform: rotate(-1.2deg) translateY(-4px); }
.destaques img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.destaques article:first-child img { aspect-ratio: 5 / 5.4; }
.destaques .info { padding: 18px 20px 22px; }
.destaques .preco { font: 600 1.5rem var(--f-titulo); color: var(--vinho); }
.destaques p { margin: 4px 0 0; font-size: .97rem; }

/* citações */
.citacoes { display: grid; grid-template-columns: 1fr 1fr; gap: 48px 64px; margin-top: 48px; }
.citacoes figure { margin: 0; }
.citacoes figure:first-child { grid-column: 1 / -1; }
.citacoes blockquote { margin: 0 0 14px; font: 400 clamp(1.4rem, 2.4vw, 2rem)/1.25 var(--f-titulo); letter-spacing: -.01em; }
.citacoes figure:first-child blockquote { font-size: clamp(1.9rem, 4vw, 3.4rem); font-style: italic; }
.citacoes figcaption { font-weight: 700; }

/* visita */
.visita { display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.visita img { border-radius: 0 0 999px 999px; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
address { font: 400 clamp(1.6rem, 2.8vw, 2.4rem)/1.15 var(--f-titulo); font-style: normal; margin: 0 0 24px; }
.horas { border-collapse: collapse; width: 100%; margin: 0 0 28px; }
.horas th, .horas td { text-align: left; padding: 10px 0; border-bottom: 1px dashed rgba(31,58,43,.4); font-weight: 400; }
.horas td { text-align: right; font-family: var(--f-titulo); font-style: italic; font-size: 1.15rem; }

/* cta */
.cta { text-align: center; }
.cta h2 { max-width: 14ch; margin: 0 auto 24px; }
.cta p { max-width: 46ch; margin: 0 auto 28px; color: #E3DACF; }

/* rodapé */
.rodape { background: #16291F; color: #CFC7BC; padding: 44px 0; font-size: .9rem; }
.rodape a { color: var(--papel); }

/* catálogo */
.sub { padding: 32px 0 40px; }
.sub h1 { font-size: clamp(3rem, 8vw, 6.6rem); letter-spacing: -.045em; font-weight: 400; line-height: .92; }
.sub p { max-width: 52ch; font-size: 1.15rem; margin-top: 20px; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 0; border: 0; }
.filtros legend { font-weight: 700; margin-bottom: 10px; width: 100%; }
.filtros button { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--folha); background: transparent; color: var(--folha); font: 700 .95rem var(--f-texto); cursor: pointer; }
.filtros button:hover { background: var(--cha-claro); }
.filtros button[aria-pressed="true"] { background: var(--folha); color: var(--papel); }
.contagem { margin: 16px 0 0; font-style: italic; }
.grupo { padding: 40px 0 8px; }
.grupo h2 { font-size: clamp(2.2rem, 5vw, 3.8rem); margin-bottom: 24px; }
.itens { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; padding: 0; margin: 0; }
.item { background: #FBF6F1; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #E5D6CB; }
.item[hidden] { display: none; }
.item img, .item .ilus { width: 100%; aspect-ratio: 4 / 3.4; object-fit: cover; }
.item .ilus { display: grid; place-items: center; background: var(--cha); }
.item .ilus.amarela { background: var(--polen); }
.item .corpo { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.item h3 { font-size: 1.45rem; }
.item p { margin: 0; font-size: .97rem; }
.item .tags { font-size: .82rem; font-weight: 700; color: var(--vinho); text-transform: uppercase; letter-spacing: .06em; }
.item .rodape-item { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-top: 10px; flex-wrap: wrap; }
.item .preco { font: 600 1.5rem var(--f-titulo); }
.item .btn { min-height: 46px; padding: 0 18px; font-size: .95rem; }
.vazio-msg { font: 400 1.5rem var(--f-titulo); font-style: italic; }

@media (max-width: 900px) {
  .hero .wrap, .visita { grid-template-columns: 1fr; }
  .jornada { grid-template-columns: 1fr; gap: 32px; }
  .jornada li + li { border-left: 0; padding-left: 0; border-top: 1px solid rgba(246,237,228,.3); padding-top: 28px; }
  .destaques { grid-template-columns: 1fr 1fr; }
  .destaques article:first-child { grid-column: 1 / -1; }
  .destaques article:nth-child(2) { margin-top: 0; }
  .citacoes { grid-template-columns: 1fr; }
  .itens { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .destaques, .itens { grid-template-columns: 1fr; }
  .topo nav a { padding: 0 10px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
