/* Shared shell for the gallery pages (kehila/galleries/hespedim/shorashim).
   Loaded BEFORE each page's inline <style>, so page-specific rules always win.
   When editing, bump ?v= in the pages' <link> tags (assets/* is edge-cached 1 day). */
  :root{--navy:#0f1e3d;--navy-2:#16294f;--gold:#c8a24a;--gold-soft:#e7d4a1;--gold-text:#8a6a2a;--cream:#f7f3ea;--ink:#1b2333;--muted:#5f6774;--line:#e6ddca;--radius:16px;--shadow:0 10px 40px rgba(15,30,61,.12);--shadow-lg:0 24px 70px rgba(15,30,61,.20)}
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:"Assistant",Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.8}
  .wrap{max-width:1080px;margin:0 auto;padding:0 20px}
  header.site{background:var(--navy);padding:18px 0}
  header.site .wrap{display:flex;align-items:center;justify-content:space-between}
  header.site a{color:#fff;text-decoration:none;font-family:"Frank Ruhl Libre",serif;font-weight:700;font-size:1.15rem;display:flex;align-items:center;gap:10px}
  header.site img{width:38px;height:auto}
  header.site .back{font-size:.9rem;font-weight:600;color:var(--gold-soft)}
  .hero-mem{background:linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;text-align:center;padding:60px 20px 52px;position:relative;overflow:hidden}
  .hero-mem::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(200,162,74,.16),transparent 55%)}
  .hero-mem .flame{font-size:1.9rem;margin-bottom:12px}
  .hero-mem .eyebrow{color:var(--gold-soft);font-weight:800;letter-spacing:.14em;font-size:.85rem;position:relative}
  .hero-mem h1{font-family:"Suez One","Frank Ruhl Libre",serif;font-weight:400;font-size:clamp(1.6rem,4.5vw,2.5rem);color:#fff;position:relative;margin-top:12px;line-height:1.25}
  main{padding:46px 0 60px}
  .sec-title::before{content:'✦';display:block;color:var(--gold-soft);font-size:.7rem;margin-bottom:8px}
  .grid figcaption{padding:11px 13px;text-align:center;font-size:.92rem;color:var(--navy);font-family:"Frank Ruhl Libre",serif;font-weight:700;border-top:1px solid var(--line);line-height:1.5}
  #lb{display:none;position:fixed;inset:0;background:rgba(9,13,24,.94);z-index:999;align-items:center;justify-content:center;flex-direction:column;padding:20px;cursor:zoom-out}
  #lb.on{display:flex}
  #lb img{max-width:96vw;max-height:82vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
  #lb .cap{color:#e7d4a1;font-family:"Frank Ruhl Libre",serif;margin-top:14px;text-align:center;max-width:760px;font-size:1.02rem}
  footer{background:var(--navy);color:#c8d0e0;padding:26px 0;font-size:.85rem;text-align:center;margin-top:56px}
  footer a{color:var(--gold-soft)}
  .grid img:focus-visible{outline:3px solid var(--gold,#c8a24a);outline-offset:2px}
/* aspect-ratio safety net — any img without an explicit CSS height keeps its ratio (beats the CLS height attr). Page-level fixed-height rules still win by specificity. */
img{height:auto}
