:root {
  --ink:#1d1713; --cream:#f6efe5; --paper:#fffaf3; --rust:#a64c2e; --rust-dark:#7d341e;
  --sage:#6e7b5b; --line:rgba(29,23,19,.14); --muted:#766b63; --shadow:0 24px 60px rgba(46,32,21,.14);
  --serif:"Fraunces", Georgia, serif; --sans:"DM Sans", system-ui, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}
img{display:block;width:100%;height:auto} a{color:inherit} button,input,textarea{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:999px}.skip-link:focus{top:1rem}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,4.5rem);background:rgba(255,250,243,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(29,23,19,.08)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:700}.brand-mark{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid var(--ink);border-radius:50%;font-size:.7rem;letter-spacing:.08em}.brand-text{font-family:var(--serif);font-size:1.15rem}
.site-nav{display:flex;align-items:center;gap:1.4rem}.site-nav a{text-decoration:none;font-size:.95rem;font-weight:600}.site-nav a:not(.nav-cta):hover{color:var(--rust)}.nav-cta{padding:.75rem 1.05rem;border-radius:999px;background:var(--ink);color:#fff}.nav-toggle{display:none;border:0;background:none;padding:.5rem}.nav-toggle span{display:block;width:1.4rem;height:2px;background:var(--ink);margin:4px 0}
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:heroDrift 18s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,12,9,.8) 0%,rgba(18,12,9,.42) 45%,rgba(18,12,9,.14) 75%),linear-gradient(0deg,rgba(18,12,9,.42),transparent 50%)}
.hero-content{position:relative;z-index:2;width:min(760px,90vw);padding:9rem clamp(1.2rem,6vw,6.5rem) 8rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.73rem;margin:0 0 1rem;color:var(--rust)}.hero .eyebrow{color:#f6c9a9}.hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(3.4rem,8vw,7.7rem);line-height:.94;letter-spacing:-.04em;margin:0 0 1.3rem}.hero-content>p:not(.eyebrow){font-size:clamp(1.05rem,2vw,1.35rem);max-width:620px;color:rgba(255,255,255,.88)}.hero-actions,.visit-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.88rem 1.25rem;border-radius:999px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--rust);color:#fff}.btn-primary:hover{background:var(--rust-dark)}.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1)}.btn-secondary{background:transparent;border-color:var(--ink)}
.hero-note{position:absolute;right:clamp(1.2rem,6vw,6.5rem);bottom:3rem;z-index:2;display:flex;flex-direction:column;text-align:right}.hero-note span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.hero-note strong{font-family:var(--serif);font-size:1.4rem}
.section{padding:clamp(4.5rem,8vw,8rem) clamp(1.2rem,6vw,6.5rem)}.split-section,.craft-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,6vw,6rem);align-items:center}.image-frame{overflow:hidden;border-radius:1.25rem;box-shadow:var(--shadow);aspect-ratio:4/3}.image-frame.tall{aspect-ratio:4/5}.image-frame img,.contact-photo img,.menu-feature img{height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.image-frame:hover img,.contact-photo:hover img,.menu-feature:hover img{transform:scale(1.035)}.section-copy h2,.craft-copy h2,.section-heading h2,.visit-card h2,.menu-group h2,.contact-info h2,.contact-form h2{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4.7rem);line-height:1;letter-spacing:-.035em;margin:.3rem 0 1.4rem}.section-copy>p:not(.eyebrow),.craft-copy>p:not(.eyebrow),.section-heading>p:not(.eyebrow){font-size:1.1rem;color:var(--muted);max-width:650px}.mini-points{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem}.mini-points span{padding:.55rem .75rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem}
.featured-section{background:#efe3d5}.section-heading{max-width:850px;margin-bottom:3rem}.drink-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}.drink-card{background:var(--paper);padding:1rem;border-radius:1.1rem;box-shadow:0 14px 40px rgba(67,44,31,.08)}.drink-image{height:280px;border-radius:.8rem;display:flex;align-items:flex-end;padding:1rem;color:#fff;font-family:var(--serif);font-size:2rem;overflow:hidden;position:relative}.drink-image:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.28),transparent 28%)}.espresso-gradient{background:linear-gradient(135deg,#5f2f1f,#c88152)}.cold-gradient{background:linear-gradient(135deg,#23322d,#6f8b70)}.oak-gradient{background:linear-gradient(135deg,#181515,#7d573b)}.drink-card h3{font-family:var(--serif);font-size:1.6rem;margin:1rem 0 .35rem}.drink-card p{margin:0;color:var(--muted)}.center-action{text-align:center;margin-top:2.5rem}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.2rem}
.craft-section{background:var(--ink);color:#fff}.craft-copy .eyebrow{color:#d58c63}.craft-copy>p:not(.eyebrow){color:rgba(255,255,255,.72)}
.visit-section{background:#d9d3c4}.visit-card{background:var(--paper);border-radius:1.4rem;padding:clamp(2rem,5vw,4.5rem);box-shadow:var(--shadow)}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;border-top:1px solid var(--line);padding-top:2rem}.label{display:block;text-transform:uppercase;font-size:.72rem;letter-spacing:.13em;font-weight:700;color:var(--muted)}.visit-grid p,.info-block p{margin:.5rem 0 0}.visit-grid a{text-decoration:none}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;padding:2.5rem clamp(1.2rem,6vw,6.5rem);background:#16110f;color:#fff}.footer-brand{display:flex;gap:.8rem;align-items:center}.footer-brand div{display:flex;flex-direction:column}.footer-brand span:last-child{font-size:.8rem;opacity:.6}.site-footer nav{display:flex;gap:1.3rem}.site-footer nav a{text-decoration:none}.site-footer p{grid-column:1/-1;font-size:.78rem;opacity:.5;margin:0}
.page-hero{min-height:68svh;padding:10rem clamp(1.2rem,6vw,6.5rem) 5rem;display:flex;align-items:flex-end;background:#241b17;color:#fff;position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;width:55vw;height:55vw;border-radius:50%;background:radial-gradient(circle,var(--rust),transparent 65%);opacity:.22;right:-15vw;top:-20vw}.page-hero-copy{position:relative;z-index:1;max-width:850px}.page-hero-copy>p:not(.eyebrow){font-size:1.15rem;max-width:600px;color:rgba(255,255,255,.75)}.menu-hero{background:linear-gradient(140deg,#241b17,#4a2a1e);display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.menu-hero .page-hero-copy{align-self:center}.menu-hero-media{position:relative;z-index:1;margin:0;height:clamp(340px,43vw,560px);overflow:hidden;border-radius:1.35rem;box-shadow:0 28px 70px rgba(0,0,0,.28)}.menu-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.menu-hero-media:hover img{transform:scale(1.025)}.contact-hero{background:linear-gradient(140deg,#1a2019,#3e4a38)}
.menu-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(3rem,7vw,7rem);align-items:start}.menu-group{padding-bottom:2.5rem;border-bottom:1px solid var(--line)}.menu-list>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid rgba(29,23,19,.08)}.menu-list span{display:flex;flex-direction:column}.menu-list small{color:var(--muted);margin-top:.15rem}.menu-list b{white-space:nowrap}.menu-feature{position:relative;top:auto;align-self:start;border-radius:1.2rem;overflow:hidden;background:#efe3d5;box-shadow:var(--shadow)}.menu-feature img{height:380px;object-fit:cover}.menu-feature div{padding:1.4rem}.menu-feature h3{font-family:var(--serif);font-size:2rem;margin:.25rem 0}.menu-feature p{color:var(--muted)}.menu-feature strong{font-size:1.2rem}.menu-note{text-align:center;background:#efe3d5}.menu-note p{max-width:640px;margin:0 auto 1.5rem;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-info{padding-right:clamp(0rem,4vw,4rem)}.info-block{padding:1.3rem 0;border-top:1px solid var(--line)}.contact-photo{border-radius:1.2rem;overflow:hidden;min-height:520px}.contact-photo img{height:100%;object-fit:cover}.contact-form{grid-column:1/-1;margin-top:3rem;background:#efe3d5;padding:clamp(1.5rem,4vw,3.5rem);border-radius:1.2rem;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.contact-form .eyebrow,.contact-form h2,.contact-form .form-status{grid-column:1/-1}.form-row{display:flex;flex-direction:column;gap:.4rem}.form-row:nth-of-type(3){grid-column:1/-1}.form-row label{font-weight:700;font-size:.9rem}.form-row input,.form-row textarea{width:100%;border:1px solid rgba(29,23,19,.22);background:var(--paper);border-radius:.7rem;padding:.85rem 1rem;color:var(--ink)}.form-row input:focus,.form-row textarea:focus{outline:3px solid rgba(166,76,46,.2);border-color:var(--rust)}.contact-form .btn{justify-self:start}.form-status{min-height:1.5rem;color:var(--sage);font-weight:600}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes heroDrift{from{transform:scale(1.02)}to{transform:scale(1.08) translate3d(-1%,1%,0)}}
@media (max-width:900px){.menu-hero{grid-template-columns:1fr;gap:2rem;align-items:end}.menu-hero-media{height:clamp(280px,58vw,420px)}.site-header{padding:1rem 1.2rem}.nav-toggle{display:block;z-index:2}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:var(--paper);padding:1rem 1.2rem 1.5rem;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.site-nav .nav-cta{text-align:center}.hero-content{padding:8rem 1.2rem 7rem}.hero-note{display:none}.split-section,.craft-section,.menu-layout,.contact-grid{grid-template-columns:1fr}.drink-grid{grid-template-columns:1fr 1fr}.menu-feature{position:relative;top:auto}.contact-form{grid-template-columns:1fr}.form-row,.form-row:nth-of-type(3){grid-column:1}.visit-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr}.site-footer p{grid-column:1}.contact-photo{min-height:420px}}
@media (max-width:600px){.menu-hero-media{height:260px;border-radius:1rem}.brand-text{font-size:1rem}.hero h1,.page-hero h1{font-size:clamp(3rem,17vw,5.2rem)}.hero-actions .btn{width:100%}.section{padding:4.5rem 1.2rem}.drink-grid,.visit-grid{grid-template-columns:1fr}.drink-image{height:230px}.page-hero{padding:9rem 1.2rem 4rem;min-height:58svh}.menu-feature img{height:300px}.site-footer nav{flex-wrap:wrap}.contact-photo{min-height:320px}}
@media (orientation:landscape) and (max-height:600px){.hero{min-height:720px}.hero-content{padding-top:8rem;padding-bottom:5rem}.page-hero{min-height:620px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media{animation:none}.reveal{opacity:1;transform:none;transition:none}.btn,.image-frame img,.contact-photo img,.menu-feature img{transition:none}}
