@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Manrope:wght@400;600;700&display=swap');

:root { --ink:#241711; --cream:#f5ecda; --paper:#fffaf0; --amber:#c65b1c; --gold:#e6a32a; --muted:#745f53; --line:#d9c7ad; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:#2b1811; font-family:Manrope, sans-serif; } .grain { position:fixed; inset:0; opacity:.16; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E"); } .shell { min-height:100vh; background:var(--cream); } h1,h2 { font-family:Fraunces, serif; letter-spacing:-.045em; } h1 { margin:.1em 0 .25em; font-size:clamp(3.5rem,9vw,7rem); line-height:.88; } h1 em { color:var(--amber); } h2 { margin:.15em 0; font-size:clamp(2rem,4vw,3.4rem); } .eyebrow { margin:0; color:var(--amber); font-family:"DM Mono",monospace; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; } .lead { max-width:32rem; color:var(--muted); font-size:1.08rem; line-height:1.65; }
.login-card { min-height:100vh; max-width:39rem; margin:auto; padding:13vh 2rem; } .login-card form { display:grid; gap:1rem; margin-top:2rem; } label { display:grid; gap:.4rem; font-size:.8rem; font-weight:700; } input { width:100%; padding:.85rem; border:1px solid var(--line); border-radius:4px; color:var(--ink); background:var(--paper); font:inherit; } button,.button-link { border:0; border-radius:4px; padding:.9rem 1.2rem; color:white; background:var(--amber); cursor:pointer; font:700 .85rem Manrope,sans-serif; text-decoration:none; } .form-message { color:var(--muted); font-size:.8rem; }
#club-view { max-width:1200px; margin:auto; padding:0 2rem; } .site-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 0; border-bottom:1px solid var(--line); } .wordmark { color:var(--ink); text-decoration:none; font:700 1.45rem Fraunces,serif; } .wordmark span { margin-left:.22rem; font-size:1rem; } nav { display:flex; gap:1.1rem; } nav a,.quiet-button { color:var(--muted); background:none; padding:0; font-size:.78rem; font-weight:700; text-decoration:none; } .quiet-button { cursor:pointer; }
.hero { display:grid; grid-template-columns:1.5fr .85fr; gap:4rem; align-items:center; padding:8rem 0 6rem; } .next-pour { padding:2rem; border:1px solid var(--line); border-radius:4px; background:linear-gradient(140deg,#fffaf0,#f0d19e); box-shadow:10px 10px 0 #e5d1b3; } .next-pour .date { margin:1.4rem 0 .15rem; color:var(--amber); font:500 .82rem "DM Mono",monospace; } .next-pour h2 { font-size:2rem; } .next-pour p:last-child { color:var(--muted); }
.content-section { padding:5rem 0; border-top:1px solid var(--line); } .section-heading { margin-bottom:2rem; } .schedule-list { display:grid; gap:.75rem; } .schedule-item { display:grid; grid-template-columns:9rem 1fr auto; align-items:center; gap:1.5rem; padding:1.2rem 1.3rem; border-radius:4px; background:var(--paper); } .schedule-item.upcoming { border-left:5px solid var(--amber); } .schedule-date { color:var(--amber); font:500 .78rem "DM Mono",monospace; } .schedule-item strong { display:block; } .schedule-item small { color:var(--muted); } .selection { max-width:24rem; color:var(--muted); font-size:.78rem; line-height:1.5; text-align:right; } .split-section { display:grid; grid-template-columns:.65fr 1.35fr; gap:4rem; } .search { margin-bottom:1rem; } .bottle-list { display:grid; gap:.75rem; } .bottle-card { padding:1.25rem; border:1px solid var(--line); border-radius:4px; background:var(--paper); } .bottle-card header { display:flex; justify-content:space-between; gap:1rem; } .score { flex:none; color:var(--amber); font:700 1.6rem Fraunces,serif; } .bottle-card p { margin:.5rem 0 0; color:var(--muted); font-size:.86rem; line-height:1.6; } .chip-list { display:flex; flex-wrap:wrap; gap:.7rem; } .chip { padding:.7rem .9rem; border:1px solid var(--line); border-radius:999px; background:var(--paper); font-size:.84rem; } .chip.used { opacity:.6; } .rules-section ol { display:grid; gap:1rem; max-width:52rem; padding-left:1.5rem; } .rules-section li { padding-left:.6rem; line-height:1.6; } .private-section { background:linear-gradient(90deg,transparent,rgba(198,91,28,.045),transparent); } .directory-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; } .member-card,.ledger-row,.newsletter-link { padding:1.15rem; border:1px solid var(--line); border-radius:4px; background:var(--paper); } .member-card strong { display:block; } .member-card p { margin:.35rem 0 0; color:var(--muted); font-size:.84rem; line-height:1.5; } .ledger-list { display:grid; gap:.7rem; } .ledger-row { display:grid; grid-template-columns:8rem 1fr auto; gap:1rem; align-items:center; } .ledger-row time,.ledger-row small { color:var(--muted); font:500 .75rem "DM Mono",monospace; } .amount { color:var(--amber); font:700 1.2rem Fraunces,serif; } .newsletter-list { display:grid; gap:.75rem; } .newsletter-link { display:flex; justify-content:space-between; color:var(--ink); font-weight:700; text-decoration:none; } .newsletter-link span { color:var(--amber); } .loading { color:var(--muted); font-size:.88rem; } footer { padding:3rem 0; color:var(--cream); margin:0 -2rem; text-align:center; background:var(--ink); font:500 .78rem "DM Mono",monospace; }
@media (max-width:720px) { #club-view { padding:0 1.2rem; } nav { display:none; } .hero,.split-section { grid-template-columns:1fr; gap:2rem; } .hero { padding:5rem 0 4rem; } .schedule-item,.ledger-row { grid-template-columns:1fr; gap:.35rem; } .selection { text-align:left; } .directory-list { grid-template-columns:1fr; } }
