/* Zulo UX refresh, 2026-10-25: typography, privacy bar, mobile menu, rails, tap targets. */
@font-face{font-family:Heebo;src:url('/assets/heebo-hebrew-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;src:url('/assets/heebo-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Heebo;src:url('/assets/heebo-hebrew-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Heebo;src:url('/assets/heebo-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

@font-face{font-family:Rubik;src:url('/assets/rubik-hebrew-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;src:url('/assets/rubik-latin-700-normal.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Rubik;src:url('/assets/rubik-hebrew-800-normal.woff2') format('woff2');font-weight:800;font-display:swap;unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}
@font-face{font-family:Rubik;src:url('/assets/rubik-latin-800-normal.woff2') format('woff2');font-weight:800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body,button,input{font-family:Heebo,Arial,sans-serif}
h1,h2,h3,.brand-word,.number-story>span{font-family:Rubik,Heebo,Arial,sans-serif;font-weight:700}
.intro h1,.article-header h1,.page-heading h1,.info-page h1{letter-spacing:-.5px}
.hero-main h2,.section-head h2,.story h2,.story h3{letter-spacing:0}
.brand-word{letter-spacing:-1px}
.side-feature>h2,.article-aside h2,.toc summary,.zp-dialog h2,.zp-dialog h3,.zp-notice h2{font-family:Heebo,Arial,sans-serif}

/* 1. Privacy notice: compact card fixed to the bottom, not above the masthead. */
.zp-notice{position:fixed;bottom:16px;right:16px;left:auto;z-index:40;width:min(460px,calc(100% - 32px));padding:18px 20px!important;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--ink);box-shadow:0 10px 30px #183b3226;font-size:14px;line-height:1.6}
.zp-notice h2{font-size:16px!important;margin:0 0 4px!important}
.zp-notice p{margin:4px 0!important}
.zp-notice .zp-actions{margin-block:12px 0;gap:10px}
.zp-notice .zp-actions button{flex:1;max-width:none;padding:8px 12px;min-height:44px;font-size:14px}
.zp-notice .zp-actions button[data-consent="allow"]{background:var(--ink);color:var(--white);border-color:var(--ink)}
@media(max-width:760px){.zp-notice{right:0;left:0;bottom:0;width:100%;border-inline:0;border-bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important}}

/* 7. Accessibility launcher: small round icon button. */
#zulo-preferences-ui .zp-launcher{width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--white);border-color:var(--ink);left:16px;bottom:16px;box-shadow:0 3px 10px #0003}
#zulo-preferences-ui .zp-launcher svg{width:26px;height:26px;display:block}
#zulo-preferences-ui .zp-launcher:hover{background:var(--accent);border-color:var(--accent)}
@media(max-width:760px){#zulo-preferences-ui .zp-launcher{width:44px;height:44px;min-height:44px;left:12px;bottom:12px}#zulo-preferences-ui .zp-launcher svg{width:24px;height:24px}}

/* 2. Mobile menu: vertical rows with clear tap areas. */
@media(max-width:760px){
.menu-toggle{min-height:44px}
.menu-toggle[aria-expanded="true"]{background:var(--ink);color:var(--white)}
.js .nav-shell.is-open{background:var(--white);border-bottom:1px solid var(--ink)}
.primary-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:4px 0 10px;min-height:0}
.primary-nav>a,.nav-more summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 2px;font-size:17px;border-bottom:1px solid var(--line)}
.primary-nav>a::after{content:'←';color:var(--muted);font-size:15px}
.primary-nav>a[aria-current=page]{border-bottom-color:var(--line);font-weight:700}
.nav-more summary{font-size:17px;list-style:none}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::after{content:'+';font-size:22px;line-height:1;color:var(--accent)}
.nav-more[open] summary::after{content:'−'}
.nav-more-panel{padding:0 18px 0 0;border:0;background:transparent}
.primary-nav .nav-more-panel a{display:flex;align-items:center;min-height:48px;padding:10px 2px;font-size:16px;border-bottom:1px solid var(--line)}
}

/* 3. Homepage rails on mobile. */
@media(max-width:760px){
.cards.rail{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;margin-inline:-18px;padding:0 18px 10px;scroll-padding-inline:18px;scrollbar-width:thin}
.cards.rail .story{display:block;scroll-snap-align:start;padding:0;border:0}
.cards.rail .story .image-link{margin-top:0}
.cards.rail .story .image-link img{aspect-ratio:16/10}
.cards.rail .story .label{margin-top:12px}
.cards.rail .story h3{font-size:19px}
.cards.rail .story p{display:block;font-size:14px}
.rail-hint{font-size:13px;color:var(--muted);margin:-12px 0 14px}
}
@media(min-width:761px){.rail-hint{display:none}}
.pulse-top{margin-top:0}

/* 4. Article header: tighter path to the photo. */
.breadcrumb{margin:20px 0 14px}
.article-header{margin-bottom:22px}
.article-header h1{margin:8px 0 12px;line-height:1.3}
.article-header .lead{margin:0 0 14px}
.article-header .meta{gap:6px 14px}
.article-header .meta time{white-space:nowrap}
@media(max-width:760px){.breadcrumb{margin:14px 0 8px}.article-header h1{font-size:30px}.article-header .lead{font-size:17px}.article-figure{margin-inline:-18px}.article-figure figcaption{padding-inline:18px}}

/* 6. Archive section note. */
.section-note{font-size:14px;color:var(--muted);margin:-14px 0 24px}

/* 9. Category band: slimmer, with counts. */
.category-band{padding:28px 34px}
.category-band h2{margin:8px 0 16px}
.category-links a{align-items:center}
.cat-meta{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.cat-meta small{font-size:12px;color:#c9d8cd;font-weight:400}
@media(max-width:760px){.category-band{padding:22px 18px}}

/* 10. Tap targets. */
.section-head a,.breadcrumb a,.footer-links a,.footer-contact a,.top-actions>a,.back-link,.info-page>a{min-height:44px;display:inline-flex;align-items:center}
.breadcrumb{align-items:center;row-gap:0}
.article-aside .toc a{min-height:44px}

/* 11. Search pagination. */
.more-wrap{text-align:center;margin:34px 0 10px}
.more-button{border:1px solid var(--ink);background:var(--white);color:var(--ink);padding:12px 26px;min-height:48px;cursor:pointer;font-weight:700}
.more-button:hover{background:var(--ink);color:var(--white)}

/* 12. Footer contrast and alignment. */
.footer-description,.footer-contact{color:#e0e9e1}
.footer-links{grid-template-columns:repeat(2,minmax(150px,auto));gap:0 48px;align-content:start}
.footer-links a{text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{color:#e0e9e1;font-size:13px}
@media(max-width:760px){.footer-links{grid-template-columns:1fr 1fr;gap:0 24px}}

/* 13. 404 page extras. */
.notfound-search{margin:22px 0 8px}
.notfound-latest{margin-top:40px}
.zp-privacy-only #zp-description,.zp-privacy-only fieldset,.zp-privacy-only .zp-options,.zp-privacy-only #zp-reset,.zp-privacy-only #zp-consent-title{display:none}.zp-privacy-only .zp-consent-section{border-top:0;margin-top:8px}
