:root{--ph-ground:#0D1117;--ph-ink:#FFF;--ph-ink-2:rgb(255 255 255/.84);--ph-line:rgb(255 255 255/.3);--sec-y:clamp(56px,2rem + 5vw,112px);--bleed:calc(-1 * (var(--gutter) + max(0px,(100vw - var(--page))/2)))}
body{overflow-x:clip}
.top{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.nav,.nav ul{display:flex;flex-wrap:wrap;align-items:center;column-gap:var(--s-6)}
.nav ul,.items,.hours{margin:0;padding:0;list-style:none}
.brand{display:flex;align-items:center;min-height:64px;margin:0 auto 0 0;font:600 var(--t-xl)/1.1 var(--serif);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.nav ul a{display:flex;align-items:center;min-height:64px;color:var(--ink-2);font:600 var(--t-xs)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.nav ul a:hover,.nav ul a[aria-current=page]{color:var(--ink)}
.nav ul a[aria-current=page]{box-shadow:inset 0 -1px var(--accent)}
html body .top .nav>.menu-btn.menu-btn.menu-btn{display:none}
.menu-btn{min-height:44px;padding:0 var(--s-4);border:1px solid var(--line);border-radius:var(--r-pill);background:none;color:var(--ink);font:600 var(--t-xs)/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
@media (max-width:760px){
.brand{min-height:56px;font-size:var(--t-lg)}
html body .top .nav:has(li:nth-child(4))>.menu-btn.menu-btn.menu-btn{display:inline-flex;align-items:center;flex:none}
html body .top .nav:has(li:nth-child(4)){display:flex;flex-wrap:nowrap;gap:var(--s-3)}
.nav>.brand{min-width:0}
html body .top:not(.open) .nav:has(li:nth-child(4)) ul{display:none}
html body .top.open .nav:has(li) ul{display:grid;position:absolute;inset:100% 0 auto;padding:var(--s-2) var(--gutter) var(--s-5);background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow-pop)}
html body .top.open .nav:has(li) ul a{min-height:56px;font:500 var(--t-xl)/1 var(--serif);letter-spacing:-.01em;text-transform:none;border-bottom:1px solid var(--line)}
html[data-l-nav] [data-sec=nav] .nav{display:flex}}
[tabindex="-1"]:focus{outline:none}
.kicker,.caps{margin:0}
.kicker{gap:10px;padding:0;border-radius:0;background:none;font:650 var(--t-xs)/1.3 var(--sans);letter-spacing:.14em}
.kicker::before{content:"";width:24px;border-top:1px solid currentColor}
.caps{font:650 var(--t-xs)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
#main h1,.sec h2{font-family:var(--serif);font-weight:500;letter-spacing:-.02em}
.sec h2{font-size:clamp(2rem,1.3rem + 2vw,3.25rem);line-height:1.04;max-width:16ch}
.more,address a,.links a{display:inline-flex;align-items:center;min-height:44px}
.more{gap:8px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--accent-line)}
.more::after{content:"\2192"}
@layer kit-default{
.head{padding-block:clamp(56px,3rem + 4vw,112px) var(--s-7)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-7);align-items:center}
.sec{display:grid;gap:var(--s-5) var(--s-7);padding-block:var(--sec-y);border-top:1px solid var(--line)}
[data-main]>.wrap{width:100%}
@media (max-width:760px){.hero-in{grid-template-columns:minmax(0,1fr)}.hero-in .kv-art{min-height:180px}}
}
.head-main{display:grid;gap:var(--s-4);justify-items:start;min-width:0}
.head-main>:empty{display:none}
#main h1{font-size:clamp(2.6rem,1.4rem + 4.2vw,5rem);line-height:1.02;max-width:18ch}
#main .hero h1{font-size:clamp(2.75rem,1rem + 6vw,6rem);line-height:.98;letter-spacing:-.03em;max-width:15ch}
#main .hero[data-len=m] h1{font-size:clamp(2.6rem,1rem + 5vw,5.25rem);max-width:17ch}
#main .hero[data-len=l] h1{font-size:clamp(2.5rem,1rem + 4vw,4.5rem);max-width:20ch}
.lead{max-width:52ch;margin:0;font:400 clamp(1.125rem,1rem + .4vw,1.375rem)/1.5 var(--serif);color:var(--ink-2)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-6);margin-top:var(--s-3)}
.actions .btn,.form .btn-primary{min-height:52px;padding-inline:var(--s-6);border-radius:var(--r-pill);font-size:var(--t-md)}
.visit{display:grid;gap:var(--s-3);align-content:start;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;font-variant-numeric:tabular-nums}
address{display:grid;justify-items:start;font-style:normal;overflow-wrap:anywhere}
#main>#head.ph{max-width:none;margin:0;padding:0;background:var(--ph-ground);color:var(--ph-ink)}
#main>#head:is(.ph,.pi)::after{content:none}
#main .head-main>.kicker{font-size:var(--t-xs)}
#head.ph .hero-in{display:grid;grid-template-columns:minmax(var(--gutter),1fr) minmax(0,46rem) minmax(0,19rem) minmax(var(--gutter),1fr);grid-template-rows:minmax(clamp(120px,24vh,280px),1fr) repeat(4,auto) clamp(40px,6vw,88px);min-height:min(calc(100vh - 65px),900px);padding:0;gap:0 clamp(24px,4vw,64px)}
#head.ph .head-main{display:contents;background:none}
#head.ph .head-main>*{grid-column:2;position:relative;z-index:2;margin-top:var(--s-4)}
#head.ph .head-main>.kicker{grid-row:2!important;margin:0}
#head.ph .head-main>h1{grid-row:3!important}
#head.ph .head-main>.lead{grid-row:4!important}
#head.ph .head-main>.actions{grid-row:5!important;margin-top:var(--s-6)}
#head.ph .head-main>aside{grid-column:3;grid-row:3/span 3;align-self:end;margin:0;padding:var(--s-5) 0 0;border:0;border-top:1px solid var(--ph-line)}
#head.ph :is(h1,.kicker,.visit dd,address){color:var(--ph-ink)}
#head.ph :is(.lead,.caps,.visit dt){color:var(--ph-ink-2)}
#head.ph .hours div{border-color:var(--ph-line)}
#head.ph a:not(.btn){color:var(--ph-ink);border-color:var(--ph-line)}
#head.ph .btn-primary{background:var(--ph-ink);color:var(--ph-ground)}
#head.ph .btn-primary:hover{background:var(--ph-ink-2)}
#main>#head:is(.ph,.pi) .kv-art{display:block;position:relative;grid-column:1/-1;grid-row:1/-1;align-self:stretch;min-height:0;height:auto;margin:0;border-radius:0;background:var(--ph-ground);opacity:1;overflow:hidden;isolation:isolate}
#main>#head:is(.ph,.pi) .kv-art>i{display:none}
#main>#head:is(.ph,.pi) .hero-photo:not([hidden]){display:block;z-index:auto}
#head.ph .hero-photo img{animation:ph-in 1.4s var(--ease) both}
#head.ph .kv-art::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgb(13 17 23/.86),rgb(13 17 23/.5) 45%,rgb(13 17 23/.22))} 
#head.ph .head-main>:not(aside){animation:rise .7s var(--ease) both}
#head .hero-credit{z-index:3;inset:0 0 auto auto;border-radius:0 0 0 8px}
@keyframes ph-in{from{transform:scale(1.04)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:860px){
#head.ph .hero-in{grid-template-columns:var(--gutter) minmax(0,1fr) var(--gutter);grid-template-rows:minmax(30vh,1fr) auto auto auto auto auto var(--s-7);min-height:0;column-gap:0}
#head.ph .head-main>*{grid-column:2!important}
#head.ph .head-main>h1{padding-bottom:var(--s-5)}
#head.ph .head-main>:is(.lead,.actions){margin-top:var(--s-5)}
#head.ph .head-main>aside{grid-row:6!important;margin-top:var(--s-7)}
#main>#head.ph .kv-art{grid-row:1/4;min-height:min(62vh,540px)}
#head.ph .kv-art::after{background:linear-gradient(to top,var(--ph-ground),rgb(13 17 23/.62) 40%,rgb(13 17 23/.18) 75%)}}
#main>#head.pi .kv-art{grid-column:1/-1;grid-row:auto;order:2;height:clamp(200px,34vh,380px);margin-top:var(--s-6);border-radius:var(--r-card)}
@media (min-width:960px){
#main #head:not(.hero) .hero-in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-6);align-items:start}
#head:not(.hero) .head-main{display:contents}
#head:not(.hero) .head-main>*{grid-column:1/9;grid-row:1}
#main>#head.pi .kv-art{grid-row:6}
#head:not(.hero) .head-main>h1{grid-row:2/span 3;margin-top:var(--s-4)}
#head:not(.hero) .head-main>:is(.lead,.actions,aside){grid-column:9/13;align-self:end}
#head:not(.hero) .head-main>.lead{grid-row:3}
#head:not(.hero) .head-main>.actions{grid-row:4}
#head:not(.hero) .head-main>aside{grid-row:5;grid-column:1/-1}}
.sec>*,.contact>*{min-width:0}
.sec-h,.sec-c{display:grid;gap:var(--s-3);align-content:start}
.sec-c{gap:var(--s-5)}
.sec-c p{margin:0}
.sec-c>p:first-child:not(.note){font:400 clamp(1.25rem,1.05rem + .7vw,1.625rem)/1.45 var(--serif);color:var(--ink)}
.sec-c>.more{justify-self:start}
@media (min-width:960px){
.sec:not(.bare){grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-6)}
.sec:not(.bare)>.sec-h{grid-column:1/5}
.sec:not(.bare)>:is(.sec-c,.sec-body){grid-column:6/13}
.sec.has-photo>.sec-body{display:contents}
.sec.has-photo .sec-photo{grid-column:1/7;grid-row:1/span 2;margin-left:var(--bleed);border-radius:0 var(--r-card) var(--r-card) 0}
.sec.has-photo>.sec-h{grid-column:8/13;align-self:end}
.sec.has-photo .sec-c{grid-column:8/13;grid-row:2}
.sec.has-photo:nth-child(odd of .has-photo) .sec-photo{grid-column:7/13;margin:0 var(--bleed) 0 0;border-radius:var(--r-card) 0 0 var(--r-card)}
.sec.has-photo:nth-child(odd of .has-photo)>.sec-h,.sec.has-photo:nth-child(odd of .has-photo) .sec-c{grid-column:1/6}
.sec.has-photo{row-gap:var(--s-6);border-top:0}}
.sec-photo{margin:0;border-radius:var(--r-card);overflow:hidden;background:var(--sunk);position:relative;min-width:0}
.sec-photo img{display:block;width:100%;height:100%;min-height:clamp(240px,40vw,600px);aspect-ratio:5/4;object-fit:cover;transition:transform .9s var(--ease)}
.sec-photo:hover img{transform:scale(1.03)}
.sec-body{display:grid;gap:var(--s-6)}
@media (max-width:959px){.has-photo .sec-photo{order:-1;margin-inline:calc(-1 * var(--gutter));border-radius:0}.has-photo .sec-photo img{min-height:0;aspect-ratio:4/3}.sec.has-photo{border-top:0}}
#main .items li{display:grid;gap:var(--s-1);padding:var(--s-5) 0;border:0;border-radius:0;background:none;box-shadow:none}
#main .items li:first-child{padding-top:0}
#main .items li+li{border-top:1px solid var(--line)}
.row{display:flex;align-items:baseline;gap:var(--s-3)}
.row:has(.price)::after{content:"";order:1;flex:1 1 24px;min-width:24px;border-bottom:1px dotted var(--edge);translate:0 -.3em}
.items h3{min-width:0;font:500 var(--t-xl)/1.2 var(--serif)}
.price{order:2;flex:none;margin:0;font:600 var(--t-lg)/1.1 var(--serif);font-variant-numeric:tabular-nums lining-nums}
.items .caps{color:var(--accent)}
.txt,.note,.hint,.hours dt,.status p,.quotes figcaption,.facts dd{color:var(--ink-2)}
.note,.hint,.facts dd{font-size:var(--t-sm)}
.note{padding-top:var(--s-4);border-top:1px solid var(--line);font-style:italic}
.quotes,.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--s-6);margin:0}
.facts dt{font:400 clamp(3rem,2rem + 3vw,5rem)/1 var(--serif);letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.facts.long dt{font-size:clamp(1.75rem,1.3rem + 1.4vw,2.5rem);line-height:1.08}
.facts>div{padding-top:var(--s-4);border-top:1px solid var(--accent)}
.facts dd{margin:var(--s-3) 0 0;max-width:22ch}
.sec[data-sec=proof]{background:var(--sunk);box-shadow:0 0 0 100vmax var(--sunk);clip-path:inset(0 -100vmax);border-top:0}
.quotes{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--s-7)}
.quotes figure{display:grid;gap:var(--s-4);align-content:start;margin:0}
.quotes figure::before{content:"\201C";height:.5em;font:400 5rem/1 var(--serif);color:var(--accent)}
.quotes blockquote{margin:0;font:400 clamp(1.25rem,1rem + .8vw,1.75rem)/1.4 var(--serif);color:var(--ink)}
.quotes figcaption{font:650 var(--t-xs)/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.contact{display:grid;gap:var(--s-7)}
@media (min-width:900px){.contact{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);column-gap:clamp(32px,5vw,80px)}.contact .visit{border-top:0;padding-top:0}}
.contact>div:first-child{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}
.contact .visit address a{font:500 var(--t-lg)/1.3 var(--serif)}
.sec:has(.contact)>.sec-h,.sec:has(.contact)>.sec-c{grid-column:1/-1}
.form{display:grid;gap:var(--s-5)}
.field{display:grid;gap:8px}
.field p{margin:0}
.field label{font:650 var(--t-xs)/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.form :is(input,textarea){min-height:52px;padding:12px 14px;border-color:var(--line);border-radius:var(--r-sm);background:var(--bg)}
.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)}
.foot{margin-top:var(--sec-y);background:var(--ph-ground);color:var(--ph-ink-2);font-size:var(--t-sm);border-top:1px solid var(--line)}
address span{display:block}
.foot-in{display:grid;gap:var(--s-5) var(--s-7);align-items:start;padding-block:var(--s-8)}
.foot p{margin:0}
.foot .brand{grid-column:1/-1;min-height:0;font-size:clamp(1.75rem,1.2rem + 2vw,3rem);color:var(--ph-ink)}
.foot a{color:var(--ph-ink)}
.foot .hours div{border-color:var(--ph-line)}
.foot .hours dt{color:var(--ph-ink-2)}
.foot .fine{grid-column:1/-1;max-width:none;padding-top:var(--s-5);border-top:1px solid var(--ph-line)}
.links{display:grid;justify-items:start}
@media (min-width:760px){.foot-in{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:960px){html[data-l-fs=sidebar] body>.top[data-sec=nav]{position:relative;height:auto;align-self:stretch}html[data-l-fs=sidebar] body>.top>.nav{position:sticky;top:0;height:100vh}} 
.hero-photo{position:absolute;inset:0;z-index:1;margin:0;overflow:hidden}
.hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.hero-credit,.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}
.hero-credit:empty{display:none}:is(.hero-credit,.sec-credit) a{color:inherit;display:inline-flex;align-items:center;min-height:44px}
html[data-l-fs] [data-sec=hero] [data-hero-media] > .hero-photo:not([hidden]){display:block}
.local-note{margin:var(--s-2) 0 0;font-size:var(--t-sm);color:var(--ink-2)}
@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}}


/* tap-targets: comfortable phone taps -- the sizes win on phones, the page's own layout stays */
@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; }
}
