
:root{--ink:#1b1d2a;--navy:#13294b;--navy2:#0d1e38;--gold:#b8892b;--gold2:#e2c27a;--paper:#f8f4ec;--card:#fffdf8;--line:#e6dccb;--muted:#6b6457;--red:#8a2b2b;--r:16px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
h1,h2,h3,.serif{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;line-height:1.2}
.he{font-family:"Taamey Frank CLM","SBL Hebrew","David","Times New Roman",serif;direction:rtl;unicode-bidi:isolate}
a{color:var(--navy);text-decoration-color:var(--gold2);text-underline-offset:3px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
img{max-width:100%;display:block}
.skip{position:absolute;top:0;inset-inline-start:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{width:auto;height:auto;clip-path:none;top:8px;inset-inline-start:8px;background:#fff;padding:8px;z-index:99}
header.top{position:sticky;top:0;z-index:40;background:var(--navy2);color:#fff;border-bottom:3px solid var(--gold)}
.topin{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:12px;padding:10px 16px}
.brand{display:flex;align-items:baseline;gap:10px;color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.25rem;font-weight:700;letter-spacing:.3px}
.brand .he{color:var(--gold2);font-size:1.15rem}
.topnav{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 12px 8px;max-width:1180px;margin:0 auto;mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.topnav::-webkit-scrollbar{display:none}
.topnav a{color:#e9e4d8;text-decoration:none;padding:6px 11px;border-radius:999px;font-size:.92rem;white-space:nowrap;flex:none;border:1px solid rgba(226,194,122,.22)}
.topnav a.on,.topnav a:hover{background:rgba(226,194,122,.18);color:#fff}
main{max-width:1180px;margin:0 auto;padding:0 16px 60px;min-height:70vh}
.page{animation:fade .25s ease}
@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.hero{position:relative;margin:16px -16px 0;min-height:340px;display:flex;align-items:flex-end;color:#fff;background:#1a2440 center/cover no-repeat;overflow:hidden}
@media(min-width:700px){.hero{margin:20px 0 0;border-radius:22px;min-height:420px}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,30,56,.15) 0%,rgba(13,30,56,.55) 45%,rgba(9,18,34,.92) 100%)}
.hero .in{position:relative;z-index:1;padding:26px 20px 24px;max-width:760px}
.hero .kick{color:var(--gold2);letter-spacing:2px;text-transform:uppercase;font-size:.78rem;font-weight:700}
.hero h1{font-size:clamp(2.2rem,8vw,3.6rem);margin:.15em 0 .1em}
.hero h1 .he{display:block;font-size:.62em;color:var(--gold2);margin-top:4px}
.hero p{margin:.4em 0 0;font-size:1.05rem;color:#eee7d6}
.hero .in{padding-bottom:46px}
.hero .credit{position:absolute;left:14px;right:10px;bottom:6px;text-align:right;line-height:1.25;z-index:2;font-size:.68rem;color:#cfc6b2;opacity:.85}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:.9rem;cursor:pointer;color:var(--ink)}
.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.statrow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}
@media(min-width:700px){.statrow{grid-template-columns:repeat(4,1fr)}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.stat b{display:block;font-family:Georgia,serif;font-size:1.7rem;color:var(--navy);line-height:1.1}
.stat span{font-size:.86rem;color:var(--muted)}
.stat small{display:block;font-size:.72rem;color:#9a917f;margin-top:4px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:30px 0 10px}
.sec-h h2{margin:0;font-size:1.45rem;color:var(--navy)}
.sec-h a{font-size:.9rem;white-space:nowrap}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:760px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:132px;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;background:var(--navy) center/cover;padding:12px;border:1px solid rgba(0,0,0,.05)}
.tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,30,56,.1),rgba(13,30,56,.88))}
.tile>*{position:relative}
.tile .n{font-family:Georgia,serif;font-size:1.6rem;color:var(--gold2);line-height:1}
.tile .t{font-weight:700;font-size:1.02rem}
.tile .s{font-size:.8rem;color:#e2dccd}
.tile.plain{background:linear-gradient(135deg,#13294b,#24406e)}
.page-h{margin:22px 0 6px}
.page-h .kick{color:var(--gold);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:.75rem}
.page-h h1{font-size:clamp(1.9rem,6vw,2.6rem);margin:.15em 0 .2em;color:var(--navy)}
.page-h p{color:var(--muted);margin:0;max-width:780px}
.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:700px){.grid.g2{grid-template-columns:1fr 1fr}.grid.g3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;overflow:hidden}
.card h3{margin:0 0 4px;font-size:1.15rem;color:var(--navy)}
.card .he{color:var(--gold);font-size:1.05rem}
.meta{font-size:.86rem;color:var(--muted)}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);background:#f6ecd6;border-radius:6px;padding:2px 7px;margin:0 4px 4px 0}
.tag.now{color:#fff;background:#2c6b4f}
.rebbe-card{display:flex;gap:14px;text-decoration:none;color:inherit;align-items:flex-start}
.rebbe-card .ph{width:84px;height:104px;border-radius:12px;flex:none;background:#e9dfcc center/cover;display:grid;place-items:center;color:var(--gold);font-family:Georgia,serif;font-size:1.8rem}
.rebbe-card .gen{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.prose p{margin:.2em 0 1em;max-width:780px}
.factbox{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.93rem;background:#f3ead9;border-radius:14px;padding:14px;margin:12px 0}
.factbox dt{color:var(--muted);font-weight:600}.factbox dd{margin:0}
.rebbe-top{display:grid;gap:18px;grid-template-columns:1fr;margin-top:10px}
@media(min-width:760px){.rebbe-top{grid-template-columns:300px 1fr}}
.portrait{border-radius:18px;overflow:hidden;background:#e9dfcc}
.portrait figcaption,.cap{font-size:.74rem;color:var(--muted);padding:6px 2px;line-height:1.35}
.noimg{border:1px dashed #cdbf9f;border-radius:18px;padding:22px;text-align:center;color:var(--muted);font-size:.9rem;background:#fbf6ea}
.noimg .he{display:block;font-size:1.6rem;color:var(--gold);margin-bottom:6px}
.sefer{border-left:4px solid var(--gold);padding:8px 12px;margin:8px 0;background:#fffaf0;border-radius:0 12px 12px 0}
.sefer b{color:var(--navy)}
.sefer .links a{display:inline-block;margin:4px 8px 0 0;font-size:.85rem;background:var(--navy);color:#fff;border-radius:999px;padding:3px 10px;text-decoration:none}
.quote{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:10px 0}
.quote .he{display:block;font-size:1.08rem;margin-bottom:6px;color:#4b3a16}
.quote small{display:block;color:var(--muted);margin-top:6px}
.src{font-size:.8rem;color:var(--muted);margin-top:10px}
.src a{color:var(--muted)}
.note{font-size:.85rem;background:#fff4dc;border:1px solid #f0d9a4;border-radius:12px;padding:10px 12px;margin:12px 0}
.timeline{position:relative;margin:18px 0 0 8px;padding-left:22px;border-left:3px solid var(--gold2)}
.tl{position:relative;margin:0 0 18px}
.tl::before{content:"";position:absolute;left:-31px;top:6px;width:15px;height:15px;border-radius:50%;background:var(--navy);border:3px solid var(--gold2)}
.tl .y{font-family:Georgia,serif;font-weight:700;color:var(--navy);font-size:1.15rem}
.tl p{margin:2px 0 0}
.tree{font-size:.94rem;overflow-x:auto;padding-bottom:6px}
.tree ul{list-style:none;margin:0;padding-left:18px;border-left:2px solid #ddd0b4}
.tree>ul{border-left:0;padding-left:0}
.tree li{position:relative;margin:6px 0;padding-left:12px}
.tree li::before{content:"";position:absolute;left:-18px;top:16px;width:26px;border-top:2px solid #ddd0b4}
.tree>ul>li::before{display:none}
.node{display:inline-block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:5px 10px;min-width:180px}
.node.cur{border-color:#2c6b4f;background:#eef7f1}
.node .h{color:var(--gold);font-size:.9rem}
.node small{color:var(--muted);display:block;font-size:.78rem}
.node a{text-decoration:none;color:var(--navy);font-weight:700}
details.tree-d>summary{cursor:pointer;list-style:none}
.mapwrap{background:#dfe8ef;border-radius:18px;overflow:hidden;border:1px solid #c9d6e0;position:relative}
.mapwrap svg{width:100%;height:auto;display:block;touch-action:manipulation}
.mapwrap .land{fill:#f4efe2;stroke:#c8bda4;stroke-width:.12}
.pin{cursor:pointer}
.pin circle.o{fill:var(--gold);stroke:#fff}
.pin.hist circle.o{fill:#8a2b2b}
.pin text{font:600 1px Arial;fill:#13294b;paint-order:stroke;stroke:#fff}
.mapinfo{margin-top:10px}
.legend{display:flex;gap:14px;font-size:.82rem;color:var(--muted);margin:8px 2px}
.legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.vgrid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.vgrid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.vgrid{grid-template-columns:1fr 1fr 1fr}}
.vid{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.vid .thumb{position:relative;aspect-ratio:16/9;background:#111 center/cover;cursor:pointer;border:0;width:100%;padding:0;display:block}
.vid .thumb::after{content:"";position:absolute;left:50%;top:50%;width:62px;height:44px;margin:-22px 0 0 -31px;border-radius:12px;background:rgba(200,30,30,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7v10l8-5z' fill='white'/%3E%3C/svg%3E") center/26px no-repeat}
.vid iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
.vid .b{padding:10px 12px}
.vid .b h3{font-size:.98rem;margin:0 0 4px;color:var(--ink);font-family:inherit;line-height:1.35}
.vid .b p{font-size:.84rem;color:var(--muted);margin:4px 0 0}
.gallery{columns:2 160px;column-gap:12px}
@media(min-width:900px){.gallery{columns:4 200px}}
.gallery figure{break-inside:avoid;margin:0 0 12px;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:zoom-in}
.gallery figcaption{font-size:.78rem;padding:6px 9px;color:var(--muted);line-height:1.35}
.gallery figcaption b{color:var(--ink);font-weight:600;display:block}
.lightbox{position:fixed;inset:0;z-index:80;background:rgba(5,8,15,.94);display:none;flex-direction:column;align-items:center;justify-content:center;padding:14px}
.lightbox.open{display:flex}
.lightbox img{max-height:76vh;border-radius:10px}
.lightbox p{color:#ddd;font-size:.86rem;max-width:760px;text-align:center}
.lightbox p a{color:var(--gold2)}
.lightbox button{position:absolute;top:10px;right:14px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}
.yz{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.yz .d{flex:none;width:86px;text-align:center;background:var(--navy);color:#fff;border-radius:12px;padding:6px 4px;font-size:.82rem;line-height:1.25}
.yz .d b{display:block;color:var(--gold2);font-family:Georgia,serif;font-size:1.05rem}
.list{list-style:none;padding:0;margin:0}
.list li{padding:10px 0;border-bottom:1px solid var(--line)}
.srclist li{font-size:.9rem;word-break:break-word}
.archive{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:12px 14px;margin:8px 0}
.archive .he{font-size:1.05rem;color:var(--navy);font-weight:700}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;border-radius:999px;padding:9px 16px;font-weight:600;font-size:.92rem;border:0;cursor:pointer}
.btn.gold{background:var(--gold);color:#fff}
.back{display:inline-block;margin:16px 0 0;font-size:.92rem;text-decoration:none}
footer{background:var(--navy2);color:#cfc8b7;font-size:.85rem;padding:26px 16px 40px;text-align:center}
footer a{color:var(--gold2)}
.search{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);font-size:1rem;background:#fff;margin:8px 0}
.hide{display:none!important}
.two{display:grid;gap:14px}@media(min-width:800px){.two{grid-template-columns:1.2fr .8fr}}
.mini{font-size:.84rem;color:var(--muted)}
.yearbadge{display:inline-block;font-family:Georgia,serif;color:var(--gold);font-weight:700;margin-right:6px}

/* ---- classic v2 additions ---- */
html,body{overflow-x:hidden}
main#app{max-width:1180px;margin:0 auto;padding:0 16px 30px}
img{max-width:100%}
.topin{padding:9px 14px 6px}
.topr{margin-inline-start:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fbbtn{color:var(--navy2);background:var(--gold2);text-decoration:none;font-size:.78rem;font-weight:700;border-radius:999px;padding:5px 10px;white-space:nowrap}
.lang-sw{display:flex;border:1px solid rgba(226,194,122,.45);border-radius:999px;overflow:hidden}
.lang-sw button{background:transparent;color:#e9e4d8;border:0;padding:5px 9px;font-size:.8rem;cursor:pointer;font-family:inherit}
.lang-sw button.on{background:var(--gold);color:#fff;font-weight:700}
@media(max-width:420px){.brand .en{display:none}.brand{font-size:1.1rem}.fbbtn{font-size:.72rem;padding:5px 8px}.lang-sw button{padding:5px 7px;font-size:.76rem}}
.sform{display:flex;gap:8px;margin:14px 0 4px}.sform .search{margin:0;flex:1;min-width:0}.sform button{border:0;background:var(--navy);color:#fff;border-radius:12px;padding:0 16px;font-weight:600;font-size:.95rem;cursor:pointer}
.results{display:grid;gap:8px;margin:10px 0}.res{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--ink)}.res b{display:block;color:var(--navy)}.res small{display:block;color:var(--muted);font-size:.82rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.chips .rl{font-size:.78rem;color:var(--muted);align-self:center;margin-inline-end:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.chip small{opacity:.7}
a.chip{text-decoration:none}
.hide{display:none!important}
.figbtn{display:block;border:0;padding:0;background:none;width:100%;cursor:zoom-in}.figbtn img{display:block;width:100%;height:auto}
figure{margin:0}figcaption{font-size:.75rem;color:var(--muted);padding:6px 10px 8px;line-height:1.35}
.portrait.sm{float:inline-end;width:110px;margin:0 0 8px 10px;border-radius:12px}
.era-card{margin:16px 0}.era-card h2{margin:.2em 0 .5em;color:var(--navy)}.era-card.dark{background:#1b1d2a;color:#e9e4d8}.era-card.dark h2{color:var(--gold2)}
.era-figs{display:grid;gap:10px;grid-template-columns:1fr;margin:8px 0 12px}@media(min-width:640px){.era-figs{grid-template-columns:1fr 1fr}}
.yearbadge{display:inline-block;background:var(--navy);color:var(--gold2);border-radius:999px;padding:3px 12px;font-weight:700;font-size:.85rem}
/* rebbe chips (links between pages) */
.rchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 4px}.rchips .rl{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-inline-end:2px}
.rchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fffaf0;border-radius:999px;padding:3px 10px 3px 3px;cursor:pointer;font-size:.85rem;color:var(--navy);font-family:inherit;max-width:100%}
[dir=rtl] .rchip{padding:3px 3px 3px 10px}
.rchip img,.rchip i{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;background:var(--navy);color:var(--gold2);display:grid;place-items:center;font-style:normal;font-family:Georgia,serif;font-size:.9rem}
.rchip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gchips{display:flex;flex-wrap:wrap;gap:6px}.gchip{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 11px;font-size:.85rem;cursor:pointer;color:var(--ink);font-family:inherit;text-align:start}
/* detail pages (Rebbe, mosad, sefer) */
.detail{margin:10px 0 0;padding:18px}
.detail h2{font-size:clamp(1.6rem,5.5vw,2.2rem);color:var(--navy);margin:.1em 0 .2em}
.detail h4{font-family:"Iowan Old Style",Palatino,Georgia,serif;font-size:1.25rem;color:var(--navy);margin:22px 0 8px;padding-bottom:4px;border-bottom:2px solid var(--line);scroll-margin-top:120px}
.detail .eyebrow{color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin:0}
.he-big{font-size:1.45rem;color:var(--gold);font-weight:700}
.detail .k{color:var(--muted);margin:.2em 0 .6em}
.sh-ph{max-width:320px;border-radius:18px;overflow:hidden;margin:0 0 12px;background:#e9dfcc}.sh-ph img{display:block;width:100%;height:auto}
.sh-seal{margin:0 0 12px}
.seal{width:110px;height:130px;border-radius:14px;background:linear-gradient(160deg,#13294b,#0d1e38);border:2px solid var(--gold2);color:var(--gold2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Taamey Frank CLM","SBL Hebrew",David,serif;font-size:3rem;line-height:1}
.seal small{font-size:.85rem;margin-top:8px;color:#e9e4d8}
.seal.sm{width:54px;height:64px;font-size:1.6rem;float:inline-end;margin:0 0 6px 8px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.93rem;background:#f3ead9;border-radius:14px;padding:14px;margin:12px 0}.facts dt{font-weight:700;color:var(--navy)}.facts dd{margin:0}
.fam{background:#fbf6ea;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin:12px 0}.fam h4{margin:0 0 4px;border:0;font-size:1.05rem}
.rz{font-size:.9rem;margin:4px 0}
.rp-nav{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.rp-nav button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 11px;font-size:.84rem;cursor:pointer;color:var(--navy);font-family:inherit}
.bio p{margin:.5em 0}
.rows{display:grid;gap:6px}.rows-more{display:grid;gap:6px}
.srow,.mrow{display:flex;align-items:center;gap:10px;width:100%;text-align:start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 10px;cursor:pointer;font-family:inherit;color:var(--ink)}
.srow b{color:var(--navy)}.srow small,.mrow small{display:block;color:var(--muted);font-size:.8rem}.srow em,.mrow em{margin-inline-start:auto;font-style:normal;color:var(--gold);font-size:1.2rem}
.mrow img,.mrow i{width:44px;height:44px;border-radius:9px;object-fit:cover;flex:none;background:#efe6d3;display:grid;place-items:center;font-style:normal}
.mrow span{min-width:0}.mrow b{display:block;color:var(--navy)}
.cnt{color:var(--muted);font-size:.8rem}
.more-btn{display:block;margin:10px auto;background:transparent;border:1px solid var(--navy);color:var(--navy);border-radius:999px;padding:7px 16px;cursor:pointer;font-family:inherit}
.vmini{display:grid;gap:10px;grid-template-columns:1fr}@media(min-width:640px){.vmini{grid-template-columns:1fr 1fr}}.vm p{font-size:.86rem;margin:4px 0}
details.dsec{border:1px solid var(--line);border-radius:12px;background:#fffaf0;margin:8px 0;padding:0 12px}details.dsec summary{cursor:pointer;padding:10px 0;font-weight:700;color:var(--navy)}details.dsec summary span{color:var(--muted);font-weight:400;font-size:.85rem}
.dlist{margin:0 0 10px;padding-inline-start:18px}.dlist li{margin:6px 0;font-size:.93rem}.isrc a,.isrc small{font-size:.75rem;margin-inline-start:3px}
.ditem{font-size:.9rem}
.unc{font-style:normal;font-size:.72rem;font-weight:700;color:#8a5a00;background:#fff0c9;border-radius:6px;padding:1px 6px;white-space:nowrap}
.unc-card{border-style:dashed}
.mini-tl{list-style:none;padding:0;margin:0;display:grid;gap:6px}.mini-tl button{display:flex;gap:10px;text-align:start;width:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer;font-family:inherit;color:var(--ink);font-size:.88rem}.mini-tl b{color:var(--navy);flex:none}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.gal button{border:0;padding:0;border-radius:10px;overflow:hidden;aspect-ratio:1;cursor:zoom-in}.gal img{width:100%;height:100%;object-fit:cover}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}.btn.sm{padding:6px 12px;font-size:.84rem;margin:6px 0}
.heq{font-family:"Taamey Frank CLM","SBL Hebrew",David,serif;font-size:1.08rem}.enq{margin-top:4px}
.story-sm{font-size:.93rem;margin:.6em 0 0}
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.prevnext a{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;text-decoration:none;min-width:0}.prevnext a.nx{text-align:end}.prevnext small{display:block;color:var(--muted);font-size:.78rem}.prevnext b{display:block;color:var(--navy);font-size:.9rem;overflow:hidden;text-overflow:ellipsis}
.share{text-align:center;margin:8px 0 20px}
/* sefer in v2 shape */
.sefer .t{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.sefer .t span[lang=he]{font-weight:700;color:var(--navy);font-size:1.08rem}.sefer .y{font-size:.82rem;color:var(--muted)}.sefer p{margin:.3em 0;font-size:.92rem}.sefer a{display:inline-block;margin:4px 8px 0 0;font-size:.82rem;background:var(--navy);color:#fff;border-radius:999px;padding:3px 10px;text-decoration:none}
.sefer-wrap{position:relative}.more-link{display:inline-block;margin:0 0 6px 16px}
/* videos (lazy) */
.yt{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:#111;cursor:pointer;overflow:hidden}
.yt .play{position:absolute;left:50%;top:50%;width:62px;height:44px;margin:-22px 0 0 -31px;border-radius:12px;background:rgba(200,30,30,.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7v10l8-5z' fill='white'/%3E%3C/svg%3E") center/26px no-repeat}
.yt .dur{position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.75);color:#fff;font-size:.72rem;border-radius:5px;padding:1px 5px}
iframe.ytf{display:block;width:100%;aspect-ratio:16/9;border:0}
.vid .b{padding:10px 12px 12px}.vid h3{font-size:1rem;margin:0 0 4px;color:var(--navy);line-height:1.3}.vid .meta{font-size:.78rem;color:var(--muted)}.vid p{font-size:.88rem;margin:.4em 0}
.vid .rec{display:inline-block;font-size:.72rem;font-weight:700;color:#fff;background:var(--gold);border-radius:6px;padding:2px 7px;margin-bottom:4px}
.oldv{border-color:#d9c393}
.mini{font-size:.82rem;color:var(--muted)}
/* mosdos */
.mo-ph{margin:-16px -16px 10px;background:#e9dfcc}.mo-ph button{display:block;border:0;padding:0;width:100%;cursor:zoom-in}.mo-ph img{display:block;width:100%;max-height:220px;object-fit:cover}.mo-ph figcaption a{color:var(--muted)}
.detail .mo-ph{margin:0 0 12px;border-radius:14px;overflow:hidden}
.md .meta{font-size:.85rem;color:var(--muted)}
.son-card .son-ph{float:inline-end;width:76px;height:92px;border:0;padding:0;border-radius:12px;overflow:hidden;margin:0 0 6px 10px;cursor:zoom-in}.son-card .son-ph img{width:100%;height:100%;object-fit:cover}
.tav{width:30px;height:30px;border-radius:50%;object-fit:cover;flex:none}
.node{display:inline-flex;gap:8px;align-items:center;min-width:0;max-width:100%}
.node .lead{color:#2c6b4f}
@media(max-width:600px){.tree ul{padding-left:12px}.tree li{padding-left:8px}.tree li::before{left:-12px;width:18px}.node{min-width:0}}
.flash{animation:fl 1.6s ease}@keyframes fl{0%,40%{box-shadow:0 0 0 3px var(--gold2)}100%{box-shadow:0 0 0 0 transparent}}
/* contact form */
.cform label{display:block;font-size:.88rem;font-weight:600;color:var(--navy);margin:0 0 12px}.cform input,.cform textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.cform .hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* footer section index (replaces the old slide-out menu) */
#allsec{max-width:900px;margin:0 auto 18px}#allsec h2{color:#fff;font-size:1.1rem;margin:0 0 10px}
.secgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}@media(min-width:640px){.secgrid{grid-template-columns:repeat(4,1fr)}}
.secgrid a{display:flex;gap:8px;align-items:center;text-align:start;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.06);color:#efe8d8;text-decoration:none;font-size:.88rem}.secgrid a.on{background:rgba(226,194,122,.25)}
.secgrid .ic{width:24px;height:24px;border-radius:7px;background:var(--gold);color:#fff;display:grid;place-items:center;font-size:.8rem;flex:none}
.copy{opacity:.8}
/* RTL (Yiddish / Hebrew) */
html.vz-pending body{visibility:hidden}
[dir=rtl] body{font-family:Assistant,"Segoe UI",Arial,sans-serif}
[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .detail h4{font-family:"Frank Ruhl Libre","Taamey Frank CLM","SBL Hebrew",David,serif}
[dir=rtl] .sefer{border-left:0;border-right:4px solid var(--gold);border-radius:12px 0 0 12px}
[dir=rtl] .tree ul{padding-left:0;padding-right:18px;border-left:0;border-right:2px solid #ddd0b4}
[dir=rtl] .tree>ul{border-right:0;padding-right:0}
[dir=rtl] .tree li{padding-left:0;padding-right:12px}
[dir=rtl] .tree li::before{left:auto;right:-18px}
@media(max-width:600px){[dir=rtl] .tree ul{padding-right:12px}[dir=rtl] .tree li{padding-right:8px}[dir=rtl] .tree li::before{right:-12px}}
[dir=rtl] .timeline{margin:18px 8px 0 0;padding-left:0;padding-right:22px;border-left:0;border-right:3px solid var(--gold2)}
[dir=rtl] .tl::before{left:auto;right:-31px}
[dir=rtl] .hero .credit{text-align:left}
[dir=rtl] .topnav{mask-image:linear-gradient(270deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}
[dir=rtl] .sefer a,[dir=rtl] .more-link{margin:4px 0 0 8px}
[dir=rtl] .yt .dur{right:auto;left:6px}
[dir=rtl] .portrait.sm,[dir=rtl] .seal.sm,[dir=rtl] .son-card .son-ph{margin:0 10px 8px 0}
[dir=rtl] .tag{margin:0 0 4px 4px}
[dir=rtl] .lightbox button{right:auto;left:14px}
.brand .he,.he[lang=he]{unicode-bidi:isolate}

.nsbtn{background:transparent;color:var(--gold2);border:1px solid var(--gold2)}
@media (max-width:400px){.nsbtn .nsl{display:none}}

/* v5: photo credit line */
.ph-cr{margin:-10px 0 14px;font-size:11px;line-height:1.3;opacity:.7;letter-spacing:.02em}
.court .ph-cr{margin:-8px 0 10px}

.sh-fit{position:relative;isolation:isolate}
.sh-fit::before{content:'';position:absolute;inset:-24px;z-index:-1;background:var(--shbg) center/cover no-repeat;filter:blur(16px) brightness(.4)}
.sh-fit img{position:relative;object-fit:contain!important;object-position:50% 50%!important}

/* v5: small original photo shown at its own size */
.portrait.nat{justify-self:start;width:auto;max-width:100%;background:none}
.portrait.nat img{display:block;width:auto!important;height:auto!important;max-width:193px;max-height:258px;border-radius:12px}


/* ---------- v5: family map (contained pan/zoom box) ---------- */
.tz-frame{position:relative;height:70vh;min-height:360px;max-height:680px;overflow:hidden;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;cursor:grab;border:1px solid #ddd0b4;border-radius:16px;background:radial-gradient(ellipse at 50% 0%,rgba(212,175,55,.07),transparent 70%),rgba(255,255,255,.015);-webkit-tap-highlight-color:transparent}
.tz-frame.grabbing{cursor:grabbing}
@media(min-width:900px){.tz-frame{height:600px}}
.tz-canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform;padding:18px;box-sizing:border-box}
.tz-ctl{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;gap:6px;z-index:3}
html[dir=rtl] .tz-ctl{right:auto;left:10px}
.tz-ctl button{width:42px;height:42px;border-radius:12px;border:1px solid #cdbb8e;background:#fffdf7;color:#6b4f12;font:600 21px/1 system-ui,sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.tz-hint{position:absolute;left:12px;right:64px;top:10px;margin:0;font:12px/1.35 system-ui,sans-serif;opacity:.72;pointer-events:none;transition:opacity .4s;z-index:2}
html[dir=rtl] .tz-hint{left:64px;right:12px;text-align:right}
.tz-frame.tz-used .tz-hint{opacity:0}

.card.tree.tz-wrap{overflow:visible;padding:8px}
.card.tree .tz-frame{background:#fbf8f0}
.tree .tz-canvas{width:max-content}
.tree .tz-canvas ul{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;margin:0!important;padding:0!important;padding-inline-start:26px!important;border:0!important;position:relative;list-style:none}
.tree .tz-canvas>ul{padding-inline-start:0!important}
.tree .tz-canvas li{display:flex;flex-direction:row;align-items:center;margin:0!important;padding:4px 0!important;padding-inline-start:20px!important;position:relative}
.tree .tz-canvas>ul>li{padding-inline-start:0!important}
.tree .tz-canvas li::before{content:""!important;display:block!important;position:absolute;inset-inline-start:0!important;left:auto;right:auto;top:50%!important;width:20px!important;height:0;border:0!important;border-top:2px solid #c9b88f!important}
.tree .tz-canvas li::after{content:"";display:block;position:absolute;inset-inline-start:0;top:0;bottom:0;width:0;border-inline-start:2px solid #c9b88f}
.tree .tz-canvas li:first-child::after{top:50%}
.tree .tz-canvas li:last-child::after{bottom:50%}
.tree .tz-canvas li:only-child::after{display:none}
.tree .tz-canvas ul ul::before{content:"";position:absolute;inset-inline-start:0;top:50%;width:26px;height:0;border-top:2px solid #c9b88f}
.tree .tz-canvas>ul>li::before,.tree .tz-canvas>ul>li::after{display:none!important}
.tree .tz-canvas .node{max-width:250px;min-width:120px;margin:0}
.tree .tz-canvas .node:has(a){cursor:pointer}

.tz-ctl{top:10px;bottom:auto}
.tz-hint{top:auto;bottom:10px;right:12px}
html[dir=rtl] .tz-hint{left:12px}

/* v5.2 mosdos moved to Rebbe pages + All mosdos sheet */
.mx-line{max-width:620px;margin:0 0 14px;opacity:.85;line-height:1.5}
#mosdos{padding-bottom:28px}
.amg{border-top:1px solid rgba(127,127,127,.22)}
.amg:last-of-type{border-bottom:1px solid rgba(127,127,127,.22)}
.amg>summary{cursor:pointer;font-weight:700;padding:14px 2px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.amg>summary::-webkit-details-marker{display:none}
.amg>summary::after{content:"▾";opacity:.55}
.amg[open]>summary::after{content:"▴"}
.amg .rows{padding-bottom:10px}
.mrow img{object-fit:cover}
