: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}}

/* ---------- Amber & Oak cinematic bean-to-espresso sequence ---------- */
.coffee-film-hero{
  min-height:100svh;
  background:#140d08;
  align-items:flex-end;
}
.coffee-film{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% center;
}
.coffee-film-hero .hero-media{
  animation:none;
}
.coffee-film-hero .hero-overlay{
  background:
    linear-gradient(90deg,rgba(18,10,5,.72) 0%,rgba(18,10,5,.32) 33%,rgba(18,10,5,.03) 66%),
    linear-gradient(0deg,rgba(18,10,5,.58) 0%,rgba(18,10,5,0) 48%);
}
.coffee-title{
  position:relative;
  z-index:3;
  padding:0 clamp(1.2rem,6vw,6.5rem) clamp(4.5rem,7vw,7rem);
  width:min(980px,88vw);
}
.coffee-title h1{
  margin:.3rem 0 .9rem;
  font-family:var(--serif);
  font-size:clamp(4rem,9vw,9.6rem);
  line-height:.78;
  letter-spacing:-.055em;
  font-weight:600;
}
.coffee-title h1 em{
  color:#d99a55;
  font-style:italic;
  font-weight:600;
}
.coffee-title>p:not(.eyebrow){
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(1rem,1.7vw,1.25rem);
}

.espresso-continuation{
  position:relative;
  min-height:86svh;
  overflow:hidden;
  background:#100a06;
  color:#fff;
}
.espresso-film{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:67% center;
}
.espresso-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(14,8,4,.92) 0%,rgba(14,8,4,.66) 30%,rgba(14,8,4,.08) 62%),
    linear-gradient(0deg,rgba(14,8,4,.35),transparent 45%);
}
.espresso-copy{
  position:relative;
  z-index:3;
  min-height:86svh;
  width:min(690px,86vw);
  padding:clamp(5rem,9vw,9rem) clamp(1.2rem,6vw,6.5rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.step-number{
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#d99a55;
  font:700 .72rem var(--sans);
  margin-bottom:1.7rem;
}
.espresso-copy .eyebrow{color:#d99a55}
.espresso-copy h2{
  margin:.25rem 0 1.35rem;
  font-family:var(--serif);
  font-size:clamp(3.7rem,7vw,7rem);
  line-height:.82;
  letter-spacing:-.05em;
  font-weight:600;
}
.espresso-copy>p:not(.eyebrow){
  max-width:470px;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:1.08rem;
}
.espresso-caption{
  position:absolute;
  z-index:3;
  right:clamp(1.2rem,4vw,4rem);
  bottom:2rem;
  color:rgba(255,255,255,.5);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.22em;
}
@media(max-width:900px){
  .coffee-title{padding-bottom:5rem}
  .coffee-title h1{font-size:clamp(4rem,15vw,7rem)}
  .coffee-film{object-position:65% center}
  .espresso-film{object-position:72% center}
  .espresso-shade{background:linear-gradient(0deg,rgba(14,8,4,.88) 0%,rgba(14,8,4,.22) 70%)}
  .espresso-copy{justify-content:flex-end;padding-bottom:5rem}
}
@media(max-width:600px){
  .coffee-title h1{font-size:clamp(3.5rem,18vw,5.7rem)}
  .coffee-film{object-position:70% center}
  .espresso-film{object-position:75% center}
  .espresso-copy h2{font-size:clamp(3.2rem,14vw,5rem)}
  .espresso-caption{display:none}
}
@media(prefers-reduced-motion:reduce){
  .coffee-film{display:none}
  .coffee-film-hero{background:url('assets/amber-oak-hero.webp') 67% center/cover no-repeat}
  .espresso-continuation{background:url('assets/amber-oak-hero.webp') 72% center/cover no-repeat}
}

/* Scroll-driven espresso sequence */
.espresso-scroll-runway{
  position:relative;
  height:210vh;
  background:#100a06;
}
.espresso-scroll-runway .espresso-continuation{
  position:sticky;
  top:0;
  height:100vh;
  min-height:100vh;
}
.espresso-scroll-runway .espresso-copy{
  min-height:100vh;
}
.scroll-scrub-film{
  will-change:contents;
}
@media(max-width:900px){
  .espresso-scroll-runway{height:185vh}
}
@media(prefers-reduced-motion:reduce){
  .espresso-scroll-runway{height:auto}
  .espresso-scroll-runway .espresso-continuation{position:relative;height:auto;min-height:86svh}
}

/* Final tuning: one deliberate scroll gesture pulls one espresso shot. */
.espresso-scroll-runway{height:230vh}
.espresso-scroll-runway .espresso-continuation{
  position:sticky;
  top:0;
  height:100vh;
  min-height:100vh;
}
@media(max-width:900px){
  .espresso-scroll-runway{height:205vh}
}

/* One master film behind hero + espresso section: same element, same scale, no seam. */
.film-stage{position:relative;background:#100a06}
.film-rail{position:absolute;inset:0;z-index:0;pointer-events:none}
.film-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.master-film{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;animation:none}
.master-film.is-mobile-src{object-position:50% center}
.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,8,4,.78) 0%,rgba(14,8,4,.36) 36%,rgba(14,8,4,.04) 68%),linear-gradient(0deg,rgba(14,8,4,.5) 0%,transparent 40%)}
.film-stage .coffee-film-hero{background:transparent;z-index:1}
.film-stage .espresso-scroll-runway{height:auto;background:transparent;z-index:1;padding-top:70vh}
.film-stage .espresso-scroll-runway .espresso-continuation{position:relative;height:auto;min-height:0;background:transparent;overflow:visible}
.film-stage .espresso-scroll-runway .espresso-copy{position:sticky;top:0;min-height:100vh}
.film-stage .espresso-scroll-runway{padding-bottom:60vh}
.film-stage .espresso-caption{display:none}
@media(prefers-reduced-motion:reduce){
  .master-film{display:none}
  .film-sticky{background:url('assets/amber-oak-master-poster.jpg') 60% center/cover no-repeat}
  .film-stage .espresso-scroll-runway{padding-top:0}
}

/* ---------- Amber & Oak header + drink photography polish ---------- */
.site-header{
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.site-header .brand,
.site-header .brand:visited,
.site-header .brand-text{
  color:#080706;
}
.site-header .brand-mark{
  color:#080706;
  border-color:#080706;
  background:transparent;
}
.site-header .site-nav a,
.site-header .site-nav a:visited{
  color:#d99a55;
}
.site-header .site-nav a:not(.nav-cta):hover{
  color:#f0bb7a;
}
.site-header .nav-cta{
  background:transparent;
  color:#d99a55;
  border:1px solid #d99a55;
}
.site-header .nav-cta:hover{
  background:#d99a55;
  color:#17100b;
}
.site-header .nav-toggle span{background:#d99a55}

.drink-photo{
  position:relative;
  padding:0;
  background:#1b120c;
  overflow:hidden;
}
.drink-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.drink-card:hover .drink-photo img{transform:scale(1.045)}
.drink-photo:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(17,10,6,.5));
  pointer-events:none;
}
.drink-photo span{
  position:absolute;
  z-index:2;
  left:1rem;
  bottom:.8rem;
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.demo-nav-disabled{cursor:pointer}

@media(max-width:900px){
  .site-nav{
    background:rgba(21,14,9,.96);
    border-bottom:1px solid rgba(217,154,85,.25);
  }
  .site-header .site-nav a,
  .site-header .site-nav a:visited{color:#d99a55}
}

/* Slim white navigation bar */
.site-header{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(29,23,19,.08);
  box-shadow:0 6px 20px rgba(29,23,19,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding:.55rem clamp(1rem,4vw,4.5rem);
  min-height:58px;
}
.site-header .brand{
  gap:.55rem;
}
.site-header .brand-mark{
  width:2.15rem;
  height:2.15rem;
  font-size:.62rem;
}
.site-header .brand-text{
  font-size:1.02rem;
}
.site-header .site-nav{
  gap:1.1rem;
}
.site-header .site-nav a{
  font-size:.88rem;
}
.site-header .nav-cta{
  padding:.6rem .95rem;
}
@media(max-width:900px){
  .site-header{
    padding:.55rem 1rem;
    min-height:56px;
  }
}
