:root{
  --bg:#120d09;
  --panel:#1d1510;
  --cream:#f8ead2;
  --muted:#c9ad8f;
  --brown:#b9824a;
  --gold:#e7b56f;
  --white:#fffaf2;
  --glass:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.14);
  --shadow:0 30px 90px rgba(0,0,0,.45);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,sans-serif;background:radial-gradient(circle at top left,#3a2416 0,#120d09 38%,#090604 100%);color:var(--cream);overflow-x:hidden}
a{text-decoration:none;color:inherit}
.cursor-glow{position:fixed;width:280px;height:280px;border-radius:50%;background:rgba(231,181,111,.13);filter:blur(55px);pointer-events:none;z-index:1;transform:translate(-50%,-50%)}
.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--brown),var(--gold));z-index:999;width:0%}
.site-header{position:fixed;top:18px;left:50%;transform:translateX(-50%);width:min(1120px,92%);display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:rgba(18,13,9,.62);border:1px solid var(--line);backdrop-filter:blur(18px);border-radius:999px;z-index:50;box-shadow:var(--shadow)}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.5px}.logo span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--brown));color:#1a0f08;font-family:'Playfair Display',serif}
.nav-links{display:flex;align-items:center;gap:22px;font-size:14px;color:var(--muted)}.nav-links a:hover{color:var(--white)}.nav-cta{padding:10px 16px;border-radius:999px;background:var(--cream);color:#1a0f08!important;font-weight:800}.menu-toggle{display:none;background:none;border:0;color:var(--cream);font-size:26px}
.hero{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:50px;padding:130px 8% 80px;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:var(--gold);font-weight:800;font-size:12px;margin-bottom:14px}.hero h1,.section h2{font-family:'Playfair Display',serif;font-size:clamp(44px,7vw,92px);line-height:.94;letter-spacing:-2px}.hero-text{max-width:620px;margin:24px 0;color:var(--muted);font-size:18px;line-height:1.8}.hero-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:800;border:1px solid var(--line);transition:.3s}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--brown));color:#1b0f08;box-shadow:0 15px 40px rgba(231,181,111,.22)}.btn.ghost{background:rgba(255,255,255,.06);color:var(--cream)}.btn:hover{transform:translateY(-4px)}.hero-stats{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.hero-stats div{padding:16px 20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.05)}.hero-stats strong{display:block;font-size:24px}.hero-stats span{font-size:13px;color:var(--muted)}
.hero-visual{display:flex;justify-content:center}.glass{background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.coffee-card{position:relative;width:min(390px,90vw);min-height:500px;border-radius:42px;padding:42px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:end;overflow:hidden}.coffee-card:before{content:"";position:absolute;inset:22px;border-radius:32px;background:radial-gradient(circle at top,#56331f,transparent 60%);z-index:-1}.cup{width:190px;height:160px;border-radius:0 0 80px 80px;background:linear-gradient(145deg,#f8ead2,#b9824a);margin-bottom:45px;position:relative}.cup:after{content:"";position:absolute;right:-48px;top:35px;width:65px;height:65px;border:14px solid #d8a469;border-left:0;border-radius:0 50% 50% 0}.steam{position:absolute;top:80px;display:flex;gap:18px}.steam span{width:12px;height:90px;border-radius:50%;background:linear-gradient(transparent,rgba(255,255,255,.55),transparent);animation:steam 2.6s infinite ease-in-out}.steam span:nth-child(2){animation-delay:.4s}.steam span:nth-child(3){animation-delay:.8s}.price{margin-top:18px;color:var(--gold);font-weight:900;font-size:26px}.floating-bean{position:absolute;width:34px;height:55px;border-radius:50%;background:linear-gradient(135deg,#7a4726,#d49a5f);opacity:.55;animation:float 6s infinite ease-in-out}.bean-1{left:8%;top:28%}.bean-2{right:10%;top:18%;animation-delay:1s}.bean-3{left:47%;bottom:13%;animation-delay:2s}.scroll-down{position:absolute;bottom:32px;left:8%;color:var(--muted);font-size:13px;letter-spacing:2px;text-transform:uppercase}
.section{padding:100px 8%}.section-heading{max-width:760px;margin-bottom:42px}.section h2{font-size:clamp(34px,5vw,62px)}.about-grid,.menu-grid,.review-row,.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.about-card,.menu-card,.review-card{padding:30px;border-radius:30px;background:rgba(255,255,255,.055);border:1px solid var(--line);transition:.35s}.about-card:hover,.menu-card:hover,.review-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.09)}.about-card h3,.menu-card h3{font-family:'Playfair Display',serif;font-size:28px;margin-bottom:12px}.about-card p,.menu-card p,.review-card p,.reservation-box p,.contact p{color:var(--muted);line-height:1.75}.menu-card span{display:inline-block;color:var(--gold);font-weight:800;margin-bottom:12px}.menu-card strong{display:block;margin-top:20px;font-size:22px;color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-auto-rows:220px;gap:18px}.gallery-item{display:grid;place-items:end start;padding:26px;border-radius:32px;background:linear-gradient(135deg,rgba(231,181,111,.32),rgba(255,255,255,.06)),radial-gradient(circle at top,#583521,#170e08);border:1px solid var(--line);font-weight:900;font-size:24px}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.reservation-box{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:44px;border-radius:42px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form input,.booking-form select{width:100%;padding:16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--cream);outline:none}.booking-form button{grid-column:span 2;border:0}.contact-grid{grid-template-columns:.85fr 1.15fr;align-items:center}.map-card{height:380px;border-radius:34px;overflow:hidden;border:1px solid var(--line)}.map-card iframe{width:100%;height:100%;border:0;filter:sepia(.28) contrast(1.1)}.whatsapp-float{position:fixed;right:22px;bottom:24px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#07130b;font-size:26px;font-weight:900;z-index:60;box-shadow:0 15px 40px rgba(0,0,0,.35)}.footer{text-align:center;padding:28px;color:var(--muted);border-top:1px solid var(--line)}.reveal{opacity:0;transform:translateY(35px);transition:1s ease}.reveal.active{opacity:1;transform:translateY(0)}
@keyframes steam{0%,100%{transform:translateY(25px) scale(.8);opacity:.15}50%{transform:translateY(-28px) scale(1.08);opacity:.7}}@keyframes float{0%,100%{transform:translateY(0) rotate(20deg)}50%{transform:translateY(-28px) rotate(-12deg)}}
@media(max-width:900px){.menu-toggle{display:block}.nav-links{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;padding:24px;background:#160f0a;border-radius:28px;border:1px solid var(--line)}.nav-links.active{display:flex}.hero,.reservation-box,.contact-grid{grid-template-columns:1fr}.hero{padding-top:120px}.about-grid,.menu-grid,.review-row{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item.tall,.gallery-item.wide{grid-row:auto;grid-column:auto}.booking-form{grid-template-columns:1fr}.booking-form button{grid-column:auto}.site-header{top:12px}.hero-stats{flex-direction:column}.hero h1{font-size:48px}}
