/* Elegantim — shared stylesheet (home now; section/article pages later reuse the same components).
   Grid & type tokens: design/grid-type-spec.md. RTL-native: logical properties throughout,
   physical fallbacks only inside @supports not(...) for engines without logical properties.
   No texture, shadows, gradients, animation or carousels by design. */

/* ── Metric-adjusted local fallbacks (reduce layout shift while web fonts swap in) ── */
@font-face{font-family:"Head Fallback";src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("David");size-adjust:104%;ascent-override:92%;descent-override:30%}
@font-face{font-family:"Body Fallback";src:local("Arial"),local("ArialMT"),local("Arial Hebrew");size-adjust:94%;ascent-override:100%;descent-override:30%}

/* ── 1. Tokens ── */
:root{
  --page-max:77.5rem;
  --cols:4; --gutter:1rem; --margin:1rem;
  --ink:#111; --ink-2:#111; --paper:#ede4d0; --line:#111;  /* black ink on flat aged newsprint (#111 on #ede4d0 ≈ 15:1); no greys, no accents, no texture */
  --rule:1px solid var(--ink);
  --rule-light:1px dotted var(--ink);   /* rule hierarchy: dotted = between list items */
  --rule-col:1px solid var(--ink);      /* solid hairline = band & column rules; 2px = kickers; double = masthead/footer */
  --rule-double:3px double var(--ink);
  --font-head:"Frank Ruhl Libre","Noto Serif Hebrew","Head Fallback","David","Times New Roman",serif;
  --font-body:"Assistant","Heebo","Noto Sans Hebrew","Body Fallback","Arial Hebrew",Arial,system-ui,sans-serif;
  --font-mast-he:"Noto Serif Hebrew","Frank Ruhl Libre","Head Fallback","David","Times New Roman",serif;
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4rem;
  --t-mast:clamp(3.5rem, 2rem + 6vw, 7.5rem);
  --t-h1:clamp(1.75rem,1.2rem + 3vw,3.75rem);
  --t-h2:clamp(1.375rem, 1.1rem + 1.2vw, 2rem);
  --t-h3:clamp(1.125rem, 1rem + .5vw, 1.375rem);
  --t-h4:1.0625rem;
  --t-dek:clamp(1.0625rem, 1rem + .3vw, 1.25rem);
  --t-body:clamp(1.0625rem, 1rem + .25vw, 1.125rem);
  --t-meta:.875rem; --t-kicker:.875rem; --t-caption:.8125rem; --t-nav:1rem;
  --row-gap:var(--s5);
}
@media (min-width:40em){:root{--cols:6;--gutter:1.25rem;--margin:1.5rem}}
@media (min-width:64em){:root{--cols:12;--gutter:1.5rem;--margin:2rem;--row-gap:var(--s6)}}
@media (min-width:80em){:root{--gutter:2rem}}

/* ── 2. Base ── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#ede4d0;color-scheme:light}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--t-body);font-weight:500;
  line-height:1.7;font-synthesis:none;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1;font-optical-sizing:auto;overflow-wrap:break-word}
h1,h2,h3,h4{margin:0;font-family:var(--font-head);font-weight:700;line-height:1.2;text-wrap:balance;text-rendering:optimizeLegibility;font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1}
p{margin:0;text-wrap:pretty}
ul,ol{margin:0;padding:0;list-style:none}
img,svg{display:block;max-inline-size:100%}
figure,blockquote{margin:0}
bdi,.o-num,time{unicode-bidi:isolate}
.o-num,time{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"kern" 1,"lnum" 1,"tnum" 1}
[lang="en"]{font-family:"Frank Ruhl Libre","Head Fallback",Georgia,serif}
[lang="en"] .meta,[lang="en"].meta{font-family:var(--font-body)}

/* Links: always underlined (thin); headline links lighter underline that darkens on hover/focus */
a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{text-decoration-thickness:2px}
.section-nav a{text-decoration-color:currentColor;text-decoration-thickness:1px}
/* Headlines: no underline at rest (a headline is self-evidently a link); hairline underline on hover/focus, skipping descenders.
   Body, meta and inline links keep their underline. */
.story__title a{text-decoration:none}
.story__title a:hover,.story__title a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-skip-ink:all}
.section-nav a:hover,.section-nav a:focus-visible{text-decoration-thickness:2px}
.masthead__name a{text-decoration:none}

/* Focus: visible ring; :focus fallback for engines without :focus-visible */
:focus{outline:3px solid var(--ink);outline-offset:3px}
@supports selector(:focus-visible){:focus:not(:focus-visible){outline:none}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}}
main:focus{outline:none}

.skip-link{position:absolute;inset-block-start:var(--s2);inset-inline-start:var(--s2);z-index:10;padding:var(--s2) var(--s4);
  background:var(--ink);color:var(--paper);font-weight:600;transform:translateY(-200%)}
.skip-link:focus{transform:none}
.visually-hidden{position:absolute!important;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ── 3. Page & grid ── */
.page{max-inline-size:var(--page-max);margin-inline:auto;padding-inline:var(--margin);padding-block-end:var(--s6)}
.rule{border:0;border-block-start:var(--rule);margin-block:var(--s6)}
.rule--double{border-block-start:var(--rule-double)}

/* ── 4. Masthead (full, home) ── */
.masthead{border-block-start:var(--rule-double);padding-block-start:var(--s2);text-align:center}
.masthead__meta{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:var(--s1) var(--s5);
  font-family:var(--font-mast-he);font-weight:500;font-size:var(--t-meta);line-height:1.5;color:var(--ink);
  padding-block-end:var(--s2);border-block-end:var(--rule-col)}
.masthead__ear{text-align:center}
@media (min-width:40em){.masthead__ear{border:var(--rule-col);padding:var(--s1) var(--s3);text-align:start;min-block-size:4.25em}.masthead__time{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:end}}
@media (min-width:64em){.masthead__ear{min-inline-size:15em}}
/* Live clock: HH:MM:SS baked into the HTML; seconds + bar are shown by html.js (set in <head> before first paint),
   so home.js only swaps digits. Fixed-size box + tabular digits = zero layout shift. No blinking colon.
   No-JS: html.js is absent, so the page shows the build time HH:MM and no bar. */
.masthead__time{gap:var(--s1)}
.clock{display:inline-block;box-sizing:content-box;inline-size:8ch;text-align:center;font-family:var(--font-body);font-weight:700;font-size:1.375em;line-height:1.1;letter-spacing:0;
  font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;overflow:hidden}
.clock__label{font-weight:600}
.clock__bar{display:block;block-size:2px;inline-size:8em;max-inline-size:100%;margin-block-start:.3em;border-block-end:1px solid var(--ink);direction:ltr;overflow:hidden}
.clock__bar-fill{display:block;block-size:100%;inline-size:0;background:var(--ink)}
html:not(.js) .clock__secs,html:not(.js) .clock__bar{display:none}
@media (max-width:39.99em){.masthead__time{display:inline-flex;flex-direction:column;align-items:center}}
.masthead__name{margin-block:0;padding-block:var(--s4) var(--s3);border-block-end:var(--rule-double)}
.mast{display:inline-block;color:var(--ink);padding:var(--s1) var(--s2)}
.masthead__logo{block-size:var(--t-mast);inline-size:auto;max-inline-size:100%;margin-inline:auto}
@media (max-width:22em){.masthead__logo{block-size:auto;inline-size:100%}}
.section-nav{border-block-end:var(--rule)}
.section-nav ul{display:flex;flex-wrap:wrap;justify-content:center;overflow:visible;gap:0 var(--s1);padding-block:var(--s1)}
.section-nav li{flex:0 0 auto}
.section-nav a{display:block;padding:var(--s2) var(--s3);min-block-size:44px;font-weight:600;font-size:var(--t-nav);line-height:1.75}
@media (min-width:40em){
  .masthead__meta{justify-content:space-between}
}

/* Compact header (inner pages, later): small wordmark at inline-start (right), section + date at inline-end */
.masthead--compact{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);border-block-start:0;
  border-block-end:var(--rule);padding-block:var(--s3);text-align:start}
.masthead--compact .masthead__logo{block-size:var(--t-h2)}

/* ── 4b. Reader filter "התאמת הגיליון" (shown only with JS; html.js is set by the inline <head> script) ──
   Per-category hide rules (html.hide-<slug> [data-cat=<slug>]) are generated by render_home.py into <style id="cat-rules">. */
[hidden]{display:none!important}
.cat-filter{display:none;border-block-end:var(--rule-col);font-family:var(--font-body)}
html.js .cat-filter{display:block}
.cat-filter__summary{display:flex;justify-content:center;align-items:center;gap:var(--s1);min-block-size:44px;cursor:pointer;
  font-size:var(--t-kicker);font-weight:700;line-height:1.3;list-style:none}
.cat-filter__summary::-webkit-details-marker{display:none}
.cat-filter__summary::after{content:"+";font-weight:700;inline-size:1em;text-align:center}
.cat-filter[open] .cat-filter__summary::after{content:"−"}
.cat-filter__count{font-weight:500}
.cat-filter__panel{border-block-start:var(--rule-light);padding-block:var(--s3) var(--s4);text-align:center}
.cat-filter__hint{font-size:var(--t-meta);line-height:1.5;margin-block:0 var(--s3);max-inline-size:40em;margin-inline:auto}
.cat-filter__chips{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s2);margin:0;padding:0}
.chip,.cat-filter__reset{font:inherit;font-size:var(--t-kicker);font-weight:700;line-height:1.3;color:var(--ink);background:transparent;
  border:1px solid var(--ink);border-radius:0;min-block-size:44px;min-inline-size:44px;padding:var(--s1) var(--s3);cursor:pointer}
.chip::before{content:"✓\00a0";font-weight:700}
.chip[aria-pressed="false"]{border-style:dashed;font-weight:500;text-decoration:line-through;text-decoration-thickness:1px}
.chip[aria-pressed="false"]::before{content:"\00a0\00a0";}
.chip:hover,.cat-filter__reset:hover{border-width:2px;padding:calc(var(--s1) - 1px) calc(var(--s3) - 1px)}
.cat-filter__actions{margin-block:var(--s3) 0}
.cat-filter__reset{font-weight:600;text-decoration:underline;text-underline-offset:.2em;border-color:transparent;border-block-start-color:var(--ink)}
.cat-filter__reset:disabled{cursor:default;text-decoration:none;opacity:1;font-weight:500}
.cat-filter__reset:disabled:hover{border-width:1px;padding:var(--s1) var(--s3)}

/* ── 5. Breaking strip (static editorial list — no motion) ── */
.breaking{display:grid;gap:var(--s2) var(--s4);padding-block:var(--s3);border-block-end:var(--rule-double)}
@media (max-width:39.99em){.breaking__item:nth-child(n+4){display:none}.section-nav a{padding:var(--s2)}}
.breaking__label{font-family:var(--font-body);font-size:var(--t-kicker);font-weight:700;line-height:1.3;
  border-block-start:2px solid var(--ink);padding-block-start:var(--s1);align-self:start;justify-self:start}
.breaking__list{display:grid;gap:var(--s2)}
.breaking__item{font-size:.9375rem;line-height:1.5}
.breaking__item time{font-weight:700;margin-inline-end:var(--s1)}
.breaking__item-src,.flashes__item-src,.side-more__item-src{font-size:var(--t-meta);color:var(--ink-2);white-space:nowrap}
.breaking__item-src::before,.flashes__item-src::before,.side-more__item-src::before{content:"· "}
@media (min-width:64em){
  .breaking{grid-template-columns:auto 1fr}
  .breaking__list{grid-template-columns:repeat(5,minmax(0,1fr));column-gap:var(--gutter)}
  .breaking__item+.breaking__item{border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
}

/* ── 6. Front-page grid: source order = mobile order; desktop placement by grid lines ── */
.front{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--row-gap);padding-block-start:var(--s5)}
.front>*{grid-column:1/-1;min-inline-size:0}
.front__side,.rail,.front__top,.front__sections,.band{border-block-start:var(--rule-col);padding-block-start:var(--s4)}
.front__side,.front__top,.front__sections,.originals__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s5) var(--gutter)}
@media (min-width:40em){
  .front__side,.front__top,.front__sections,.originals__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .front__side>:nth-child(2n),.front__top>:nth-child(2n),.front__sections>:nth-child(2n),.originals__grid>:nth-child(2n){
    border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
  .front__side>:nth-child(3){grid-column:1/-1;border-inline-start:0;padding-inline-start:0;margin-inline-start:0;border-block-start:var(--rule-light);padding-block-start:var(--s4)}
  .front__top>:nth-child(n+3),.front__sections>:nth-child(n+3){border-block-start:var(--rule-light);padding-block-start:var(--s4)}
}
@media (min-width:64em){
  /* ONE vertical axis on every band: main well = lines 1–10 (9 cols), side = 10–13 (3 cols).
     Source order is the phone order (lead → side → top → sections → rail); desktop placement is by grid lines only. */
  .front__lead{grid-column:1/10;grid-row:1}
  .front__side{grid-column:10/13;grid-row:1/span 2;align-self:start;grid-template-columns:minmax(0,1fr);border-block-start:0;padding-block-start:0;
    border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
  .front__side>*{border-inline-start:0!important;padding-inline-start:0!important;margin-inline-start:0!important}
  .front__side>*+*{border-block-start:var(--rule-light);padding-block-start:var(--s4)}
  /* No hole under the side column: the side stretches over rows 1–2 (sized by lead+top or by the secondaries,
     whichever is taller); the "עוד כותרות" list is size-contained (adds 0 to the row height) and takes the rest.
     Items that don't fit wrap into a clipped 2nd column, so only whole headlines show; home.js then hides the clipped ones. */
  .front__side{align-self:stretch;display:flex;flex-direction:column;gap:var(--s4)}
  .front__side>.side-more{flex:1 1 0;min-block-size:0;contain:size;overflow:hidden;display:flex;flex-direction:column}
  .side-more__list{flex:1 1 0;min-block-size:0;display:flex;flex-flow:column wrap;align-content:flex-start;overflow:hidden}
  .side-more__item{inline-size:100%;flex:none}
  .front__top{grid-column:1/10;grid-row:2;align-self:start;grid-template-columns:repeat(3,minmax(0,1fr))}
  .front__top>*{border-inline-start:0;padding-inline-start:0;margin-inline-start:0;border-block-start:0;padding-block-start:0}
  .front__top>:not(:nth-child(3n+1)){border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
  .front__top>:nth-child(n+4){border-block-start:var(--rule-light);padding-block-start:var(--s4)}
  .front__sections{grid-column:1/10;grid-row:3;grid-template-columns:repeat(3,minmax(0,1fr))}
  .front__sections>*{border-inline-start:0;padding-inline-start:0;margin-inline-start:0}
  .front__sections>:nth-child(-n+3){border-block-start:0;padding-block-start:0}
  .front__sections>:not(:nth-child(3n+1)){border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
  .rail{grid-column:10/13;grid-row:3;align-self:start;border-inline-start:var(--rule-col);padding-inline-start:calc(var(--gutter)/2);margin-inline-start:calc(var(--gutter)/-2)}
  .originals{grid-row:4}.english{grid-row:5}
  .originals__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .story--lead .story__dek{columns:auto;max-inline-size:38em}
}
/* Filter collapse: home.js removes hidden items from the flow and flags empty zones on .front, so no grid holes remain */
@media (min-width:40em){
  /* an odd item left over after filtering takes the whole row instead of leaving an empty cell */
  .front__top>:last-child:nth-child(odd),.front__sections>:last-child:nth-child(odd),.front__side>:only-child{grid-column:1/-1;border-inline-start:0;padding-inline-start:0;margin-inline-start:0}
}
@media (min-width:64em){
  .front__sections>:last-child:nth-child(odd),.front__top>:last-child:nth-child(odd){grid-column:auto}
  .front__top>:last-child:nth-child(3n+2){grid-column:span 2}
  .front__top>:last-child:nth-child(3n+1){grid-column:1/-1}
  .front__top>:last-child:nth-child(3n+1):not(:first-child){border-inline-start:0;padding-inline-start:0;margin-inline-start:0}
  .front--no-rail .front__sections{grid-column:1/-1}
  .front__sections>:last-child:nth-child(3n+2){grid-column:span 2}
  .front__sections>:last-child:nth-child(3n+1){grid-column:1/-1}
  .front__sections>:last-child:nth-child(3n+1):not(:first-child){border-inline-start:0;padding-inline-start:0;margin-inline-start:0}
  .front--no-side .front__lead,.front--no-side .front__top{grid-column:1/-1}
  .front--no-top .front__side{grid-row:1}
  .front--no-top .front__sections,.front--no-top .rail{grid-row:2}
  .front--no-top .originals{grid-row:3}.front--no-top .english{grid-row:4}
  .front--no-sections .rail{grid-column:1/-1;border-inline-start:0;padding-inline-start:0;margin-inline-start:0}
  .front--no-sections .voices__list,.front--no-sections .flashes__list{columns:3;column-gap:var(--gutter)}
  .front--no-sections .voices__item,.front--no-sections .flashes__item{break-inside:avoid}
}

/* ── 7. Components ── */
.kicker{display:inline-block;font-family:var(--font-body);font-size:var(--t-kicker);font-weight:700;line-height:1.3;
  border-block-start:2px solid var(--ink);padding-block-start:var(--s1);margin-block-end:var(--s2)}
.story{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s2)}
.story>*{max-inline-size:100%}
.story__dek{text-wrap:pretty}
/* Image-ready (off on the home page for now): figure sits ABOVE the headline, full column width */
.story--has-figure>.figure{margin-block:0 var(--s2)}
.story__title{font-size:var(--t-h3);line-height:1.2}
.story--lead .story__title{font-size:var(--t-h1);font-weight:900;line-height:1.1}
.story--secondary .story__title{font-size:var(--t-h2);line-height:1.15}
.story--brief .story__title{font-size:var(--t-h4);font-weight:700;line-height:1.3}
.story__dek{font-size:var(--t-body);line-height:1.7;color:var(--ink);max-inline-size:38em;text-align:start}
.story--lead .story__dek{font-size:var(--t-dek);line-height:1.6;border-block-start:var(--rule);padding-block-start:var(--s3);margin-block-start:var(--s1)}
/* Lead copy set in narrow newspaper columns with hairline column rules (desktop) */
@media (min-width:64em){.story--lead .story__dek{max-inline-size:none;columns:2 16em;column-gap:var(--gutter);column-rule:var(--rule-col)}}
/* Secondary copy: compact running paragraphs */
.front__side .story__dek,.front__top .story__dek,.section-block .story__dek{font-size:1rem;line-height:1.55}
.front__side .story--secondary .story__title{font-size:var(--t-h3)}
.story__more{margin-block-start:var(--s1)}
.cta{display:inline-block;font-weight:600;border:var(--rule);padding:var(--s2) var(--s4);text-decoration:none;min-block-size:44px}
.cta:hover{background:var(--ink);color:var(--paper)}
.cta:hover bdi{color:inherit}
.meta{font-family:var(--font-body);font-size:var(--t-meta);font-weight:500;line-height:1.4;color:var(--ink)}
.meta__src{font-weight:600}
.meta a{color:var(--ink)}
.meta__via{font-weight:500}

.figure{inline-size:100%;margin-block:var(--s1)}
.figure img{inline-size:100%;block-size:auto;aspect-ratio:3/2;object-fit:cover;filter:grayscale(1)}
.figure--lead img{aspect-ratio:16/9}
.figure__cap{font-size:var(--t-caption);line-height:1.45;color:var(--ink-2);padding-block-start:var(--s1)}
@supports not (aspect-ratio:1/1){.figure img{block-size:auto}}

.section-block{display:flex;flex-direction:column;gap:var(--s3)}
/* Section heads: a serif "sign" (Frank Ruhl 700) between a 2px rule and a hairline — not a widget label */
.section-block__title,.band__title,.rail__title{font-family:var(--font-head);font-size:clamp(1.25rem,1.1rem + .5vw,1.5rem);font-weight:700;line-height:1.15;
  display:block;border-block-start:2px solid var(--ink);border-block-end:var(--rule-col);padding-block:var(--s2);margin-block:0 var(--s3)}
.section-block__list>li{border-block-start:var(--rule-light);padding-block:var(--s3)}

.rail__sub{font-family:var(--font-body);font-size:var(--t-kicker);font-weight:700;line-height:1.3;margin-block:var(--s5) var(--s2);border-block-end:var(--rule-light);padding-block-end:var(--s1)}
.pullquote{border-block:var(--rule);padding-block:var(--s4)}
.pullquote__text{font-family:var(--font-head);font-size:var(--t-h3);font-weight:700;line-height:1.35}
.pullquote__who{font-size:var(--t-meta);font-weight:600;color:var(--ink-2);margin-block-start:var(--s2)}
.flashes__item{font-size:.9375rem;line-height:1.5;padding-block:var(--s2);border-block-end:var(--rule-light)}
.flashes__item time{font-weight:700;margin-inline-end:var(--s1)}
/* "עוד כותרות" — headline-only filler at the foot of the side column */
.side-more__h{margin-block-start:0}
.side-more__item{font-size:.9375rem;line-height:1.45;padding-block:var(--s2);border-block-start:var(--rule-light)}
.side-more__item:first-child{border-block-start:0;padding-block-start:0}
.side-more__item a{font-family:var(--font-head);font-weight:700;font-size:1.0625rem;text-decoration:none}
.side-more__item a:hover,.side-more__item a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-skip-ink:all}
.side-more__item time{font-weight:700;margin-inline-end:var(--s1)}
@media (max-width:63.99em){.side-more__item:nth-child(n+5){display:none}.side-more{grid-column:1/-1}}
@media (min-width:40em) and (max-width:63.99em){.side-more__list{columns:2;column-gap:var(--gutter)}.side-more__item{break-inside:avoid}.side-more__item:nth-child(3){border-block-start:0;padding-block-start:0}}
.voices__intro{font-size:var(--t-meta);color:var(--ink-2);line-height:1.5;margin-block-end:var(--s2)}
.voices__item{padding-block:var(--s2);border-block-end:var(--rule-light);line-height:1.45;font-size:.9375rem}
.voices__name{font-weight:700}
.voices__handle{display:inline-block;font-size:var(--t-meta);color:var(--ink-2);direction:ltr}
.voices__cat{display:block;font-size:.8125rem;color:var(--ink-2)}
@media (min-width:40em) and (max-width:63.99em){.voices__list,.flashes__list{columns:2;column-gap:var(--gutter)}.voices__item,.flashes__item{break-inside:avoid}}

.english__list{display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--gutter)}
.english__list>li{border-block-start:var(--rule-light);padding-block:var(--s3)}
@media (min-width:40em){.english__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:64em){.english__list{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Ad slot pattern (no ads today). Usage: <aside class="ad-slot" aria-label="פרסומת">…</aside> */
.ad-slot{border:var(--rule-light);padding:var(--s3);margin-block:var(--s5)}
.ad-slot::before{content:"פרסומת";display:block;font-size:var(--t-caption);font-weight:600;color:var(--ink-2);margin-block-end:var(--s2)}

/* ── 8. Footer ── */
.footer{margin-block-start:var(--s7);border-block-start:var(--rule-double);padding-block-start:var(--s4);font-size:.9375rem;line-height:1.7;color:var(--ink)}
.footer__name{text-align:center;margin-block:0 var(--s2)}
.footer__name a{display:inline-block;text-decoration:none;padding-block:var(--s1)}
.footer__logo{display:block;block-size:2.25rem;inline-size:auto;margin-inline:auto}
.footer__about,.footer__legal{max-inline-size:44em;margin-inline:auto;text-align:center;margin-block:var(--s2)}
.footer__h{font-family:var(--font-body);font-size:var(--t-kicker);font-weight:700;text-align:center;margin-block-start:var(--s4)}
.footer__sources{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--s1);margin-block:var(--s2)}
.footer__sources a{display:inline-block;padding:var(--s2) var(--s2);min-block-size:44px}
.footer__legal{border-block-start:var(--rule-col);padding-block-start:var(--s3);color:var(--ink-2)}
.footer__top{text-align:center;margin-block-start:var(--s4)}
.footer__top a{display:inline-block;padding:var(--s2) var(--s3);font-weight:600}

/* ── 9. Fallbacks ── */
@supports not (display:grid){
  .front,.front__side,.front__top,.front__sections,.originals__grid,.english__list,.breaking__list{display:flex;flex-wrap:wrap}
  .front>*,.front__side>*,.front__top>*,.front__sections>*,.english__list>*{flex:1 1 18rem;margin:0 0 var(--s5)}
}
@supports not (margin-inline-start:0){
  .page{margin-left:auto;margin-right:auto;padding-left:var(--margin);padding-right:var(--margin)}
  .rail,.front__side{border-right:1px solid var(--line)}
}

/* ── 9b. Ink: a whisper of same-colour spread, as if the ink soaked into newsprint (screen only) ── */
:root{--ink-bleed:0 0 .4px rgba(17,17,17,.55),0 0 1px rgba(17,17,17,.18);--ink-bleed-body:0 0 .3px rgba(17,17,17,.35)}
.story__title,.kicker,.section-block__title,.band__title,.rail__title,.voices__name,.pullquote,.clock,.breaking__label,.footer__name{text-shadow:var(--ink-bleed)}
body{text-shadow:var(--ink-bleed-body)}
.masthead__logo,.footer__logo{filter:drop-shadow(0 0 .5px rgba(17,17,17,.6)) drop-shadow(0 0 1.2px rgba(17,17,17,.2))}
@media print{*,body{text-shadow:none!important}.masthead__logo,.footer__logo{filter:none!important}}
@media (forced-colors:active){*,body{text-shadow:none!important}.masthead__logo{filter:none!important}}

/* ── 10. Print ── */
@media print{
  @page{margin:15mm}
  body{font-size:11pt;line-height:1.5}
  .skip-link,.section-nav,.cat-filter,.breaking,.rail,.footer__top,.cta,.ad-slot{display:none!important}
  .front{display:block}
  .story,.section-block{break-inside:avoid;margin-block-end:8mm}
  .figure img{max-block-size:60mm;inline-size:auto}
  a{text-decoration:none}
  .story--lead .story__title a::after{content:" ‹" attr(href) "›";font-size:9pt;font-family:var(--font-body);word-break:break-all}
}
.meta bdi,.breaking__item-src bdi,.flashes__item-src bdi,.side-more__item-src bdi{white-space:nowrap}
/* Narrow desktop (1024–1279px): the 3-col side is slim, so cap secondary teasers at 3 lines to keep the side no taller than lead+top */
@media (min-width:64em) and (max-width:79.99em){.front__side .story__dek{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}}
/* Tablet: an odd secondary left just before "עוד כותרות" takes the full row (no half-empty row) */
@media (min-width:40em) and (max-width:63.99em){.front__side>.story:nth-child(odd):nth-last-child(2){grid-column:1/-1;border-inline-start:0;padding-inline-start:0;margin-inline-start:0}}
