/* ==========================================================================
   A1 Lists — gig poster texture kit  (Creative, Oct 7 2026)
   SoT: Ventures/A1 Lists/Design/Gig poster visual system.md
   Token + class names are STABLE. Add, don't rename. Legacy --a1-* aliases kept.
   Paths are relative: this file lives in texture-kit/, fonts in ../fonts/web/.
   ========================================================================== */

/* ---- 1. Fonts (all SIL OFL 1.1, self-hosted, Latin subset, display=swap) ---- */
@font-face { font-family: "Archivo"; src: url("../fonts/web/archivo-var.woff2") format("woff2"); font-weight: 400 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: "Anton"; src: url("../fonts/web/anton-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Shrikhand"; src: url("../fonts/web/shrikhand-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Bowlby One"; src: url("../fonts/web/bowlby-one-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Big Shoulders Stencil"; src: url("../fonts/web/big-shoulders-stencil-900.woff2") format("woff2"); font-weight: 900; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url("../fonts/web/space-mono-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url("../fonts/web/space-mono-700.woff2") format("woff2"); font-weight: 700; font-display: swap; }

/* ---- 2. Tokens ---- */
:root {
  /* paper + key ink */
  --a1p-paper: #F4EFE6;
  --a1p-ink: #0A0A0B;
  /* five spot inks (screen-print / riso-style; original values) */
  --a1p-flare: #F0466A;      /* fluoro red-pink */
  --a1p-sun: #FFC82E;        /* warm yellow */
  --a1p-tide: #2D50D6;       /* deep blue — also text-safe on paper (5.68:1) */
  --a1p-pine: #0F7A68;       /* green-teal */
  --a1p-tangerine: #FF6A1F;  /* hot orange */
  /* text-safe companions for small text on paper (all >= 5.5:1) */
  --a1p-flare-text: #B3173E;
  --a1p-tide-text: #2D50D6;
  --a1p-pine-text: #0B5C4F;
  --a1p-tangerine-text: #A83C00;
  /* computed overprints (multiply on paper) — use as flat fills when blend modes aren't available */
  --a1p-op-flare-sun: #E63411;
  --a1p-op-flare-tide: #291551;
  --a1p-op-sun-tide: #2B3B22;
  --a1p-op-sun-pine: #0E5911;
  --a1p-op-sun-tangerine: #F44E05;
  --a1p-op-flare-tangerine: #E61B0C;
  --a1p-op-tide-tangerine: #2B1F17;
  /* role tokens */
  --a1p-text: var(--a1p-ink);
  --a1p-surface: var(--a1p-paper);
  --a1p-rule: var(--a1p-ink);
  --a1p-focus: var(--a1p-tide);
  --a1p-sponsored-bg: var(--a1p-sun);
  --a1p-sponsored-fg: var(--a1p-ink);
  /* type */
  --a1p-font-body: "Archivo", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --a1p-font-mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --a1p-font-num: "Archivo", system-ui, sans-serif; /* + font-variant-numeric: tabular-nums lining-nums; font-stretch: 62% */
  --a1p-font-anton: "Anton", "Archivo", Impact, sans-serif;
  --a1p-font-shrikhand: "Shrikhand", "Archivo", Georgia, serif;
  --a1p-font-bowlby: "Bowlby One", "Archivo", Impact, sans-serif;
  --a1p-font-stencil: "Big Shoulders Stencil", "Archivo", Impact, sans-serif;
  --a1p-font-display: var(--a1p-font-anton);
  /* misregistration default */
  --a1p-sx: .055em;
  --a1p-sy: .045em;
  --a1p-shadow: var(--a1p-flare);
  --a1p-rot: 0deg;

  /* legacy aliases (old brand note) — paper + ink kept, rest re-pointed */
  --a1-ink: var(--a1p-ink);
  --a1-cream: var(--a1p-paper);
  --a1-smoke: #E8E2D8;
}

/* ---- 3. Category ink assignments (a = lead spot ink, b = second ink) ---- */
.a1p-cat--things    { --a1p-a: var(--a1p-sun);       --a1p-b: var(--a1p-tide);  --a1p-font-display: var(--a1p-font-bowlby); }
.a1p-cat--music     { --a1p-a: var(--a1p-flare);     --a1p-b: var(--a1p-tide);  --a1p-font-display: var(--a1p-font-anton); }
.a1p-cat--comedy    { --a1p-a: var(--a1p-sun);       --a1p-b: var(--a1p-flare); --a1p-font-display: var(--a1p-font-shrikhand); }
.a1p-cat--practical { --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-tide);  --a1p-font-display: var(--a1p-font-stencil); }
.a1p-cat--hood      { --a1p-a: var(--a1p-pine);      --a1p-b: var(--a1p-flare); --a1p-font-display: var(--a1p-font-body); }
.a1p-cat--trades    { --a1p-a: var(--a1p-tide);      --a1p-b: var(--a1p-sun);   --a1p-font-display: var(--a1p-font-stencil); }
.a1p-cat--fun       { --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-flare); --a1p-font-display: var(--a1p-font-shrikhand); }

/* ---- 4. Utilities ---- */
.a1p-grain { position: relative; isolation: isolate; }
.a1p-grain::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 2;
  background: url("grain-tile.png") repeat; background-size: 128px 128px;
  mix-blend-mode: multiply; opacity: .45;
}
.a1p-overprint { mix-blend-mode: multiply; }
.a1p-misreg { text-shadow: var(--a1p-sx) var(--a1p-sy) 0 var(--a1p-shadow); }
.a1p-halftone {
  background-image: radial-gradient(circle, var(--a1p-ht-ink, var(--a1p-ink)) 30%, transparent 32%);
  background-size: var(--a1p-ht-size, 10px) var(--a1p-ht-size, 10px);
}
.a1p-halftone-fade { /* dots that fade out: pair with .a1p-halftone */
  -webkit-mask-image: linear-gradient(var(--a1p-ht-dir, 180deg), #000, transparent);
          mask-image: linear-gradient(var(--a1p-ht-dir, 180deg), #000, transparent);
}
.a1p-torn-top {
  -webkit-mask: url("torn-edge-top.svg") top / 100% 22px no-repeat, linear-gradient(#000 0 0) 0 21px / 100% calc(100% - 21px) no-repeat;
          mask: url("torn-edge-top.svg") top / 100% 22px no-repeat, linear-gradient(#000 0 0) 0 21px / 100% calc(100% - 21px) no-repeat;
}
.a1p-torn-bottom {
  -webkit-mask: url("torn-edge-bottom.svg") bottom / 100% 22px no-repeat, linear-gradient(#000 0 0) 0 0 / 100% calc(100% - 21px) no-repeat;
          mask: url("torn-edge-bottom.svg") bottom / 100% 22px no-repeat, linear-gradient(#000 0 0) 0 0 / 100% calc(100% - 21px) no-repeat;
}
.a1p-kicker {
  display: inline-block; margin: 0 0 .6em; padding: .28em .6em .22em;
  font: 700 .8125rem/1.2 var(--a1p-font-mono); letter-spacing: .14em; text-transform: uppercase;
  background: var(--a1p-kicker-bg, var(--a1p-ink)); color: var(--a1p-kicker-fg, var(--a1p-paper));
}
.a1p-star { display: inline-block; width: .7em; height: .7em; background: currentColor;
  clip-path: polygon(50% 0, 64% 36%, 100% 50%, 64% 64%, 50% 100%, 36% 64%, 0 50%, 36% 36%); }

/* ---- 5. Poster header (list page + OG companion) ----
   <header class="a1p-poster a1p-cat--{cat} a1p-list--{slug}" data-layout="left|right|bottom|vertical|marquee">
     <img class="a1p-poster__art" src="headers/{slug}.svg" alt="{alt-text.json}" width="1200" height="630">
     <div class="a1p-poster__title"> <p class="a1p-kicker">…</p> <h1 class="a1p-h1"><span>…</span> <span>…</span></h1> </div>
   </header>
   The H1 is live HTML on a SOLID knockout (stock colour or ink block) — never over halftone. */
.a1p-poster { container-type: inline-size; position: relative; background: var(--a1p-stock, var(--a1p-paper)); color: var(--a1p-h1-ink, var(--a1p-ink)); overflow: hidden; }
.a1p-poster__art { display: block; width: 100%; height: auto; }
.a1p-poster__title { position: relative; z-index: 3; background: var(--a1p-knock, var(--a1p-stock, var(--a1p-paper))); padding: 1.1rem 1.25rem 1.4rem; }
.a1p-h1 {
  margin: 0; font-family: var(--a1p-font-display); font-weight: var(--a1p-h1-weight, 400);
  text-transform: uppercase; line-height: var(--a1p-lh, .92); letter-spacing: var(--a1p-track, 0);
  font-size: var(--a1p-h1-m, 11cqw); color: var(--a1p-h1-ink, var(--a1p-ink));
  text-shadow: var(--a1p-sx) var(--a1p-sy) 0 var(--a1p-shadow);
  font-variant-ligatures: common-ligatures; text-wrap: balance; overflow-wrap: anywhere;
}
.a1p-h1 > span { display: block; }
.a1p-h1 > span.is-tape { display: table; background: var(--a1p-ink); color: var(--a1p-paper); padding: 0 .12em; text-shadow: none; margin: .04em 0; }
.a1p-cat--things .a1p-h1    { --a1p-lh: .98; }
.a1p-cat--music .a1p-h1     { --a1p-lh: .9; --a1p-track: .005em; }
.a1p-cat--comedy .a1p-h1    { --a1p-lh: 1.04; --a1p-sx: .04em; --a1p-sy: .05em; }
.a1p-cat--practical .a1p-h1 { --a1p-lh: .88; --a1p-h1-weight: 900; --a1p-track: .01em; }
.a1p-cat--hood .a1p-h1      { --a1p-lh: .9; --a1p-h1-weight: 900; }
.a1p-cat--trades .a1p-h1    { --a1p-lh: .9; --a1p-h1-weight: 900; --a1p-sx: 0; --a1p-sy: .06em; }
.a1p-cat--fun .a1p-h1       { --a1p-lh: 1.02; }

/* mobile (container < 760px): art on top, cropped to its art zone; H1 on a torn paper panel below */
@container (max-width: 759.98px) {
  .a1p-poster__art { aspect-ratio: var(--a1p-art-ratio, 4 / 3); object-fit: cover; object-position: var(--a1p-art-pos, 50% 50%); }
  .a1p-poster__title { margin-top: -18px; }
  .a1p-poster__title::before { content: ""; position: absolute; left: 0; right: 0; top: -21px; height: 22px; background: inherit;
    -webkit-mask: url("torn-edge-top.svg") 0 0 / 100% 100% no-repeat; mask: url("torn-edge-top.svg") 0 0 / 100% 100% no-repeat; }
}
/* desktop: art fills the 1200x630 poster, the title sits in the art's reserved (plain stock) zone */
@container (min-width: 760px) {
  .a1p-poster__title { position: absolute; padding: 0; background: var(--a1p-knock, var(--a1p-stock, var(--a1p-paper))); }
  .a1p-h1 { font-size: var(--a1p-h1-d, 7cqw); transform: rotate(var(--a1p-rot)); transform-origin: 0 50%; }
  .a1p-kicker { font-size: 1.25cqw; }
  [data-layout="left"] .a1p-poster__title   { left: 4.6cqw; top: 5.4cqw; width: 49.5cqw; padding: .6cqw .8cqw .8cqw 0; }
  [data-layout="right"] .a1p-poster__title  { left: 47.6cqw; top: 5.4cqw; width: 48cqw; padding: .6cqw .8cqw .8cqw .8cqw; }
  [data-layout="bottom"] .a1p-poster__title { left: 4.6cqw; top: 25.6cqw; width: 90.6cqw; padding: .6cqw .8cqw .8cqw 0; }
  [data-layout="vertical"] .a1p-poster__title { left: 2.6cqw; top: 3cqw; bottom: 3cqw; width: 33cqw; display: flex; align-items: flex-end; gap: 1cqw; }
  [data-layout="vertical"] .a1p-h1 { writing-mode: vertical-rl; transform: rotate(180deg); transform-origin: 50% 50%; }
  [data-layout="vertical"] .a1p-kicker { writing-mode: vertical-rl; transform: rotate(180deg); margin: 0; }
  [data-layout="marquee"] .a1p-poster__title { left: 50%; top: 3.4cqw; transform: translateX(-50%); width: 70cqw; text-align: center;
    background: var(--a1p-ink); color: var(--a1p-paper); padding: 1.6cqw 2.4cqw 2cqw;
    box-shadow: 0 0 0 .5cqw var(--a1p-ink), 0 0 0 .9cqw var(--a1p-sun); }
  [data-layout="marquee"] .a1p-h1 { --a1p-h1-ink: var(--a1p-paper); transform-origin: 50% 50%; }
  [data-layout="marquee"] .a1p-h1 > span { display: block; }
}
/* marquee on mobile: still an ink block (the art behind is a full-bleed brick/curtain field) */
[data-layout="marquee"] .a1p-poster__title { background: var(--a1p-ink); }
[data-layout="marquee"] .a1p-h1 { --a1p-h1-ink: var(--a1p-paper); }


/* ---- 5b. Billing line under the H1 (gig-poster "top of the bill") ----
   Real data only: the list's top 3 names in ranked order, rendered from the same rows as the entries.
   <p class="a1p-billing"><span class="a1p-billing__label">Top of the bill</span> <span>Improv Asylum</span><i class="a1p-star" aria-hidden="true"></i><span>…</span></p> */
.a1p-billing { margin: .8rem 0 0; font: 800 1rem/1.25 var(--a1p-font-body); font-stretch: 75%; text-transform: uppercase; letter-spacing: .02em; color: var(--a1p-h1-ink, var(--a1p-ink)); }
.a1p-billing__label { display: block; font: 700 .7rem/1.4 var(--a1p-font-mono); letter-spacing: .14em; margin-bottom: .2em; }
.a1p-billing .a1p-star { width: .55em; height: .55em; margin: 0 .45em .08em; vertical-align: middle; }
[data-layout="marquee"] .a1p-billing { --a1p-h1-ink: var(--a1p-paper); }
@container (min-width: 760px) {
  .a1p-billing { font-size: 1.85cqw; margin-top: 2.2cqw; }
  .a1p-billing__label { font-size: .95cqw; }
  [data-layout="bottom"] .a1p-billing, [data-layout="vertical"] .a1p-billing { display: none; }
}
.a1p-h1 { font-stretch: var(--a1p-h1-stretch, 100%); }


/* ---- 5c. Place-rooted layouts (Oct 7 neighbourhood rework; additive) ----
   The art SVG draws a solid knockout (paper scrap, pier deck, scoreboard, ink band, colour block) exactly
   where these boxes sit, so the live H1 always lands on flat colour. Boxes are in canvas px / 12 = cqw.
   --a1p-knock = the knockout colour (defaults to the stock). */
.a1p-poster[data-layout="split"]  { --a1p-art-ratio: 1 / 1; }
.a1p-poster[data-layout="splitr"] { --a1p-art-ratio: 1 / 1; }
@container (min-width: 760px) {
  [data-layout="collage"] .a1p-poster__title,
  [data-layout="diagonal"] .a1p-poster__title { transform: rotate(var(--a1p-rot)); transform-origin: 50% 50%; }
  [data-layout="collage"] .a1p-h1, [data-layout="diagonal"] .a1p-h1 { transform: none; }
  [data-layout="collage"] .a1p-poster__title  { left: 7.33cqw; top: 7.67cqw; width: 43.33cqw; height: 27.5cqw; padding: 0; }
  [data-layout="diagonal"] .a1p-poster__title { left: 6.67cqw; top: 16.67cqw; width: 58.33cqw; height: 16.67cqw; padding: 0; }
  [data-layout="center"] .a1p-poster__title   { left: 28.33cqw; top: 13.33cqw; width: 43.33cqw; height: 25cqw; text-align: center;
    display: flex; flex-direction: column; align-items: center; justify-content: center; }
  [data-layout="center"] .a1p-h1 { transform-origin: 50% 50%; }
  [data-layout="fullbleed"] .a1p-poster__title { left: 4.17cqw; top: 3cqw; width: 91.67cqw; height: 26.67cqw; }
  [data-layout="split"] .a1p-poster__title    { left: 4cqw; top: 5cqw; width: 37.5cqw; height: 42.5cqw; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  [data-layout="splitr"] .a1p-poster__title   { left: 60cqw; top: 5cqw; width: 36.67cqw; height: 42.5cqw; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
  [data-layout="center"] .a1p-billing { text-align: center; }
}
/* mobile overlay layouts: the art crop keeps its knockout and the H1 sits on it (no torn panel) */
@container (max-width: 759.98px) {
  [data-layout="center"] .a1p-poster__art    { aspect-ratio: 1 / 1; object-position: 50% 50%; }
  [data-layout="center"] .a1p-poster__title  { position: absolute; margin: 0; left: 6%; top: 23%; width: 88%; height: 52%; padding: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
  [data-layout="fullbleed"] .a1p-poster__art   { aspect-ratio: 4 / 3; object-position: 50% 100%; }
  [data-layout="fullbleed"] .a1p-poster__title { position: absolute; margin: 0; left: 4%; top: 3%; width: 92%; height: 49%; padding: 0; }
  [data-layout="center"] .a1p-poster__title::before, [data-layout="fullbleed"] .a1p-poster__title::before { display: none; }
  [data-layout="center"] .a1p-billing, [data-layout="fullbleed"] .a1p-billing { display: none; }
  [data-layout="center"] .a1p-kicker, [data-layout="fullbleed"] .a1p-kicker { font-size: .7rem; }
}
@container (min-width: 760px) { [data-layout="diagonal"] .a1p-billing, [data-layout="fullbleed"] .a1p-billing { display: none; } }

/* ---- 6. Criteria block (MA-147) — a ticket stub pinned right under the H1 ---- */
.a1p-criteria {
  position: relative; margin: 1.25rem 0 1.75rem; padding: 1rem 1.25rem 1rem 1.75rem;
  background: var(--a1p-paper); color: var(--a1p-ink); border: 3px solid var(--a1p-ink);
  box-shadow: 6px 6px 0 var(--a1p-a, var(--a1p-flare));
  font: 400 1.0625rem/1.5 var(--a1p-font-body);
}
.a1p-criteria::before { /* perforated stub edge */
  content: ""; position: absolute; left: .55rem; top: .5rem; bottom: .5rem; width: 6px;
  background: radial-gradient(circle, var(--a1p-ink) 2px, transparent 2.5px) 0 0 / 6px 10px repeat-y;
}
.a1p-criteria p { margin: 0; }
.a1p-criteria p + p { margin-top: .35rem; }
.a1p-criteria strong { font-weight: 800; }

/* ---- 7. Entries ---- */
.a1p-entries { list-style: none; margin: 0; padding: 0; counter-reset: a1p; }
.a1p-entry { position: relative; padding: 1.25rem 0 1.4rem 3.25rem; border-top: 3px solid var(--a1p-ink); }
.a1p-entry__pos { position: absolute; left: 0; top: 1.35rem; width: 2.3rem; height: 2.3rem; border-radius: 50%;
  display: grid; place-items: center; background: var(--a1p-ink); color: var(--a1p-paper); font: 700 .95rem/1 var(--a1p-font-mono); }
.a1p-entry__stat { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: .1em .45em; }
.a1p-entry__num { font: 900 clamp(2.6rem, 9vw, 4rem)/.9 var(--a1p-font-num); font-stretch: 62%;
  font-variant-numeric: tabular-nums lining-nums; color: var(--a1p-ink); text-shadow: .04em .04em 0 var(--a1p-a, var(--a1p-flare)); }
.a1p-entry__label { font: 700 1rem/1.2 var(--a1p-font-body); }
.a1p-entry__name { margin: .35rem 0 .1rem; font: 800 1.45rem/1.15 var(--a1p-font-body); font-stretch: 85%; }
.a1p-entry__place { margin: 0 0 .55rem; font: 400 .95rem/1.4 var(--a1p-font-body); }
.a1p-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .6rem; padding: 0; list-style: none; }
.a1p-chip { font: 400 .8125rem/1 var(--a1p-font-mono); padding: .38em .6em .32em; border: 1.5px solid var(--a1p-ink); border-radius: 2px; background: var(--a1p-paper); color: var(--a1p-ink); }
.a1p-entry__links { margin: 0; font: 400 .9375rem/1.4 var(--a1p-font-body); }
.a1p-entry__links a { color: var(--a1p-tide-text); text-underline-offset: .18em; text-decoration-thickness: 2px; }
.a1p-source { margin: 2rem 0 0; padding-top: .9rem; border-top: 3px solid var(--a1p-ink); font: 400 .875rem/1.4 var(--a1p-font-mono); color: var(--a1p-ink); }

/* ---- 8. Sponsored pill (paid features + ad spots ONLY; never on editorial entries) ---- */
.a1p-sponsored {
  display: inline-flex; align-items: center; gap: .5em; padding: .4em .9em .34em;
  font: 700 .75rem/1 var(--a1p-font-mono); letter-spacing: .12em; text-transform: uppercase;
  background: var(--a1p-sponsored-bg); color: var(--a1p-sponsored-fg); border: 2px solid var(--a1p-ink);
  -webkit-mask: radial-gradient(circle at 0 50%, transparent 5px, #000 5.5px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 5px, #000 5.5px) right / 51% 100% no-repeat;
          mask: radial-gradient(circle at 0 50%, transparent 5px, #000 5.5px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 5px, #000 5.5px) right / 51% 100% no-repeat;
}

/* ---- 9. Focus, links, motion ---- */
.a1p :focus-visible, .a1p-poster :focus-visible, .a1p-card:focus-visible { outline: 3px solid var(--a1p-focus); outline-offset: 3px; }
.a1p-card { transition: transform .12s ease-out; }
.a1p-card:hover { transform: rotate(var(--a1p-tilt, -.6deg)) translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .a1p-card, .a1p-card:hover { transition: none; transform: none; } }

/* ==== BEGIN GENERATED THEMES (tools/build_headers.py — do not hand-edit below) ==== */
.a1p-list--things-to-do-boston { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-sun); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-bowlby); --a1p-h1-weight: 400; --a1p-h1-d: 6.72cqw; --a1p-h1-m: 13.14cqw; --a1p-rot: -1.5deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 100% 50%; }
.a1p-list--things-to-do-cambridge { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-bowlby); --a1p-h1-weight: 400; --a1p-h1-d: 6.11cqw; --a1p-h1-m: 6.69cqw; --a1p-rot: 0deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 50% 0%; }
.a1p-list--things-to-do-somerville { --a1p-stock: var(--a1p-sun); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-bowlby); --a1p-h1-weight: 400; --a1p-h1-d: 4.65cqw; --a1p-h1-m: 9.54cqw; --a1p-rot: -2deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 0% 50%; }
.a1p-list--boston-music-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 10.77cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--cambridge-music-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 900; --a1p-h1-d: 10.0cqw; --a1p-h1-m: 12.28cqw; --a1p-rot: 1.5deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 50% 0%; --a1p-h1-stretch: 62%; }
.a1p-list--somerville-music-venues { --a1p-stock: var(--a1p-flare); --a1p-knock: var(--a1p-flare); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 7.71cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: -3deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 0% 50%; }
.a1p-list--boston-rock-clubs { --a1p-stock: var(--a1p-ink); --a1p-knock: var(--a1p-ink); --a1p-h1-ink: var(--a1p-paper); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 7.73cqw; --a1p-h1-m: 15.09cqw; --a1p-rot: 0deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-jazz-and-listening-rooms { --a1p-stock: var(--a1p-ink); --a1p-knock: var(--a1p-ink); --a1p-h1-ink: var(--a1p-paper); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 500; --a1p-h1-d: 7.08cqw; --a1p-h1-m: 14.51cqw; --a1p-rot: 1.5deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 0% 50%; --a1p-h1-stretch: 70%; }
.a1p-list--boston-free-or-cheap-live-music { --a1p-stock: var(--a1p-sun); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 7.39cqw; --a1p-h1-m: 14.45cqw; --a1p-rot: -2deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-comedy-most-active-rooms { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-sun); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 5.99cqw; --a1p-h1-m: 11.7cqw; --a1p-rot: -2deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-improv-and-sketch-venues { --a1p-stock: var(--a1p-sun); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 6.15cqw; --a1p-h1-m: 12.61cqw; --a1p-rot: 0deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 0% 50%; }
.a1p-list--boston-stand-up-clubs { --a1p-stock: var(--a1p-flare); --a1p-knock: var(--a1p-flare); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-sun); --a1p-a: var(--a1p-sun); --a1p-b: var(--a1p-ink); --a1p-kicker-bg: var(--a1p-sun); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 6.47cqw; --a1p-h1-m: 9.24cqw; --a1p-rot: 0deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 50% 100%; }
.a1p-list--cambridge-somerville-comedy-venues { --a1p-stock: var(--a1p-sun); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 5.55cqw; --a1p-h1-m: 10.85cqw; --a1p-rot: -2deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-midsize-venues-200-800 { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tangerine); --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-tangerine); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 6.43cqw; --a1p-h1-m: 12.57cqw; --a1p-rot: -1deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-intimate-venues-under-200 { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-sun); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 7.6cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 0% 50%; }
.a1p-list--boston-arenas-and-large-halls { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-tangerine); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 6.38cqw; --a1p-h1-m: 12.46cqw; --a1p-rot: -1deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--boston-venues-best-t-access { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tangerine); --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-pine); --a1p-kicker-bg: var(--a1p-tangerine); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 8.02cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 0% 50%; }
.a1p-list--boston-venues-clear-bag-policy { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-pine); --a1p-a: var(--a1p-pine); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-pine); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 7.83cqw; --a1p-h1-m: 15.29cqw; --a1p-rot: 0deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--harvard-square-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tangerine); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-bowlby); --a1p-h1-weight: 400; --a1p-h1-d: 4.47cqw; --a1p-h1-m: 9.35cqw; --a1p-rot: -2.5deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--seaport-boston-venues { --a1p-stock: var(--a1p-tide); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 800; --a1p-h1-d: 6.09cqw; --a1p-h1-m: 13.75cqw; --a1p-rot: -8deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 100% 50%; --a1p-h1-stretch: 62%; }
.a1p-list--fenway-kenmore-venues { --a1p-stock: var(--a1p-ink); --a1p-knock: var(--a1p-ink); --a1p-h1-ink: var(--a1p-sun); --a1p-shadow: var(--a1p-pine); --a1p-a: var(--a1p-sun); --a1p-b: var(--a1p-pine); --a1p-kicker-bg: var(--a1p-sun); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 5.34cqw; --a1p-h1-m: 10.53cqw; --a1p-rot: 0deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 50% 50%; }
.a1p-list--allston-brighton-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tangerine); --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-tangerine); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 900; --a1p-h1-d: 7.22cqw; --a1p-h1-m: 7.29cqw; --a1p-rot: 0deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 50% 100%; }
.a1p-list--allston-brighton-venues .a1p-h1 > span:nth-child(1) { font-stretch: 125%; }
.a1p-list--allston-brighton-venues .a1p-h1 > span:nth-child(2) { font-stretch: 125%; }
.a1p-list--allston-brighton-venues .a1p-h1 > span:nth-child(3) { font-stretch: 124%; }
.a1p-list--davis-square-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 5.63cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 100% 50%; }
.a1p-list--union-square-somerville-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-pine); --a1p-a: var(--a1p-pine); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-pine); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-bowlby); --a1p-h1-weight: 400; --a1p-h1-d: 6.26cqw; --a1p-h1-m: 12.23cqw; --a1p-rot: -1deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 100% 50%; }
.a1p-list--central-square-cambridge-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-ink); --a1p-h1-ink: var(--a1p-paper); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 10.23cqw; --a1p-h1-m: 11.71cqw; --a1p-rot: -1deg; --a1p-sx: -0.05em; --a1p-sy: 0.05em; --a1p-art-pos: 50% 0%; }
.a1p-list--back-bay-boston-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-pine); --a1p-a: var(--a1p-pine); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-pine); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 500; --a1p-h1-d: 10.98cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 100% 50%; --a1p-h1-stretch: 70%; }
.a1p-list--downtown-crossing-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-flare); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 5.44cqw; --a1p-h1-m: 14.08cqw; --a1p-rot: 0deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 0% 50%; }
.a1p-list--medford-malden-venues { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-shrikhand); --a1p-h1-weight: 400; --a1p-h1-d: 7.58cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 0% 50%; }
.a1p-list--vienna-va-hvac-contractors { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-flare); --a1p-a: var(--a1p-flare); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-flare); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-stencil); --a1p-h1-weight: 900; --a1p-h1-d: 8.35cqw; --a1p-h1-m: 15.5cqw; --a1p-rot: 0deg; --a1p-sx: 0.058em; --a1p-sy: 0.05em; --a1p-art-pos: 100% 50%; }
.a1p-list--fairfax-county-ac-contractors { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-paper); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tangerine); --a1p-a: var(--a1p-tangerine); --a1p-b: var(--a1p-tide); --a1p-kicker-bg: var(--a1p-tangerine); --a1p-kicker-fg: var(--a1p-ink); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 900; --a1p-h1-d: 7.22cqw; --a1p-h1-m: 7.3cqw; --a1p-rot: 0deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 50% 100%; }
.a1p-list--fairfax-county-ac-contractors .a1p-h1 > span:nth-child(1) { font-stretch: 103%; }
.a1p-list--fairfax-county-ac-contractors .a1p-h1 > span:nth-child(2) { font-stretch: 125%; }
.a1p-list--fairfax-county-ac-contractors .a1p-h1 > span:nth-child(3) { font-stretch: 111%; }
.a1p-list--arlington-va-plumbers { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-sun); --a1p-h1-ink: var(--a1p-ink); --a1p-shadow: var(--a1p-tide); --a1p-a: var(--a1p-tide); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-tide); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-anton); --a1p-h1-weight: 400; --a1p-h1-d: 6.09cqw; --a1p-h1-m: 9.98cqw; --a1p-rot: -8deg; --a1p-sx: 0.067em; --a1p-sy: -0.042em; --a1p-art-pos: 100% 50%; }
.a1p-list--loudoun-county-heat-pump-hvac { --a1p-stock: var(--a1p-paper); --a1p-knock: var(--a1p-tide); --a1p-h1-ink: var(--a1p-paper); --a1p-shadow: var(--a1p-pine); --a1p-a: var(--a1p-pine); --a1p-b: var(--a1p-sun); --a1p-kicker-bg: var(--a1p-pine); --a1p-kicker-fg: var(--a1p-paper); --a1p-font-display: var(--a1p-font-body); --a1p-h1-weight: 900; --a1p-h1-d: 5.19cqw; --a1p-h1-m: 13.12cqw; --a1p-rot: 0deg; --a1p-sx: 0.05em; --a1p-sy: 0.058em; --a1p-art-pos: 100% 50%; --a1p-h1-stretch: 75%; }
/* ==== END GENERATED THEMES ==== */
