/* The Common Loon — black, red, a little cream. */
:root{
  --black:#0A0A0A; --black-2:#141414; --black-3:#1E1E1E; --line:rgba(246,242,234,.14);
  --red:#F33B36; --red-deep:#B8241F; --cream:#EFE3C6; --white:#F6F2EA; --gray:#A19E95; --gray-2:#6E6B64;
  --serif:"Bodoni Moda","Bodoni 72","Didot",Georgia,serif;
  --cond:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Alegreya Sans","Gill Sans","Segoe UI",sans-serif;
  --sans:"Jost","Futura","Century Gothic","Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem;background:var(--black)}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration-color:var(--red);text-underline-offset:4px}
a:hover{color:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}
h1,h2,h3,h4,p,figure,ul,ol,dl{margin:0}
::selection{background:var(--red);color:#fff}
[hidden]{display:none!important}
.wrap{width:min(1180px,92vw);margin-inline:auto}
.sr{position:absolute;left:-9999px}
.skip-link{position:absolute;left:1rem;top:-5rem;z-index:100;background:var(--red);color:#fff;padding:.7rem 1rem}
.skip-link:focus{top:1rem}
html.splashed body{overflow:hidden}

/* ---------- eyes: shared by the text wordmark and the logo overlay ----------
   .iris (red disc) > .pupil (black disc, moves with the pointer on desktop) > .glint
   .lid (black disc) scales over the eye for the blink. */
.iris{position:absolute;border-radius:50%;background:var(--red);transform:translate(-50%,-50%)}
.pupil{position:absolute;left:50%;top:50%;border-radius:50%;background:var(--black);transform:translate(-50%,-50%);transition:transform .14s ease-out;will-change:transform}
.glint{position:absolute;left:71.5%;top:27.5%;width:33%;height:33%;border-radius:50%;background:#fff;transform:translate(-50%,-50%)}
.lid{position:absolute;border-radius:50%;background:var(--black);transform:translate(-50%,-50%) scaleY(0);transform-origin:center;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .lid{animation:blink 7s ease-in-out infinite}
  @keyframes blink{0%,94%,100%{transform:translate(-50%,-50%) scaleY(0)}97%{transform:translate(-50%,-50%) scaleY(1)}}
  html.calling .pupil{animation:pulse .5s ease-in-out 6}
  @keyframes pulse{50%{scale:1.2}}
}

/* text wordmark */
.wordmark{display:inline-block;font-family:var(--serif);color:var(--white);line-height:.9;user-select:none;white-space:nowrap}
.wm-the{display:block;font-size:.34em;letter-spacing:.42em;font-weight:500;margin:0 0 .3em .1em}
.wm-word{display:block;font-size:1em;letter-spacing:.02em;text-transform:uppercase;font-weight:700}
.eye{position:relative;display:inline-block;width:.72em;height:1em;vertical-align:baseline}
.eye::before{content:"O";position:absolute;inset:0}
.eye .iris{left:50%;top:53%;width:.42em;height:.42em}
.eye .pupil{width:.26em;height:.26em}
.eye .lid{left:50%;top:53%;width:.48em;height:.48em}

/* overlay on the real logo PNG (eye centres measured from the file) */
.logo-blink{position:relative;display:block}
.logo-blink .iris{top:65.01%;width:3.47%;aspect-ratio:1}
.logo-blink .pupil{width:100%;height:100%}
.logo-blink .lid{top:65.01%;width:6.2%;aspect-ratio:1}
.logo-blink .l{left:39.03%}.logo-blink .r{left:56.99%}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:40;background:rgba(10,10,10,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-row{display:flex;align-items:center;gap:1.6rem;min-height:66px}
.home-link{text-decoration:none;display:flex;align-items:center;padding:.45rem 0}
.home-link .wordmark{font-size:1.45rem}
.site-nav{display:flex;gap:.2rem 1.4rem;margin-left:auto;font-family:var(--cond);font-weight:600;font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em}
.site-nav a{text-decoration:none;color:var(--gray);padding:.35rem 0;border-bottom:2px solid transparent;white-space:nowrap}
.site-nav a:hover{color:#fff}
.site-nav a[aria-current=page]{color:#fff;border-bottom-color:var(--red)}
.tonight-pill{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:#fff;background:var(--red);padding:.35rem .8rem .3rem;text-decoration:none;border-radius:2px;white-space:nowrap}
.tonight-pill:hover{background:#fff;color:var(--black)}
@media (max-width:860px){
  .head-row{gap:.8rem;flex-wrap:wrap}
  .home-link .wordmark{font-size:1.3rem}
  .tonight-pill{margin-left:auto;font-size:.85rem}
  /* pages always visible on phones: one scrolling row, no toggle to mistake for the food menu */
  .site-nav{display:flex;width:100vw;margin:0 calc(50% - 50vw);order:10;flex-direction:row;gap:0;border-top:1px solid var(--line);padding:0 max(1rem,calc(50vw - 50%));overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .site-nav::-webkit-scrollbar{display:none}
  .site-nav a{padding:.6rem .9rem .55rem;font-size:1rem;color:var(--white);border-bottom:2px solid transparent;flex:none}
  .site-nav a:first-child{padding-left:0}
  .site-nav a[aria-current=page]{border-bottom-color:var(--red)}
}

.announce{background:var(--red);color:#fff;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:1rem;padding:.5rem 0;text-align:center}
dl.facts.hours{margin-top:0}
dl.facts.hours dd{font-size:1.15rem}

/* ---------- buttons ---------- */
.btn{display:inline-block;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;padding:.6rem 1.15rem .5rem;text-decoration:none;border-radius:2px;border:2px solid transparent;line-height:1.1;cursor:pointer}
.btn-red{background:var(--red);color:#fff;border-color:var(--red)}
.btn-red:hover{background:#fff;color:var(--black);border-color:#fff}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--line)}
.btn-ghost:hover{border-color:#fff}
.btn-cream{background:var(--cream);color:var(--black);border-color:var(--cream)}
.btn-cream:hover{background:#fff}
.btns{display:flex;flex-wrap:wrap;gap:.6rem}

/* ---------- generic page bits ---------- */
main{min-height:60vh}
.page-head{padding:3.2rem 0 1.8rem;border-bottom:1px solid var(--line)}
.page-head h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6vw,4.6rem);line-height:.95;letter-spacing:-.01em}
.page-head .lede{margin-top:1.1rem;max-width:62ch;font-family:var(--serif);font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.35;color:var(--cream)}
.page-head p:not(.lede){margin-top:.9rem;max-width:56ch;color:var(--gray);font-size:1.1rem}
.eyebrow{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.section{padding:2.6rem 0 3rem}
.section + .section{border-top:1px solid var(--line)}
.section h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1;letter-spacing:-.01em}
.section h2 + p{margin-top:.8rem}
.prose{max-width:66ch;font-size:1.12rem;line-height:1.65}
.prose p + p{margin-top:1.05em}
.prose h2{margin-top:2.2rem;margin-bottom:.6rem}
.prose .pull{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;color:var(--cream);border-left:4px solid var(--red);padding-left:1.1rem;margin:1.8rem 0}
.prose .lede{font-family:var(--serif);font-size:1.45rem;line-height:1.3;color:var(--cream)}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:2.6rem;align-items:start}
.mono{font-family:var(--sans);font-size:.9rem;color:var(--gray)}
.soon{font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.8rem);color:var(--cream);margin-top:1.4rem}
.card{background:var(--black-2);border:1px solid var(--line);border-radius:4px;padding:1.4rem 1.5rem}
.card h3{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.4rem}
.card p{margin-top:.5rem;color:var(--gray)}
.card a{color:var(--white)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem}
dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.3rem;font-size:1.05rem}
dl.facts dt{font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--red);padding-top:.25rem}
dl.facts dd{margin:0;color:var(--white)}
figure.poster{background:var(--black-2);border:1px solid var(--line);padding:.6rem}
figure.poster figcaption{font-family:var(--sans);font-size:.78rem;color:var(--gray);margin-top:.6rem;line-height:1.5}
figure.poster a{display:block}

/* ---------- long-form pages (About, Lents) ---------- */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:2rem 0 .4rem}
.person{border-top:3px solid var(--red);padding-top:.9rem}
.person h3{font-family:var(--serif);font-weight:700;font-size:1.6rem;line-height:1}
.person p{margin-top:.4rem;color:var(--gray);font-size:1rem}
.person .from{font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin-top:.5rem}
.article{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2.1fr);gap:3.5rem;padding:2.4rem 0 3rem;align-items:start}
.rail{position:sticky;top:5.4rem}
.toc{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.toc li a{display:block;padding:.6rem 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);font-size:1.05rem}
.toc li a:hover{color:#fff}
.toc li a.on{color:var(--red)}
.rail .quote{margin-top:2rem;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.2;color:var(--cream)}
.rail .quote small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-2);margin-top:.8rem}
.rail figure{margin-top:2rem}
.body{max-width:72ch;font-size:1.15rem;line-height:1.7}
.body > p + p{margin-top:1.1em}
.body h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1;letter-spacing:-.01em;margin:2.8rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--line);scroll-margin-top:6rem}
.body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.body h2 .n{display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;color:var(--red);margin-bottom:.6rem}
.body .lede{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.3;color:var(--cream)}
.body .lede::first-letter{font-size:3.2em;line-height:.8;float:left;padding:.08em .1em 0 0;color:var(--red)}
.body .pull{font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.15;color:var(--cream);border-left:4px solid var(--red);padding-left:1.1rem;margin:2rem 0}
.body figure{margin:2rem 0;background:var(--black-2);border:1px solid var(--line);padding:.6rem}
.body figcaption{font-family:var(--sans);font-size:.78rem;color:var(--gray);margin-top:.6rem;line-height:1.5}
.body .aside{background:var(--black-2);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:4px;padding:1.2rem 1.4rem;margin:2rem 0;font-size:1.02rem}
.body .aside h3{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.3rem;margin-bottom:.4rem}
.body .aside p{color:var(--gray)}
.body ul{padding-left:1.2rem;margin:1em 0}
.body li + li{margin-top:.4em}
.band{margin-top:1rem;background:var(--black-2);border-top:3px solid var(--red);border-bottom:1px solid var(--line);padding:3rem 0}
.band .wrap{display:grid;grid-template-columns:1.4fr .6fr;gap:2rem;align-items:center}
.band p.big{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,4.2vw,3.2rem);line-height:1.02;letter-spacing:-.01em;color:var(--white)}
.band .btns{justify-content:flex-end}

/* ---------- texture + brand rule ---------- */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.07;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body > *{position:relative;z-index:1}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}
.sec-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1;letter-spacing:-.01em}
.sec-head a{font-family:var(--sans);font-size:.85rem;color:var(--gray);text-decoration:none}
.sec-head a:hover{color:var(--red)}
.page-head{position:relative}
.page-head::after{content:"◆";position:absolute;left:0;bottom:-.55em;font-size:.8rem;line-height:1;color:var(--red);background:var(--black);padding-right:.5rem}

/* ---------- home ---------- */
.nameplate{padding:2.2rem 0 1.6rem;text-align:center;position:relative}
.nameplate::before{content:"";position:absolute;left:50%;top:40%;width:min(720px,90vw);height:60%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(243,59,54,.16),transparent 65%);pointer-events:none}
.hero-logo{position:relative;width:min(560px,100%);margin-inline:auto;background:none;border:0;padding:0;cursor:pointer;display:block}
.hero-logo img{width:100%}
.np-line{display:flex;justify-content:center;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.4rem;font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;color:var(--cream)}
.np-line i{font-style:normal;color:var(--red);font-size:.6rem}
.np-line a{color:var(--cream);text-decoration:underline;text-decoration-color:rgba(243,59,54,.55);text-decoration-thickness:1px;text-underline-offset:.3em;padding:.15rem 0}
.np-line a:hover{color:#fff;text-decoration-color:var(--red)}

.tonight-hero{border-top:3px solid var(--red);border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(243,59,54,.07),transparent 40%),var(--black-2);padding:2.2rem 0 2.4rem}
.th-grid{display:grid;grid-template-columns:minmax(220px,380px) minmax(0,1fr);gap:2.4rem;align-items:center}
.th-art{position:relative}
.th-art img{width:100%;aspect-ratio:2/3;object-fit:cover;box-shadow:0 18px 50px rgba(0,0,0,.6);border:1px solid var(--line)}
.th-art a{display:block}
.th-art .th-tag{position:absolute;right:-.6rem;top:1rem;background:var(--red);color:#fff;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;padding:.3rem .7rem;transform:rotate(-2deg)}
.th-kicker{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:1rem;color:var(--red)}
.th-kicker span{color:var(--gray);font-weight:600;letter-spacing:.08em}
.th-title{font-family:var(--serif);font-weight:700;font-size:clamp(2.6rem,7vw,5.4rem);line-height:.92;letter-spacing:-.015em;margin-top:.6rem;text-wrap:balance}
.th-acts{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.2rem,2.4vw,1.7rem);color:var(--cream);margin-top:.7rem}
.th-meta{font-family:var(--sans);font-size:1rem;color:var(--white);margin-top:.7rem}
.th-note{margin-top:.6rem;color:var(--gray);max-width:50ch;font-size:1.05rem}
.th-also{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line);font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--cream);font-size:1.05rem}
.th-also b{color:var(--red);font-weight:800;margin-right:.4rem}
.th-body .btns{margin-top:1.4rem}
.th-next{margin-top:1.4rem;font-family:var(--sans);font-size:.85rem;color:var(--gray)}
.th-next a{color:var(--white)}

.flyer{aspect-ratio:2/3;background:var(--black) center/cover no-repeat;border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;padding:1.1rem;box-shadow:0 18px 50px rgba(0,0,0,.5)}
.flyer .fl-date{font-family:var(--cond);font-weight:800;text-transform:uppercase;font-size:clamp(2rem,5vw,3.2rem);line-height:.9;color:var(--red)}
.flyer .fl-date small{display:block;font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;color:var(--gray);margin-top:.4rem}
.flyer .fl-title{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1;color:var(--white);text-transform:uppercase}
.flyer .wordmark{font-size:.9rem;opacity:.75}

.week{padding:2.4rem 0 1.6rem}
.week-strip{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.week-strip li{background:var(--black);padding:.8rem .8rem 1rem;min-height:7rem}
.week-strip li.today{background:var(--black-2);box-shadow:inset 0 3px 0 var(--red)}
.week-strip .ws-day{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;color:var(--cream)}
.week-strip li.today .ws-day{color:var(--red)}
.week-strip .ws-day small{font-family:var(--sans);font-weight:400;letter-spacing:.06em;font-size:.72rem;color:var(--gray);margin-left:.35rem}
.week-strip .ws-item{margin-top:.5rem;font-family:var(--cond);font-weight:700;text-transform:uppercase;line-height:1.05;font-size:1.02rem;letter-spacing:.01em}
.week-strip .ws-item span{display:block;font-family:var(--sans);font-size:.72rem;color:var(--gray);text-transform:none;letter-spacing:.02em;margin-top:.15rem;font-weight:400}
.week-strip .ws-quiet{margin-top:.5rem;font-family:var(--sans);font-size:.78rem;color:var(--gray-2)}
.week-strip a{text-decoration:none;color:var(--white)}
.week-strip a:hover{color:var(--red)}

.coming{padding:1.6rem 0 2.6rem}
.poster-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1.1rem}
.pw-card{display:block;text-decoration:none;color:var(--white)}
.pw-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border:1px solid var(--line);transition:transform .2s ease}
.pw-card:hover img,.pw-card:hover .flyer{transform:translateY(-3px)}
.pw-card .flyer{padding:.8rem;box-shadow:none;transition:transform .2s ease}
.pw-card .flyer .fl-date{font-size:1.9rem}
.pw-card .flyer .fl-title{font-size:1.1rem}
.pw-card .pw-date{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--red);font-size:.95rem;margin-top:.6rem}
.pw-card .pw-title{font-family:var(--cond);font-weight:700;text-transform:uppercase;font-size:1.15rem;line-height:1.05;margin-top:.15rem}
.pw-card .pw-acts{font-family:var(--sans);font-size:.75rem;color:var(--gray);margin-top:.2rem;line-height:1.4}
.coming-book{margin-top:1.6rem;font-family:var(--sans);font-size:.88rem;color:var(--gray)}
.coming-book a{color:var(--white)}

.corner{position:relative;background:url("/img/eagle-eye.jpg") center 60%/cover no-repeat;padding:5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.corner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.96) 0%,rgba(10,10,10,.85) 45%,rgba(10,10,10,.35) 100%)}
.corner-in{position:relative;max-width:560px}
.corner h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.92;letter-spacing:-.015em;margin-top:.5rem}
.corner p:not(.eyebrow){margin-top:1rem;font-size:1.1rem;color:var(--cream);max-width:48ch}
.corner .btns{margin-top:1.4rem}

.address{padding:3rem 0 1.4rem;display:grid;grid-template-columns:1.2fr 1fr;gap:2.6rem;align-items:start}
.addr-line1{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,5.6vw,4.4rem);line-height:.95;letter-spacing:-.015em}
.addr-line2{font-family:var(--sans);font-size:.9rem;color:var(--gray);margin-top:.7rem}
.addr-big .btns{margin-top:1.3rem}
.addr-cols{display:grid;grid-template-columns:1fr;gap:1rem}
.addr-cols > div{border-top:1px solid var(--line);padding-top:.8rem}
.addr-cols h3{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.addr-cols p{margin-top:.3rem;font-size:1.05rem}
.addr-cols .small{font-size:.9rem;color:var(--gray)}
.addr-cols a{color:var(--white)}

/* ---------- show cards ---------- */
.show{display:grid;grid-template-columns:150px 1fr;gap:1.3rem;align-items:start;background:var(--black-2);border:1px solid var(--line);border-radius:4px;padding:1rem;scroll-margin-top:6rem}
.show.big{grid-template-columns:minmax(180px,260px) 1fr;padding:1.2rem}
.show.is-tonight{border-color:var(--red)}
.show-art img{width:100%;aspect-ratio:2/3;object-fit:cover;background:var(--black-3)}
.show-noart{aspect-ratio:2/3;background:var(--black-3);display:grid;place-items:center;padding:.6rem}
.show-noart .wordmark{font-size:1rem;opacity:.7}
.show-date{display:flex;gap:.6rem;align-items:baseline;font-family:var(--sans);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray)}
.show-date b{color:var(--red);font-family:var(--cond);font-weight:800;font-size:1.35rem;letter-spacing:.04em}
.show-title{font-family:var(--cond);font-weight:800;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.3rem);line-height:.98;letter-spacing:.005em;margin-top:.25rem}
.show.big .show-title{font-size:clamp(2rem,4vw,3.2rem)}
.show-acts{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:1.15rem;color:var(--cream);margin-top:.25rem}
.show-meta{font-family:var(--sans);font-size:.88rem;color:var(--white);margin-top:.5rem}
.show-note{margin-top:.5rem;color:var(--gray);font-size:1rem;max-width:52ch}
.show-actions{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.5rem}
.show-actions .btn{font-size:.95rem;padding:.5rem .9rem .4rem}
.shows-list{display:grid;gap:1rem;margin-top:1.6rem}
#past{margin-top:2.4rem}
#past summary{cursor:pointer;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);padding:.6rem 0}
#past .shows-list{opacity:.7}

/* ---------- weekly ---------- */
.weekday{padding:1.6rem 0 1.8rem;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:1.4rem;align-items:start}
.weekday .day-lbl{font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1;color:var(--cream)}
.weekday-list{display:grid;gap:.9rem}
.weekly-item{border-left:3px solid var(--red);padding-left:1rem}
.weekly-item.has-img{display:grid;grid-template-columns:120px 1fr;gap:1.1rem;align-items:start}
.w-img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);background:var(--black-3)}
.weekly-item.soon .w-img{opacity:.55;filter:grayscale(.4)}
.weekly-item.soon{border-left-color:var(--gray-2)}
.weekly-item h3{font-family:var(--cond);font-weight:800;text-transform:uppercase;font-size:1.5rem;line-height:1;letter-spacing:.01em}
.weekly-item.soon h3{color:var(--gray)}
.w-host{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.05rem;color:var(--cream);margin-top:.2rem}
.w-time{font-family:var(--sans);font-size:.85rem;color:var(--white);margin-top:.35rem}
.w-desc{margin-top:.4rem;color:var(--gray);max-width:52ch;font-size:1rem}
.weekly-item.as-tonight{background:var(--black-2);border:1px solid var(--line);border-left:3px solid var(--red);border-radius:4px;padding:1.1rem 1.2rem}
.weekly-item.as-tonight h3{font-size:clamp(1.7rem,3.4vw,2.6rem)}

/* ---------- menu ---------- */
.hh{position:relative;background:url("/img/menu/backbar.jpg") center/cover no-repeat;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3rem 0;margin-top:2rem}
.hh::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.82),rgba(10,10,10,.92))}
.hh .wrap{position:relative}
.hh h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,5.6vw,4.2rem);line-height:.95;letter-spacing:-.015em}
.hh h2 span{display:block;font-size:.42em;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin-bottom:.5rem}
.hh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:1.6rem}
.hh-tile{position:relative;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--line);background:var(--black-2)}
.hh-tile img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.hh-tile:hover img{transform:scale(1.04)}
.hh-tile figcaption{position:absolute;left:0;right:0;bottom:0;padding:1rem;background:linear-gradient(transparent,rgba(10,10,10,.92))}
.hh-tile b{display:block;font-family:var(--serif);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:.9;color:var(--white)}
.hh-tile span{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;color:var(--cream)}
.dish{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center;padding:3rem 0}
.dish img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.55)}
.dish h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.92;letter-spacing:-.015em;margin-top:.4rem}
.dish .tag{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.2rem,2.2vw,1.6rem);color:var(--cream);margin-top:.8rem}
.dish p:not(.tag):not(.eyebrow){margin-top:1rem;font-size:1.1rem;color:var(--gray);max-width:46ch}
.dish-price{margin-top:1.2rem;font-family:var(--sans);font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}
.dish-price b{font-family:var(--serif);font-weight:700;font-size:1.9rem;letter-spacing:0;text-transform:none;color:var(--cream);margin-right:.5rem;vertical-align:-.05em}
/* the typeset menu: same two columns, stars and diamonds as the printed sheet (source/menu-2026-09-22.png) */
.menu{padding:0 0 3rem;border-top:1px solid var(--line)}
.menu-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;padding-top:2.8rem}
.menu-head h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6vw,4.4rem);line-height:.92;letter-spacing:-.015em;margin-top:.4rem}
.menu-tagline{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);padding-bottom:.4rem}
.menu-tagline i{font-style:normal;color:var(--red);margin:0 .55em;font-size:.8em}
.menu-cols{columns:2;column-gap:7rem;column-rule:1px solid var(--line);margin-top:2.4rem}   /* sections fill the left column, then the right */
.menu-group{break-inside:avoid;margin:0 0 2.8rem}
.menu-group h3{font-family:var(--serif);font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:.1em;text-transform:uppercase;line-height:1;text-align:center}
.menu-group h3 i{font-style:normal;color:var(--red);font-size:.62em;vertical-align:.2em;margin:0 .6em}
.menu-note{text-align:center;font-family:var(--sans);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);margin-top:.6rem}
.menu-list{list-style:none;padding:0;margin-top:1.1rem;border-top:1px solid var(--line)}
.mi{padding:1rem 0 .95rem;border-bottom:1px solid var(--line)}
.mi h4{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.5rem;line-height:1}
.mi h4::after{content:"";flex:1;order:1;min-width:1.6rem;border-bottom:2px dotted var(--gray-2);transform:translateY(-.3em)}   /* the dotted leader between name and price */
.price{order:2;font-family:var(--sans);font-weight:500;font-size:1.1rem;letter-spacing:.02em;color:var(--cream);white-space:nowrap}
.price i{font-style:normal;color:var(--red);margin:0 .25em}
.mi p{margin-top:.4rem;color:var(--gray);font-size:1.02rem;max-width:46ch}
.mi .mi-add{display:flex;align-items:baseline;gap:.6rem 1rem;margin-top:.55rem;font-family:var(--sans);font-size:.86rem;color:var(--white)}
.mi .mi-add .price{font-size:.95rem;margin-left:auto}
.mi .mi-flag{font-family:var(--sans);font-size:.8rem;letter-spacing:.02em;color:var(--gray)}
.menu-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:0;padding-top:1.5rem;border-top:2px solid var(--cream)}
.menu-open{font-family:var(--serif);font-weight:700;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1;letter-spacing:.02em;text-transform:uppercase}
.menu-more{display:grid;grid-template-columns:1fr;gap:1.2rem;padding:1rem 0 3rem}
.menu-more figure{position:relative;aspect-ratio:21/8;overflow:hidden;border:1px solid var(--line)}
.menu-more img{width:100%;height:100%;object-fit:cover;opacity:.75}
.menu-more figcaption{position:absolute;inset:auto 0 0 0;padding:1.2rem;background:linear-gradient(transparent,rgba(10,10,10,.95))}
.menu-more b{display:block;font-family:var(--serif);font-weight:700;font-size:1.8rem;line-height:1}
.menu-more span{font-family:var(--sans);font-size:.85rem;color:var(--gray)}

/* ---------- merch ---------- */
.merch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.8rem 1.6rem;padding:2.4rem 0 3rem}
.merch-grid:empty{display:none}
.merch-card img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--black-2)}
.merch-card h2{display:flex;align-items:baseline;gap:.8rem;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.03em;font-size:1.4rem;line-height:1;margin-top:.8rem}
.merch-card h2 .price{margin-left:auto}
.merch-card p{margin-top:.35rem;color:var(--gray);font-size:1rem}

/* ---------- kind words: one neighbor at a time, under the light ---------- */
.voices{position:relative;overflow:hidden;padding:4.6rem 0 4.2rem;border-top:1px solid var(--line);background:var(--black)}
.voices::before{content:"";position:absolute;left:50%;top:-8rem;width:min(1100px,140vw);height:calc(100% + 8rem);transform:translateX(-50%);background:radial-gradient(ellipse 42% 62% at 50% 0%,rgba(239,227,198,.2),rgba(239,227,198,.06) 48%,transparent 72%);pointer-events:none}
.voices::after{content:"";position:absolute;left:50%;bottom:0;width:min(760px,90vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(239,227,198,.35),transparent)}
.voices-in{position:relative;text-align:center;max-width:900px}
.voices h2{font-family:var(--serif);font-weight:700;font-size:clamp(2.2rem,5.6vw,4rem);line-height:.95;letter-spacing:-.015em;margin-top:.5rem}
.voices-sub{font-family:var(--sans);font-size:.9rem;color:var(--gray);margin-top:.8rem}
.voices-stage{margin-top:2.4rem}
.voice-stage{display:grid}
.voice{grid-area:1/1;margin:0;visibility:hidden;opacity:0;transform:translateY(8px);transition:opacity .9s ease,transform .9s ease,visibility 0s .9s}
.voice.on{visibility:visible;opacity:1;transform:none;transition:opacity .9s ease,transform .9s ease,visibility 0s}
.voice blockquote{margin:0}
.voice blockquote p{font-family:var(--serif);font-weight:500;font-size:clamp(1.35rem,2.6vw,2.15rem);line-height:1.3;color:var(--white);text-wrap:balance}
.voice blockquote p::before{content:"“";color:var(--red);margin-right:.04em}
.voice blockquote p::after{content:"”";color:var(--red);margin-left:.04em}
.voice figcaption{margin-top:1.5rem;font-family:var(--sans);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.voice figcaption b{font-weight:500;color:var(--white)}
.voice-src{color:var(--gray)}
.voice-src::before{content:"·";margin:0 .5em;color:var(--red)}
.voice-stars{display:block;color:var(--red);letter-spacing:.22em;font-size:.95rem;margin-bottom:.55rem}
.voice-ctl{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.8rem}
.voice-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--white);font-family:var(--serif);font-size:1.7rem;line-height:1;padding:0 0 .15em;cursor:pointer;transition:border-color .2s,color .2s}
.voice-btn:hover{border-color:var(--red);color:var(--red)}
.voice-count{min-width:3.5em;font-family:var(--sans);font-size:.8rem;letter-spacing:.14em;color:var(--gray)}
.voices-cta{margin-top:2.2rem;font-family:var(--sans);font-size:.9rem;color:var(--gray)}
.voices-cta a{color:var(--white)}

/* ---------- splash ---------- */
#splash{position:fixed;inset:0;z-index:100;background:var(--black);color:var(--white);overflow:auto;display:grid;place-items:center;padding:1.5rem;transition:opacity .6s ease,visibility .6s;cursor:pointer}
#splash.leaving{opacity:0;visibility:hidden}
.splash-in{width:min(1100px,100%);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:2.5rem;align-items:center}
.splash-logo{width:100%;cursor:pointer;background:none;border:0;padding:0}
.splash-logo img{width:100%}
.splash-cta{text-align:center;margin-top:.6rem}
.enter{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:.42em;text-transform:uppercase;color:var(--white);background:none;border:2px solid var(--red);padding:.7rem 2rem .6rem 2.42rem;cursor:pointer;border-radius:2px;transition:background .2s,color .2s}
.enter:hover{background:var(--red);color:#fff}
.splash-hint{font-family:var(--sans);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-2);margin-top:1rem}
.splash-next{border:1px solid var(--line);border-radius:4px;padding:1rem;background:var(--black-2);max-width:360px;margin-inline:auto;cursor:default}
.splash-next img{width:100%;aspect-ratio:2/3;object-fit:cover;margin-top:.6rem}
.splash-lbl{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:var(--red)}
.splash-title{font-family:var(--cond);font-weight:800;text-transform:uppercase;font-size:1.7rem;line-height:1;margin-top:.7rem}
.splash-meta{font-family:var(--sans);font-size:.82rem;color:var(--gray);margin-top:.35rem}
.splash-acts{font-family:var(--cond);font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--cream);margin-top:.3rem;font-size:1.05rem}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--line);margin-top:3rem;padding:2.6rem 0 1.8rem;color:var(--gray)}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2rem}
.foot-grid .wordmark{font-size:1.5rem}
.foot-motto{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;font-size:.8rem;color:var(--red);margin-top:.9rem}
.foot-col h3{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-2);margin-bottom:.6rem}
.foot-col p,.foot-col a{display:block;color:var(--white);text-decoration:none;font-size:1rem;line-height:1.7}
.foot-col a:hover{color:var(--red)}
.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.foot-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1.5rem;margin-top:2.2rem;padding-top:1rem;border-top:1px solid var(--line);font-family:var(--sans);font-size:.78rem;color:var(--gray-2)}
.foot-made a{color:var(--gray);text-decoration:none}
.foot-made a:hover{color:var(--cream)}
.foot-made .heart{color:var(--red);margin-inline:.1em;font-size:1.1em}
.concept-note{color:var(--gray-2)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .th-grid{grid-template-columns:minmax(0,1fr)}
  .th-art{max-width:320px}
  .week-strip{grid-template-columns:repeat(4,1fr)}
  .address{grid-template-columns:1fr;gap:1.6rem}
  .corner{padding:3.4rem 0}
  .voices{padding:3.4rem 0 3.2rem}
  .two,.grid-3,.people{grid-template-columns:1fr}
  .dish{grid-template-columns:1fr;gap:1.4rem}
  .dish img{max-width:420px}
  .hh-grid{grid-template-columns:1fr}
  .menu-more figure{aspect-ratio:16/9}
  .menu-cols{columns:1}
  .grid-2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .splash-in{grid-template-columns:1fr;gap:1.6rem}
  .splash-next{max-width:300px}
  .weekday{grid-template-columns:1fr;gap:.8rem}
  .article{grid-template-columns:1fr;gap:1.6rem}
  .rail{position:static}
  .rail .quote{display:none}
  .toc{display:flex;flex-wrap:wrap;gap:.3rem .9rem;border-top:0}
  .toc li a{border-bottom:0;padding:.3rem 0;font-size:.95rem}
  .band .wrap{grid-template-columns:1fr}
  .band .btns{justify-content:flex-start}
}
@media (max-width:720px){
  body{font-size:17px}
  .show{grid-template-columns:110px 1fr;gap:.9rem;padding:.8rem}
  .show.big{grid-template-columns:130px 1fr}
  .week-strip{grid-template-columns:repeat(2,1fr)}
  .week-strip li{min-height:0}
  .th-art{max-width:260px}
  .th-art .flyer{aspect-ratio:4/5}
  .np-line{font-size:.8rem;gap:.3rem .5rem}
  .poster-wall{grid-template-columns:repeat(2,1fr)}
  dl.facts{grid-template-columns:1fr;gap:.2rem}
  dl.facts dd{margin-bottom:.7rem}
  .foot-grid{grid-template-columns:1fr;gap:1.4rem}
  .page-head{padding-top:2.2rem}
  #splash{padding:1.2rem}
  .splash-logo{max-width:520px;margin-inline:auto}
  .enter{font-size:1.2rem;letter-spacing:.3em;padding-left:1.8rem}
  .body{font-size:1.08rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
