.top{border-bottom:1px solid var(--line)}.nav,.nav ul{display:flex;flex-wrap:wrap;column-gap:var(--s-5)}.nav ul,.items,.hours{margin:0;padding:0;list-style:none}.brand{display:flex;align-items:center;min-height:52px;margin:0 auto 0 0;font:700 var(--t-lg)/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink);text-decoration:none}.nav ul a{display:flex;align-items:center;min-height:52px;border-bottom:2px solid transparent;color:var(--ink-2);font:600 var(--t-sm)/1 var(--sans);text-decoration:none}.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--ink)}.nav ul a[aria-current=page]{border-color:var(--accent)}[tabindex="-1"]:focus{outline:0}.kicker,.caps{margin:0}.caps{font:650 var(--t-xs)/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.more,address a,.links a{display:inline-flex;align-items:center;min-height:44px}.more{font-weight:600}.head{display:grid;gap:var(--s-6);padding-block:var(--s-8) var(--s-7)}.head-main{display:grid;gap:var(--s-3);justify-items:start;min-width:0}.head-main>:empty{display:none}.hero h1{max-width:16ch;font-size:var(--t-hero);letter-spacing:-.025em}.lead{max-width:58ch;margin:0;font:400 var(--t-lg)/1.45 var(--serif);color:var(--ink-2)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);margin-top:var(--s-3)}.actions .btn,.form .btn-primary{min-height:48px;padding-inline:var(--s-5);font-size:var(--t-md)}.visit{display:grid;gap:var(--s-3);align-content:start;min-width:0;padding-top:var(--s-5);border-top:1px solid var(--line)}.hours div{display:flex;justify-content:space-between;gap:var(--s-4);padding-block:var(--s-2);border-bottom:1px solid var(--line)}.hours dd{margin:0;text-align:right}address{display:grid;justify-items:start;font-style:normal;overflow-wrap:anywhere}.sec{display:grid;gap:var(--s-5) var(--s-7);padding-block:var(--s-7);border-top:1px solid var(--line)}.sec>*,.contact>*{min-width:0}.sec-h,.sec-c{display:grid;gap:var(--s-2);align-content:start}.sec-c{gap:var(--s-4)}.sec-c p{margin:0}.sec-c>.more{justify-self:start}@media (min-width:900px){.has-aside{grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:end}.head .visit,.contact .visit{padding:0 0 0 var(--s-5);border-top:0;border-left:1px solid var(--line)}.contact{grid-template-columns:minmax(0,34rem) minmax(0,300px);justify-content:space-between}}@media (min-width:960px){.sec:not(.bare){grid-template-columns:minmax(0,16rem) minmax(0,1fr)}}.items li{display:grid;gap:var(--s-1);padding-block:var(--s-4)}.items li:first-child{padding-top:0}.items li+li{border-top:1px solid var(--line)}.row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4)}.items h3{min-width:0;font-size:var(--t-lg)}.price{flex:none;font:700 var(--t-lg)/1.1 var(--serif)}.txt,.note,.hint,.hours dt,.status p,.quotes figcaption,.facts dd{color:var(--ink-2)}.note,.hint,.quotes figcaption,.facts dd{font-size:var(--t-sm)}.quotes,.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:var(--s-5);margin:0}.quotes figure{display:grid;gap:var(--s-3);align-content:start;margin:0;padding-top:var(--s-4);border-top:2px solid var(--ink)}.quotes blockquote{margin:0;font:400 var(--t-lg)/1.45 var(--serif)}.facts{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.facts dt{font:700 var(--t-2xl)/1.1 var(--serif)}.facts dd{margin:var(--s-1)0 0}.contact{display:grid;gap:var(--s-7)}.form{display:grid;gap:var(--s-4)}.field{display:grid;gap:6px}.field p{margin:0}.error{display:flex;align-items:center;gap:6px}.error::before{content:"!";display:grid;place-items:center;flex:none;width:16px;height:16px;border:1.5px solid;border-radius:50%;font:700 11px/1 var(--sans)}textarea{resize:vertical}.form .btn{justify-self:start}.status:not(:empty),.empty{display:grid;gap:var(--s-3);justify-items:start;padding-block:var(--s-5);border-block:1px solid var(--line)}.empty .t{font:700 var(--t-lg)/1.2 var(--serif)}.foot{border-top:2px solid var(--ink);font-size:var(--t-sm);color:var(--ink-2)}.foot-in{display:grid;gap:var(--s-1);padding-block:var(--s-6) var(--s-7)}.foot p{margin:0}.foot .brand{min-height:0}.links{display:flex;flex-wrap:wrap;column-gap:var(--s-5)}@media (min-width:860px){.head.hero:has(>.hero-photo:not([hidden])).has-aside>.head-main{grid-column:1;grid-row:1/span 2;align-self:center}.head.hero:has(>.hero-photo:not([hidden])).has-aside>.hero-photo{grid-column:2;grid-row:1;align-self:end}.head.hero:has(>.hero-photo:not([hidden])).has-aside>.visit{grid-column:2;grid-row:2}.head.hero:has(>.hero-photo:not([hidden])):not(.has-aside){grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}.head.hero:has(>.hero-photo:not([hidden])):not(.has-aside)>.hero-photo{grid-column:2;grid-row:1}.head.hero:has(>.hero-photo:not([hidden])):not(.has-aside)>.hero-photo img{height:clamp(180px,34vh,45vh)}}@media (max-width:859px){.head.hero>.hero-photo{order:1;margin-top:var(--s-3,12px)}.head.hero>.visit{order:2}.hero-photo img{height:clamp(120px,19vh,26vh)}}.sec-photo{margin:0;border-radius:var(--r-card,16px);overflow:hidden;background:var(--sunk);position:relative;min-width:0}.sec-photo img{display:block;width:100%;height:clamp(180px,32vh,40vh);object-fit:cover}.sec-credit{position:absolute;inset:auto 0 0 auto;margin:0;padding:0 8px;font-size:.7rem;color:#fff;background:rgba(0,0,0,.62);border-top-left-radius:8px}.sec-credit a{color:inherit;display:inline-flex;align-items:center;min-height:44px}.sec-body{display:grid;gap:var(--s-5,20px)}@media (min-width:860px){.has-photo .sec-body{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start}}@media (max-width:859px){.sec-photo img{height:clamp(150px,24vh,30vh)}}@media (max-width:600px){a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a),button,[role=button],[onclick],summary,select,input:not([type=hidden],[type=checkbox],[type=radio],[type=range]){min-height:44px!important;min-width:44px!important}:where(a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a)){display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:max(16px,1em)!important}}@layer kit-default{.hero-photo{margin:0;border-radius:var(--r-card,16px);overflow:hidden;background:var(--sunk);position:relative;min-width:0}.hero-photo img{display:block;width:100%;height:clamp(150px,26vh,240px);object-fit:cover}.hero-credit{position:absolute;inset:auto 0 0 auto;margin:0;padding:2px 8px;font-size:.7rem;line-height:1.5;color:#fff;background:rgba(0,0,0,.62);border-top-left-radius:8px}.hero-credit:empty{display:none}.hero-credit a{color:inherit;display:inline-flex;align-items:center;min-height:44px}.head:not(.hero)>.hero-photo{display:none}}
/* coffee: stats, badges, placeholders */#numbers{display:grid;gap:var(--s-4);border-top:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--s-4);margin:0}.stats>div{display:grid;gap:var(--s-1);align-content:start;padding:var(--s-4) var(--s-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.stats dt{font:700 var(--t-2xl)/1.1 var(--serif);color:var(--ink)}.stats dd{margin:0;font-size:var(--t-sm);color:var(--ink-2)}.badges{display:flex;flex-wrap:wrap;gap:var(--s-2)}.badge{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font:600 var(--t-sm)/1.2 var(--sans);color:var(--ink-2)}.team,.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--s-5)}.mem{display:grid;gap:var(--s-1);align-content:start}.mem p{margin:0}.ph{display:grid;place-items:center;aspect-ratio:4/3;border-radius:var(--r-card);background:var(--sunk);color:var(--accent)}.ph svg{width:clamp(40px,30%,88px);height:auto}.mem .ph{width:72px;aspect-ratio:1;border-radius:50%;margin-bottom:var(--s-2)}.mem .ph svg{width:40px}.shot{display:grid;gap:var(--s-2);margin:0;min-width:0}.shot img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-card)}.shot figcaption{font-size:var(--t-sm);color:var(--ink-2)}/* baseline for sections a request adds (zero specificity: any page rule wins) */:where(main form:not(.form)){display:grid;gap:var(--s-3);max-width:44rem}:where(main fieldset){min-width:0;margin:0;padding:var(--s-4) var(--s-5) var(--s-5);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}:where(main legend){padding:0 var(--s-2);font:600 var(--t-sm)/1.3 var(--sans);color:var(--ink)}:where(main fieldset label,main form:not(.form) label){display:inline-flex;align-items:center;gap:var(--s-2)}:where(main :is(fieldset,form) ul){display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;list-style:none}:where(main :is(fieldset,form) li label){min-height:44px;padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--bg);font-size:var(--t-md);cursor:pointer}:where(main :is(fieldset,form) li label:has(:checked)){border-color:var(--accent);background:var(--wash)}:where(main button:not(.btn,.tab)){min-height:44px;padding:0 var(--s-5);border:1px solid var(--edge);border-radius:var(--r);background:var(--surface);color:var(--ink);font:600 var(--t-sm)/1 var(--sans);cursor:pointer}:where(main button[type=submit]:not(.btn,.tab)){justify-self:start;border-color:var(--accent);background:var(--accent);color:var(--on-accent)}:where(main section ul:not([class],form ul,fieldset ul)){display:grid;gap:var(--s-1);margin:0;padding-left:1.25em}:where(main dl:not(.hours,.stats,.facts)){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:var(--s-3);margin:0}:where(main dl:not(.hours,.stats,.facts):not(:has(>div))){grid-template-columns:none;grid-template-rows:auto auto;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);column-gap:var(--s-4)}:where(main dl:not(.hours,.stats,.facts)>div){display:grid;gap:var(--s-1);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-card)}:where(main dl:not(.hours,.stats,.facts) dt){font:700 var(--t-xl)/1.1 var(--serif);color:var(--ink)}:where(main dl:not(.hours,.stats,.facts) dd){margin:0;font-size:var(--t-sm);color:var(--ink-2)}
/* tap-targets (phones only; desktop untouched): controls >= 44 px, inputs 16 px so iOS does not zoom */@media (max-width:600px){a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a),button,[role=button],[onclick],summary,select,input:not([type=hidden],[type=checkbox],[type=radio],[type=range]){min-height:44px!important;min-width:44px!important}input[type=range]{min-height:44px}:where(a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a)){display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:max(16px,1em)!important}}
