:root{
  --bg:#150d08;--bg2:#1f130b;--card:#2a1a10;--line:#4a3220;
  --gold:#d9a35f;--gold2:#f0c38a;--cream:#f6e9d7;--mut:#bfa78c;
  --r:20px;--ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--cream);font:400 16px/1.65 "Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;font-weight:700}
em{font-style:italic;color:var(--gold)}
.wrap{width:min(1180px,92%);margin:0 auto}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.lead{color:var(--mut);max-width:560px}
.note{font-size:.8rem;color:var(--gold2);opacity:.8;margin-top:12px}

/* botões */
.btn{display:inline-block;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#2a1507;font-weight:700;padding:14px 28px;border-radius:999px;border:0;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(217,163,95,.35)}
.btn-sm{padding:10px 20px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--cream);border:1px solid var(--gold)}
.btn-ghost:hover{background:rgba(217,163,95,.12)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 4%;transition:background .3s,backdrop-filter .3s}
.nav.solid{background:rgba(21,13,8,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{font-family:Georgia,serif;font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:8px;color:var(--gold2)}
.menu{display:flex;gap:30px;font-size:.95rem}
.menu a{position:relative;color:var(--cream);opacity:.85}
.menu a::after{content:"";position:absolute;left:0;bottom:-4px;height:2px;width:0;background:var(--gold);transition:width .3s}
.menu a:hover::after{width:100%}
.burger{display:none;background:none;border:0;width:40px;height:40px;position:relative;cursor:pointer}
.burger span{position:absolute;left:8px;right:8px;height:2px;background:var(--cream);transition:.3s}
.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.burger[aria-expanded=true] span:first-child{top:19px;transform:rotate(45deg)}
.burger[aria-expanded=true] span:last-child{top:19px;transform:rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;padding:110px 0 80px;isolation:isolate}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(1.1)}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(21,13,8,.92) 0%,rgba(21,13,8,.65) 45%,rgba(21,13,8,.2) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 30%)}
.hero-inner{width:min(1180px,92%);margin:0 auto}
.hero h1{font-size:clamp(2.4rem,6.4vw,5rem);max-width:12ch;margin-bottom:20px}
.hero .lead{margin-bottom:28px;font-size:1.05rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.reviews{display:flex;align-items:center;gap:14px}
.avatars{display:flex}
.avatars span{width:38px;height:38px;border-radius:50%;background:var(--card);border:2px solid var(--gold);display:grid;place-items:center;font-weight:700;color:var(--gold2);margin-left:-10px}
.avatars span:first-child{margin-left:0}
.reviews strong{display:block;color:var(--gold2)}
.reviews small{color:var(--mut)}
.hero-cups{position:absolute;right:4%;bottom:70px;display:flex;gap:14px}
.mini{display:flex;align-items:center;gap:12px;background:rgba(42,26,16,.78);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;padding:10px 16px 10px 10px}
.mini img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.mini b{display:block;font-size:.92rem}
.mini small{color:var(--gold2)}
.scroll-hint{position:absolute;left:50%;bottom:22px;width:24px;height:40px;border:2px solid var(--gold);border-radius:14px;transform:translateX(-50%)}
.scroll-hint span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--gold);animation:hint 1.6s infinite}
@keyframes hint{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}

/* grãos flutuantes (decorativos) */
.beans i{position:absolute;width:14px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7b4a28,#2b160a);box-shadow:inset -2px 0 0 rgba(0,0,0,.4);opacity:.75;animation:float 9s ease-in-out infinite}
.beans i::after{content:"";position:absolute;left:50%;top:10%;bottom:10%;width:2px;margin-left:-1px;background:#150d08;border-radius:2px;transform:rotate(12deg)}
.beans i:nth-child(1){left:8%;top:22%;animation-delay:-1s}
.beans i:nth-child(2){left:52%;top:16%;animation-delay:-3s;transform:scale(1.3)}
.beans i:nth-child(3){left:70%;top:34%;animation-delay:-5s}
.beans i:nth-child(4){left:90%;top:20%;animation-delay:-2s;transform:scale(.8)}
.beans i:nth-child(5){left:40%;top:70%;animation-delay:-4s}
.beans i:nth-child(6){left:80%;top:62%;animation-delay:-6s;transform:scale(1.4)}
.beans i:nth-child(7){left:20%;top:80%;animation-delay:-7s;transform:scale(.9)}
.beans i:nth-child(8){left:60%;top:84%;animation-delay:-8s}
@keyframes float{0%,100%{translate:0 0;rotate:0deg}50%{translate:12px -26px;rotate:40deg}}

/* marquee */
.marquee{border-block:1px solid var(--line);background:var(--bg2);overflow:hidden;padding:18px 0}
.marquee-track{display:flex;width:max-content;animation:marq 28s linear infinite}
.marquee-track span{font-family:Georgia,serif;font-size:1.3rem;padding:0 34px;color:var(--cream);white-space:nowrap;position:relative}
.marquee-track span::after{content:"✦";position:absolute;right:-6px;color:var(--gold);font-size:.8rem;top:7px}
@keyframes marq{to{transform:translateX(-50%)}}

/* seções */
.sec{padding:100px 0}
.sec-head{margin-bottom:48px}
.sec-head.center{text-align:center}
.sec-head.center .lead{margin-inline:auto}
.sec h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:16px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .4s var(--ease),border-color .3s,box-shadow .4s;will-change:transform}
.card:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.card-img{aspect-ratio:4/3;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-img img{transform:scale(1.08)}
.card-body{padding:20px 22px 24px}
.card h3{font-size:1.35rem;margin-bottom:6px}
.card p{color:var(--mut);font-size:.93rem;margin-bottom:12px}
.price{color:var(--gold2);font-weight:700;font-size:.9rem}

/* história */
.story{background:radial-gradient(900px 500px at 85% 40%,rgba(217,163,95,.14),transparent 60%),var(--bg2)}
.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.story-text p{color:var(--mut);margin-bottom:12px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0}
.stats li{border-top:2px solid var(--gold);padding-top:12px}
.stats b{display:block;font-family:Georgia,serif;font-size:2rem;color:var(--gold2)}
.stats span{font-size:.8rem;color:var(--mut);line-height:1.3;display:block}
.story-media{position:relative}
.story-frame{border-radius:var(--r);overflow:hidden;border:1px solid var(--gold);aspect-ratio:4/5;box-shadow:0 30px 60px rgba(0,0,0,.5)}
.story-frame video{width:100%;height:100%;object-fit:cover}
.steam{position:absolute;left:50%;top:-30px;display:flex;gap:18px;transform:translateX(-50%)}
.steam i{width:10px;height:60px;border-radius:10px;background:linear-gradient(to top,rgba(246,233,215,.5),transparent);filter:blur(5px);animation:steam 3.2s ease-in-out infinite}
.steam i:nth-child(2){animation-delay:-1s;height:80px}
.steam i:nth-child(3){animation-delay:-2s}
@keyframes steam{0%{transform:translateY(20px) scaleX(1);opacity:0}40%{opacity:.8}100%{transform:translateY(-30px) scaleX(2);opacity:0}}

/* jornada */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:44px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;position:relative;overflow:hidden}
.steps .n{font-family:Georgia,serif;font-size:2.6rem;color:rgba(217,163,95,.35);display:block;line-height:1}
.steps h3{font-size:1.2rem;margin:8px 0 6px}
.steps p{color:var(--mut);font-size:.9rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery figure{border-radius:var(--r);overflow:hidden;aspect-ratio:3/4;border:1px solid var(--line)}
.gallery figure:nth-child(even){transform:translateY(24px)}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gallery figure:hover img{transform:scale(1.1)}

/* contato */
.contact{background:linear-gradient(180deg,var(--bg),#0e0805)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.contact .lead{margin-bottom:22px}
.info li{display:flex;flex-direction:column;gap:2px;padding:18px 0;border-bottom:1px solid var(--line)}
.info b{color:var(--gold);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:26px 4%;border-top:1px solid var(--line);color:var(--mut);font-size:.85rem}

/* responsivo */
@media(max-width:980px){
  .cards{grid-template-columns:repeat(2,1fr)}
  .steps,.gallery{grid-template-columns:repeat(2,1fr)}
  .story-grid,.contact-grid{grid-template-columns:1fr}
  .hero-cups{display:none}
}
@media(max-width:760px){
  .burger{display:block}
  .nav .btn-sm{display:none}
  .menu{position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:rgba(21,13,8,.97);border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .4s var(--ease);padding:8px 6%}
  .menu.open{transform:none}
  .menu a{padding:16px 0;border-bottom:1px solid var(--line);font-size:1.05rem}
  .sec{padding:70px 0}
  .hero{padding-top:96px;align-items:flex-end;padding-bottom:90px}
  .hero-shade{background:linear-gradient(0deg,rgba(21,13,8,.95) 0%,rgba(21,13,8,.7) 55%,rgba(21,13,8,.35) 100%)}
  .hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .scroll-hint{display:none}
  .cards{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr 1fr;gap:10px}
  .stats b{font-size:1.5rem}
  .gallery figure:nth-child(even){transform:none}
}

/* movimento reduzido */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .beans,.steam{display:none}
}
