/* Vinyl Meditations — site styles */
/* self-hosted fonts */
@font-face{font-family:'Newsreader';font-weight:400;font-display:swap;src:url(fonts/newsreader-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Newsreader';font-weight:500;font-display:swap;src:url(fonts/newsreader-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Unbounded';font-weight:400;font-display:swap;src:url(fonts/unbounded-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Unbounded';font-weight:500;font-display:swap;src:url(fonts/unbounded-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Unbounded';font-weight:600;font-display:swap;src:url(fonts/unbounded-latin-600-normal.woff2) format('woff2');}
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url(fonts/unbounded-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Varela Round';font-weight:400;font-display:swap;src:url(fonts/varela-round-hebrew-400-normal.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Varela Round';font-weight:400;font-display:swap;src:url(fonts/varela-round-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+2000-206F,U+20AC;}
@font-face{font-family:'Heebo';font-weight:400;font-display:swap;src:url(fonts/heebo-hebrew-400-normal.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-weight:400;font-display:swap;src:url(fonts/heebo-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-weight:500;font-display:swap;src:url(fonts/heebo-hebrew-500-normal.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-weight:500;font-display:swap;src:url(fonts/heebo-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-weight:700;font-display:swap;src:url(fonts/heebo-hebrew-700-normal.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-weight:700;font-display:swap;src:url(fonts/heebo-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Heebo';font-weight:800;font-display:swap;src:url(fonts/heebo-hebrew-800-normal.woff2) format('woff2');unicode-range:U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F;}
@font-face{font-family:'Heebo';font-weight:800;font-display:swap;src:url(fonts/heebo-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Barlow Condensed';font-weight:500;font-display:swap;src:url(fonts/barlow-condensed-latin-500-normal.woff2) format('woff2');}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-condensed-latin-700-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');}
@font-face{font-family:'Inter';font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format('woff2');}

:root {
  --bg: #0f0e0c;
  --bg-2: #181613;
  --line: rgba(239, 232, 220, 0.12);
  --ink: #efe8dc;
  --ink-2: rgba(239, 232, 220, 0.72);
  --ink-3: rgba(239, 232, 220, 0.48);
  --accent: #d8342c;
  --accent-2: #2f9a55;
  --radius: 14px;
  --max: 1120px;
  --display: 'Barlow Condensed', 'Heebo', sans-serif;
  --body: 'Inter', 'Heebo', system-ui, sans-serif;
}
html[lang="he"] { --display: 'Heebo', sans-serif; --body: 'Heebo', system-ui, sans-serif; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
body::before { /* film grain */
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .06;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 24px; }
.muted { color: var(--ink-2); }
.faint { color: var(--ink-3); }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(15, 14, 12, 0.82); backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; height: 64px; gap: 16px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: .14em; font-size: 18px; text-transform: uppercase; direction: ltr; }
.logo .dot { width: 22px; height: 22px; border-radius: 50%; background: radial-gradient(circle, var(--ink) 0 2px, var(--accent) 3px 6px, #1d1b18 7px 100%); box-shadow: 0 0 0 1px var(--line); }
.nav { display: flex; align-items: center; gap: 22px; font-size: 15px; }
.nav a { text-decoration: none; color: var(--ink-2); }
.nav a:hover { color: var(--ink); }
.lang-toggle {
  border: 1px solid var(--line); background: transparent; color: var(--ink);
  border-radius: 999px; padding: 5px 12px; font: 500 13px/1 'Inter', sans-serif; cursor: pointer; letter-spacing: .04em;
}
.lang-toggle:hover { border-color: var(--ink-3); }
@media (max-width: 640px) { .nav a.hide-sm { display: none; } }

/* ---------- buttons & chips ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  background: var(--accent); color: #fff; text-decoration: none; border: 0; cursor: pointer;
  font: 700 18px/1 var(--display); letter-spacing: .04em; text-transform: uppercase;
  padding: 17px 30px; border-radius: 999px; transition: transform .15s, filter .15s;
}
.btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.btn.ghost { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); }
.btn.disabled { background: var(--bg-2); color: var(--ink-3); pointer-events: none; }
.chip { display: inline-block; font-size: 13px; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink-2); }
.chip.accent { border-color: transparent; background: color-mix(in srgb, var(--accent) 22%, transparent); color: var(--ink); }

/* ---------- record visual ---------- */
.record {
  --size: 100%;
  position: relative; width: var(--size); aspect-ratio: 1; border-radius: 50%;
  background:
    radial-gradient(circle, #0b0a09 0 1.6%, transparent 1.7%),
    radial-gradient(circle, var(--accent) 0 17%, transparent 17.2%),
    radial-gradient(circle, var(--accent-2) 0 18.4%, transparent 18.6%),
    repeating-radial-gradient(circle, #151412 0 1.1%, #1d1b18 1.3% 1.6%),
    #151412;
  box-shadow: 0 30px 80px rgba(0,0,0,.6), inset 0 0 0 1px rgba(255,255,255,.04);
}
.record::after { /* sheen */
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 30deg, transparent 0 10%, rgba(255,255,255,.08) 14%, transparent 20% 60%, rgba(255,255,255,.06) 64%, transparent 70%);
}
.record.spin { animation: spin 6s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .record.spin { animation: none; } }

/* ---------- hero (home) ---------- */
.hero { padding: 72px 0 56px; }
.hero .wrap { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.eyebrow { font-family: 'Barlow Condensed', sans-serif; letter-spacing: .22em; text-transform: uppercase; font-size: 14px; color: var(--ink-3); }
html[lang="he"] .eyebrow { font-family: 'Heebo', sans-serif; letter-spacing: .08em; }
.display { font-family: var(--display); font-weight: 700; line-height: .95; letter-spacing: -.005em; text-transform: uppercase; }
html[lang="he"] .display { font-weight: 800; line-height: 1.05; text-transform: none; }
.hero h1 { font-size: clamp(48px, 8vw, 96px); margin: 14px 0 20px; }
.hero p.lead { font-size: 20px; color: var(--ink-2); max-width: 32em; }
.hero .cta-row { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 860px) { .hero .wrap { grid-template-columns: 1fr; } .hero .record { max-width: 360px; margin: 0 auto; } }

/* ---------- sections ---------- */
section.block { padding: 72px 0; border-top: 1px solid var(--line); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.section-head h2 { font-size: clamp(34px, 5vw, 52px); }

/* event cards */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.card {
  position: relative; display: block; text-decoration: none; background: var(--bg-2);
  border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; overflow: hidden;
  transition: border-color .2s, transform .2s;
}
.card:hover { border-color: color-mix(in srgb, var(--accent) 60%, transparent); transform: translateY(-2px); }
.card .record { width: 62%; margin: 6px auto 22px; }
.card .date { font-size: 14px; color: var(--ink-3); }
.card h3 { font-family: var(--display); font-weight: 700; font-size: 28px; line-height: 1.05; margin: 6px 0 2px; text-transform: uppercase; }
html[lang="he"] .card h3 { text-transform: none; }
.card .artist { color: var(--ink-2); font-size: 15px; }
.card .meta { margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.card.past .record { filter: saturate(.75); }

/* next-up feature card */
.feature {
  display: grid; grid-template-columns: 280px 1fr; gap: 36px; align-items: center;
  background: var(--bg-2); border: 1px solid var(--line); border-radius: 20px; padding: 32px; margin-bottom: 20px;
}
.feature h3 { font-family: var(--display); font-size: clamp(36px, 5vw, 56px); font-weight: 700; line-height: .98; text-transform: uppercase; margin: 8px 0; }
html[lang="he"] .feature h3 { text-transform: none; }
.feature .row { display: flex; gap: 10px; flex-wrap: wrap; margin: 16px 0 24px; }
@media (max-width: 760px) { .feature { grid-template-columns: 1fr; } .feature .record { max-width: 220px; margin: 0 auto; } }

/* how it works */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.step { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); }
.step .n { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 44px; color: var(--accent); line-height: 1; }
.step h4 { font-size: 20px; margin: 12px 0 6px; font-weight: 700; }
.step p { color: var(--ink-2); font-size: 16px; }
@media (max-width: 760px) { .steps { grid-template-columns: 1fr; } }

/* ---------- event page ---------- */
.event-hero { padding: 56px 0 40px; position: relative; overflow: hidden; }
.event-hero::before {
  content: ""; position: absolute; inset: -20% -10% auto auto; width: 70vw; height: 70vw; border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--accent) 28%, transparent), transparent 62%);
  pointer-events: none;
}
html[dir="rtl"] .event-hero::before { inset: -20% auto auto -10%; }
.event-hero .wrap { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 56px; align-items: center; }
.event-hero h1 { font-size: clamp(52px, 9vw, 112px); margin: 10px 0 6px; direction: ltr; text-align: start; }
html[dir="rtl"] .event-hero h1 { text-align: right; }
.event-hero .artist { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); direction: ltr; unicode-bidi: isolate; }
.event-hero .tagline { font-size: 21px; color: var(--ink-2); margin: 18px 0 26px; max-width: 30em; }
.facts { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; gap: 10px 36px; margin-bottom: 30px; }
.fact .k { font-size: 13px; color: var(--ink-3); text-transform: uppercase; letter-spacing: .08em; }
.fact .v { font-family: var(--display); font-weight: 700; font-size: 30px; line-height: 1.1; }
.buy-note { margin-top: 12px; font-size: 14px; color: var(--ink-3); }
.seats { color: var(--accent); font-weight: 500; }
@media (max-width: 860px) {
  .event-hero .wrap { grid-template-columns: 1fr; }
  .event-hero .record { max-width: 300px; margin: 0 auto; order: -1; }
  .facts { grid-template-columns: repeat(3, 1fr); gap: 10px 16px; }
  .fact .v { font-size: 24px; }
}

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
@media (max-width: 860px) { .two-col { grid-template-columns: 1fr; gap: 32px; } }
.prose p { color: var(--ink-2); font-size: 18px; margin-bottom: 14px; }
h2.h { font-family: var(--display); font-weight: 700; font-size: clamp(30px, 4vw, 42px); text-transform: uppercase; margin-bottom: 18px; line-height: 1; }
html[lang="he"] h2.h { text-transform: none; }

.timeline { list-style: none; border-inline-start: 2px solid var(--line); padding-inline-start: 22px; }
.timeline li { position: relative; padding: 0 0 22px; }
.timeline li::before { content: ""; position: absolute; inset-inline-start: -29px; top: 7px; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); box-shadow: 0 0 0 2px var(--accent); }
.timeline .t { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; font-size: 22px; line-height: 1; }
.timeline .d { color: var(--ink-2); }

.lecture-card { background: var(--bg-2); border: 1px solid var(--line); border-radius: 20px; padding: 32px; border-inline-start: 4px solid var(--accent); }
.lecture-card h3 { font-family: var(--display); font-size: 32px; line-height: 1.05; margin: 6px 0 12px; }

.faq details { border-bottom: 1px solid var(--line); padding: 18px 0; }
.faq summary { cursor: pointer; font-weight: 500; font-size: 18px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::after { content: "+"; color: var(--ink-3); font-size: 22px; line-height: 1; }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: var(--ink-2); margin-top: 10px; }

.venue-box { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius); }

/* sticky mobile buy bar */
.buybar {
  position: fixed; inset: auto 0 0 0; z-index: 60; display: none;
  background: rgba(15,14,12,.95); backdrop-filter: blur(10px); border-top: 1px solid var(--line);
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
}
.buybar .inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.buybar .btn { padding: 14px 22px; font-size: 16px; }
@media (max-width: 860px) { .buybar.show { display: block; } body.has-buybar { padding-bottom: 84px; } }

/* thanks */
.center-page { min-height: 70vh; display: grid; place-items: center; text-align: center; padding: 60px 0; }
.center-page .record { width: 180px; margin: 0 auto 30px; }
.center-page h1 { font-size: clamp(44px, 7vw, 76px); margin-bottom: 14px; }
.center-page .cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }

/* footer */
.site-footer { border-top: 1px solid var(--line); padding: 40px 0 56px; color: var(--ink-3); font-size: 14px; }
.site-footer .wrap { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.site-footer a { color: var(--ink-2); text-decoration: none; }
.site-footer .links { display: flex; gap: 18px; flex-wrap: wrap; }

.ltr { direction: ltr; unicode-bidi: isolate; }
.hidden { display: none !important; }
html[dir="rtl"] .ltr, html[dir="rtl"] .event-hero .artist { text-align: right; }
html[dir="rtl"] [style*="text-align:center"] .ltr, html[dir="rtl"] .center-page .ltr { text-align: center; }
@media (max-width: 860px) { .event-hero .record { max-width: 190px; } .event-hero { padding-top: 32px; } }

/* ---------- cover graphic: sleeve + record sliding out (matches the event posters) ---------- */
.sleeve-wrap { position: relative; width: 100%; aspect-ratio: 920 / 580; }
.sleeve-wrap .sleeve {
  position: absolute; inset-inline-start: 0; top: 0; width: 63%; aspect-ratio: 1; overflow: hidden; z-index: 1;
  background: linear-gradient(150deg, color-mix(in srgb, var(--accent) 85%, #000), color-mix(in srgb, var(--accent-2) 60%, #000));
  box-shadow: 14px 14px 0 color-mix(in srgb, var(--accent) 30%, transparent);
}
html[dir="rtl"] .sleeve-wrap .sleeve { box-shadow: -14px 14px 0 color-mix(in srgb, var(--accent) 30%, transparent); }
.sleeve-wrap .sleeve img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.sleeve-fallback { position: absolute; inset: 0; padding: 8%; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; text-align: left !important; }
.sleeve-fallback span { font: 500 clamp(11px, 1.6vw, 18px)/1.2 'Barlow Condensed', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.sleeve-fallback strong { font: 700 clamp(18px, 3vw, 40px)/1 'Barlow Condensed', sans-serif; text-transform: uppercase; color: #fff; }
.sleeve-wrap .disc {
  position: absolute; top: 1.7%; inset-inline-start: 37%; width: 61%; aspect-ratio: 1; border-radius: 50%;
  background:
    radial-gradient(circle, #0c0b0b 0 1.6%, transparent 1.7%),
    radial-gradient(circle, var(--accent-2) 0 17%, transparent 17.2%),
    repeating-radial-gradient(circle, #1b1a19 0 3.6%, #34312d 3.7% 4%),
    #1b1a19;
  transition: transform .5s ease;
}
.sleeve-wrap:hover .disc, .card:hover .disc { transform: translateX(4%); }
html[dir="rtl"] .sleeve-wrap:hover .disc, html[dir="rtl"] .card:hover .disc { transform: translateX(-4%); }
.card .sleeve-wrap { margin: 4px 0 22px; }
.card.past .sleeve { filter: saturate(.8); }
.feature .sleeve-wrap { max-width: 280px; }
.center-page .sleeve-wrap.small { width: 260px; margin: 0 auto 34px; }
@media (max-width: 860px) {
  .event-hero .hero-sleeve, .hero .hero-sleeve { max-width: 290px; margin: 0 auto; order: -1; }
}

/* =====================================================================
   Poster system (from the Vol. 33 Low End Theory poster)
   Unbounded for English display, Varela Round for Hebrew,
   near-black ground, cream ink, warm grey secondary, red rules, green labels.
   ===================================================================== */
:root {
  --bg: #0c0b0b; --bg-2: #141312; --ink: #efe7da; --ink-2: #a59c90; --ink-3: rgba(239,231,218,.45);
  --line: rgba(239,231,218,.12);
  --display: 'Unbounded', 'Varela Round', sans-serif;
  --body: 'Inter', 'Varela Round', system-ui, sans-serif;
  --he: 'Varela Round', 'Heebo', sans-serif;
}
html[lang="he"] { --display: 'Varela Round', 'Unbounded', sans-serif; --body: 'Varela Round', 'Heebo', system-ui, sans-serif; }
.display, .card h3, .feature h3, h2.h { text-transform: none; letter-spacing: -.01em; font-weight: 700; }
html[lang="he"] .display, html[lang="he"] h2.h, html[lang="he"] .card h3, html[lang="he"] .feature h3 { font-weight: 400; }
.hero h1 { font-size: clamp(40px, 6vw, 76px); line-height: 1.02; }
.section-head h2 { font-size: clamp(28px, 3.6vw, 40px); }
.card h3 { font-size: 22px; line-height: 1.15; }
.feature h3 { font-size: clamp(28px, 3.6vw, 44px); line-height: 1.05; }
.eyebrow { font-family: 'Unbounded', sans-serif; font-size: 12px; letter-spacing: .2em; font-weight: 500; color: var(--accent-2); text-transform: uppercase; }
html[lang="he"] .eyebrow { font-family: var(--he); letter-spacing: .04em; font-size: 15px; }
.btn { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 15px; letter-spacing: .08em; padding: 18px 30px; background: #d8342b; color: var(--ink); }
html[lang="he"] .btn { font-family: var(--he); font-weight: 400; font-size: 18px; letter-spacing: 0; }
.btn.ghost { background: transparent; color: var(--ink); }
.logo { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 14px; letter-spacing: .06em; }
.chip.accent { background: transparent; border-color: color-mix(in srgb, var(--accent-2) 55%, transparent); color: var(--accent-2); }
.step .n { font-family: 'Unbounded', sans-serif; font-size: 34px; color: var(--accent); }
.timeline .t { font-family: 'Unbounded', sans-serif; font-size: 18px; font-weight: 600; }
.timeline li::before { box-shadow: 0 0 0 2px var(--accent-2); }
.fact .v { font-family: 'Unbounded', sans-serif; }
h2.h { font-size: clamp(22px, 2.6vw, 30px); padding-top: 18px; border-top: 3px solid var(--accent); display: block; width: fit-content; }
[style*="text-align:center"] h2.h { margin-inline: auto; }

/* sleeve: always laid out like the poster, record behind and to the right */
.sleeve-wrap { direction: ltr; }
.sleeve-wrap .sleeve, html[dir="rtl"] .sleeve-wrap .sleeve {
  inset-inline-start: auto; left: 0; box-shadow: 14px 14px 0 color-mix(in srgb, var(--accent) 38%, #0c0b0b);
}
.sleeve-wrap .disc {
  inset-inline-start: auto; left: 35%; top: 2%; width: 63%;
  background:
    radial-gradient(circle, transparent 0 68%, rgba(239,231,218,.10) 68.3% 68.8%, transparent 69%),
    repeating-radial-gradient(circle, #1b1a19 0 6.6%, #34312d 6.7% 7.1%),
    #1b1a19;
  opacity: .9;
}
html[dir="rtl"] .sleeve-wrap:hover .disc, html[dir="rtl"] .card:hover .disc { transform: translateX(4%); }

/* ---------- poster hero (event pages) ---------- */
.poster-hero { padding: 64px 0 72px; }
.ph-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 64px; align-items: center; direction: ltr; }
.ph-text { display: flex; flex-direction: column; }
html[dir="rtl"] .ph-text { direction: rtl; text-align: right; }
.ph-brand { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: clamp(34px, 4.6vw, 58px); line-height: 1; letter-spacing: -.005em; text-transform: uppercase; direction: ltr; }
html[dir="rtl"] .ph-brand { text-align: right; }
.ph-vol { font-family: 'Unbounded', sans-serif; font-weight: 500; font-size: clamp(16px, 1.7vw, 21px); color: var(--ink-2); margin-top: 10px; direction: ltr; }
html[dir="rtl"] .ph-vol { text-align: right; }
.ph-format { margin-top: clamp(36px, 6vw, 72px); font-family: 'Unbounded', sans-serif; font-weight: 500; font-size: clamp(13px, 1.35vw, 17px); letter-spacing: .14em; color: var(--accent-2); text-transform: uppercase; direction: ltr; }
html[dir="rtl"] .ph-format { text-align: right; }
.ph-format-he { font-family: var(--he); font-size: clamp(16px, 1.6vw, 20px); color: var(--ink-2); margin-top: 6px; direction: rtl; }
html[dir="ltr"] .ph-format-he { text-align: left; }
.ph-rule { height: 3px; background: var(--accent); margin: clamp(30px, 5vw, 56px) 0 22px; }
.ph-artist { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: clamp(18px, 1.9vw, 24px); color: color-mix(in srgb, var(--accent) 88%, #fff); direction: ltr; }
.ph-album { font-family: 'Unbounded', sans-serif; font-weight: 400; font-size: clamp(18px, 1.9vw, 24px); margin-top: 4px; direction: ltr; }
html[dir="rtl"] .ph-artist, html[dir="rtl"] .ph-album { text-align: right; }
.ph-date { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: clamp(24px, 2.8vw, 36px); margin-top: 16px; line-height: 1.15; }
html[lang="he"] .ph-date { font-family: var(--he); font-weight: 400; font-size: clamp(26px, 3vw, 38px); }
.ph-venue { font-family: var(--he); font-size: clamp(16px, 1.6vw, 20px); color: var(--ink-2); margin-top: 6px; }
.ph-buy { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 34px; }
.ph-price { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 22px; }
.ph-price small { display: block; font-family: var(--body); font-weight: 400; font-size: 13px; color: var(--ink-3); }
.ph-art { position: relative; }
@media (max-width: 900px) {
  .ph-grid { grid-template-columns: 1fr; gap: 40px; }
  .ph-art { max-width: 460px; width: 100%; margin: 0 auto; }
  .poster-hero { padding: 28px 0 48px; }
  .ph-format { margin-top: 28px; }
  .ph-rule { margin: 26px 0 18px; }
}
.lecture-card { border-inline-start: 0; border-top: 3px solid var(--accent); border-radius: 0 0 16px 16px; }
.lecture-card h3 { font-family: var(--display); font-weight: 600; font-size: clamp(22px, 2.6vw, 30px); }

.ph-art .sleeve-wrap .sleeve { width: 66%; }
.ph-art .sleeve-wrap .disc { left: 33%; width: 64%; top: 1%; }
.sleeve-fallback span { font-family: 'Unbounded', sans-serif; font-size: clamp(9px, 1.1vw, 13px); font-weight: 500; }
.sleeve-fallback strong { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: clamp(14px, 2vw, 26px); line-height: 1.1; text-transform: none; }
.logo { white-space: nowrap; }
@media (max-width: 420px) { .logo { font-size: 12px; } .nav { gap: 14px; } }

/* ---------- home hero ---------- */
.hero .wrap { grid-template-columns: minmax(0,1fr) minmax(0,.78fr); gap: 56px; }
.hero-title { font-family: 'Unbounded', sans-serif !important; font-weight: 600 !important; text-transform: uppercase !important;
  font-size: clamp(36px, 5.2vw, 68px) !important; line-height: .98 !important; letter-spacing: -.01em; direction: ltr; margin: 0 0 26px !important; }
html[dir="rtl"] .hero-title { text-align: right; }
.hero p.lead { font-size: clamp(18px, 1.7vw, 22px); line-height: 1.6; max-width: 30em; }
.hero-art svg { width: 100%; height: auto; display: block; border: 1px solid var(--line); }
@media (max-width: 860px) { .hero-art { max-width: 420px; margin: 0 auto; order: -1; } .hero { padding-top: 28px; } }

/* ---------- cream theme (Aphex Twin poster) ---------- */
body.theme-cream { --bg: #efe9dc; --bg-2: #e6dfd1; --ink: #1d1b18; --ink-2: #5f584f; --ink-3: rgba(29,27,24,.52); --line: rgba(29,27,24,.15); background: var(--bg); color: var(--ink); }
body.theme-cream::before { opacity: .035; }
.theme-cream .site-header { background: rgba(239,233,220,.9); }
.theme-cream .buybar { background: rgba(239,233,220,.96); }
.theme-cream .btn { color: #efe9dc; }
.theme-cream .btn.ghost { color: var(--ink); }
.theme-cream .btn.disabled { background: #e2dbcc; color: var(--ink-3); }
.theme-cream .logo .dot { box-shadow: 0 0 0 1px var(--line); }
.theme-cream .ph-brand { font-weight: 700; }
.theme-cream .ph-line { font-family: var(--he); font-size: clamp(17px, 1.8vw, 22px); color: var(--ink-2); margin-top: 12px; }
.theme-cream .ph-format { color: var(--accent); font-weight: 600; letter-spacing: .2em; }
.theme-cream .ph-rule { background: var(--ink); }
.theme-cream .ph-artist { color: var(--ink); }
.theme-cream h2.h { border-top-color: var(--ink); }
.theme-cream .lecture-card, .theme-cream .venue-box { background: var(--bg-2); }
.theme-cream .sleeve-wrap { aspect-ratio: 1.8; }
.theme-cream .ph-art .sleeve-wrap .sleeve, .theme-cream .sleeve-wrap .sleeve { width: 55.5%; box-shadow: 14px 14px 0 #d5d0c4; }
.theme-cream .ph-art .sleeve-wrap .disc, .theme-cream .sleeve-wrap .disc {
  left: 46%; width: 53.5%; top: 1.2%; opacity: 1;
  background:
    radial-gradient(circle, #efe9dc 0 1.7%, transparent 1.8%),
    radial-gradient(circle, var(--label, #e0653a) 0 34%, transparent 34.3%),
    repeating-radial-gradient(circle, #141210 0 3.3%, #3a3632 3.4% 3.6%),
    #141210;
}
.theme-cream .faq summary::after { color: var(--ink-3); }

.theme-cream .btn:not(.ghost):not(.disabled) { background: var(--accent); }
@media (max-width: 860px) {
  .hero .wrap { grid-template-columns: 1fr; gap: 32px; }
  .hero-title { font-size: 8.6vw !important; }
}
@media (max-width: 860px) { .hero-art { max-width: 300px; } }
.hero-art svg { border: 0 !important; }
.logo-mark { width: 26px; height: 26px; flex: none; }
.theme-cream .logo-mark circle:first-child { fill: #141210; }

/* ---------- archive ---------- */
.year-group { margin-bottom: 44px; }
.year-head { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.year-head span { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 20px; color: var(--ink-2); }
.year-head::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.cards.small { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 16px; }
.cards.small .card { padding: 16px; }
.cards.small .card h3 { font-size: 17px; }
.cards.small .card .artist { font-size: 13px; }
.cards.small .card .meta { margin-top: 10px; }
.card .vol { color: var(--ink-2); font-weight: 500; }
@media (max-width: 520px) { .cards.small { grid-template-columns: 1fr 1fr; gap: 12px; } .cards.small .card { padding: 12px; } .cards.small .chip { font-size: 11px; padding: 3px 8px; } }
.ph-title { font-family: var(--he); font-size: clamp(20px, 2.2vw, 28px); line-height: 1.25; margin-top: 18px; color: var(--ink); }

/* English body text: Newsreader (editorial serif) instead of Inter */
html[lang="en"] { --body: 'Newsreader', 'Varela Round', Georgia, serif; }
html[lang="en"] body { font-size: 19px; }
html[lang="en"] .hero p.lead { font-size: clamp(20px, 1.9vw, 25px); line-height: 1.5; color: var(--ink-2); }
html[lang="en"] .prose p { font-size: 20px; line-height: 1.6; }
html[lang="en"] .nav, html[lang="en"] .chip, html[lang="en"] .card .date, html[lang="en"] .fact .k, html[lang="en"] .site-footer { font-family: 'Inter', sans-serif; }
/* Hebrew hero title */
html[lang="he"] .hero-title { font-family: 'Heebo', sans-serif !important; font-weight: 800 !important; direction: rtl; text-transform: none !important; letter-spacing: 0; font-size: clamp(40px, 6vw, 80px) !important; line-height: 1.05 !important; }
@media (max-width: 860px) { html[lang="he"] .hero-title { font-size: 11vw !important; } }
.door-note { margin-top: 6px; padding: 14px 16px; border: 1px solid var(--line); border-inline-start: 3px solid var(--accent); color: var(--ink); font-size: 16px; }
.lecturer-bio { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.lecturer-bio p { color: var(--ink-2); margin-top: 6px; }
.site-footer .foot-wa { color: var(--ink); border: 1px solid var(--line); border-radius: 999px; padding: 4px 12px; margin-top: -5px; }
.site-footer .foot-wa:hover { border-color: #25d366; }
