/* ===========================================================================
   pages.css — the design system for the content pages imported from the old
   site. Everything is scoped under .rbp so it can never reach the homepage.

   The palette and the type are the site's own: navy #081421, pink #e70f57,
   almoni-tzar for display, Open Sans Hebrew for text. What changes from page
   to page is the composition, not the language — each page picks the
   components that suit what it actually says.

   RTL notes: inset-inline-start is the RIGHT edge here, and the first flex
   child lands on the right.
   =========================================================================== */

.rbp{
  --ink:#0d1526; --ink2:#33405a; --mut:#6b788d; --line:#e6eaf2;
  --paper:#fff; --paper2:#f6f8fc; --nav:#081421; --nav2:#12243c;
  --acc:#e70f57; --acc-soft:rgba(231,15,87,.1);
  --cream:#fbf7ef; --cream-line:#e8dfcd; --gold:#b58b3c;
  --r:22px;
  background:var(--paper); color:var(--ink);
  font-family:'Open Sans Hebrew',system-ui,sans-serif;
  overflow-x:clip;
}
.rbp *{box-sizing:border-box}
.rbp-wrap{max-width:880px;margin:0 auto;padding:0 22px}
.rbp-wide{max-width:1180px;margin:0 auto;padding:0 22px}
.rbp-sec{padding:64px 0}
.rbp-sec--tight{padding:40px 0}
.rbp-sec--paper{background:var(--paper2)}
.rbp-display{font-family:'almoni-tzar',sans-serif;font-weight:600;letter-spacing:-.01em}

/* ── hero ─────────────────────────────────────────────────────────────────
   One dark stage, four moods. --bio drops a portrait plate in, --campaign
   goes taller and centred, --nusach carries the cream rule of a sefer. */
.rbp-hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(120% 150% at 100% 0%,var(--nav2) 0%,var(--nav) 58%),var(--nav);
  padding:72px 0 62px}
.rbp-hero::before{content:'';position:absolute;inset-inline-end:-160px;top:-200px;
  width:560px;height:560px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(231,15,87,.42),rgba(231,15,87,0) 66%)}
.rbp-hero::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.4;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:radial-gradient(120% 100% at 100% 0%,#000 6%,transparent 70%);
  mask-image:radial-gradient(120% 100% at 100% 0%,#000 6%,transparent 70%)}
.rbp-hero > *{position:relative;z-index:1}
.rbp-hero h1{margin:0;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:clamp(34px,5vw,60px);line-height:1.05;letter-spacing:-.018em}
.rbp-hero .sub{margin:16px 0 0;max-width:60ch;font-size:clamp(17px,2vw,21px);
  line-height:1.65;color:#b7c6d8}
.rbp-eyebrow{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 15px;
  border-radius:999px;border:1px solid rgba(231,15,87,.45);background:rgba(231,15,87,.15);
  color:#ff9dbd;font-size:14px;font-weight:600;margin-bottom:18px}
.rbp-crumbs{margin-top:24px;font-size:14px;color:#8ca0b7}
.rbp-crumbs a{color:#8ca0b7;text-decoration:none}
.rbp-crumbs a:hover{color:#fff}
.rbp-crumbs i{font-style:normal;margin:0 8px;opacity:.5}

/* biography hero: text and a portrait plate side by side */
.rbp-hero--bio .rbp-wide{display:grid;grid-template-columns:1fr minmax(0,320px);
  gap:44px;align-items:center}
.rbp-portrait{margin:0;border-radius:26px;overflow:hidden;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);box-shadow:0 40px 70px -40px rgba(0,0,0,.9)}
.rbp-portrait img{width:100%;height:100%;max-height:400px;object-fit:cover;display:block}

.rbp-hero--campaign{text-align:center;padding:88px 0 76px}
.rbp-hero--campaign .sub{margin-inline:auto}
.rbp-hero--campaign .rbp-crumbs{display:flex;justify-content:center}

/* ── prose ───────────────────────────────────────────────────────────────── */
.rbp-prose{font-size:18.5px;line-height:1.95;color:var(--ink2)}
.rbp-prose p{margin:0 0 1.2em}
.rbp-prose p:last-child{margin-bottom:0}
.rbp-prose--drop > p:first-child::first-letter{
  float:right;font-family:'almoni-tzar',sans-serif;font-size:3.1em;line-height:.86;
  margin:.06em 0 0 .12em;color:var(--acc)}
.rbp-lead{font-size:22.5px;line-height:1.72;color:var(--ink);font-weight:600;
  padding-inline-start:20px;border-inline-start:3px solid var(--acc);margin:0 0 1.4em}

.rbp-h{position:relative;margin:0 0 22px;font-family:'almoni-tzar',sans-serif;
  font-weight:600;font-size:clamp(26px,3.2vw,36px);line-height:1.2;color:var(--ink)}
.rbp-h::after{content:'';display:block;width:36px;height:3px;border-radius:2px;margin-top:14px;
  background:linear-gradient(90deg,var(--acc),rgba(231,15,87,0))}
.rbp-h--center{text-align:center}
.rbp-h--center::after{margin-inline:auto}
.rbp-kicker{font-size:14.5px;font-weight:700;letter-spacing:.04em;color:var(--acc);
  margin:0 0 10px}
.rbp-kicker--center{text-align:center}

/* ── highlight banner ────────────────────────────────────────────────────── */
.rbp-banner{position:relative;border-radius:var(--r);padding:26px 30px;
  background:linear-gradient(90deg,var(--acc-soft),rgba(231,15,87,0));
  border-inline-start:4px solid var(--acc);
  font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:clamp(21px,2.6vw,27px);line-height:1.4;color:var(--ink)}

/* ── pull quote ──────────────────────────────────────────────────────────── */
.rbp-quote{position:relative;margin:0;padding:34px 34px 30px;border-radius:var(--r);
  background:var(--paper2);border:1px solid var(--line)}
.rbp-quote::before{content:'”';position:absolute;top:-10px;inset-inline-start:26px;
  font-family:'almoni-tzar',sans-serif;font-size:86px;line-height:1;color:var(--acc);opacity:.28}
.rbp-quote p{margin:0;font-size:clamp(19px,2.3vw,23px);line-height:1.7;color:var(--ink);
  font-weight:600}
.rbp-quote .cite{margin-top:16px;font-size:15px;color:var(--mut)}
.rbp-quote--dark{background:radial-gradient(120% 160% at 100% 0%,var(--nav2),var(--nav));
  border-color:rgba(255,255,255,.09)}
.rbp-quote--dark p{color:#fff}
.rbp-quote--dark .cite{color:#93a6bd}

/* ── source panel: a quoted sefer, set like one ──────────────────────────── */
.rbp-source{border-radius:var(--r);overflow:hidden;border:1px solid var(--cream-line);
  background:var(--cream);box-shadow:0 30px 60px -46px rgba(60,44,16,.6)}
.rbp-source .head{display:flex;align-items:center;gap:10px;padding:16px 26px;
  background:rgba(181,139,60,.1);border-bottom:1px solid var(--cream-line);
  font-family:'almoni-tzar',sans-serif;font-size:19px;color:#7a5c22}
.rbp-source .head::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold)}
.rbp-source .txt{padding:28px 30px;font-size:18.5px;line-height:2.05;color:#3a3021}
.rbp-source .txt p{margin:0 0 1em}
.rbp-source .txt p:last-child{margin:0}

/* ── numbered steps ──────────────────────────────────────────────────────── */
.rbp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:16px;
  list-style:none;margin:0;padding:0;counter-reset:s}
.rbp-steps li{counter-increment:s;position:relative;padding:30px 24px 26px;
  border-radius:20px;background:var(--paper);border:1px solid var(--line);
  font-family:'almoni-tzar',sans-serif;font-size:21px;line-height:1.35;color:var(--ink);
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s}
.rbp-steps li:hover{transform:translateY(-4px);border-color:rgba(231,15,87,.3);
  box-shadow:0 26px 46px -32px rgba(10,18,32,.5)}
.rbp-steps li::before{content:counter(s);position:absolute;top:-14px;inset-inline-start:22px;
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--acc);color:#fff;font-size:19px;
  box-shadow:0 12px 22px -12px rgba(231,15,87,.9)}

/* ── chips ───────────────────────────────────────────────────────────────── */
.rbp-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.rbp-chips li{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 18px;
  border-radius:999px;background:var(--paper);border:1px solid var(--line);
  font-size:16px;color:var(--ink2)}
.rbp-chips li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--acc)}
.rbp-chips--dark li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#dbe4ef}

/* ── fact strip ──────────────────────────────────────────────────────────── */
.rbp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;
  border-radius:var(--r);overflow:hidden;background:var(--line);border:1px solid var(--line)}
.rbp-facts div{background:var(--paper);padding:26px 22px;text-align:center}
.rbp-facts b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:clamp(28px,3.6vw,40px);line-height:1;color:var(--acc)}
.rbp-facts span{display:block;margin-top:8px;font-size:15px;color:var(--mut)}

/* ── generic cards ───────────────────────────────────────────────────────── */
.rbp-cards{display:grid;gap:18px}
.rbp-cards--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.rbp-cards--3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.rbp-card{padding:28px 26px;border-radius:20px;background:var(--paper);
  border:1px solid var(--line);transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s}
.rbp-card:hover{transform:translateY(-3px);box-shadow:0 26px 46px -34px rgba(10,18,32,.5)}
.rbp-card h3{margin:0 0 10px;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:23px;line-height:1.3;color:var(--ink)}
.rbp-card p{margin:0;font-size:16.5px;line-height:1.8;color:var(--ink2)}
.rbp-card .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  background:var(--acc-soft);color:var(--acc);margin-bottom:16px;
  font-family:'almoni-tzar',sans-serif;font-size:21px}

/* ── timeline ────────────────────────────────────────────────────────────── */
.rbp-time{position:relative;margin:0;padding:0;list-style:none;
  padding-inline-start:34px}
.rbp-time::before{content:'';position:absolute;inset-inline-start:7px;top:8px;bottom:8px;
  width:2px;background:linear-gradient(180deg,var(--acc),rgba(231,15,87,.12))}
.rbp-time li{position:relative;margin-bottom:30px}
.rbp-time li:last-child{margin-bottom:0}
.rbp-time li::before{content:'';position:absolute;inset-inline-start:-33px;top:9px;
  width:16px;height:16px;border-radius:50%;background:var(--paper);
  border:3px solid var(--acc)}
.rbp-time h3{margin:0 0 8px;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:22px;color:var(--ink)}
.rbp-time p{margin:0;font-size:17.5px;line-height:1.9;color:var(--ink2)}

/* ── offer / price ───────────────────────────────────────────────────────── */
.rbp-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;
  padding:34px 36px;border-radius:26px;color:#fff;
  background:radial-gradient(120% 170% at 100% 0%,var(--nav2),var(--nav));
  border:1px solid rgba(255,255,255,.1)}
.rbp-offer h3{margin:0 0 10px;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:clamp(24px,3vw,32px);line-height:1.25}
.rbp-offer p{margin:0;font-size:16.5px;line-height:1.8;color:#b7c6d8}
.rbp-price{flex:0 0 auto;text-align:center;padding:22px 30px;border-radius:20px;
  background:rgba(231,15,87,.14);border:1px solid rgba(231,15,87,.4)}
.rbp-price b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:46px;line-height:1;color:#fff}
.rbp-price span{display:block;margin-top:6px;font-size:14.5px;color:#ff9dbd}

/* ── tiers (campaign pages) ──────────────────────────────────────────────── */
.rbp-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;
  align-items:stretch}
.rbp-tier{position:relative;display:flex;flex-direction:column;border-radius:26px;
  padding:32px 30px;background:var(--paper);
  border:1px solid var(--line);transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s}
.rbp-tier:hover{transform:translateY(-4px);box-shadow:0 30px 54px -36px rgba(10,18,32,.55)}
.rbp-tier .name{font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:28px;color:var(--ink)}
.rbp-tier .amount{margin:12px 0 18px;font-family:'almoni-tzar',sans-serif;
  font-size:44px;line-height:1;color:var(--acc)}
.rbp-tier p{margin:0;font-size:16.5px;line-height:1.85;color:var(--ink2)}
.rbp-tier img{width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:16px;
  margin-bottom:18px;display:block}
.rbp-tier--hero{color:#fff;border-color:rgba(255,255,255,.12);
  background:radial-gradient(120% 170% at 100% 0%,var(--nav2),var(--nav))}
.rbp-tier--hero .name,.rbp-tier--hero .amount{color:#fff}
.rbp-tier--hero .amount{color:#ff6b9d}
.rbp-tier--hero p{color:#b7c6d8}
.rbp-tier .tag{position:absolute;top:-13px;inset-inline-end:26px;min-height:28px;padding:0 14px;
  display:inline-flex;align-items:center;border-radius:999px;background:var(--acc);color:#fff;
  font-size:13.5px;font-weight:700;box-shadow:0 12px 22px -12px rgba(231,15,87,.9)}

/* ── story card ──────────────────────────────────────────────────────────── */
.rbp-story{border-radius:var(--r);padding:32px 34px;background:var(--paper);
  border:1px solid var(--line);border-top:3px solid var(--acc)}
.rbp-story h3{margin:0 0 14px;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:25px;color:var(--ink)}
.rbp-story p{margin:0 0 1em;font-size:17.5px;line-height:1.92;color:var(--ink2)}
.rbp-story p:last-child{margin:0}
.rbp-story cite{display:block;margin-top:14px;font-style:normal;font-size:14.5px;color:var(--mut)}

/* ── the Rav's letter ────────────────────────────────────────────────────── */
.rbp-letter{border-radius:var(--r);padding:36px 38px;background:var(--cream);
  border:1px solid var(--cream-line);box-shadow:0 30px 60px -46px rgba(60,44,16,.6)}
.rbp-letter p{margin:0;font-size:19px;line-height:2;color:#3a3021}
.rbp-letter .sig{margin-top:22px;padding-top:18px;border-top:1px dashed var(--cream-line);
  font-family:'almoni-tzar',sans-serif;font-size:23px;color:#7a5c22;text-align:end}

/* ── the nusach (liturgy) ────────────────────────────────────────────────── */
.rbp-nusach{border-radius:26px;background:var(--cream);border:1px solid var(--cream-line);
  padding:38px 40px;box-shadow:0 34px 66px -48px rgba(60,44,16,.6)}
.rbp-nusach .psalm{margin:0;font-size:20px;line-height:2.25;color:#33291a;text-align:center}
.rbp-formulas{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;
  margin-top:26px}
.rbp-formula{position:relative;padding:22px 24px 20px;border-radius:18px;background:rgba(255,255,255,.72);
  border:1px solid var(--cream-line);font-size:17.5px;line-height:1.95;color:#3a3021}
.rbp-formula .times{display:inline-flex;align-items:center;min-height:26px;padding:0 12px;
  border-radius:999px;background:rgba(181,139,60,.16);color:#7a5c22;
  font-size:13px;font-weight:700;margin-top:12px}

/* ── figures & gallery ───────────────────────────────────────────────────── */
.rbp-fig{margin:0}
.rbp-fig img{width:100%;height:auto;max-height:520px;object-fit:contain;display:block;border-radius:var(--r);background:var(--paper2);
  box-shadow:0 30px 56px -40px rgba(10,18,32,.6)}
.rbp-fig figcaption{margin-top:10px;font-size:14.5px;color:var(--mut);text-align:center}
.rbp-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.rbp-gal figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);
  background:var(--paper2);transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s}
.rbp-gal figure:hover{transform:translateY(-4px);box-shadow:0 26px 46px -30px rgba(10,18,32,.55)}
.rbp-gal img{width:100%;height:220px;object-fit:cover;display:block}
.rbp-duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.rbp-duo img{width:100%;height:100%;max-height:340px;object-fit:cover;border-radius:var(--r);display:block}

/* split: text beside an image */
.rbp-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;
  align-items:center}
.rbp-split img{width:100%;height:auto;border-radius:var(--r);display:block;
  box-shadow:0 30px 56px -40px rgba(10,18,32,.6)}

/* ── contact CTA ─────────────────────────────────────────────────────────── */
.rbp-cta{border-radius:28px;padding:40px 42px;color:#fff;
  background:radial-gradient(120% 170% at 100% 0%,var(--nav2),var(--nav));
  border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}
.rbp-cta::before{content:'';position:absolute;inset-inline-end:-120px;top:-140px;
  width:400px;height:400px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(231,15,87,.35),rgba(231,15,87,0) 66%)}
.rbp-cta > *{position:relative}
.rbp-cta h2{margin:0 0 8px;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:clamp(26px,3.4vw,36px);line-height:1.2}
.rbp-cta .sub{margin:0 0 26px;font-size:17px;line-height:1.7;color:#b7c6d8;max-width:58ch}
.rbp-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.rbp-way{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:18px;
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);
  text-decoration:none;color:#fff;transition:background .2s,border-color .2s,transform .2s}
.rbp-way:hover{background:rgba(255,255,255,.1);border-color:rgba(231,15,87,.5);transform:translateY(-2px)}
.rbp-way svg{flex:0 0 auto;width:22px;height:22px;fill:currentColor;color:var(--acc)}
.rbp-way b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:19px;line-height:1.2}
.rbp-way span{display:block;margin-top:3px;font-size:13.5px;color:#93a6bd;direction:ltr;text-align:start}
.rbp-way--he span{direction:rtl;text-align:inherit}

.rbp-btn{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-height:50px;padding:0 28px;
  border-radius:999px;background:var(--acc);color:#fff;text-decoration:none;
  font-family:'almoni-tzar',sans-serif;font-size:20px;
  box-shadow:0 14px 30px -14px rgba(231,15,87,.95);
  transition:filter .18s,transform .18s}
.rbp-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
/* an svg with only a viewBox expands to fill its flex line — on a full-width
   phone button that means an icon the size of the button */
.rbp-btn svg{flex:0 0 auto;width:19px;height:19px;fill:currentColor}
.rbp-btn span{flex:0 0 auto}
.rbp-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.28);box-shadow:none}
.rbp-btn--ghost:hover{background:rgba(255,255,255,.08)}

/* ── notice (used where the source is incomplete) ────────────────────────── */
.rbp-notice{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;border-radius:18px;
  background:#fff8e9;border:1px solid #f0dfb8;color:#6b5320;font-size:16px;line-height:1.8}
.rbp-notice b{display:block;font-family:'almoni-tzar',sans-serif;font-size:19px;margin-bottom:4px;color:#5a4416}

/* ── stacks ──────────────────────────────────────────────────────────────── */
.rbp-stack > * + *{margin-top:26px}
.rbp-stack--lg > * + *{margin-top:42px}

/* ── mobile ──────────────────────────────────────────────────────────────── */
@media(max-width:860px){
  .rbp-hero--bio .rbp-wide{grid-template-columns:1fr;gap:28px}
  .rbp-portrait{max-width:280px}
  .rbp-offer{grid-template-columns:1fr;gap:22px}
  .rbp-price{width:100%}
}
@media(max-width:600px){
  .rbp-wrap,.rbp-wide{padding:0 18px}
  .rbp-sec{padding:40px 0}
  .rbp-sec--tight{padding:28px 0}
  .rbp-hero{padding:40px 0 34px}
  .rbp-hero--campaign{padding:48px 0 40px}
  .rbp-prose{font-size:17.5px;line-height:1.88}
  .rbp-lead{font-size:19.5px}
  .rbp-banner{padding:20px 22px}
  .rbp-quote{padding:28px 24px 24px}
  .rbp-source .txt{padding:22px 20px;font-size:17.5px;line-height:1.95}
  .rbp-nusach{padding:26px 20px}
  .rbp-nusach .psalm{font-size:18px;line-height:2.1}
  .rbp-offer,.rbp-cta{padding:26px 22px}
  .rbp-tier{padding:26px 22px}
  .rbp-letter{padding:26px 22px}
  .rbp-story{padding:26px 22px}
  /* one photo per row made the galleries endless; two reads far better */
  .rbp-gal{grid-template-columns:repeat(2,1fr);gap:10px}
  .rbp-gal img{height:150px}
  /* three facts across two columns always orphaned one */
  .rbp-facts{grid-template-columns:1fr}
  .rbp-facts div{padding:20px 18px}
  .rbp-stack > * + *{margin-top:20px}
  .rbp-stack--lg > * + *{margin-top:30px}
  .rbp-btn{width:100%;justify-content:center}
}

/* ===========================================================================
   .rbl — the bulletin library (/bulletins)
   361 booklets is too many to scroll, so the page is a filterable shelf: the
   covers do the work, and series / year / search narrow it down without a
   round trip. All filtering is on data-* attributes already in the markup.
   =========================================================================== */
.rbl-bar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line)}
.rbl-bar .in{max-width:1180px;margin:0 auto;padding:16px 22px;display:flex;
  align-items:center;gap:14px;flex-wrap:wrap}
.rbl-search{position:relative;flex:1 1 240px;min-width:200px}
.rbl-search input{width:100%;min-height:46px;padding:0 44px 0 16px;border-radius:999px;
  border:1px solid var(--line);background:var(--paper2);color:var(--ink);
  font-family:inherit;font-size:16px;outline:none;transition:border-color .18s,box-shadow .18s}
.rbl-search input:focus{border-color:var(--acc);box-shadow:0 0 0 4px rgba(231,15,87,.12)}
.rbl-search svg{position:absolute;inset-inline-end:15px;top:50%;transform:translateY(-50%);
  width:19px;height:19px;fill:var(--mut);pointer-events:none}
.rbl-filters{display:flex;gap:8px;flex-wrap:wrap}
.rbl-chip{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:40px;
  padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);
  color:var(--ink2);font-family:inherit;font-size:15.5px;cursor:pointer;
  transition:background .18s,border-color .18s,color .18s}
.rbl-chip:hover{border-color:rgba(231,15,87,.4);color:var(--ink)}
.rbl-chip[aria-pressed="true"]{background:var(--acc);border-color:var(--acc);color:#fff}
.rbl-chip b{font-weight:600;opacity:.65;font-size:13.5px}
.rbl-chip[aria-pressed="true"] b{opacity:.85}
.rbl-count{flex:0 0 auto;font-size:14.5px;color:var(--mut)}

.rbl-grid{max-width:1180px;margin:0 auto;padding:34px 22px 80px;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:22px}
.rbl-card{position:relative;display:block;border-radius:18px;overflow:hidden;
  background:var(--paper2);border:1px solid var(--line);text-decoration:none;color:inherit;
  transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s}
.rbl-card:hover{transform:translateY(-6px);border-color:rgba(231,15,87,.35);
  box-shadow:0 30px 52px -30px rgba(10,18,32,.55)}
.rbl-card .shot{position:relative;aspect-ratio:520/735;background:#eef1f7;overflow:hidden}
.rbl-card .shot img{width:100%;height:100%;object-fit:cover;display:block}
.rbl-card .shot::after{content:'';position:absolute;inset:auto 0 0 0;height:52%;
  background:linear-gradient(to top,rgba(6,12,22,.88),rgba(6,12,22,0))}
.rbl-card .meta{position:absolute;inset-inline:12px;bottom:11px;color:#fff;z-index:1}
.rbl-card .pname{font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:21px;
  line-height:1.15;display:block;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.rbl-card .pyear{display:block;margin-top:3px;font-size:13px;color:#cfd9e6}
.rbl-card .tag{position:absolute;top:10px;inset-inline-start:10px;z-index:1;
  min-height:24px;padding:0 10px;display:inline-flex;align-items:center;border-radius:999px;
  background:rgba(8,20,33,.72);backdrop-filter:blur(6px);color:#fff;font-size:11.5px;
  font-weight:600;letter-spacing:.01em}
.rbl-card .noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--mut);
  font-family:'almoni-tzar',sans-serif;font-size:19px;text-align:center;padding:16px}
.rbl-empty{grid-column:1/-1;padding:70px 20px;text-align:center;color:var(--mut);font-size:17px}

@media(max-width:600px){
  .rbl-bar .in{padding:12px 18px;gap:10px}
  .rbl-search{flex:1 1 100%}
  .rbl-filters{gap:6px}
  .rbl-chip{min-height:36px;padding:0 13px;font-size:14.5px}
  .rbl-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:13px;
    padding:22px 18px 56px}
  .rbl-card .pname{font-size:17.5px}
  .rbl-card .pyear{font-size:12px}
}

/* ── .rbh — section hubs ─────────────────────────────────────────────────── */
.rbh-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;
  align-items:stretch}
/* a live child shows what it is: its picture, its name and its opening line */
.rbh-card{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;
  background:var(--paper);border:1px solid var(--line);text-decoration:none;color:var(--ink);
  transition:transform .24s cubic-bezier(.2,.7,.3,1),box-shadow .24s,border-color .24s}
.rbh-card .shot{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--grad-soft)}
.rbh-card .shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.rbh-card:hover .shot img{transform:scale(1.05)}
.rbh-card .shot .mark{position:absolute;inset:0;display:grid;place-items:center;
  font-family:'almoni-tzar',sans-serif;font-size:34px;
  color:color-mix(in oklab, var(--acc) 42%, transparent)}
.rbh-card .in{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:20px 24px 22px;flex:1 1 auto}
.rbh-card .txt{min-width:0}
.rbh-card .d{display:block;margin-top:7px;font-size:15.5px;line-height:1.72;color:var(--ink2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rbh-card .t{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:22px;line-height:1.25}
.rbh-card .go{flex:0 0 auto;width:38px;height:38px;border-radius:50%;display:grid;
  place-items:center;background:var(--grad-soft);color:var(--acc);font-size:19px;
  margin-top:2px;transition:background .24s,color .24s,transform .24s}
a.rbh-card:hover{transform:translateY(-4px);border-color:rgba(231,15,87,.35);
  box-shadow:0 26px 46px -32px rgba(10,18,32,.5)}
a.rbh-card:hover .go{background:var(--acc);color:#fff;transform:translateX(-3px)}
.rbh-card.is-soon{background:transparent;border-style:dashed;color:var(--mut);cursor:default;
  flex-direction:row;align-items:center;justify-content:space-between;gap:16px;
  min-height:72px;padding:18px 22px}
.rbh-card.is-soon .t{color:var(--mut);font-size:20px}
.rbh-card .soon{flex:0 0 auto;min-height:26px;padding:0 12px;display:inline-flex;
  align-items:center;border-radius:999px;background:var(--paper2);border:1px solid var(--line);
  font-size:13px;color:var(--mut)}
/* the not-yet-written children are a plain list, not a gallery */
.rbh-grid--soon{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}

@media(max-width:600px){
  .rbh-grid{grid-template-columns:1fr;gap:14px}
  .rbh-card .in{padding:16px 18px 18px}
  .rbh-card .t{font-size:20px}
  .rbh-card.is-soon{min-height:64px;padding:14px 18px}
}

/* ── label/value table ───────────────────────────────────────────────────── */
.rbp-pairs{border-radius:var(--r);border:1px solid var(--cream-line);background:var(--cream);
  padding:14px 10px;box-shadow:0 30px 60px -46px rgba(60,44,16,.55)}
.rbp-pair{display:flex;align-items:baseline;gap:12px;padding:13px 20px;
  border-bottom:1px dashed rgba(181,139,60,.3)}
.rbp-pair:last-of-type{border-bottom:0}
.rbp-pair .l{flex:0 1 auto;font-size:17.5px;color:#3a3021}
.rbp-pair .d{flex:1 1 auto;min-width:20px;height:1px;
  background:repeating-linear-gradient(90deg,rgba(181,139,60,.45) 0 3px,transparent 3px 7px)}
.rbp-pair .v{flex:0 0 auto;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:20px;color:var(--acc)}
.rbp-pairs-note{margin:14px 20px 6px;font-size:14.5px;color:#7a5c22}
@media(max-width:600px){
  .rbp-pair{padding:11px 14px;gap:8px}
  .rbp-pair .l{font-size:16px}
  .rbp-pair .v{font-size:18px}
}

/* ── .rbc — מסירת שמות לברכה / צור קשר ───────────────────────────────────── */
.rbc-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.rbc-way{display:block;padding:30px 28px;border-radius:24px;background:var(--paper);
  border:1px solid var(--line);text-decoration:none;color:var(--ink);text-align:center;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s}
.rbc-way:hover{transform:translateY(-5px);border-color:rgba(231,15,87,.35);
  box-shadow:0 30px 52px -32px rgba(10,18,32,.5)}
.rbc-way .ic{width:56px;height:56px;margin:0 auto 16px;border-radius:18px;display:grid;
  place-items:center;background:var(--acc-soft)}
.rbc-way .ic svg{width:26px;height:26px;fill:var(--acc)}
.rbc-way .ic.is-wa{background:rgba(37,211,102,.12)}
.rbc-way .ic.is-wa svg{fill:#25d366}
.rbc-way b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:22px;line-height:1.2}
.rbc-way .v{display:block;margin-top:6px;font-size:19px;color:var(--ink2);font-weight:600}
.rbc-way .v.ltr{direction:ltr;font-size:16px}
.rbc-way .note{display:block;margin-top:8px;font-size:14.5px;color:var(--mut)}

.rbc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
.rbc-card{display:flex;flex-direction:column;gap:10px;padding:26px 26px 22px;border-radius:22px;
  background:var(--paper);border:1px solid var(--line);text-decoration:none;color:inherit;
  transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,border-color .25s}
.rbc-card:hover{transform:translateY(-4px);border-color:rgba(231,15,87,.35);
  box-shadow:0 28px 48px -32px rgba(10,18,32,.5)}
.rbc-card .t{font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:24px;color:var(--ink)}
.rbc-card .d{font-size:16px;line-height:1.75;color:var(--ink2);flex:1 1 auto}
.rbc-card .f{display:flex;align-items:center;gap:8px;margin-top:6px;padding-top:14px;
  border-top:1px solid var(--line)}
.rbc-card .f b{font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:24px;color:var(--acc)}
.rbc-card .f em{font-style:normal;font-size:14px;color:var(--mut)}
.rbc-card .f .go{margin-inline-start:auto;width:34px;height:34px;border-radius:50%;display:grid;
  place-items:center;background:var(--acc-soft);color:var(--acc);font-size:17px;
  transition:background .24s,color .24s,transform .24s}
.rbc-card:hover .f .go{background:var(--acc);color:#fff;transform:translateX(-3px)}

.rbc-place{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:26px 28px;
  border-radius:24px;background:var(--paper2);border:1px solid var(--line)}
.rbc-place .ic{flex:0 0 auto;width:50px;height:50px;border-radius:16px;display:grid;
  place-items:center;background:var(--acc-soft)}
.rbc-place .ic svg{width:24px;height:24px;fill:var(--acc)}
.rbc-place b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:22px}
.rbc-place span{display:block;margin-top:3px;font-size:16px;color:var(--mut)}
.rbc-place .rbp-btn{margin-inline-start:auto;border-color:var(--line);color:var(--ink2)}
.rbc-place .rbp-btn:hover{background:var(--paper);color:var(--ink)}

@media(max-width:600px){
  .rbc-ways{gap:12px}
  .rbc-way{padding:24px 20px}
  .rbc-grid{grid-template-columns:1fr;gap:12px}
  .rbc-place{padding:20px}
  .rbc-place .rbp-btn{margin-inline-start:0;width:100%;justify-content:center}
}

/* ── numbered halacha list ───────────────────────────────────────────────── */
.rbp-halacha{list-style:none;margin:0;padding:0;counter-reset:hal}
.rbp-halacha li{counter-increment:hal;position:relative;padding:18px 62px 18px 22px;
  border-radius:16px;background:var(--paper);border:1px solid var(--line);
  margin-bottom:10px;font-size:17.5px;line-height:1.9;color:var(--ink2)}
.rbp-halacha li:last-child{margin-bottom:0}
.rbp-halacha li::before{content:counter(hal);position:absolute;inset-inline-start:20px;top:17px;
  width:28px;height:28px;border-radius:9px;display:grid;place-items:center;
  background:var(--acc-soft);color:var(--acc);font-family:'almoni-tzar',sans-serif;
  font-size:16px;font-weight:600}
.rbp-byline{margin:26px 0 0;font-size:15px;color:var(--mut);text-align:center}
@media(max-width:600px){
  .rbp-halacha li{padding:15px 52px 15px 16px;font-size:16.5px;line-height:1.82}
  .rbp-halacha li::before{inset-inline-start:14px;top:14px}
}

/* ===========================================================================
   COLOUR LAYER — richer palette, lit surfaces, motion
   ---------------------------------------------------------------------------
   Everything above sets structure; this block sets the mood. It only touches
   colour, light and motion, so the layout that was measured across 320–1440px
   is untouched.

   Every section family carries a second hue (--a2) alongside the brand pink,
   set on <main class="rbp"> per page. Pink is always in the mix, so the site
   still reads as one thing while each family gets its own character.
   =========================================================================== */
.rbp{
  --a2:#8b5cf6;                                   /* fallback: violet */
  --a2-soft:color-mix(in oklab, var(--a2) 12%, transparent);
  --grad:linear-gradient(120deg, var(--acc), var(--a2));
  --grad-soft:linear-gradient(120deg,
      color-mix(in oklab, var(--acc) 10%, transparent),
      color-mix(in oklab, var(--a2)  12%, transparent));
  --glow:color-mix(in oklab, var(--acc) 40%, transparent);
}
/* browsers without color-mix still get a usable, if flatter, tint */
@supports not (color: color-mix(in oklab, red 10%, transparent)) {
  .rbp{ --a2-soft:rgba(139,92,246,.12); --grad-soft:linear-gradient(120deg,rgba(231,15,87,.1),rgba(139,92,246,.12)); }
}

/* ── hero: three lights instead of one ───────────────────────────────────── */
.rbp-hero{
  background:
    radial-gradient(70% 90% at 88% 4%,  color-mix(in oklab, var(--acc) 46%, transparent) 0%, transparent 62%),
    radial-gradient(60% 80% at 12% 92%, color-mix(in oklab, var(--a2)  46%, transparent) 0%, transparent 60%),
    radial-gradient(120% 150% at 100% 0%, var(--nav2) 0%, var(--nav) 58%), var(--nav);
}
.rbp-hero::before{
  width:640px;height:640px;filter:blur(6px);
  background:radial-gradient(circle, color-mix(in oklab, var(--acc) 55%, transparent), transparent 68%);
  animation:rbp-drift 22s ease-in-out infinite alternate;
}
/* a second light, drifting the other way, so the hero is never static */
.rbp-hero .rbp-wrap::after,
.rbp-hero .rbp-wide::after{
  content:'';position:absolute;inset-inline-start:-180px;bottom:-260px;
  width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(circle, color-mix(in oklab, var(--a2) 42%, transparent), transparent 66%);
  animation:rbp-drift 26s ease-in-out infinite alternate-reverse;
}
.rbp-hero .rbp-wrap,.rbp-hero .rbp-wide{position:relative}
@keyframes rbp-drift{ from{transform:translate3d(0,0,0) scale(1)}
                        to{transform:translate3d(-40px,26px,0) scale(1.12)} }

.rbp-eyebrow{
  border-color:color-mix(in oklab, var(--acc) 45%, transparent);
  background:linear-gradient(120deg,
    color-mix(in oklab, var(--acc) 24%, transparent),
    color-mix(in oklab, var(--a2)  24%, transparent));
  color:#ffd9e5;box-shadow:0 8px 22px -12px var(--glow);
}
.rbp-hero h1{
  background:linear-gradient(180deg,#fff 62%, color-mix(in oklab,#fff 62%, var(--a2)) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ── surfaces: tinted, not grey ──────────────────────────────────────────── */
.rbp-sec--paper{
  background:
    radial-gradient(90% 60% at 100% 0%, var(--a2-soft), transparent 60%),
    radial-gradient(80% 60% at 0% 100%, color-mix(in oklab, var(--acc) 7%, transparent), transparent 58%),
    #fbfcff;
}
/* a hairline of colour between sections so the page has rhythm */
.rbp-sec + .rbp-sec{position:relative}
.rbp-sec + .rbp-sec::before{
  content:'';position:absolute;top:0;inset-inline:0;height:1px;
  background:linear-gradient(90deg,transparent, color-mix(in oklab, var(--acc) 26%, transparent), transparent);
}

/* ── headings ────────────────────────────────────────────────────────────── */
.rbp-h::after{background:var(--grad);width:52px;height:4px}
.rbp-kicker{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
}

/* ── lead & banner ───────────────────────────────────────────────────────── */
.rbp-lead{border-inline-start-width:4px;border-image:var(--grad) 1}
.rbp-banner{
  background:var(--grad-soft);
  border-inline-start:4px solid transparent;border-image:var(--grad) 1;
  box-shadow:0 20px 44px -34px var(--glow);
}

/* ── cards: a lit edge on hover ──────────────────────────────────────────── */
.rbp-card,.rbh-card,.rbc-card,.rbl-card,.rbp-tier,.rbp-steps li{position:relative}
.rbp-card::before,.rbh-card::before,.rbc-card::before,.rbp-tier::before{
  content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--grad);opacity:0;transition:opacity .25s;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.rbp-card:hover::before,a.rbh-card:hover::before,.rbc-card:hover::before,.rbp-tier:hover::before{opacity:1}
.rbp-card:hover,a.rbh-card:hover,.rbc-card:hover,.rbp-tier:hover{
  box-shadow:0 30px 54px -30px color-mix(in oklab, var(--a2) 42%, rgba(10,18,32,.5));
}
.rbp-card .ic{background:var(--grad);color:#fff;box-shadow:0 12px 24px -14px var(--glow)}

/* ── chips, steps, facts ─────────────────────────────────────────────────── */
.rbp-chips li{background:var(--grad-soft);border-color:transparent;color:var(--ink)}
.rbp-chips li::before{background:var(--grad)}
.rbp-steps li::before{background:var(--grad);box-shadow:0 12px 24px -12px var(--glow)}
.rbp-steps li:hover{border-color:color-mix(in oklab, var(--a2) 35%, transparent)}
.rbp-facts{background:linear-gradient(120deg,
  color-mix(in oklab, var(--acc) 18%, transparent),
  color-mix(in oklab, var(--a2) 18%, transparent));border-color:transparent}
.rbp-facts b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rbp-list li::before{background:var(--grad);opacity:1}

/* ── quotes ──────────────────────────────────────────────────────────────── */
.rbp-quote{background:var(--grad-soft);border-color:transparent}
.rbp-quote::before{
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.55}
.rbp-quote--dark{
  background:
    radial-gradient(80% 120% at 100% 0%, color-mix(in oklab, var(--acc) 30%, transparent), transparent 60%),
    radial-gradient(70% 100% at 0% 100%, color-mix(in oklab, var(--a2) 32%, transparent), transparent 58%),
    radial-gradient(120% 160% at 100% 0%, var(--nav2), var(--nav));
}

/* ── dark blocks: offer, cta, tier ───────────────────────────────────────── */
.rbp-offer,.rbp-cta,.rbp-tier--hero{
  background:
    radial-gradient(75% 110% at 100% 0%, color-mix(in oklab, var(--acc) 32%, transparent), transparent 60%),
    radial-gradient(65% 95% at 0% 100%, color-mix(in oklab, var(--a2) 34%, transparent), transparent 58%),
    radial-gradient(120% 170% at 100% 0%, var(--nav2), var(--nav));
}
.rbp-price{background:linear-gradient(120deg,
    color-mix(in oklab, var(--acc) 26%, transparent),
    color-mix(in oklab, var(--a2) 26%, transparent));
  border-color:color-mix(in oklab, var(--acc) 45%, transparent)}
.rbp-btn{background:var(--grad);box-shadow:0 16px 32px -14px var(--glow)}
.rbp-way:hover{border-color:color-mix(in oklab, var(--acc) 50%, transparent);
  background:linear-gradient(120deg,
    color-mix(in oklab, var(--acc) 14%, transparent),
    color-mix(in oklab, var(--a2) 14%, transparent))}
.rbp-way svg{color:#ff9dbd}

/* ── halacha & pairs pick up the hue too ─────────────────────────────────── */
.rbp-halacha li::before{background:var(--grad);color:#fff}
.rbp-halacha li:hover{border-color:color-mix(in oklab, var(--a2) 30%, transparent)}
.rbp-pair .v{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ── library & hubs ──────────────────────────────────────────────────────── */
.rbl-chip[aria-pressed="true"]{background:var(--grad);border-color:transparent;
  box-shadow:0 12px 24px -14px var(--glow)}
.rbl-card:hover{box-shadow:0 32px 54px -28px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.55))}
.rbl-card .tag{background:linear-gradient(120deg,
  color-mix(in oklab, var(--acc) 88%, #081421),
  color-mix(in oklab, var(--a2) 88%, #081421))}
.rbh-card .go,.rbc-card .f .go{background:var(--grad-soft)}
a.rbh-card:hover .go,.rbc-card:hover .f .go{background:var(--grad);color:#fff}
.rbc-way .ic{background:var(--grad-soft)}
.rbc-way:hover .ic{background:var(--grad)}
.rbc-way:hover .ic svg{fill:#fff}
.rbc-way:hover .ic.is-wa{background:linear-gradient(120deg,#25d366,#128c7e)}

/* ── figures get a coloured lift ─────────────────────────────────────────── */
.rbp-fig img,.rbp-split img{
  box-shadow:0 34px 60px -38px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.6))}
.rbp-gal figure:hover{box-shadow:0 28px 48px -28px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.55))}

/* ── on entrance animation ────────────────────────────────────────────────
   Deliberately not done. Two approaches were tried and both could leave a
   section unreadable: an IntersectionObserver reveal hides the section first
   and depends on JS to show it, and a view() timeline resolves to the start of
   its range when the viewport is as tall as the document — so a short page on
   a tall screen renders permanently faded. On a site whose whole purpose is
   the text, no entrance effect is worth a paragraph that might not appear.
   The motion on this page is the drifting light behind the hero, which sits
   under the content and cannot hide it. */

@media (prefers-reduced-motion: reduce){
  .rbp-hero::before,
  .rbp-hero .rbp-wrap::after,
  .rbp-hero .rbp-wide::after{animation:none}
}

/* ===========================================================================
   .rbv — the single-booklet viewer (/bulletin/:id)
   The PDF is embedded on desktop, where browsers have a real viewer. On a
   phone an embedded PDF is at best a single non-scrolling page, so the cover
   is shown at size instead with the actions right under it — which is what a
   phone user wants anyway.
   =========================================================================== */
.rbv-bar{position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.9);border-bottom:1px solid var(--line);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}
.rbv-bar .in{max-width:1180px;margin:0 auto;padding:12px 22px;display:flex;
  align-items:center;gap:12px;flex-wrap:wrap}
.rbv-bar .who{min-width:0;flex:1 1 200px}
.rbv-bar .who b{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;
  font-size:20px;line-height:1.2;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbv-bar .who span{display:block;font-size:13.5px;color:var(--mut);margin-top:2px}
.rbv-acts{display:flex;gap:10px;flex-wrap:wrap}
.rbv-acts .rbp-btn{min-height:46px;padding:0 22px;font-size:18px}
.rbv-ghost{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;min-height:46px;padding:0 20px;
  border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink2);
  text-decoration:none;font-family:'almoni-tzar',sans-serif;font-size:18px;
  transition:border-color .2s,color .2s,background .2s}
.rbv-ghost:hover{border-color:color-mix(in oklab, var(--acc) 45%, transparent);
  color:var(--ink);background:var(--grad-soft)}
.rbv-ghost svg{flex:0 0 auto;width:18px;height:18px;fill:currentColor}

/* the reading surface */
.rbv-stage{max-width:1180px;margin:0 auto;padding:26px 22px 10px}
.rbv-frame{position:relative;border-radius:24px;overflow:hidden;
  border:1px solid var(--line);background:#0b1220;
  box-shadow:0 46px 90px -50px color-mix(in oklab, var(--a2) 50%, rgba(10,18,32,.75))}
.rbv-frame::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  border-radius:inherit;padding:1px;background:var(--grad);opacity:.5;
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite:exclude}
.rbv-frame object{display:block;width:100%;height:min(82vh,1100px);border:0}
/* the cover, blurred, sits behind the viewer so the frame is never a black
   rectangle while a 5MB booklet is still streaming in */
.rbv-frame::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:var(--shot);background-size:cover;background-position:top center;
  filter:blur(26px) saturate(.7);opacity:.28}
.rbv-frame > *{position:relative;z-index:1}

/* the object's own fallback, and the phone layout */
.rbv-cover{padding:26px}
.rbv-cover--m{display:none}
.rbv-cover img{display:block;width:100%;max-width:420px;margin:0 auto;border-radius:16px;
  box-shadow:0 30px 56px -34px rgba(0,0,0,.8)}
.rbv-cover p{margin:18px auto 0;max-width:34ch;text-align:center;color:#b7c6d8;font-size:15.5px}
.rbv-cover .rbp-btn{margin:18px auto 0;display:flex;max-width:420px;justify-content:center}

.rbv-meta{max-width:1180px;margin:0 auto;padding:6px 22px 0;display:flex;gap:10px;
  flex-wrap:wrap;font-size:14.5px;color:var(--mut)}
.rbv-meta span{display:inline-flex;align-items:center;gap:7px}
.rbv-meta span::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--acc)}

@media(max-width:820px){
  .rbv-frame object{display:none}
  .rbv-frame::after{display:none}
  .rbv-cover--m{display:block}
  .rbv-stage{padding:18px}
  .rbv-bar .in{padding:10px 18px;gap:10px}
  .rbv-bar .who{flex:1 1 100%}
  .rbv-acts{width:100%}
  .rbv-acts .rbp-btn,.rbv-ghost{flex:1 1 auto;justify-content:center}
}

/* ===========================================================================
   .rba — the article library (/content)
   Same shelf idea as the booklets, but an article leads with words rather than
   a cover, so the card carries a picture, its category, the opening lines and
   a date.
   =========================================================================== */
.rba-grid{max-width:1180px;margin:0 auto;padding:34px 22px 80px;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;
  /* stretch, so the cards in a row share a baseline and the dates line up */
  align-items:stretch}
.rba-card{position:relative;display:flex;flex-direction:column;border-radius:22px;
  overflow:hidden;background:var(--paper);border:1px solid var(--line);
  text-decoration:none;color:inherit;
  transition:transform .26s cubic-bezier(.2,.7,.3,1),box-shadow .26s,border-color .26s}
.rba-card:hover{transform:translateY(-5px);border-color:color-mix(in oklab, var(--acc) 34%, transparent);
  box-shadow:0 30px 54px -30px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.55))}
.rba-card .shot{position:relative;aspect-ratio:16/10;background:var(--grad-soft);overflow:hidden}
.rba-card .shot img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.rba-card:hover .shot img{transform:scale(1.05)}
.rba-card .shot .mark{position:absolute;inset:0;display:grid;place-items:center;
  font-family:'almoni-tzar',sans-serif;font-size:44px;color:color-mix(in oklab, var(--acc) 40%, transparent)}
.rba-card .tag{position:absolute;top:12px;inset-inline-start:12px;z-index:1;min-height:26px;
  padding:0 12px;display:inline-flex;align-items:center;border-radius:999px;color:#fff;
  font-size:12.5px;font-weight:600;background:linear-gradient(120deg,
    color-mix(in oklab, var(--acc) 90%, #081421), color-mix(in oklab, var(--a2) 90%, #081421));
  box-shadow:0 10px 20px -12px rgba(0,0,0,.7)}
.rba-card .body{display:flex;flex-direction:column;gap:9px;padding:20px 22px 22px;flex:1 1 auto}
.rba-card h3{margin:0;font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:23px;
  line-height:1.28;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rba-card p{margin:0;font-size:15.5px;line-height:1.75;color:var(--ink2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rba-card .when{margin-top:auto;padding-top:12px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--mut)}
.rba-card .when::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--acc)}
.rba-card .when .go{margin-inline-start:auto;color:var(--acc);font-size:17px;
  transition:transform .24s}
.rba-card:hover .when .go{transform:translateX(-4px)}

@media(max-width:600px){
  .rba-grid{grid-template-columns:1fr;gap:14px;padding:22px 18px 56px}
  .rba-card h3{font-size:21px}
}

/* ===========================================================================
   .rbart — a single article (/articles/:slug)
   The body is WordPress HTML we do not control, so the rules here target plain
   tags rather than classes.
   =========================================================================== */
.rbart-prog{position:fixed;inset:0 0 auto 0;height:3px;z-index:9999;pointer-events:none;
  background:transparent}
.rbart-prog span{display:block;height:100%;width:0;background:var(--grad);
  box-shadow:0 0 14px var(--glow)}

/* the featured image, lifted so it straddles the hero */
.rbart-lead{max-width:1180px;margin:-64px auto 0;padding:0 22px;position:relative;z-index:2}
.rbart-lead img{display:block;width:100%;max-height:460px;object-fit:cover;border-radius:26px;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 48px 90px -46px color-mix(in oklab, var(--a2) 55%, rgba(6,12,22,.9))}

.rbart-shell{max-width:1180px;margin:0 auto;padding:46px 22px 20px;
  display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:46px;align-items:start}
/* an 876px column at 19px is far too long a line to read comfortably; cap the
   measure and let the difference fall as a gutter beside the rail.
   In rem, not ch — the ch unit measures the "0" glyph, which in this Hebrew
   stack is narrow enough that 72ch came out at 360px. */
.rbart-col{min-width:0;max-width:44rem}

/* rail */
.rbart-rail{position:sticky;top:24px;display:flex;flex-direction:column;gap:16px}
.rbart-toc{border-radius:20px;border:1px solid var(--line);background:var(--paper);padding:20px 22px}
.rbart-toc .t{font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:18px;
  color:var(--ink);margin-bottom:12px}
.rbart-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.rbart-toc li{counter-increment:toc;margin-bottom:9px}
.rbart-toc a{display:flex;gap:9px;font-size:15px;line-height:1.6;color:var(--mut);
  text-decoration:none;transition:color .2s}
.rbart-toc a::before{content:counter(toc);flex:0 0 auto;width:20px;height:20px;margin-top:2px;
  border-radius:7px;display:grid;place-items:center;background:var(--grad-soft);
  color:var(--acc);font-size:11.5px;font-weight:700}
.rbart-toc a:hover{color:var(--ink)}
.rbart-share{display:flex;gap:10px}
.rbart-share a{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;
  border:1px solid var(--line);background:var(--paper);color:var(--ink2);
  transition:background .2s,color .2s,border-color .2s,transform .2s}
.rbart-share a:hover{background:var(--grad);color:#fff;border-color:transparent;
  transform:translateY(-2px)}
.rbart-share svg{width:19px;height:19px;fill:currentColor}

/* the article body */
.rbart-body{font-size:19px;line-height:2;color:var(--ink2)}
.rbart-body > *:first-child{margin-top:0}
.rbart-body p{margin:0 0 1.25em}
.rbart-body h2,.rbart-body h3,.rbart-body h4{font-family:'almoni-tzar',sans-serif;
  font-weight:600;color:var(--ink);line-height:1.25;margin:1.9em 0 .6em;scroll-margin-top:90px}
.rbart-body h2{font-size:clamp(25px,3vw,33px)}
.rbart-body h3{font-size:clamp(21px,2.4vw,26px)}
.rbart-body h4{font-size:20px}
.rbart-body h2::after{content:'';display:block;width:42px;height:4px;border-radius:2px;
  margin-top:13px;background:var(--grad)}
.rbart-body a{color:var(--acc);text-decoration:none;
  background-image:linear-gradient(var(--acc),var(--acc));background-size:100% 1px;
  background-repeat:no-repeat;background-position:0 100%;padding-bottom:1px}
.rbart-body a:hover{background-size:100% 2px}
.rbart-body strong,.rbart-body b{color:var(--ink);font-weight:700}
.rbart-body ul,.rbart-body ol{margin:0 0 1.35em;padding:0;list-style:none}
.rbart-body li{position:relative;padding-inline-start:26px;margin-bottom:.7em}
.rbart-body ul > li::before{content:'';position:absolute;inset-inline-start:2px;top:.78em;
  width:8px;height:8px;border-radius:50%;background:var(--grad)}
.rbart-body ol{counter-reset:art}
.rbart-body ol > li{counter-increment:art}
.rbart-body ol > li::before{content:counter(art);position:absolute;inset-inline-start:0;top:.3em;
  width:22px;height:22px;border-radius:8px;display:grid;place-items:center;
  background:var(--grad);color:#fff;font-family:'almoni-tzar',sans-serif;font-size:13px}
.rbart-body blockquote{margin:1.7em 0;padding:22px 26px;border-radius:18px;
  background:var(--grad-soft);border-inline-start:4px solid transparent;border-image:var(--grad) 1;
  font-size:1.05em;color:var(--ink)}
.rbart-body blockquote p:last-child{margin:0}
.rbart-body img{max-width:100%;height:auto;border-radius:18px;display:block;margin:1.6em 0;
  box-shadow:0 30px 56px -38px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.6))}
.rbart-body figure{margin:1.6em 0}
.rbart-body figcaption{margin-top:9px;font-size:14.5px;color:var(--mut);text-align:center}
.rbart-body hr{border:0;height:1px;margin:2.2em 0;
  background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--acc) 34%,transparent),transparent)}
.rbart-body table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:17px}
.rbart-body th,.rbart-body td{padding:11px 14px;border:1px solid var(--line);text-align:start}
.rbart-body th{background:var(--grad-soft);font-weight:700;color:var(--ink)}

.rbart-end{margin:36px 0 0;text-align:center;font-size:22px;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rbart-tags{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;color:var(--mut)}
.rbart-tags a{display:inline-flex;align-items:center;min-height:34px;padding:0 15px;
  border-radius:999px;background:var(--grad-soft);color:var(--ink);text-decoration:none;
  font-size:14.5px;transition:filter .2s}
.rbart-tags a:hover{filter:brightness(.97)}

@media(max-width:960px){
  .rbart-shell{grid-template-columns:1fr;gap:28px;padding:34px 22px 10px}
  .rbart-col{max-width:none}
  .rbart-rail{position:static;flex-direction:row;flex-wrap:wrap;gap:14px}
  .rbart-toc{flex:1 1 100%}
}
@media(max-width:600px){
  .rbart-lead{margin-top:-34px;padding:0 18px}
  .rbart-lead img{max-height:240px;border-radius:18px}
  .rbart-shell{padding:26px 18px 6px}
  .rbart-body{font-size:17.5px;line-height:1.95}
  .rbart-body blockquote{padding:18px 20px}
}

/* ── liturgy: a prayer set as a prayer ───────────────────────────────────── */
.rbp-lit{border-radius:26px;background:var(--cream);border:1px solid var(--cream-line);
  padding:38px 42px;box-shadow:0 34px 66px -48px rgba(60,44,16,.6)}
.rbp-lit .txt{margin:0 0 1.25em;font-size:20px;line-height:2.15;color:#33291a;text-align:justify}
.rbp-lit .txt:last-child{margin-bottom:0}
/* the instructions are not the prayer — set them apart, smaller and quieter */
.rbp-lit .rub{margin:2em 0 1.1em;font-size:16px;line-height:1.8;color:#8a6a2c;
  display:flex;align-items:center;gap:12px;font-style:italic}
.rbp-lit .rub::before,.rbp-lit .rub::after{content:'';flex:1 1 auto;height:1px;
  background:linear-gradient(90deg,transparent,rgba(181,139,60,.45),transparent)}
.rbp-lit .rub:first-child{margin-top:0}
/* the repeated declarations carry the moment — give them room */
.rbp-lit .ref{margin:.5em 0;padding:14px 20px;border-radius:16px;
  background:rgba(181,139,60,.12);border:1px solid var(--cream-line);
  font-family:'almoni-tzar',sans-serif;font-size:clamp(21px,2.6vw,27px);line-height:1.5;
  color:#6d5018;text-align:center}
@media(max-width:600px){
  .rbp-lit{padding:24px 20px}
  .rbp-lit .txt{font-size:18px;line-height:2.05;text-align:start}
  .rbp-lit .rub{font-size:15px;gap:9px}
}

/* ===========================================================================
   READING FACE
   ---------------------------------------------------------------------------
   The theme sets --rb-font to almoni-tzar, and styles.css applies it through a
   universal `* { font-family: var(--rb-font) }` reset — so every element on
   every page gets the condensed display face directly, and inheritance from
   .rbp cannot override it.

   almoni-tzar is a headline face: the same Hebrew string measures 178px in it
   against 285px in Heebo, i.e. it is 38% narrower. That is right for the
   homepage's short titles and wrong for anything anyone actually reads.

   So the display face stays on headings, and every long-form surface is set in
   Heebo — named element by element, because the reset defeats inheritance.
   The site-wide theme is left alone; this is scoped to .rbp pages.
   =========================================================================== */
.rbp{--rbp-text:'Heebo','Open Sans Hebrew',system-ui,sans-serif}

/* The theme's inline block sets `body.rb-body p|div|span|li { font-family:
   var(--rb-font) }` — specificity (0,1,2). A plain `.rbp-prose p` is (0,1,1)
   and loses, which is why only the two-class selectors took the new face on
   the first attempt. Wrapping the list in `.rbp :is(…)` lifts every one of
   them to at least (0,2,0), which outranks the theme without !important. */
.rbp :is(
.rbp-prose,.rbp-prose p,.rbp-prose li,
.rbp-lead,
.rbp-hero .sub,
.rbp-source .txt,.rbp-source .txt p,
.rbp-lit .txt,.rbp-lit .rub,
.rbp-halacha li,
.rbp-quote p,.rbp-quote .cite,
.rbp-story p,.rbp-story cite,
.rbp-letter p,
.rbp-nusach .psalm,.rbp-formula,
.rbp-pair .l,.rbp-pairs-note,
.rbp-chips li,
.rbp-card p,.rbp-time p,.rbp-offer p,.rbp-tier p,
.rbp-cta .sub,.rbp-way span span,
.rbp-notice,
.rbp-facts span,
.rba-card p,.rba-card .when,
.rbh-card .d,
.rbc-card .d,.rbc-way .note,
.rbl-card .pyear,
.rbv-cover p,.rbv-meta,
.rbart-body,.rbart-body p,.rbart-body li,.rbart-body blockquote,
.rbart-body td,.rbart-body th,.rbart-toc a,
.rbl-count,.rbl-search input,.rba-card .when
){font-family:var(--rbp-text)}

/* A prayer is read aloud, often by someone who is not looking for long. It is
   set larger than body copy, at a measure that does not wander, inside a double
   rule the way a sefer is. --lit is driven by the size control on the page. */
.rbp-lit{position:relative;padding:52px 54px;--lit:1}
.rbp-lit::before{content:'';position:absolute;inset:14px;border-radius:18px;
  border:1px solid rgba(181,139,60,.38);pointer-events:none}
.rbp-lit > *{position:relative}
.rbp-lit .txt{font-size:calc(21.5px * var(--lit));line-height:2.15;text-align:start;
  letter-spacing:.004em;max-width:41em;margin-inline:auto;color:#2f2617}
.rbp-lit .ref{font-family:'almoni-tzar',sans-serif;
  font-size:calc(clamp(23px,3vw,31px) * var(--lit));padding:18px 24px;max-width:41em;
  margin-inline:auto}
.rbp-lit .rub{font-size:calc(15.5px * var(--lit));font-style:normal;font-weight:600;
  letter-spacing:.03em;max-width:41em;margin-inline:auto}

/* size control */
.rbp-litbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;
  margin:0 0 14px;font-family:var(--rbp-text);font-size:14.5px;color:var(--mut)}
.rbp-litbar button{appearance:none;width:38px;height:38px;border-radius:12px;cursor:pointer;
  border:1px solid var(--cream-line);background:var(--cream);color:#7a5c22;
  font-family:'almoni-tzar',sans-serif;font-size:18px;line-height:1;
  transition:background .18s,color .18s,border-color .18s}
.rbp-litbar button:hover{background:var(--grad);color:#fff;border-color:transparent}

@media(max-width:600px){
  .rbp-lit{padding:26px 20px}
  .rbp-lit::before{inset:8px}
  .rbp-lit .txt{font-size:calc(19px * var(--lit));line-height:2.05}
}

/* a card with no picture should look intended, not empty */
.rbh-card .shot .mark,.rba-card .shot .mark{
  background:radial-gradient(120% 140% at 100% 0%,
    color-mix(in oklab, var(--acc) 22%, transparent),
    color-mix(in oklab, var(--a2) 26%, transparent));
  font-family:'almoni-tzar',sans-serif;font-size:clamp(26px,4vw,36px);line-height:1.15;
  color:color-mix(in oklab, var(--nav) 62%, var(--a2));text-align:center;padding:18px 22px;
  text-shadow:0 1px 0 rgba(255,255,255,.5)}

/* the not-yet-written children are a footnote, not a gallery */
.rbh-soon{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0;padding:0}
.rbh-soon li{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 15px;
  border-radius:999px;border:1px dashed var(--line);color:var(--mut);font-size:15px;
  font-family:var(--rbp-text)}
.rbh-soon li::before{content:'';width:5px;height:5px;border-radius:50%;
  background:color-mix(in oklab, var(--mut) 60%, transparent)}
.rbh-soon-note{margin:0 0 14px;font-size:15.5px;color:var(--mut);font-family:var(--rbp-text)}

/* ===========================================================================
   .rbf — the names / consultation form (/names-for-blessing)
   Two modes, as on the old site: submitting a name for a blessing, and asking
   the Rav a question.
   =========================================================================== */
.rbf{max-width:760px;margin:0 auto;border-radius:28px;overflow:hidden;
  background:var(--paper);border:1px solid var(--line);
  box-shadow:0 40px 80px -46px color-mix(in oklab, var(--a2) 45%, rgba(10,18,32,.6))}
.rbf-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--paper2)}
.rbf-tabs button{appearance:none;border:0;cursor:pointer;background:transparent;
  padding:20px 16px;font-family:'almoni-tzar',sans-serif;font-size:21px;color:var(--mut);
  border-bottom:3px solid transparent;transition:color .2s,background .2s,border-color .2s}
.rbf-tabs button:hover{color:var(--ink)}
.rbf-tabs button[aria-selected="true"]{color:var(--ink);background:var(--paper);
  border-bottom-color:transparent;position:relative}
.rbf-tabs button[aria-selected="true"]::after{content:'';position:absolute;
  inset-inline:0;bottom:-1px;height:3px;background:var(--grad)}
.rbf-body{padding:30px 34px 34px}
.rbf-intro{margin:0 0 22px;font-family:var(--rbp-text);font-size:16.5px;line-height:1.8;
  color:var(--ink2)}
.rbf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rbf-f{display:flex;flex-direction:column;gap:7px;min-width:0}
.rbf-f--wide{grid-column:1/-1}
.rbf-f label{font-family:var(--rbp-text);font-size:14.5px;font-weight:600;color:var(--ink2)}
.rbf-f label .req{color:var(--acc)}
.rbf-f input,.rbf-f select,.rbf-f textarea{
  width:100%;min-height:50px;padding:0 16px;border-radius:14px;border:1px solid var(--line);
  background:var(--paper2);color:var(--ink);font-family:var(--rbp-text);font-size:16.5px;
  outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.rbf-f textarea{min-height:120px;padding:14px 16px;line-height:1.7;resize:vertical}
.rbf-f select{appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),
    linear-gradient(135deg,var(--mut) 50%,transparent 50%);
  background-position:calc(0% + 18px) calc(50% - 2px), calc(0% + 24px) calc(50% - 2px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.rbf-f input:focus,.rbf-f select:focus,.rbf-f textarea:focus{
  border-color:var(--acc);background:var(--paper);
  box-shadow:0 0 0 4px color-mix(in oklab, var(--acc) 14%, transparent)}
.rbf-f.is-bad input,.rbf-f.is-bad select{border-color:#e11d48;background:#fff5f7}
.rbf-err{margin:4px 0 0;font-size:13.5px;color:#e11d48;font-family:var(--rbp-text)}
.rbf-actions{margin-top:24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.rbf-actions .rbp-btn{min-height:52px;font-size:20px}
.rbf-note{font-size:14px;color:var(--mut);font-family:var(--rbp-text)}
.rbf-hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;opacity:0}
.rbf-msg{margin:18px 0 0;padding:16px 20px;border-radius:16px;font-family:var(--rbp-text);
  font-size:16px;line-height:1.7}
.rbf-msg.ok{background:color-mix(in oklab,#10b981 12%,transparent);color:#065f46;
  border:1px solid color-mix(in oklab,#10b981 32%,transparent)}
.rbf-msg.bad{background:#fff1f3;color:#9f1239;border:1px solid #fecdd3}
.rbf [hidden]{display:none !important}

@media(max-width:600px){
  .rbf-grid{grid-template-columns:1fr}
  .rbf-body{padding:22px 20px 26px}
  .rbf-tabs button{font-size:18px;padding:16px 10px}
  .rbf-actions .rbp-btn{width:100%;justify-content:center}
}

/* ===========================================================================
   .rbs — site search: the header dropdown and the /search page
   =========================================================================== */
.rbs-form{display:flex;gap:12px;margin:0 0 34px;flex-wrap:wrap}
.rbs-form input{flex:1 1 260px;min-height:54px;padding:0 20px;border-radius:999px;
  border:1px solid var(--line);background:var(--paper2);color:var(--ink);
  font-family:var(--rbp-text);font-size:17px;outline:none;
  transition:border-color .18s,box-shadow .18s,background .18s}
.rbs-form input:focus{border-color:var(--acc);background:var(--paper);
  box-shadow:0 0 0 4px color-mix(in oklab,var(--acc) 14%,transparent)}
.rbs-group{margin-bottom:38px}
.rbs-group .rbp-h .n{display:inline-flex;align-items:center;justify-content:center;
  min-width:30px;height:26px;padding:0 9px;margin-inline-start:10px;border-radius:999px;
  background:var(--grad-soft);color:var(--acc);font-size:14px;vertical-align:middle}
.rbs-list{display:grid;gap:10px}
.rbs-hit{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:18px;
  background:var(--paper);border:1px solid var(--line);text-decoration:none;color:inherit;
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s,border-color .2s}
.rbs-hit:hover{transform:translateY(-2px);border-color:color-mix(in oklab,var(--acc) 34%,transparent);
  box-shadow:0 20px 38px -26px color-mix(in oklab,var(--a2) 45%,rgba(10,18,32,.5))}
.rbs-hit .pic{flex:0 0 auto;width:62px;height:44px;border-radius:11px;overflow:hidden;
  background:var(--grad-soft)}
.rbs-hit .pic img{width:100%;height:100%;object-fit:cover;display:block}
.rbs-hit .txt{min-width:0;flex:1 1 auto}
.rbs-hit .t{display:block;font-family:'almoni-tzar',sans-serif;font-weight:600;font-size:20px;
  line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbs-hit .s{display:block;margin-top:2px;font-family:var(--rbp-text);font-size:14px;
  color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbs-hit .go{flex:0 0 auto;color:var(--acc);font-size:17px;transition:transform .2s}
.rbs-hit:hover .go{transform:translateX(-4px)}
.rbs-none{font-family:var(--rbp-text);font-size:17px;line-height:1.9;color:var(--ink2)}
.rbs-none a{color:var(--acc)}

@media(max-width:600px){
  .rbs-hit .pic{width:52px;height:38px}
  .rbs-hit .t{font-size:18px}
}

/* ---- Donation band (2026-08-21) --------------------------------------
   Added for the WordPress cutover: every page that an old /forms/* donation
   link redirects to must offer a real way to give. Prices come from the
   matching /pay page, so this block never contradicts the checkout. */
.rbp-pay{
  margin:48px auto 0; max-width:760px; padding:34px 30px 28px;
  border-radius:18px; text-align:center;
  background:linear-gradient(160deg,#3C0F11 0%,#5a1a1d 100%);
  color:#FFF5E7; box-shadow:0 18px 44px rgba(60,15,17,.28);
}
.rbp-pay-head h2{margin:0 0 8px; font-size:clamp(22px,3.4vw,30px); color:#E9BF7B; line-height:1.25}
.rbp-pay-head p{margin:0 auto; max-width:52ch; font-size:17px; line-height:1.7; opacity:.9}
.rbp-pay-tiers{
  list-style:none; margin:22px auto 4px; padding:0; max-width:520px;
  display:grid; gap:8px;
}
.rbp-pay-tiers li{
  display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  padding:11px 16px; border-radius:11px;
  background:rgba(255,245,231,.08); border:1px solid rgba(233,191,123,.22);
}
.rbp-pay-tiers .n{font-size:16px}
.rbp-pay-tiers .p{font-size:17px; font-weight:700; color:#E9BF7B; white-space:nowrap}
.rbp-pay-btn{
  display:inline-block; margin:22px 0 0; padding:15px 46px;
  border-radius:999px; background:#E9BF7B; color:#3C0F11;
  font-size:19px; font-weight:700; text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
}
.rbp-pay-btn:hover{transform:translateY(-2px); box-shadow:0 10px 24px rgba(233,191,123,.35)}
.rbp-pay-note{margin:16px 0 0; font-size:13.5px; opacity:.72}
@media (max-width:620px){
  .rbp-pay{padding:26px 18px 22px; border-radius:14px}
  .rbp-pay-btn{display:block; padding:15px 20px}
}
@media (prefers-reduced-motion:reduce){ .rbp-pay-btn{transition:none} }
