/* Denise Choate & The Not Just Jazz Band
   Design direction: "Supper Club". See DESIGN.md for tokens and rules. */

@font-face{font-family:"Bodoni Moda";src:url("/assets/fonts/bodoni-moda.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url("/assets/fonts/bodoni-moda-italic.woff2") format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url("/assets/fonts/jost.woff2") format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  --cabernet:#3d111c;      /* primary dark surface */
  --cabernet-deep:#2a0b13; /* footer, media stage */
  --velvet:#7a2235;        /* accent on light surfaces */
  --champagne:#e7cc95;     /* accent on dark surfaces */
  --blush:#f4e6e1;         /* light surface */
  --garnet:#2b0c14;        /* text on light */
  --mauve:#dcc8c6;         /* secondary text on dark */
  --rose-ink:#6a3f48;      /* secondary text on light */
  --line-dark:rgba(231,204,149,.28);
  --line-light:rgba(122,34,53,.22);

  --display:"Bodoni Moda",Didot,"Bodoni 72","Times New Roman",serif;
  --text:"Jost","Futura","Century Gothic","Avenir Next",system-ui,sans-serif;

  --step--1:clamp(.875rem,.85rem + .1vw,.94rem);
  --step-0:clamp(1.0625rem,1.02rem + .2vw,1.1875rem);
  --step-1:clamp(1.25rem,1.18rem + .35vw,1.5rem);
  --step-2:clamp(1.6rem,1.45rem + .75vw,2.1rem);
  --step-3:clamp(2.1rem,1.8rem + 1.5vw,3.1rem);
  --step-4:clamp(2.5rem,2rem + 2.6vw,4.4rem);

  --gutter:clamp(1rem,4vw,3rem);
  --max:1240px;
  --space-section:clamp(4rem,9vw,7.5rem);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
body{margin:0;background:var(--cabernet);color:var(--blush);font-family:var(--text);font-size:var(--step-0);line-height:1.6;font-weight:400;text-rendering:optimizeLegibility}
img,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--champagne);outline-offset:3px;border-radius:2px}
.on-light :focus-visible,.on-light:focus-visible{outline-color:var(--velvet)}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;margin:0 0 .5em;font-optical-sizing:auto;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);line-height:1.2}
p{margin:0 0 1em;max-width:66ch}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;background:var(--champagne);color:var(--garnet);padding:.75rem 1rem;font-weight:600}
.skip-link:focus{top:1rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Surfaces */
.on-light{background:var(--blush);color:var(--garnet)}
.on-light .muted{color:var(--rose-ink)}
.muted{color:var(--mauve)}
.section{padding-block:var(--space-section)}
.kicker{font-family:var(--text);font-size:var(--step--1);font-weight:500;letter-spacing:.04em;color:var(--champagne);margin-bottom:.9rem}
.on-light .kicker{color:var(--velvet)}
.lede{font-size:var(--step-1);line-height:1.5;max-width:40ch}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.7rem 1.4rem;border-radius:var(--radius);background:var(--champagne);color:var(--garnet);font-weight:600;font-size:1rem;letter-spacing:.01em;text-decoration:none;border:1.5px solid var(--champagne);transition:background-color .2s,color .2s,border-color .2s}
.button:hover{background:#f3dfb4;border-color:#f3dfb4}
.button.secondary{background:transparent;color:var(--blush);border-color:var(--line-dark)}
.button.secondary:hover{border-color:var(--champagne);color:var(--champagne)}
.on-light .button{background:var(--velvet);border-color:var(--velvet);color:#fff}
.on-light .button:hover{background:#5e1828;border-color:#5e1828}
.on-light .button.secondary{background:transparent;color:var(--velvet);border-color:var(--line-light)}
.on-light .button.secondary:hover{border-color:var(--velvet)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:rgba(42,11,19,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-dark)}
.nav{display:flex;align-items:center;gap:1.5rem;min-height:72px}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1;margin-right:auto}
.brand strong{font-family:var(--display);font-weight:600;font-size:1.35rem;letter-spacing:.01em}
.brand span{font-size:.82rem;color:var(--mauve);letter-spacing:.02em}
.nav-links{display:flex;align-items:center;gap:.25rem;margin:0;padding:0;list-style:none}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 .7rem;text-decoration:none;font-weight:500;font-size:.98rem}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--champagne)}
.nav-links a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--champagne)}
.nav-phone{font-variant-numeric:tabular-nums;color:var(--mauve)}
.nav .button{min-height:44px;padding:.5rem 1.1rem;margin-left:.5rem}
.menu-toggle{display:none}
@media (max-width:860px){html:not(.js) .site-header{position:static}}

@media (max-width:980px){
  .nav-phone-item{display:none}
}
@media (max-width:860px){
  .js .menu-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;min-width:44px;padding:.5rem .9rem;background:transparent;color:var(--blush);border:1.5px solid var(--line-dark);border-radius:var(--radius);font:inherit;font-weight:500;cursor:pointer}
  .js .menu-toggle:hover{border-color:var(--champagne)}
  .nav{flex-wrap:wrap;gap:.5rem 1rem;padding-block:.5rem}
  .nav-links{flex-wrap:wrap;width:100%;padding-bottom:.5rem}
  .nav-phone-item{display:list-item;list-style:none}
  .js .nav-links{display:none;flex-direction:column;align-items:stretch;padding:.5rem 0 1rem;border-top:1px solid var(--line-dark)}
  .js .nav-links.open{display:flex}
  .js .nav-links a{padding:0 .25rem;font-size:1.1rem;min-height:48px}
  .nav .button{margin:.5rem 0 0}
}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:min(88vh,780px);background:var(--cabernet)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,4vw,3.5rem) clamp(2.5rem,6vw,5rem) max(var(--gutter),calc((100vw - var(--max))/2 + var(--gutter)))}
.hero h1{font-size:clamp(2.4rem,1.6rem + 3.2vw,4.4rem);line-height:1.02;margin-bottom:.35em}
.hero h1 .amp{display:block;font-style:italic;font-weight:400;font-size:.52em;line-height:1.25;color:var(--champagne);margin-top:.2em}
.hero .lede{color:var(--blush)}
.award-note{margin:.5rem 0 0;padding:.15rem 0 .15rem 1rem;border-left:2px solid var(--champagne);font-size:var(--step--1);line-height:1.5}
.award-note strong{display:block;color:var(--champagne);font-weight:600}
.award-note span{display:block;color:var(--mauve)}
.hero-areas{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line-dark);font-size:var(--step--1);color:var(--mauve);max-width:46ch}
.hero-media{position:relative;margin:0;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-media{order:-1;aspect-ratio:4/3;max-height:62vh}
  .hero-media img{object-position:62% 28%}
  .hero-copy{padding:2rem var(--gutter) 3rem}
}

/* Watch and listen (set list) */
.watch{background:var(--cabernet-deep)}
.watch-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem 2rem;margin-bottom:2rem}
.watch-head p{margin:0}
.stage{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.75rem);align-items:start}
.screen{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden}
.screen video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.now-playing{margin-top:1rem}
.now-playing h3{font-style:italic;margin-bottom:.2rem}
.now-playing p{margin:0;color:var(--mauve)}
.setlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.setlist li{border-bottom:1px solid var(--line-dark)}
.setlist a{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:1rem .25rem;text-decoration:none;min-height:48px}
.setlist .t{font-family:var(--display);font-style:italic;font-size:var(--step-1);line-height:1.2}
.setlist .d{grid-column:1;font-size:var(--step--1);color:var(--mauve)}
.setlist .len{grid-row:1/3;grid-column:2;align-self:center;font-variant-numeric:tabular-nums;font-size:var(--step--1);color:var(--mauve)}
.setlist a:hover .t,.setlist a[aria-current="true"] .t{color:var(--champagne)}
.setlist a[aria-current="true"]{box-shadow:inset 3px 0 0 var(--champagne);padding-left:1rem}
.watch-more{margin-top:1.5rem}
@media (max-width:860px){.stage{grid-template-columns:1fr}}

/* Audio recordings: native controls remain usable without JavaScript. */
.audio-section{background:var(--cabernet);scroll-margin-top:90px}
.audio-tracks{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.audio-track{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);align-items:center;gap:1rem 2rem;padding:1.4rem 0;border-bottom:1px solid var(--line-dark);scroll-margin-top:90px}
.audio-track-heading{display:flex;align-items:baseline;gap:1rem;justify-content:space-between;min-width:0}
.audio-track h3{font-size:var(--step-2);font-style:italic;margin:0}
.audio-length{font-size:var(--step--1);font-variant-numeric:tabular-nums;color:var(--mauve);flex-shrink:0}
.audio-track audio{display:block;width:100%;min-width:0;max-width:100%;height:54px;color-scheme:light}
#videos{scroll-margin-top:90px}
@media(max-width:700px){.audio-track{grid-template-columns:minmax(0,1fr);gap:.8rem}.audio-track h3{font-size:var(--step-1)}}

/* Voice */
.voice{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}
.voice figure{margin:0}
.voice img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--radius)}
.voice h2{max-width:16ch}
@media (max-width:820px){.voice{grid-template-columns:1fr}.voice img{aspect-ratio:1/1;max-height:520px}}

/* Owner-supplied Google review excerpts. */
.reviews{background:var(--cabernet-deep);scroll-margin-top:90px}
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3rem;margin-top:2.5rem}
.review{margin:0;padding-top:1.25rem;border-top:1px solid var(--line-dark);display:flex;flex-direction:column;min-width:0}
.review-rating{color:var(--champagne);letter-spacing:.12em;font-size:1rem;margin:0 0 1rem}
.review blockquote{margin:0 0 1.5rem}
.review blockquote p{font-size:var(--step-1);line-height:1.55;margin:0;max-width:42ch}
.review figcaption{margin-top:auto}
.review figcaption strong{display:block;color:var(--blush);font-family:var(--text);font-weight:500;font-size:1rem}
.review figcaption span{display:block;font-size:var(--step--1);margin-top:.2rem;color:var(--mauve)}
@media(max-width:700px){.reviews-grid{grid-template-columns:minmax(0,1fr);gap:2rem}}

/* Occasions (wine-list layout) */
.occasions-head{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1rem clamp(2rem,6vw,5rem);align-items:end;margin-bottom:2.5rem}
.occasions-head p{margin:0}
.occasion-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line-dark)}
.occasion-list li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:.4rem clamp(2rem,6vw,5rem);padding:1.5rem 0;border-bottom:1px solid var(--line-dark)}
.occasion-list h3{margin:0;font-size:var(--step-2)}
.occasion-list p{margin:0;color:var(--mauve)}
.aside-note{margin-top:2rem;color:var(--mauve)}
.aside-note a{color:var(--champagne)}
@media (max-width:760px){.occasions-head,.occasion-list li{grid-template-columns:1fr}}

/* Lineups */
.lineups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem);margin-top:2.5rem}
.lineup{border-top:2px solid var(--velvet);padding-top:1.25rem}
.lineup h3{font-size:var(--step-2);margin-bottom:.4rem}
.lineup p{margin:0 0 .6rem}
.lineup a{color:var(--velvet);font-weight:500}
@media (max-width:820px){.lineups{grid-template-columns:1fr}}

/* Photo pair */
.photo-pair{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(.75rem,2vw,1.25rem)}
.photo-pair figure{margin:0}
.photo-pair img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}
.photo-pair .tall img{object-position:40% 30%}
figcaption{font-size:var(--step--1);color:var(--mauve);margin-top:.6rem}
.on-light figcaption{color:var(--rose-ink)}
@media (max-width:700px){.photo-pair{grid-template-columns:1fr}.photo-pair .tall img{aspect-ratio:1/1}}

/* Feature photo */
.feature-photo{margin:0}
.feature-photo img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:45% 32%;border-radius:var(--radius)}
.feature-photo figcaption a{color:var(--champagne)}
@media (max-width:700px){.feature-photo img{aspect-ratio:4/3}}

/* Past performance venues: original marks, never cropped or recolored. */
.venues{scroll-margin-top:90px}
.venue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.75rem 1.5rem;list-style:none;padding:0;margin:2.25rem 0 0}
.venue{margin:0}
.venue-logo{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line-light);border-radius:var(--radius);height:156px;padding:1.25rem}
.venue-logo img{width:auto;height:auto;max-width:100%;max-height:100px;object-fit:contain}
.venue-logo-jazz img{filter:drop-shadow(0 1px 1px rgba(42,11,19,.65))}
.venue-logo-intermission{padding:.5rem;overflow:hidden}
.venue-logo-intermission img{width:300px;max-height:none;transform:scale(1.25)}
.venue figcaption{margin-top:.65rem;font-size:var(--step--1);font-weight:500;color:var(--garnet);line-height:1.4}
@media (max-width:600px){.venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}.venue-logo{height:132px;padding:1rem}.venue-logo img{max-height:90px}}

/* Areas */
.areas{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:2rem clamp(2rem,6vw,5rem);align-items:start}
.area-list{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.area-list li{padding:.45rem .9rem;border:1px solid var(--line-dark);border-radius:999px;font-size:var(--step--1)}
.on-light .area-list li{border-color:var(--line-light)}
@media (max-width:760px){.areas{grid-template-columns:1fr}}

/* Booking band */
.booking{background:var(--velvet);color:#fff}
.booking .kicker{color:var(--champagne)}
.booking-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2rem clamp(2rem,6vw,5rem);align-items:center}
.booking h2{margin-bottom:.4em}
.booking .button.secondary{color:#fff;border-color:rgba(255,255,255,.45)}
.booking .button.secondary:hover{border-color:var(--champagne);color:var(--champagne)}
.direct{margin:0;padding:0;list-style:none;display:grid;gap:1rem}
.direct a{display:block;font-family:var(--display);font-size:var(--step-2);text-decoration:none;line-height:1.2;overflow-wrap:anywhere}
.direct a:hover{color:var(--champagne)}
.direct a[href^="mailto"]{font-size:clamp(1.15rem,.9rem + 1vw,1.6rem)}
.direct span{display:block;font-size:var(--step--1);color:#f1d9d9;font-family:var(--text)}
@media (max-width:820px){.booking-grid{grid-template-columns:1fr}}

/* Interior page hero */
.page-hero{padding-block:clamp(3.5rem,8vw,6rem) clamp(2.5rem,5vw,4rem)}
.page-hero h1{max-width:18ch}
.page-hero .lede{max-width:52ch;color:var(--mauve)}

/* Prose */
.prose{max-width:68ch}
.prose h2{font-size:var(--step-2);margin-top:2.5rem}
.prose h2:first-child{margin-top:0}
.two-col{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.two-col figure{margin:0;position:sticky;top:100px}
.two-col img{border-radius:var(--radius);width:100%}
@media (max-width:860px){.two-col{grid-template-columns:1fr}.two-col figure{position:static}}

/* Music page */
.performance{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.25rem,3vw,2.5rem);padding-block:2.5rem;border-top:1px solid var(--line-dark);scroll-margin-top:90px}
.performance:last-child{border-bottom:1px solid var(--line-dark)}
.performance .player{background:#000;border-radius:var(--radius);overflow:hidden}
.performance video{width:100%;height:auto;background:#000}
.performance.square .player{max-width:480px}
.performance h2{font-style:italic;font-size:var(--step-3);margin-bottom:.3em}
.facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1.25rem;margin:1rem 0 0}
.facts dt{color:var(--mauve);font-size:var(--step--1);padding-top:.15rem}
.facts dd{margin:0}
@media (max-width:860px){.performance{grid-template-columns:1fr}}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem)}
.gallery figure{margin:0}
.gallery img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius)}
.g-wide{grid-column:1/-1}
.g-wide img{aspect-ratio:16/9;object-position:50% 30%}
.g-a{grid-column:span 7}.g-b{grid-column:span 5}
.g-a img{aspect-ratio:1/1;object-position:50% 25%}
.g-b img{aspect-ratio:7/10;object-position:50% 30%}
.g-c{grid-column:3/span 8}
.g-c img{aspect-ratio:4/3;object-position:50% 30%}
@media (max-width:700px){.g-a,.g-b,.g-c{grid-column:1/-1}.g-b img{aspect-ratio:4/5}.g-wide img{aspect-ratio:4/3;object-position:62% 30%}}

/* Locations */
.region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,2.5rem)}
.region{border-top:2px solid var(--velvet);padding-top:1.25rem}
.region h2{font-size:var(--step-2)}
.region ul{margin:0;padding:0;list-style:none}
.region li{padding:.45rem 0;border-bottom:1px solid var(--line-light)}
@media (max-width:820px){.region-grid{grid-template-columns:1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.contact-direct{margin:0 0 2rem;padding:0;list-style:none;display:grid;gap:1.5rem}
.contact-direct a{font-family:var(--display);font-size:var(--step-2);text-decoration:none;overflow-wrap:anywhere;color:var(--velvet)}
.contact-direct a:hover{text-decoration:underline}
.contact-direct a[href^="mailto"]{font-size:clamp(1.15rem,.95rem + .9vw,1.6rem)}
.contact-direct span{display:block;font-size:var(--step--1);color:var(--rose-ink)}
.checklist{margin:0;padding-left:1.1rem}
.checklist li{margin-bottom:.35rem}
.inquiry{background:#fff;border:1px solid var(--line-light);border-radius:10px;padding:clamp(1.25rem,3vw,2.25rem)}
.inquiry h2{font-size:var(--step-2)}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field.full{grid-column:1/-1}
.field label{font-weight:500;font-size:.98rem}
.field .hint{font-weight:400;color:var(--rose-ink);font-size:.9rem}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--garnet);background:#fff;border:1.5px solid #c9aeb2;border-radius:var(--radius);padding:.7rem .8rem;min-height:48px;width:100%}
.field textarea{min-height:130px;resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--velvet);outline-offset:1px;border-color:var(--velvet)}
.form-note{font-size:var(--step--1);color:var(--rose-ink);margin-top:1rem}
.form-status{margin-top:1rem;padding:.9rem 1rem;border-left:3px solid var(--velvet);background:var(--blush)}
.form-status[hidden]{display:none}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:560px){.field-grid{grid-template-columns:1fr}}

/* Empty state */
.empty{border:1px solid var(--line-dark);border-radius:10px;padding:clamp(1.5rem,4vw,3rem);max-width:760px}

/* Live page */
.live-links{display:grid;gap:1rem;max-width:520px;margin:2rem 0 0;padding:0;list-style:none}
.live-links .button{width:100%;justify-content:flex-start;min-height:60px;font-size:1.1rem}

/* Footer */
.site-footer{background:var(--cabernet-deep);border-top:1px solid var(--line-dark);padding-block:3.5rem;font-size:var(--step--1)}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:2rem}
.footer-grid h2{font-size:var(--step-1);margin-bottom:.6rem}
.footer-grid ul{margin:0;padding:0;list-style:none}
.footer-grid li a{display:inline-flex;min-height:40px;align-items:center;text-decoration:none}
.footer-grid li a:hover{color:var(--champagne);text-decoration:underline}
.footer-title{font-family:var(--text);font-size:var(--step--1);font-weight:500;color:var(--champagne);margin-bottom:.5rem}
.legal{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid var(--line-dark);color:var(--mauve);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem}
@media (max-width:760px){.footer-grid{grid-template-columns:1fr}}

/* Mobile action bar */
.action-bar{position:fixed;inset:auto 0 0 0;z-index:30;display:none;gap:.5rem;padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom));background:rgba(42,11,19,.97);border-top:1px solid var(--line-dark)}
.action-bar a{flex:1}
@media (max-width:860px){.action-bar{display:flex}body{padding-bottom:72px}}
