*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --paper:#F4EFE6;--paper-d:#E8E0D4;--ink:#1C1814;--muted:#6B6358;
  --accent:#C45C3E;--accent-wash:rgba(196,92,62,.12);--lime:#5A8F4E;
  --line:rgba(28,24,20,.1);--card:#FDFAF5;
  --gin:#8B9A6B;--whiskey:#6B4F3A;--rum:#B8860B;--agave:#5A8F4E;
  --vodka:#8A9BA8;--brandy:#9A7B4F;--vermouth:#C45C3E;--amaro:#4A3728;--liqueur:#7B6B8A;
  --bitters:#3D3228;--fortified:#C4A574;
}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  font-family:'DM Sans',system-ui,sans-serif;background:var(--paper);color:var(--ink);
  line-height:1.55;min-height:100vh;overflow-x:hidden;
}
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.32;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");
}
a{color:inherit;text-decoration:none}
.shell{max-width:1080px;margin:0 auto;padding:0 24px 100px;position:relative;z-index:1}

.site-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 0;border-bottom:1px solid var(--line);gap:16px;flex-wrap:wrap
}
.logo{
  font-family:'Shippori Mincho',serif;font-weight:700;font-size:1.05rem;
  letter-spacing:-.02em
}
.logo-dot{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nav-link{
  font-size:.82rem;font-weight:600;color:var(--muted);padding:8px 14px;
  border-radius:100px;transition:color .2s,background .2s
}
.nav-link:hover,.nav-link.active{color:var(--ink);background:var(--card)}
.nav-cta{
  background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:100px;
  font-size:.78rem;font-weight:700;transition:transform .2s,background .2s
}
.nav-cta:hover{background:var(--accent);transform:translateY(-1px)}

:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button:focus:not(:focus-visible),a:focus:not(:focus-visible){outline:none}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border-radius:100px;font-family:inherit;
  font-size:.88rem;font-weight:700;cursor:pointer;border:none;
  transition:transform .2s,box-shadow .2s,background .2s
}
.btn-primary{background:var(--accent);color:var(--paper)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px var(--accent-wash)}
.btn-secondary{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-secondary:hover{border-color:var(--ink)}
.btn-ghost{background:var(--card);color:var(--muted);border:1.5px solid var(--line);padding:8px 14px;font-size:.78rem}
.btn-ghost:hover{color:var(--ink);border-color:var(--ink)}
.btn-ghost.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.sec-label{
  font-size:.7rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin-bottom:10px
}
.sec-title{
  font-family:'Shippori Mincho',serif;font-weight:700;
  font-size:clamp(1.6rem,4vw,2.2rem);letter-spacing:-.02em;line-height:1.15
}

.site-footer{
  padding:40px 0 48px;font-size:.78rem;color:var(--muted);
  border-top:1px solid var(--line);margin-top:48px
}
