
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#f1ebe1;--surface:#faf6ef;--text:#3a2c20;--muted:#8a7a68;--accent:#7a4a2b;--accent-2:#9c6b3f;--border:#e0d5c4}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.7}
a{color:inherit;text-decoration:none}
header{position:sticky;top:0;background:rgba(241,235,225,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:50;padding:1.1rem 5%;display:flex;justify-content:space-between;align-items:center}
.logo{font-family:'Playfair Display',Georgia,serif;font-size:1.45rem;font-weight:700;letter-spacing:-.3px}
.logo span{color:var(--accent)}
nav{display:flex;gap:1.5rem;flex-wrap:wrap}
nav a{font-size:.9rem;color:var(--muted);transition:color .25s;padding:.3rem 0}
nav a:hover{color:var(--accent)}
nav a.active{color:var(--accent)}
.btn{display:inline-block;padding:.8rem 1.9rem;border-radius:4px;font-size:.85rem;letter-spacing:.06em;font-weight:600;transition:all .3s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#5e381f;transform:translateY(-2px)}
.btn-ghost{border:1px solid var(--text);color:var(--text);margin-left:.5rem}
.btn-ghost:hover{background:var(--text);color:var(--bg)}
.hero{position:relative;min-height:74vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(ellipse at top right,rgba(122,74,43,.08),transparent 60%)}
.cup{position:absolute;right:8%;bottom:18%;width:160px;height:160px;background:linear-gradient(135deg,#7a4a2b,#5e381f);border-radius:0 0 80px 80px;box-shadow:0 16px 36px rgba(58,44,32,.2)}
.cup::before{content:"";position:absolute;top:0;left:0;right:0;height:30px;background:#3a2c20;border-radius:50%}
.wisp{position:absolute;bottom:50%;left:50%;width:8px;height:80px;background:linear-gradient(180deg,transparent,rgba(250,246,239,.4));border-radius:50%;transform-origin:bottom;animation:wisp 4s ease-in-out infinite;filter:blur(4px)}
.wisp:nth-child(2){left:42%;animation-delay:1s;animation-duration:5s}
.wisp:nth-child(3){left:58%;animation-delay:2s;animation-duration:4.5s}
@keyframes wisp{0%{transform:translate(-50%,0) scaleY(.4);opacity:0}30%{opacity:.8}100%{transform:translate(-50%,-120px) scaleY(1.6);opacity:0}}
.hero-inner{position:relative;z-index:2;padding:5rem 5%;max-width:680px}
.hero .eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem;display:block}
.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.05;margin-bottom:1.5rem;letter-spacing:-.5px}
.hero p{color:var(--muted);max-width:480px;margin-bottom:2.25rem;font-size:1.05rem}
section{padding:5rem 5%;max-width:1100px;margin:0 auto}
.section-title{font-family:'Playfair Display',Georgia,serif;font-size:2.2rem;font-weight:700;text-align:center;margin-bottom:.5rem;letter-spacing:-.3px}
.section-sub{text-align:center;color:var(--muted);margin-bottom:3rem;font-size:.95rem;font-style:italic}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.bean{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.75rem;transition:transform .3s,box-shadow .3s}
.bean:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(58,44,32,.08)}
.bean .origin{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-2);margin-bottom:.5rem}
.bean h3{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-weight:700;margin-bottom:.4rem}
.bean .notes{color:var(--muted);font-size:.88rem;margin-bottom:.85rem}
.bean .price{color:var(--accent);font-weight:600;font-size:1.1rem}
.menu-list{max-width:680px;margin:0 auto}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;padding:1rem 0;border-bottom:1px solid var(--border)}
.menu-item h3{font-family:'Playfair Display',Georgia,serif;font-size:1.15rem;font-weight:600}
.menu-item .desc{display:block;color:var(--muted);font-size:.85rem;font-style:italic;margin-top:.2rem}
.menu-item .price{color:var(--accent);font-weight:600;white-space:nowrap;margin-left:1.5rem}
footer{background:var(--surface);border-top:1px solid var(--border);padding:3rem 5%;margin-top:4rem}
footer .grid{grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;display:grid}
footer h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:1rem;font-weight:600}
footer a{display:block;font-size:.9rem;margin-bottom:.5rem;color:var(--text);transition:color .2s}
footer a:hover{color:var(--accent)}
.foot-bottom{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem;text-align:center;color:var(--muted);font-size:.82rem}
@media(max-width:720px){footer .grid{grid-template-columns:1fr 1fr}.cup{display:none}nav{display:none}}
