/* ===========================================================================
   המבצר — section stylesheet
   ---------------------------------------------------------------------------
   Namespace: .fortress   ·   emitted by rgb_get_fortress_template() as
   <article class="article fortress …">

   Zman's stylesheet is global, so every rule here is prefixed .article.fortress
   (two classes) to beat the theme's single-class rules without !important.

   Written against the real theme structure, following the .project.opinion
   precedent at style.css:1381-1399. Base rules being overridden:
     .article               640px, white, shadow, radius 6  (style.css:184)
     .article-header-content padding 25px 30px 0            (:205)
     .above-headline        margin 0 30px, border-bottom     (:185)
     .headline              34/40 weight 500                 (:209)
     .underline             18/26                            (:211)
     .article-content       18/30 right                      (:180)
     .article-body          text-align center                (:212)
   =========================================================================== */

.article.fortress{
  --ftr-ink:#08201B;
  --ftr-forest:#12312B;
  --ftr-acid:#8BE86A;
  --ftr-bone:#EAF6EE;
  --ftr-red:#E23B2E;
  --ftr-grey:#5C6360;
  --ftr-line:#E3E6E4;
  --ftr-yellow:#F5E14B;
}

/* ---------------------------------------------------------------------------
   1 · header — dotted forest zone, acid rule at its foot
   --------------------------------------------------------------------------- */
.article.fortress > .article-header{
  position:relative;overflow:hidden;
  background-color:var(--ftr-forest);
  color:var(--ftr-bone);
  margin-bottom:0;            /* .info continues the band; see §1.1 */
}
.article.fortress > .article-header::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(139,232,106,.16) 1px,transparent 1.4px);
  background-size:7px 7px;
  /* anchored to the BOTTOM edge, because that edge is the seam with .info.
     .info anchors its grid to its TOP edge — the same line — so the rows line
     up across the join and the two dot fields read as one. Anchoring both to
     the top instead leaves the grids out of phase by (header height mod 7px),
     and the mismatched row is what was reading as a dotted rule. */
  background-position:0 100%;
}
.article.fortress > .article-header > *{position:relative;z-index:1;}

/* byline row — kill the dark divider, lift the text off the dark ground */
.article.fortress > .article-header .above-headline{border-bottom:1px solid rgba(139,232,106,.28);}
.article.fortress > .article-header .above-headline .info .byline a,
.article.fortress > .article-header .above-headline .info .topic{color:var(--ftr-acid);}
.article.fortress > .article-header .above-headline .info .date,
.article.fortress > .article-header .above-headline .info .editlink,
.article.fortress > .article-header .above-headline .social-mobile-btn{color:rgba(234,246,238,.55);}
body:not(.mobile) .article.fortress > .article-header .above-headline .social li a::before{color:rgba(234,246,238,.55);}

/* headline + dek */
.article.fortress > .article-header .headline{
  font-family:"Fedra Sans Hebrew VF",arial,sans-serif;
  font-size:46px;font-weight:700;line-height:1.08;
  color:#fff;text-align:center;margin:0 40px 18px;
}
.article.fortress > .article-header .underline{
  color:var(--ftr-bone);text-align:center;font-style:normal;margin:0 40px 24px;
}
.article.fortress > .article-header .overline{
  background:var(--ftr-acid);color:var(--ftr-ink);
  box-shadow:10px 0 0 var(--ftr-acid),-10px 0 0 var(--ftr-acid);
  -webkit-box-shadow:10px 0 0 var(--ftr-acid),-10px 0 0 var(--ftr-acid);
}

/* the acid kicker chip — built by fortress_kicker() from article_label +
   article_overline; known section names are links, the rest is plain text */
.article.fortress > .article-header .project-name{
  display:inline-block;
  background:var(--ftr-acid);color:var(--ftr-ink);
  font-family:"Fedra Sans Hebrew VF",arial,sans-serif;
  font-size:15px;font-weight:700;letter-spacing:.04em;line-height:1.6;
  padding:5px 14px;margin-bottom:14px;
}
.article.fortress > .article-header .ftr-kicker a,
.article.fortress > .article-header .ftr-kicker span{color:var(--ftr-ink);}
.article.fortress > .article-header .ftr-kicker a{text-decoration:none;}
.article.fortress > .article-header .ftr-kicker a:hover{opacity:.7;}
.article.fortress > .article-header .ftr-kicker i{font-style:normal;opacity:.45;margin:0 7px;}
.article.fortress > .article-header .article-header-content{text-align:center;}

/* the subsection line under the chip — האחראים · חברי כנסת */
.article.fortress > .article-header .ftr-sub{
  font-size:14px;color:rgba(234,246,238,.62);margin:0 0 16px;
}
.article.fortress > .article-header .ftr-sub a{color:rgba(234,246,238,.62);text-decoration:none;}
.article.fortress > .article-header .ftr-sub a:hover{color:var(--ftr-acid);}
.article.fortress > .article-header .ftr-sub i{font-style:normal;opacity:.5;margin:0 6px;}

/* Hero images are duotoned in the image pipeline before upload, not in CSS —
   the treatment has to survive as og:image when the article is shared, and CSS
   cannot reach a share preview. Ask the team for greyscale masters as well, so
   a palette change can be re-batched.
   Shadows #12312B · highlights #8BE86A */

/* ---------------------------------------------------------------------------
   1.1 · the .info band — byline, share row, date
   ---------------------------------------------------------------------------
   The theme styles this block as .article-body > .info, so it has to stay a
   direct child of .article-body. Rather than move the markup into the header,
   the header's ground is carried down over it: same forest, same dot screen,
   and the acid rule that used to close the header now closes this band, so the
   two read as one and the doors butt onto the result.
   --------------------------------------------------------------------------- */
.article.fortress .article-body > .info{
  position:relative;overflow:hidden;
  background-color:var(--ftr-forest);
  /* the theme puts 1px dotted #BFBFBF on both edges of this block. On white
     they are invisible; on the forest ground they read as rules across the
     header. Both cleared. The acid line belongs to the cards, not here — an
     article with no [fortress_cards] would otherwise get a rule sitting
     directly on top of its opening paragraph. */
  border-top:0;
  border-bottom:0;
  margin:0 auto;padding-bottom:20px;
}
.article.fortress .article-body > .info::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(139,232,106,.16) 1px,transparent 1.4px);
  background-size:7px 7px;
  background-position:0 0;
}
.article.fortress .article-body > .info > *{position:relative;z-index:1;}
.article.fortress .article-body > .info .byline-div{
  border-top:1px dashed rgb(147,167,160);
  width:580px;
  max-width:calc(100vw - 40px);
  margin:-10px auto 0;
  padding-top:20px;
}
.article.fortress .article-body > .info,
.article.fortress .article-body > .info .byline,
.article.fortress .article-body > .info .byline-div{color:var(--ftr-bone);}
.article.fortress .article-body > .info .byline a,
.article.fortress .article-body > .info .byline-div a{color:#fff;}
.article.fortress .article-body > .info .date,
.article.fortress .article-body > .info .editlink,
.article.fortress .article-body > .info .editlink a{color:rgba(234,246,238,.55);}
.article.fortress .article-body > .info .social li a,
.article.fortress .article-body > .info .social li a::before{color:rgba(234,246,238,.6);}

/* ---------------------------------------------------------------------------
   2 · body typography
   --------------------------------------------------------------------------- */
.article.fortress .article-content h2{font-size:30px;line-height:1.16;font-weight:700;margin:14px 0 14px;}
.article.fortress .article-content h4{font-size:18px;line-height:1.35;font-weight:700;margin:20px 0 8px;}

/* the opening record — ●-separated facts — and the right-of-reply block.
   Both are <p> so they inherit the 580px column in big-images mode. */
.article.fortress .article-content p.ftr-brief{margin-bottom:24px;}
.article.fortress .ftr-bsep{color:var(--ftr-grey);padding:0 .5em;font-size:.72em;vertical-align:.12em;}
.article.fortress .article-content p.ftr-reply{
  border-inline-start:3px solid var(--ftr-line);padding-inline-start:16px;
  color:var(--ftr-grey);font-size:.94em;
}

/* ---------------------------------------------------------------------------
   3 · the three cards, and the overlays that hold the squares
   ---------------------------------------------------------------------------
   The squares are not inline. A row of three buttons sits in the body; each
   opens a modal containing the square and its share bar. Keeps the satire out
   of the lead position, behind a click and a disclaimer.
   Hidden overlays are display:none, so they take no part in the grid.
   --------------------------------------------------------------------------- */
.article.fortress .ftr-cards{
  display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;
  background:rgba(139,232,106,.26);
  /* This block used to live inside .article-content and inherit ALL of its type
     settings. As a sibling it inherits none of them, which grew the row by 16px
     and the satire ear with it — and would have changed the typeface too. The
     four are restated verbatim so the block does not depend on where it sits. */
  font-family:"Fedra Sans Hebrew VF",arial,sans-serif;
  font-size:18px;
  font-weight:400;
  line-height:30px;
  /* .ftr-cards is now a SIBLING of .info, rendered by the template rather than
     sitting inside the content — so it butts onto the band with no margin, and
     an article without cards has neither rule nor gap to clean up. */
  border-top:5px solid var(--ftr-acid);
  margin:0;
}
/* hidden overlays are display:none, so they never occupy a column */
/* the gap under the header belongs to the body, so it is there with or without
   the doors above it */
.article.fortress .article-body > .article-content{padding-top:32px;}
.article.fortress .ftr-cards > .ftr-ov{grid-area:auto;}
.article.fortress .ftr-cbtn{
  appearance:none;-webkit-appearance:none;font:inherit;text-align:right;cursor:pointer;
  position:relative;background:var(--ftr-forest);border:0;overflow:hidden;
  padding:22px 22px 20px;display:flex;flex-direction:column;
}
.article.fortress .ftr-cbtn:hover{background:#173a33;}
.article.fortress .ftr-cbtn:focus-visible{outline:3px solid var(--ftr-acid);outline-offset:-3px;}
.article.fortress .ftr-c-k{font-size:23px;font-weight:700;color:#fff;line-height:1.15;}
.article.fortress .ftr-c-d{font-size:14px;line-height:1.6;color:rgba(234,246,238,.72);margin-top:7px;}
.article.fortress .ftr-c-go{margin-top:auto;padding-top:16px;color:var(--ftr-acid);font-weight:700;font-size:14px;}
.article.fortress .ftr-cbtn.is-sat .ftr-c-go{padding-inline-end:86px;}
.article.fortress .ftr-c-tag{
  position:absolute;bottom:0;inset-inline-end:0;
  /* no line-height here: the ear inherits .ftr-cards' 30px, which is what sized
     it when this block still lived inside .article-content. Setting it to 1
     makes the ear short and it no longer sits flush in the corner. */
  font-size:10.5px;font-weight:700;letter-spacing:.16em;
  color:var(--ftr-ink);background:var(--ftr-yellow);padding:5px 10px;
}

/* the modal */
.article.fortress .ftr-ov{
  position:fixed;inset:0;z-index:999999; /* over the support banner, which is
                                            99999 */
  direction:rtl;
  display:flex;align-items:center;justify-content:center;padding:18px;
}
.article.fortress .ftr-ov-panel{direction:rtl;}
.article.fortress .ftr-ov[hidden]{display:none;}
.article.fortress .ftr-ov-bd{position:absolute;inset:0;background:rgba(8,32,27,.92);}
.article.fortress .ftr-ov-panel{
  position:relative;width:100%;max-width:520px;max-height:92vh;overflow:auto;
  filter:drop-shadow(0 18px 44px rgba(0,0,0,.55));
}
.article.fortress .ftr-ov-x{
  position:absolute;top:-38px;inset-inline-end:0;z-index:5;
  appearance:none;-webkit-appearance:none;background:none;border:0;
  color:var(--ftr-bone);font-size:22px;line-height:1;cursor:pointer;padding:6px;
}
.article.fortress .ftr-ov-x:focus-visible{outline:2px solid var(--ftr-acid);outline-offset:2px;}
.article.fortress .ftr-ov-note{
  background:var(--ftr-ink);color:var(--ftr-yellow);
  font-size:12.5px;font-weight:700;padding:7px 12px;
}
/* the boilerplate under the satire square, inside the lightbox — §4.2 */
.article.fortress .ftr-sat-note{
  background:#fff;color:var(--ftr-grey);
  font-size:12.5px;line-height:1.6;margin:0;padding:11px 14px;text-align:right;
}
body.ftr-ov-open{overflow:hidden;}

/* the square itself — font-size is set inline by fortress.js on open */
.article.fortress .ftr-sq{
  aspect-ratio:1/1;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  padding:24px 30px 22px;text-align:right;margin:0;font-size:16px;
}
.article.fortress .ftr-mk{
  position:absolute;top:18px;inset-inline-start:30px;
  font-size:12px;font-weight:700;letter-spacing:.16em;z-index:4;
}
.article.fortress .ftr-sq .ftr-h{
  font-size:1.9em;line-height:1.1;font-weight:700;
  margin:0 0 14px;padding-top:34px;position:relative;z-index:4;
}
/* fortress.js adds this when the content will not fit at a readable size: the
   square gives up its 1:1 lock and grows rather than shrinking the type. */
.article.fortress .ftr-sq.is-tall{aspect-ratio:auto;}
.article.fortress .ftr-sq.is-tall .ftr-body{flex:none;overflow:visible;}

.article.fortress .ftr-body{
  flex:1;min-height:0;overflow:hidden;
  margin-bottom:26px;position:relative;z-index:4;
}
.article.fortress .ftr-foot{
  position:absolute;bottom:18px;inset-inline-start:30px;
  font-size:12px;font-style:italic;opacity:.55;z-index:5;
}

/* share strip under each square */
.article.fortress .ftr-sq-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:9px 2px 0;font-size:13px;color:var(--ftr-bone);flex-wrap:wrap;
}
.article.fortress .ftr-sq-btn{display:flex;gap:6px;}
.article.fortress .ftr-sq-btn b{
  font-weight:600;font-size:12.5px;color:var(--ftr-ink);
  background:#EDF0EE;padding:5px 11px;cursor:pointer;white-space:nowrap;
}
.article.fortress .ftr-sq-btn b:hover{background:var(--ftr-acid);}

/* 3.1 rapsheet — גיליון ציונים (satire)
   Yellow, not ink: ink and acid are the editorial palette, and the satire has
   to sit outside it. Everything on the square is ink. (FORTRESS.md §4.2) */
.article.fortress .ftr-rapsheet{background:var(--ftr-yellow);color:var(--ftr-ink);}
.article.fortress .ftr-rapsheet .ftr-mk{color:var(--ftr-ink);opacity:.7;}
.article.fortress .ftr-rapsheet .ftr-h{color:var(--ftr-ink);}
.article.fortress .ftr-rapsheet ol{list-style:none;counter-reset:g;margin:0;padding:0;}
.article.fortress .ftr-rapsheet li{
  counter-increment:g;position:relative;
  padding-inline-start:1.95em;margin:0 0 .8em;line-height:1.6;
}
.article.fortress .ftr-rapsheet li::before{
  content:counter(g);position:absolute;inset-inline-start:0;top:-.02em;
  font-size:1.55em;font-weight:700;color:var(--ftr-ink);opacity:.55;line-height:1.05;
}
.article.fortress .ftr-rapsheet li:last-child{margin-bottom:0;}

/* the נכשל / נכשלה stamp — outline only, behind the text so it stays legible */
.article.fortress .ftr-stamp{
  position:absolute;bottom:36px;inset-inline-end:30px;z-index:2;
  border:4px solid var(--ftr-red);color:var(--ftr-red);
  font-weight:700;font-size:2.5em;line-height:1.1;
  padding:6px 24px;letter-spacing:.03em;
  transform:rotate(-11deg);pointer-events:none;
}

/* 3.2 archive — מן הארכיון */
.article.fortress .ftr-arch{background:var(--ftr-acid);color:var(--ftr-ink);}
.article.fortress .ftr-arch .ftr-mk{color:var(--ftr-ink);opacity:.6;}
.article.fortress .ftr-rc{border-top:2px solid var(--ftr-ink);padding:.75em 0 .6em;}
.article.fortress .ftr-rc-tag{font-weight:700;font-size:1.55em;}
.article.fortress .ftr-rc-tag span{font-size:.76em;margin-inline-start:6px;}
.article.fortress .ftr-rc-txt{font-weight:700;line-height:1.45;margin:.32em 0 .4em;font-size:1.15em;}
.article.fortress .ftr-rc-src{font-size:.72em;}
.article.fortress .ftr-rc-src a,
.article.fortress .ftr-rc-src span{
  color:var(--ftr-ink);border-bottom:1px solid var(--ftr-ink);text-decoration:none;
}

/* 3.3 portrait — the finished 1:1 image */
.article.fortress .ftr-portrait{padding:0;}
.article.fortress .ftr-portrait img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------------------------------------------------------------------------
   4 · dossier — התיק המלא. Always open; the chapters collapse.
   --------------------------------------------------------------------------- */
.article.fortress .article-content .ftr-dossier{margin:38px -30px 0;text-align:right;}
.article.fortress .ftr-dossier-hd{background:var(--ftr-forest);color:#fff;padding:18px 30px;}
.article.fortress .ftr-dossier-t{margin:0;color:#fff;font-size:22px;font-weight:700;line-height:1.25;}
.article.fortress .ftr-dossier-m{font-size:13.5px;color:var(--ftr-bone);opacity:.85;margin-top:4px;line-height:1.5;}
.article.fortress .ftr-dossier-note{
  font-size:13.5px;color:var(--ftr-grey);padding:13px 30px;background:#F2F5F3;line-height:1.6;
  border-bottom:1px solid var(--ftr-line);
}
.article.fortress .ftr-dossier-in{padding:0;background:#FBFCFB;}

/* chapters are rows in the one box, not boxes inside a box */
.article.fortress .ftr-ch{border:0;border-top:1px solid var(--ftr-line);background:#fff;margin:0;}
.article.fortress .ftr-ch:first-child{border-top:0;}
.article.fortress .ftr-ch summary{
  list-style:none;cursor:pointer;display:grid;grid-template-columns:36px 1fr;
  gap:4px 12px;align-items:baseline;padding:15px 30px;
  background:#F2F5F3;
}
.article.fortress .ftr-ch summary::-webkit-details-marker{display:none;}
.article.fortress .ftr-ch:hover summary{background:#F4F8F5;}
.article.fortress .ftr-ch[open] summary{background:#EDF4EE;border-bottom:1px solid var(--ftr-line);}
.article.fortress .ftr-ch-n{
  grid-row:1/3;font-size:23px;font-weight:700;color:var(--ftr-acid);
  background:var(--ftr-forest);width:36px;height:36px;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.article.fortress .ftr-ch-t{margin:0;font-size:19px;font-weight:700;line-height:1.28;}
.article.fortress .ftr-ch-m{font-size:13px;color:var(--ftr-grey);}
.article.fortress .ftr-ch-in{padding:22px 30px 26px;}
.article.fortress .ftr-ch-in h4{font-size:17px;margin:16px 0 5px;}
.article.fortress .ftr-ch-in h5{font-size:16px;margin:12px 0 4px;}
.article.fortress .ftr-ch-in p:last-child{margin-bottom:0;}

/* The research is written as <ul><li><strong>label:</strong> prose</li> — one
   item per paragraph. [fortress_dossier] unwraps those into real <p>, so the
   only thing left to style is the run-in label. Everything else follows the
   house body style. */
.article.fortress .ftr-ch-in p > strong:first-child{
  display:block;margin-bottom:3px;color:var(--ftr-forest);
}

/* read-more button + related links pick up the section colour */
.article.fortress > .read-more{background-color:var(--ftr-ink);border-color:var(--ftr-ink);}
.article.fortress .related-articles li{background-color:rgba(139,232,106,.14);}

/* ---------------------------------------------------------------------------
   5 · mobile — .article loses its radius and goes full width at 820px in the
   theme's own stylesheet; .article-header-content drops to 20px gutters.
   --------------------------------------------------------------------------- */
@media (max-width:820px){
  /* grid-template-columns alone does not stack these: grid-auto-flow:column on
     the base rule keeps placing items into new COLUMNS, so the three doors were
     still side by side and squeezed. The flow direction is what has to change. */
  .article.fortress .ftr-cards{grid-auto-flow:row;grid-template-columns:1fr;}


  /* One 20px gutter for everything on the page. .article-content has no side
     padding of its own in this layout — that is why the prose ran edge to edge,
     and why the -20px bleeds below had nothing to bleed into and pushed the
     document sideways instead. Set here, so the negative margins cancel it
     exactly and the doors and the dossier sit flush to the screen edge. */
  .article.fortress .article-content{padding-inline:20px;}
  .article.fortress > .article-header .headline{font-size:32px;margin:0 20px 14px;}
  .article.fortress > .article-header .underline{margin:0 20px 20px;}
  .article.fortress .article-content .ftr-dossier{margin-inline:-20px;}

  /* The squares are in a modal panel, not in the flow — no bleed there.
     And they stop being squares: at ~345px wide, fitting three archive cards
     inside a 1:1 box drives the auto-fit down to about 5px and the card is
     unreadable. Below 820px the height follows the content and the type stays
     at its normal size. fortress.js reads the computed aspect-ratio, so the
     breakpoint lives here and only here. */
  .article.fortress .article-content .ftr-sq{
    margin-inline:0;padding:24px 20px 22px;
    aspect-ratio:auto;
  }
  .article.fortress .ftr-body{flex:none;overflow:visible;}
  .article.fortress .ftr-rc-tag{font-size:1.3em;}
  .article.fortress .ftr-rc-txt{font-size:1em;}

  /* The X sits 38px ABOVE the panel, which on a phone is off the top of the
     screen. Pin it to the viewport instead, so it stays put while a long panel
     scrolls under it. .ftr-ov has no transform, so fixed resolves to the
     viewport as intended. */
  .article.fortress .ftr-ov-x{
    position:fixed;top:10px;inset-inline-end:10px;
    width:38px;height:38px;padding:0;border-radius:50%;
    background:rgba(8,32,27,.92);color:#fff;font-size:19px;
  }
  .article.fortress .ftr-ov{padding:56px 12px 12px;}

  .article.fortress .ftr-mk,
  .article.fortress .ftr-foot{inset-inline-start:20px;}
  .article.fortress .ftr-stamp{inset-inline-end:20px;}
  .article.fortress .ftr-dossier-hd,
  .article.fortress .ftr-dossier-note,
  .article.fortress .ftr-ch summary,
  .article.fortress .ftr-ch-in{padding-inline:20px;}
  .article.fortress .article-content h2{font-size:24px;}
}

/* ===========================================================================
   6 · big-images layout
   ---------------------------------------------------------------------------
   Zman's full-bleed hero mode, and the fortress design's normal state:

     .article.big-images            width:100%
     > .media                       100vw x 85vh          (the hero)
     > .article-header              670px, margin -15vh auto 0, white
     .article-content > p           max-width 580px, centred

   Only direct <p> children of .article-content are constrained, so our blocks
   need the same 580px treatment or they run the full viewport width.

   The theme's rules here are specific (body:not(.mobile) .popup-article …),
   so these have to match that weight to win. Do not shorten the selectors.
   =========================================================================== */

/* the overlapping card is ours, not white. No rule at its foot: .info carries
   the same ground straight on, and the only acid line is where the doors start. */
body:not(.mobile) .popup-article .article.fortress.big-images > .article-header{
  background-color:var(--ftr-forest);
  color:var(--ftr-bone);
}

/* constrain the blocks to the text column */
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > ul,
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > ol,
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > blockquote{
  width:580px;max-width:100%;margin-inline:auto;
}
/* 670px, like the header card and the doors — the chapters hold long prose and
   the 580px reading column wastes the width. */
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > .ftr-dossier{
  width:670px;max-width:100%;margin:38px auto 0;
}
/* the header card is 670px; the .info band and the doors match it */
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > .ftr-cards{
  width:670px;max-width:100%;margin:0 auto 32px;
}
body:not(.mobile) .popup-article .article.fortress.big-images .article-body > .info,
body:not(.mobile) .popup-article .article.fortress.big-images .ftr-cards{
  width:670px;max-width:100%;margin:0 auto;
}

/* headings in the body follow the same column */
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > h2,
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > h3,
body:not(.mobile) .popup-article .article.fortress.big-images .article-content > h4{
  max-width:580px;margin-inline:auto;
}

@media (max-width:820px){
  .article.fortress.big-images .article-content > .ftr-cards,
  .article.fortress.big-images .article-content > .ftr-dossier{
    width:auto;margin-inline:-20px;
  }
  .article.fortress.big-images .article-body > .info{width:auto;}
}


/* ===========================================================================
   המבצר — האירועים
   Loaded only on the timeline page. Palette and the dot screen match
   fortress.css; the layout follows the approved mock.
   ======================================================================== */

.ftr-tl{
  --ftl-ink:#08201B; --ftl-forest:#12312B; --ftl-acid:#8BE86A;
  --ftl-bone:#EAF6EE; --ftl-grey:#5C6360; --ftl-line:#E3E7E5;
  background:#fff;
}
.ftr-tl *{box-sizing:border-box;}
.ftl-wrap{max-width:1080px;margin:0 auto;padding-inline:28px;position:relative;}

/* ---- head --------------------------------------------------------------- */
.ftl-head{background:var(--ftl-forest);position:relative;overflow:hidden;}
.ftl-head::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(139,232,106,.16) 1px,transparent 1.4px);
  background-size:7px 7px;
}
/* Zman's header is fixed, so the first thing in the page sits under it. This is
   the one number to change if that header's height changes — I do not know it
   from here, so confirm it against the real bar. */
.ftr-tl{--ftl-header:60px;}
.ftl-head .ftl-wrap{position:relative;z-index:2;padding-block:calc(var(--ftl-header) + 26px) 34px;}
/* the same chip as the article page, not a breadcrumb — the crumb sat under
   Zman's sticky header and duplicated what the chip already says */
.ftl-label{
  display:inline-block;
  background:var(--ftl-acid);color:var(--ftl-ink);
  font-size:15px;font-weight:700;letter-spacing:.04em;line-height:1.6;
  padding:5px 14px;margin-bottom:14px;text-decoration:none;
}
.ftl-label:hover{opacity:.85;}
.ftl-head h1{font-weight:700;font-size:clamp(30px,3.4vw,46px);color:#fff;margin:0;line-height:1.05;}
.ftl-head p{color:var(--ftl-bone);font-size:17px;line-height:1.8;max-width:60ch;margin:14px 0 0;}

/* ---- filters ------------------------------------------------------------ */
/* Sticks BELOW Zman's fixed bar, not behind it — at top:0 the topics row spent
   its life half-hidden under the blue header. */
.ftl-filters{background:var(--ftl-ink);position:sticky;top:var(--ftl-header);z-index:40;}
.ftl-filters .ftl-wrap{padding-block:16px 14px;}
.ftl-topics{display:flex;gap:4px;flex-wrap:wrap;}
.ftl-topic{
  flex:1 1 84px;min-width:78px;background:none;border:0;cursor:pointer;
  padding:9px 4px 7px;border-radius:6px;font-family:inherit;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  color:rgba(234,246,238,.72);font-size:12.5px;font-weight:600;line-height:1.2;text-align:center;
}
.ftl-topic .ftl-ico{width:27px;height:27px;}
.ftl-topic i{font-style:normal;font-size:11px;opacity:.6;}
.ftl-topic:hover{color:#fff;background:rgba(139,232,106,.1);}
.ftl-topic.is-on{color:var(--ftl-ink);background:var(--ftl-acid);}
.ftl-topic.is-on i{opacity:.75;}

.ftl-f-bot{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:14px;padding-top:14px;border-top:1px solid rgba(139,232,106,.22);
}
.ftl-years{display:flex;align-items:center;}
.ftl-year{
  background:none;border:0;cursor:pointer;font-family:inherit;
  color:rgba(234,246,238,.6);font-size:17px;font-weight:700;
  padding:4px 13px;border-left:1px solid rgba(139,232,106,.25);
}
.ftl-year:last-child{border-left:0;}
.ftl-year:hover{color:#fff;}
.ftl-year.is-on{color:var(--ftl-acid);}
.ftl-search{display:flex;align-items:center;gap:9px;}
.ftl-search label{color:rgba(234,246,238,.6);font-size:14px;font-weight:600;}
/* 16px is not a design choice — iOS Safari zooms the whole page when a focused
   input is smaller than that. */
.ftl-search input{
  background:rgba(255,255,255,.94);border:0;border-radius:3px;
  padding:7px 11px;width:210px;font-family:inherit;font-size:16px;
}
.ftl-clear{
  background:none;border:1px solid rgba(139,232,106,.4);border-radius:3px;
  color:var(--ftl-acid);font-family:inherit;font-size:13px;font-weight:700;
  padding:6px 12px;cursor:pointer;margin-inline-start:auto;
}
.ftl-clear:hover{background:rgba(139,232,106,.12);}

/* ---- the spine ---------------------------------------------------------- */
/* White, not the theme's off-white: the photographs are cut-outs on white, so
   any other page colour frames each one in a visible rectangle. */
.ftl-main{padding-block:52px 80px;background:#fff;overflow-x:clip;}
.ftl-main .ftl-wrap{position:relative;}
.ftl-spine{position:absolute;top:0;bottom:0;right:50%;width:2px;background:var(--ftl-forest);opacity:.85;}

/* Date and node sit level with the middle of the card, not its top edge: cards
   vary in height, and a date pinned to the top reads as belonging to whatever
   is above it. */
.ftl-item{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;margin-bottom:30px;}
.ftl-item[hidden]{display:none;}
.ftl-date{font-size:19px;font-weight:700;color:var(--ftl-forest);align-self:center;}
.ftl-node{
  position:absolute;right:50%;top:50%;transform:translate(50%,-50%);
  width:15px;height:15px;border-radius:50%;
  border:3px solid var(--ftl-forest);background:#fff;z-index:3;
  box-shadow:0 0 0 3px rgba(18,49,43,.22);
}

/* sides are set by fortress-timeline.js after every filter change */
/* PHYSICAL padding, not logical. The gap has to fall on the edge facing the
   spine, and in an RTL grid the inline-start/end of a column is the opposite
   side from the one you want — which is how the date ended up sitting under
   the node. Column 1 is the right-hand column here. */
/* grid-row:1 on both is load-bearing. Auto-placement never moves backwards, so
   when the date is given column 2 and the card column 1, the card cannot sit in
   row 1 beside it — it drops to row 2 and the pair stacks. Pinning the row keeps
   them level whichever side each is on. */
.ftl-item.is-r .ftl-date{grid-row:1;grid-column:2;text-align:right;padding-right:44px;}
.ftl-item.is-r .ftl-card{grid-row:1;grid-column:1;padding-left:44px;}
.ftl-item.is-l .ftl-date{grid-row:1;grid-column:1;text-align:left;padding-left:44px;}
.ftl-item.is-l .ftl-card{grid-row:1;grid-column:2;padding-right:44px;}

/* The cards are deliberately small: at full column width only two events fit a
   screen, and the point of a 314-item timeline is the sweep. */
/* Cards sit against the spine, not the page edge: the empty air belongs on the
   outside. In a grid cell an auto margin pushes the other way, so is-r (right
   column, spine on its left) takes margin-right:auto. */
/* Ring, connector, dot — one mark, on the DATE's side. The connector is the
   part that matters: without it the dot reads as a stray speck rather than as
   something attached to the ring. Drawn off the node, so no extra markup. */
.ftl-node::before{
  content:"";position:absolute;top:50%;transform:translateY(-50%);
  width:11px;height:2.5px;background:var(--ftl-forest);
}
.ftl-node::after{
  content:"";position:absolute;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;background:var(--ftl-forest);
}
.ftl-item.is-r .ftl-node::before{left:-11px;}
.ftl-item.is-r .ftl-node::after{left:-19px;}
.ftl-item.is-l .ftl-node::before{right:-11px;}
.ftl-item.is-l .ftl-node::after{right:-19px;}

.ftl-card{cursor:pointer;max-width:330px;}
.ftl-item.is-r .ftl-card{margin-right:auto;}
.ftl-item.is-l .ftl-card{margin-left:auto;}
.ftl-card:focus-visible{outline:3px solid var(--ftl-acid);outline-offset:4px;}
.ftl-art{position:relative;display:block;background:#fff;}
/* width/height are on the img so the browser can reserve the box before the
   lazy-loaded file lands; these two lines keep it fluid anyway. */
.ftl-art img{display:block;width:100%;height:auto;}
.ftl-cap{
  display:inline-block;background:var(--ftl-forest);color:#fff;
  font-size:15px;font-weight:700;line-height:1.34;padding:5px 9px;
  margin-top:-12px;position:relative;z-index:2;
}
/* the 11 items with no photo keep the same rhythm — the caption simply starts
   the card instead of overlapping an image */
.ftl-item.is-textonly .ftl-cap{margin-top:0;}
.ftl-marks{display:flex;gap:9px;margin-top:9px;color:#728078;}
.ftl-marks .ftl-ico{width:18px;height:18px;}

.ftl-empty{text-align:center;color:var(--ftl-grey);font-size:18px;padding:60px 0;}

/* ---- scroll reveal ------------------------------------------------------
   Only active when fortress.js adds .ftl-animate to the root, so with no JS —
   or with prefers-reduced-motion — every item is simply visible. Each slides in
   from its own side of the spine; the overshoot in the easing gives it a small
   settle rather than a flat fade.
   -------------------------------------------------------------------------- */
/* animate.css backInRight / backInLeft: in from far off-screen at 70% scale,
   holding that scale until 80% through, then snapping to full size. The hold is
   what makes it read as arriving from somewhere rather than sliding a few px. */
@keyframes ftlBackInRight{
  0%   {transform:translateX(2000px) scale(.7);opacity:.7;}
  80%  {transform:translateX(0) scale(.7);opacity:.7;}
  100% {transform:scale(1);opacity:1;}
}
@keyframes ftlBackInLeft{
  0%   {transform:translateX(-2000px) scale(.7);opacity:.7;}
  80%  {transform:translateX(0) scale(.7);opacity:.7;}
  100% {transform:scale(1);opacity:1;}
}
.ftl-animate .ftl-item{opacity:0;}
.ftl-animate .ftl-item.is-in{animation:.9s both ftlBackInRight;}
.ftl-animate .ftl-item.is-l.is-in{animation-name:ftlBackInLeft;}

@media (prefers-reduced-motion:reduce){
  .ftl-animate .ftl-item{opacity:1;}
  .ftl-animate .ftl-item.is-in{animation:none;}
}

/* ---- topic icons -------------------------------------------------------- */
/* Masked so they follow currentColor: the mask supplies the shape, the colour
   comes from background-color. The ten .ftl-ico--* mask-image rules are printed
   inline by page-fortress-timeline.php.
   NB the files must be served with Access-Control-Allow-Origin — a CSS mask is
   CORS-restricted, and cross-origin it downloads fine and silently never draws. */
.ftl-ico{
  display:inline-block;flex:none;
  background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}

/* ---- lightbox ----------------------------------------------------------- */
/* Dark, like the approved mock — forest ground, dot screen, big acid date, the
   title as a chip riding over the image, bone body. A white card read as a
   different object from the rest of the page. */
.ftl-lb{
  position:fixed;inset:0;z-index:999999;direction:rtl;
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.ftl-lb[hidden]{display:none;}
.ftl-lb-bd{position:absolute;inset:0;background:rgba(4,16,13,.93);}
/* The dot screen is the panel's own background, not an inset ::before. Inside a
   scrolling box an absolutely-positioned layer sizes to the visible height, so
   the dots stopped one screenful down; a background tiles the whole scroll. */
.ftl-lb-panel{
  position:relative;z-index:1;width:min(660px,100%);
  max-height:88vh;overflow:auto;
  background-color:var(--ftl-forest);
  background-image:radial-gradient(rgba(139,232,106,.16) 1px,transparent 1.4px);
  background-size:7px 7px;
  color:var(--ftl-bone);
  padding:22px 26px 30px;
  /* The panel and the backdrop are almost the same colour, so without an edge
     it reads as a hole rather than something sitting above the page. */
  border:1px solid rgba(139,232,106,.38);
  box-shadow:0 26px 70px rgba(0,0,0,.6);
}
.ftl-lb-x{
  position:absolute;top:16px;inset-inline-end:20px;z-index:2;
  width:40px;height:40px;border:0;border-radius:50%;cursor:pointer;
  background:var(--ftl-ink);color:var(--ftl-bone);font-size:19px;
  box-shadow:0 0 0 2px rgba(234,246,238,.25);
}
.ftl-lb-x:hover{background:#000;}

.ftl-lb-meta{display:flex;flex-direction:column-reverse;align-items:flex-start;gap:9px;margin-bottom:16px;}
.ftl-lb-n{font-size:13px;color:rgba(234,246,238,.65);}
.ftl-lb-date{font-size:40px;font-weight:700;line-height:1;color:var(--ftl-acid);}

.ftl-lb-art{margin:30px 0 0;}
.ftl-lb-art img{display:block;width:100%;height:auto;}
.ftl-lb-art figcaption{
  font-size:12px;color:rgba(234,246,238,.55);padding:7px 2px 10px;text-align:left;
}
.ftl-lb-art:not(.has-img){display:none;}

/* The chip sits under the image, not over it: the photo credit lives in that
   same strip and the two collided. */
.ftl-lb-cap{
  display:inline-block;background:var(--ftl-ink);color:#fff;
  font-size:24px;line-height:1.25;font-weight:700;
  padding:8px 14px;margin:0 0 16px;
}
.ftl-lb-body p{margin:0 0 14px;font-size:17px;line-height:1.85;color:var(--ftl-bone);}
.ftl-lb-body p:last-child{margin-bottom:0;}
.ftl-lb-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;}
/* Tags filter the timeline — they looked like controls, so they are ones. */
.ftl-lb-tags button{
  border:1px solid rgba(139,232,106,.45);border-radius:999px;
  color:var(--ftl-acid);background:none;font-family:inherit;cursor:pointer;
  font-size:12.5px;font-weight:700;padding:5px 14px;
}
.ftl-lb-tags button:hover{background:rgba(139,232,106,.14);border-color:var(--ftl-acid);}

/* ---- narrow ------------------------------------------------------------- */
@media (max-width:820px){
  .ftl-wrap{padding-inline:20px;}
  /* The support banner sits under the blue bar, so the chip needs more air. */
  .ftl-head .ftl-wrap{padding-block:calc(var(--ftl-header) + 48px) 30px;}
  /* Same two-column spine as desktop, tightened. On a 390px screen the page
     padding leaves 350px, so each column is 175px and an 18px gutter leaves
     about 157px for the card — small, but it keeps the alternating rhythm. */
  .ftl-wrap{padding-inline:12px;}
  /* Not sticky on a phone: two rows of topics plus years and search would leave
     almost no room for the timeline itself. */
  .ftl-filters{position:static;}
  .ftl-item{margin-bottom:18px;}
  .ftl-item.is-r .ftl-date{padding-right:18px;font-size:15px;}
  .ftl-item.is-r .ftl-card{padding-left:18px;}
  .ftl-item.is-l .ftl-date{padding-left:18px;font-size:15px;}
  .ftl-item.is-l .ftl-card{padding-right:18px;}
  .ftl-node{width:11px;height:11px;border-width:2px;box-shadow:0 0 0 2px rgba(18,49,43,.22);}
  .ftl-node::before{width:7px;}
  .ftl-item.is-r .ftl-node::before{left:-7px;}
  .ftl-item.is-r .ftl-node::after{left:-13px;}
  .ftl-item.is-l .ftl-node::before{right:-7px;}
  .ftl-item.is-l .ftl-node::after{right:-13px;}
  .ftl-node::after{width:6px;height:6px;}
  .ftl-cap{font-size:13px;font-weight:600;line-height:1.3;padding:4px 7px;margin-top:-9px;}
  .ftl-marks{gap:6px;margin-top:7px;}
  .ftl-marks .ftl-ico{width:14px;height:14px;}
  .ftl-topic{flex:1 1 62px;min-width:60px;font-size:11.5px;}
  .ftl-topic .ftl-ico{width:23px;height:23px;}
  .ftl-search input{width:130px;}
  .ftl-lb{padding:12px;}
  .ftl-lb-panel{padding:18px 18px 24px;}
  .ftl-lb-date{font-size:30px;}
  .ftl-lb-cap{font-size:19px;}
}


/* ===========================================================================
   המבצר — עמוד המדור (/fortress/)
   Masthead and the three doors, per yom-hadin-front.html. Everything from
   מה חדש downwards is deliberately not built.
   ======================================================================== */

.ftr-front{
  --ftf-ink:#08201B; --ftf-forest:#12312B; --ftf-forest-2:#173F37;
  --ftf-acid:#8BE86A; --ftf-bone:#EAF6EE; --ftf-header:60px;
}
.ftr-front *{box-sizing:border-box;}
.ftf-wrap{max-width:1180px;margin:0 auto;padding:0 28px;}

/* ---- masthead ----------------------------------------------------------- */
.ftf-mast{
  background:var(--ftf-forest);position:relative;overflow:hidden;
  border-bottom:5px solid var(--ftf-acid);
}
.ftf-mast::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(139,232,106,.16) 1px,transparent 1.4px);
  background-size:7px 7px;
}
/* text column first in source = right side in RTL; the tallies sit left */
.ftf-mast .ftf-wrap{
  position:relative;z-index:2;display:grid;
  grid-template-columns:1.4fr .6fr;gap:36px;align-items:end;
  padding-top:calc(var(--ftf-header) + 46px);padding-bottom:44px;
}
.ftf-text{min-width:0;}
.ftf-wordmark{
  font-weight:700;font-size:124px;line-height:.86;
  color:var(--ftf-acid);margin:0;white-space:nowrap;
}
.ftf-tagline{
  display:block;width:100%;max-width:625px;
  background:var(--ftf-acid);color:var(--ftf-ink);
  font-weight:700;font-size:20px;line-height:1.25;
  padding:7px 14px;margin:18px 0 0;text-align:right;
}
.ftf-standfirst{color:var(--ftf-bone);font-size:18px;line-height:1.85;max-width:625px;margin-top:26px;}
/* ---- byline row: "מאת צוות המבצר · …" + "אודות הפרויקט" ---------------
   Shared by the masthead (.ftf-mast) and every section header (.ftl-head) —
   fortress_byline_row() in fortress-shortcodes.php. Both headers sit on the
   same dark-green background with the same acid/bone colours (the --ftf- and
   --ftl- variables are the same values under different names), so this is
   written with literal colours instead of either var() set, and works
   unchanged in both places. */
.ftr-byline-row{
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;
  gap:10px 24px;margin-top:22px;padding-top:16px;
  border-top:1px solid rgba(139,232,106,.28);
}
.ftr-byline-who{color:rgba(234,246,238,.7);font-size:14px;line-height:125%;}
.ftr-byline-who b{color:#8BE86A;font-weight:700;}
.ftr-byline-about{
  color:#8BE86A;font-size:14px;font-weight:700;line-height:125%;
  text-decoration:none;border-bottom:1px solid rgba(139,232,106,.5);white-space:nowrap;
}
.ftr-byline-about:hover{border-bottom-color:#8BE86A;}

/* On a section header (.ftl-head) the row sits right under the standfirst
   paragraph, so it needs its own top margin instead of the masthead's — the
   two headers don't share a parent to inherit spacing from. */
.ftl-head .ftr-byline-row{margin-top:20px;}

.ftf-tally{display:flex;flex-direction:column;margin-bottom:35px;}
.ftf-tally-row{
  display:flex;align-items:baseline;justify-content:space-between;
  padding:14px 0;border-bottom:1px solid rgba(139,232,106,.22);
}
.ftf-n{font-weight:700;font-size:38px;color:var(--ftf-acid);line-height:1;}
.ftf-l{color:rgba(234,246,238,.72);font-size:14px;font-weight:600;}

/* ---- the three doors ---------------------------------------------------- */
.ftf-doors{background:var(--ftf-ink);padding:34px 0 40px;}
.ftf-door-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.ftf-door{
  background:var(--ftf-forest);border:1px solid rgba(139,232,106,.26);
  padding:22px;text-decoration:none;display:flex;flex-direction:column;
  min-height:290px;transition:border-color .18s ease, transform .18s ease;
}
.ftf-door:hover{border-color:var(--ftf-acid);transform:translateY(-3px);}
.ftf-door-art{height:104px;margin-bottom:20px;position:relative;}
.ftf-door h3{font-weight:700;font-size:28px;color:#fff;margin:0;}
.ftf-door p{color:rgba(234,246,238,.72);font-size:15px;line-height:1.65;margin:9px 0 0;}
.ftf-go{
  margin-top:auto;padding-top:18px;color:var(--ftf-acid);
  font-weight:700;font-size:15px;display:flex;align-items:center;gap:8px;
}

/* door 1 — the track */
.ftf-trk{position:absolute;inset:0;}
.ftf-trk-line{position:absolute;right:26px;top:2px;bottom:2px;width:2px;background:rgba(139,232,106,.38);}
.ftf-trk-node{
  position:absolute;right:20px;width:15px;height:15px;border-radius:50%;
  border:2.5px solid var(--ftf-acid);background:var(--ftf-forest);
}
.ftf-trk-node.is-big{width:19px;height:19px;right:18px;background:var(--ftf-acid);}
.ftf-trk-d{position:absolute;right:52px;font-weight:700;font-size:13px;color:rgba(234,246,238,.55);}

/* door 2 — dossier bars */
.ftf-bars{display:flex;flex-direction:column;gap:8px;justify-content:center;height:100%;}
.ftf-bar{height:15px;background:rgba(139,232,106,.34);}
.ftf-bar.b2{width:72%;background:rgba(139,232,106,.22);}
.ftf-bar.b3{width:86%;background:rgba(139,232,106,.28);}
.ftf-bar.b4{width:56%;background:rgba(139,232,106,.16);}

/* door 4 — the one face */
/* the silhouette is a transparent PNG, so the card ground shows through the tie
   and the lapel gaps; it is cropped flush at the bottom of the art box */
.ftf-one{height:100%;overflow:hidden;display:flex;align-items:flex-end;}
.ftf-one img{display:block;height:126px;width:auto;margin-bottom:-14px;}

/* door 3 — faces */
.ftf-faces{display:flex;align-items:center;height:100%;}
.ftf-face{
  width:62px;height:62px;border-radius:50%;border:2.5px solid var(--ftf-forest);
  margin-left:-16px;overflow:hidden;background:var(--ftf-forest-2);
}
.ftf-face:first-child{margin-left:0;}
.ftf-face svg{display:block;width:100%;height:100%;}
.ftf-face-more{
  width:62px;height:62px;border-radius:50%;
  border:2.5px dashed rgba(139,232,106,.5);margin-left:-16px;
  display:flex;align-items:center;justify-content:center;
  color:var(--ftf-acid);font-weight:700;font-size:15px;background:var(--ftf-forest);
}

@media (max-width:1100px) and (min-width:821px){
  .ftf-door-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:820px){
  .ftf-wrap{padding-inline:20px;}
  .ftf-mast .ftf-wrap{
    grid-template-columns:1fr;gap:28px;
    padding-top:calc(var(--ftf-header) + 48px);padding-bottom:32px;
  }
  .ftf-text{order:1;}
  .ftf-tally{order:2;margin-bottom:0;}
  .ftf-wordmark{font-size:clamp(56px,17vw,92px);}
  .ftf-tagline{font-size:16px;}
  .ftf-standfirst{font-size:16px;}
  .ftf-n{font-size:30px;}
  .ftf-door-grid{grid-template-columns:1fr;gap:12px;}
  .ftf-door{min-height:0;}
}


/* ---- the feed under the doors ------------------------------------------- */
.ftr-front .infinite-scroll > .article{
  margin-inline:auto;
  margin-right:auto;
}
.ftr-front .infinite-scroll{
  width:auto;
}
.fortress .read-more-post{
  margin-top:25px;
}

.ftr-front .slider-bg .slider {margin-inline:auto;}
.ftr-front .slider-bg .arrow-right-circle {right:calc(50% - 320px);}
.ftr-front .slider-bg .arrow-left-circle {left:calc(50% - 320px);}

/* section head above the feed — the rule sits under the title, as in the mock */
.ftr-front .ftf-latest-head{padding-top:38px;}
.ftr-front .ftf-latest-head .ftf-wrap{max-width:640px;padding:0;}
.ftr-front .ftf-latest-head h2{
  margin:0;padding-bottom:10px;
  border-bottom:2px solid var(--ftf-ink);
  font-weight:700;font-size:26px;line-height:1.2;color:var(--ftf-ink);
}
.ftr-front .infinite-scroll{margin-top:26px;}
@media (max-width:820px){
  .ftr-front .ftf-latest-head{padding-top:26px;}
  .ftr-front .ftf-latest-head h2{font-size:21px;}
}

.ftr-front .single-home-wrapper {
	margin-top: 0;
}

/* ---- the tail: the front under an article or a section page -------------
   Same head as /fortress/. Under an article only the head is wrapped; the
   cards follow it bare, as Zman's own home tail does, so the theme's feed
   rules (which need them as direct children of .single-home-wrapper) apply. */
.ftr-front.ftr-tail{margin-top:50px;}
.ftr-tail .ftf-wordmark a{color:inherit;text-decoration:none;}


/* ---------------------------------------------------------------------------
   Zman's own header, on המבצר pages only
   ---------------------------------------------------------------------------
   The acid rule under the site header ties the blue bar to the section below
   it. Driven by the `fortress-page` body class that fortress-shortcodes.php
   adds — so it is present before first paint, with no flash and no JS.

   The rule draws itself in on load: a pseudo-element scaling from the centre,
   which animates a transform rather than a width, so it does not reflow the
   header. Anyone who has asked for reduced motion just gets the line.
   --------------------------------------------------------------------------- */
body.fortress-page .header.new-header .header-content{
  position:relative;
}
/* Visible by DEFAULT, with the animation only drawing it in — the first version
   started at scaleX(0) and relied on the animation to reveal it, so when the
   animation did not run the rule was painted at zero width and looked absent. */
body.fortress-page .header.new-header .header-content::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:5px;
  background:#8be86a;z-index:5;
  transform:scaleX(1);
  animation:ftrRule .55s cubic-bezier(.22,.85,.3,1) .15s backwards;
}
@keyframes ftrRule{ from{ transform:scaleX(0); } to{ transform:scaleX(1); } }

@media (prefers-reduced-motion:reduce){
  body.fortress-page .header.new-header .header-content::after{
    transform:none;animation:none;
  }
}

/* The homepage's own "מה שחשוב ומעניין עכשיו" strip, unrelated to המבצר —
   hidden on every fortress page. */
body.fortress-page .is_404.term-header.cover-in-container{display:none;}

/* ---------------------------------------------------------------------------
   המבצר — האחראים.

   Only the grid is new. The header is .ftl-head, reused from the timeline, and
   the page wrapper carries .ftr-tl so the --ftl-* tokens resolve. Every colour
   below comes from those tokens rather than a fresh hex, and every rule is
   scoped to .ftr-resp so nothing can leak onto another template.
   ------------------------------------------------------------------------ */

.ftr-resp .ftp-main{ padding-block:34px 60px; }

/* Group band. The count sits in the acid pill the project already uses. */
.ftr-resp .ftp-group{
  display:flex;align-items:baseline;gap:10px;
  margin:34px 0 18px;
  font-size:clamp(20px,2.1vw,26px);font-weight:700;line-height:1.2;
  color:var(--ftl-ink);
}
.ftr-resp .ftp-group:first-child{ margin-top:6px; }
.ftr-resp .ftp-group i{
  font-style:normal;font-size:14px;font-weight:700;
  color:var(--ftl-ink);background:var(--ftl-acid);
  padding:2px 9px;border-radius:999px;
}

/* Three up on desktop, two on mobile. Fixed rather than auto-fill: at this
   count the tiles should be large, and a 46-wide corpus still reads better in
   three columns than in six small ones. */
.ftr-resp .ftp-grid{
  display:grid;gap:22px;
  grid-template-columns:repeat(3,1fr);
}

.ftr-resp .ftp-card{
  display:block;text-decoration:none;color:inherit;
  transition:transform .18s ease;
}
.ftr-resp .ftp-card:hover{ transform:translateY(-3px); }
.ftr-resp .ftp-card:focus-visible{ outline:3px solid var(--ftl-acid);outline-offset:4px; }

/* 1:1, because the portraits are drawn square for the הפורטרט door and this
   grid is the same artwork at a smaller size. */
.ftr-resp .ftp-art{
  position:relative;aspect-ratio:1/1;overflow:hidden;
  background:var(--ftl-forest);
}
.ftr-resp .ftp-art img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.05);
  transition:filter .18s ease;
}
.ftr-resp .ftp-card:hover .ftp-art img{ filter:none; }

/* The name rides on the picture as an acid strip across the foot of the tile —
   the same acid-on-ink pairing as .ftl-label and the group pill. Full width, so
   a long name wraps to a second line instead of being clipped. */
.ftr-resp .ftp-name{
  position:absolute;inset-inline:0;bottom:0;
  background:var(--ftl-acid);color:var(--ftl-ink);
  font-size:17px;font-weight:700;line-height:1.25;
  padding:9px 12px;
}

/* No thumbnail yet: a flat forest tile rather than a broken image. Every
   article currently carries {{PORTRAIT_URL}} and no real picture, so this is
   what the page looks like until the artwork lands. */
.ftr-resp .ftp-noart{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg,
      rgba(139,232,106,.09) 0 6px, transparent 6px 12px),
    var(--ftl-forest);
}

.ftr-resp .ftp-role{
  margin-top:8px;
  font-size:14px;line-height:1.35;
  color:var(--ftl-grey);
}

@media (max-width:620px){
  .ftr-resp .ftp-grid{ grid-template-columns:repeat(2,1fr);gap:14px; }
  .ftr-resp .ftp-name{ font-size:15px;padding:7px 10px; }
  .ftr-resp .ftp-role{ font-size:13px; }
}

@media (prefers-reduced-motion:reduce){
  .ftr-resp .ftp-card,.ftr-resp .ftp-art img{ transition:none; }
  .ftr-resp .ftp-card:hover{ transform:none; }
}

/* ---------------------------------------------------------------
   המבצר — תיעוד אירועי אלימות. Appended to fortress.css.

   Generated by prepare-log.py: every selector scoped under .ftr-log
   because the source stylesheet styles body, h1-h3, table, th, td,
   thead and a as bare elements, and would otherwise restyle every
   page the log appears on.
   ------------------------------------------------------------ */

.ftr-log{line-height: 1.6;margin: 0;color: #0b0b0b;}.ftr-log .wrap{ max-width: 1100px; margin: 0 auto; padding: 32px 24px 0; }.ftr-log table{ border-collapse: collapse; width: 100%; font-size: 13.5px; margin: 8px 0 4px; }.ftr-log th, .ftr-log td{ text-align: right; padding: 7px 9px; border-bottom: 1px solid #e1e0d9; vertical-align: top; }.ftr-log thead th{ color: #52514e; font-weight: 600; font-size: 12.5px; border-bottom: 1px solid #c3c2b7; }.ftr-log td.num, .ftr-log th.num{ font-variant-numeric: tabular-nums; }.ftr-log td.nowrap{ white-space: nowrap; }.ftr-log td.soft, .ftr-log .soft{ color: #52514e; }.ftr-log .fatal{ color: #d03b3b; font-size: 11.5px; }.ftr-log /* אירוע קטלני מודגש בשורה כולה, .ftr-log כדי שהעין תמצא אותו בסריקה מהירה */
  tr.fatalrow td{ font-weight: 600; }.ftr-log .soldiers{ color: #52514e; font-size: 11.5px; }.ftr-log .kpis{display:flex; gap:28px; flex-wrap:wrap;margin:10px auto 18px;max-width:580px;}.ftr-log .kpi b{ display:block; font-size:29px; font-weight:650; letter-spacing:-.5px; }.ftr-log .kpi span{ font-size:12.5px; color:#898781; }.ftr-log /* המפה נבנית ברוחב אריחים מלא ומוקטנת לעמוד. zoom משנה פריסה ולכן
     האריחים הממוקמים אבסולוטית מתכווצים איתה, .ftr-log בניגוד ל-transform */
  .block{ margin: 6px 0 22px; }.ftr-log .mapstage{ position:relative; overflow:hidden; border:1px solid #e5e4de; border-radius:6px;
              zoom:.46; }.ftr-log .mapstage .base{ position:absolute; inset:0; }.ftr-log .mapstage .base img{ position:absolute; filter:saturate(.55) contrast(.95); opacity:.95; }.ftr-log .mapstage svg{ position:absolute; inset:0; width:100%; height:100%; }.ftr-log /* כל SVG מצטמצם לרוחב העמוד. בלי זה גרפים ברוחב קבוע נחתכים בהדפסה */
  svg{ max-width: 100%; height: auto; }.ftr-log /* הכיתוב וההערות מיושרים לקצה הימני של שטח הציור, .ftr-log לא לקצה ה-SVG:
     ב-lineSvg יש שוליים ימניים של 46 מתוך רוחב 760, .ftr-log כלומר 6.05% */
  figure{ margin: 18px 0; }.ftr-log figure svg{ display: block; width: 100%; height: auto; }.ftr-log figure figcaption, .ftr-log figure .note{ text-align: right; padding-right: 6.05%; }.ftr-log figcaption{ font-size: 14px; font-weight: 600; color: #52514e; margin-bottom: 6px; }.ftr-log a{ color: #205a99; }@media (prefers-color-scheme: dark){.ftr-log{ background: #0d0d0d; color: #fff; }.ftr-log th, .ftr-log td{ border-color: #2c2c2a; }.ftr-log thead th, .ftr-log td.soft, .ftr-log .soft{ color: #c3c2b7; }.ftr-log a{ color: #3a7fc4; }.ftr-log figure svg{ background: #fff; border-radius: 6px; }
  }@.ftr-log page{ size: A4; margin: 12mm; }@media print{.ftr-log{ background:#fff; }.ftr-log .wrap{ max-width:none; padding:0 0 0; }.ftr-log /* המפה נבנית ברוחב אריחים מלא, .ftr-log כ-2048 פיקסלים. ב-zoom .42 היא רחבה
       וגבוהה מעמוד A4 וגלשה לשני עמודים; .33 מכניס אותה לעמוד אחד */
    .mapstage{ zoom:.33; break-inside:avoid; }.ftr-log figure, .ftr-log .kpis, .ftr-log .block{ break-inside:avoid; page-break-inside:avoid; }.ftr-log figure figcaption{ break-after:avoid; page-break-after:avoid; }.ftr-log /* ה-figure מכיל כותרת, .ftr-log גרף והערות. בלי תקרה נמוכה מספיק הוא גדל מעבר
       לעמוד, .ftr-log הדפדפן שובר אותו בכל מקרה, .ftr-log ולפני השבירה נשאר חצי עמוד ריק */
    figure svg{ max-height:195mm; }.ftr-log .block{ margin-bottom:10mm; }.ftr-log section.year > h2{ break-before:page; page-break-before:always; }.ftr-log section.month{ break-inside:auto; }.ftr-log /* טבלת אירועים ארוכה חייבת להישבר בין עמודים. איסור שבירה עליה דחף
       אותה שלמה לעמוד הבא והשאיר את הקודם ריק. השורות עצמן אינן נקרעות */
    table{ break-inside:auto; page-break-inside:auto; }.ftr-log tr, .ftr-log td, .ftr-log th{ break-inside:avoid; page-break-inside:avoid; }.ftr-log thead{ display:table-header-group; }.ftr-log p.note, .ftr-log p.summary{ orphans:2; widows:2; }
  }/* The log is a block inside an article, not a page: its own
   measure, centred, inheriting the article typeface and ground. */
.ftr-log{max-width:980px;margin-left:auto;margin-right:auto;}

/* Prose blocks take the article measure and nothing else. */
.ftr-log p.lede{max-width:580px;margin:0 auto 30px;}
.ftr-log .note{max-width:580px;margin:0 auto 30px;font-size:14px;line-height:21px;font-style:italic;color:#7F7F7F;}
.ftr-log .summary{max-width:580px;margin:0 auto 30px;}

/* Body paragraphs read as prose too — the log sits inside an
   article, so its running text takes the article measure. */
.ftr-log .wrap p {max-width:580px;margin:0 auto 30px;}

/* Charts in the dossiers are bare <img>, not <figure>, so nothing
   gave them a bottom margin and they sat flush against the table
   below. max-width matters too: the sources are 2362px wide. */
.ftr-log img {display:block;max-width:100%;height:auto;margin:0 auto 26px;}

/* Lists read as prose too. */
.ftr-log ul {max-width:580px;padding-right:20px;list-style:disc outside none;margin:0 auto 30px;overflow:hidden;}
.ftr-log ol {max-width:580px;padding-right:30px;list-style:decimal outside none;margin:0 auto 30px;overflow:hidden;}
.ftr-log li {margin-bottom:10px;}

/* ---------------------------------------------------------------------------
   Open dossiers — the event files, where the research is tables and charts
   rather than prose chapters, so nothing is folded away.
   ------------------------------------------------------------------------ */

/* .ftr-dossier-in carries an off-white panel, which reads correctly when the
   content sits at column width, as it does inside the accordion. Here the
   tables run full width and the panel shows as an edge around them rather
   than a ground beneath. */
.article.fortress .ftr-dossier.is-open .ftr-dossier-in{background:transparent;}

/* The section takes the full width, not the 670px reading measure. 670 is
   right for the accordion, whose chapters are prose; the event files are
   eight-column tables and at 670 they are cramped. The .ftr-log wrapper
   inside still caps its running text at 580, so the dossier's prose keeps a
   readable measure while the tables get the room. */
body:not(.mobile) .popup-article .article.fortress.big-images
  .article-content > .ftr-dossier.is-open{width:auto;max-width:none;margin-inline:-20px;}

/* The header band and its note stay at the reading measure even though the
   section around them has gone full width — they are prose, and a title set
   across the full table width reads as a banner rather than a heading. */
.article.fortress .is-open .ftr-dossier-hd,
.article.fortress .is-open .ftr-dossier-note{max-width:670px;margin:0 auto;}

/* ---------------------------------------------------------------------------
   Images in the article body — charts and graphics that sit in the prose
   rather than in the dossier.

   Direct children of .article-content only. The dossier's own charts live
   inside .ftr-log .wrap and are governed by .ftr-log img, which lets them run
   to the full 980px; these read as part of the prose and take its measure.
   ------------------------------------------------------------------------ */

.article.fortress .article-content > img{
  display:block;
  max-width:580px;
  width:100%;
  height:auto;
  margin:0 auto 30px;
}

/* ---------------------------------------------------------------------------
   המבצר — עמודי המחדלים והראש.

   Three or four files rather than 46, so each gets a wide card with its dek
   instead of a tile in a grid. The header is .ftl-head, reused from the
   timeline; .ftr-tl on the wrapper is what makes the --ftl-* tokens resolve.
   ------------------------------------------------------------------------ */

.ftr-sect .fts-main{ padding-block:34px 64px; }

.ftr-sect .fts-card{
  display:grid;
  grid-template-columns:300px 1fr;
  gap:26px;
  align-items:start;
  text-decoration:none;color:inherit;
  padding:24px 0;
  border-bottom:1px solid var(--ftl-line);
}
.ftr-sect .fts-card:first-child{ padding-top:6px; }
.ftr-sect .fts-card:last-child{ border-bottom:0; }
.ftr-sect .fts-card:focus-visible{ outline:3px solid var(--ftl-acid);outline-offset:4px; }

.ftr-sect .fts-art{
  position:relative;aspect-ratio:16/10;overflow:hidden;
  background:var(--ftl-forest);
}
.ftr-sect .fts-art img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.05);
  transition:filter .18s ease;
}
.ftr-sect .fts-card:hover .fts-art img{ filter:none; }

/* No featured image yet — a flat forest tile rather than a broken one. */
.ftr-sect .fts-noart{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg,
      rgba(139,232,106,.09) 0 6px, transparent 6px 12px),
    var(--ftl-forest);
}

.ftr-sect .fts-name{
  margin:0 0 8px;
  font-size:clamp(21px,2.2vw,26px);font-weight:700;line-height:1.2;
  color:var(--ftl-ink);
}
.ftr-sect .fts-dek{
  margin:0 0 12px;
  font-size:16px;line-height:1.55;
  color:var(--ftl-grey);
}
.ftr-sect .fts-go{
  font-size:14.5px;font-weight:700;
  color:var(--ftl-ink);
  border-bottom:2px solid var(--ftl-acid);
  padding-bottom:2px;
}

@media (max-width:700px){
  .ftr-sect .fts-card{ grid-template-columns:1fr;gap:14px; }
  .ftr-sect .fts-art{ aspect-ratio:16/9; }
  .ftr-sect .fts-dek{ font-size:15px; }
}

@media (prefers-reduced-motion:reduce){
  .ftr-sect .fts-art img{ transition:none; }
}

/* ---------------------------------------------------------------------------
   מן הארכיון — open on the page.

   Was a door in a row of three. With satire and the poster gone it would have
   been one door alone, which reads as something that failed to load — and the
   material never suited a click in the first place: documented quotations with
   a source on each are corroboration for the article, not an aside from it.

   Same forest header band as the open dossier at the foot, so a profile has two
   marked evidence blocks bracketing the prose.

   Held to the 580px reading measure and centred, unlike the dossier below it:
   the dossier is tables and charts and needs the room, while these are three or
   four quotations that read as prose and belong in the column with it.
   ------------------------------------------------------------------------ */

.article.fortress .ftr-arch-open{
  max-width:580px;
  margin:30px auto;
  background-color:#f9f9f9;
  border:1px solid var(--ftr-line);
}
.article.fortress .ftr-arch-hd{
  background:var(--ftr-forest);
  padding:16px 24px;
}
.article.fortress .ftr-arch-t{
  margin:0;color:#fff;
  font-size:21px;font-weight:700;line-height:1.25;
}
.article.fortress .ftr-arch-in{ padding:4px 24px 20px; }

/* The cards stack rather than sitting two-up: full width reads as evidence,
   a grid reads as tiles, and tiles are what we are moving away from. */
.article.fortress .ftr-arch-in .ftr-rc{
  border-top:0;
  border-bottom:1px solid var(--ftr-line);
  padding:18px 0;
  font-size:1rem;
}
.article.fortress .ftr-arch-in .ftr-rc:last-child{ border-bottom:0; }

.article.fortress .ftr-arch-in .ftr-rc-tag{
  display:inline-block;
  background:var(--ftr-acid);color:var(--ftr-ink);
  font-weight:700;font-size:13.5px;letter-spacing:.03em;
  padding:3px 11px;margin-bottom:9px;
}
.article.fortress .ftr-arch-in .ftr-rc-txt{
  font-weight:400;font-size:17px;line-height:1.6;
  margin:0 0 8px;max-width:660px;
}
.article.fortress .ftr-arch-in .ftr-rc-src{
  font-size:13.5px;color:var(--ftr-grey);
  text-align:left;
}
.article.fortress .ftr-arch-in .ftr-rc-src a{
  color:var(--ftr-grey);border-bottom:1px solid var(--ftr-line);
}

/* ---------------------------------------------------------------------------
   רצועת הרקורד — the ●-separated opening facts.

   It carried no treatment at all, so it read as another paragraph. A quiet
   panel with an acid edge marks it as the summary it is, without competing
   with the archive block below.
   ------------------------------------------------------------------------ */

.article.fortress .ftr-brief{
  box-sizing:border-box;
  background:#F4F7F5;
  border-inline-start:3px solid var(--ftr-acid);
  padding:14px 18px;
  margin-bottom:26px;
  font-size:15.5px;line-height:1.75;
}

/* ---------------------------------------------------------------------------
   דרגות ודאות — the ודאות column in the dossier tables.

   Values arrive as bracketed text and carry real weight: the reader is being
   told how far to trust the row. As running text that reads as an aside; as a
   badge it becomes scannable, which is the point of grading 700 rows.

   The scale is read green → amber → red, which readers already understand
   without a key. Note that red is also the timeline's fatal-event colour: the
   two never appear on the same page, but if a legend is ever added to the
   timeline this pairing is worth revisiting.
   ------------------------------------------------------------------------ */

.article.fortress .ftr-cert{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.02em;
  padding:2px 9px;
  border-radius:3px;
  white-space:normal;
  vertical-align:.05em;
}

/* מאומת — corroborated. The default state, and the one most rows carry. */
.article.fortress .ftr-cert.is-verified{
  background:var(--ftr-acid);
  color:var(--ftr-ink);
}

/* מקור-יחיד — one source only. Kept, not hidden, and marked as such. */
.article.fortress .ftr-cert.is-single{
  background:#F5E14B;
  color:var(--ftr-ink);
}

/* שנוי-במחלוקת — the sources disagree. */
.article.fortress .ftr-cert.is-disputed{
  background:#E23B2E;
  color:#fff;
}

/* נדרש אימות / לא מאומת — not established. */
.article.fortress .ftr-cert.is-unverified{
  background:#E3E6E4;
  color:var(--ftr-grey);
}

/* Compound values run long — [מאומת לגבי ההחלטה; שנוי-במחלוקת לגבי התרומה] —
   so inside a table cell the badge wraps rather than forcing the column wide. */
.article.fortress .ftr-log td .ftr-cert{
  max-width:100%;
}

/* ---------------------------------------------------------------------------
   הדפסה

   Zman's print icon loads /<id>/print/ into an iframe and sends that to the
   printer. That page carries body.print-ver and loads this stylesheet, so
   everything here is scoped to it — no @media print needed, and no changes to
   the theme's print.css.

   Scoped body.print-ver .article — one class deeper than the .article.fortress
   rules these override, so they win wherever the two disagree, and they keep
   working whether or not the template class is present on the article.

   Screen typography is not print typography: the dark bands cost toner and
   vanish when background graphics are off, the colour-coded chips carry their
   meaning in a fill that prints as a solid block, and the 670px reading
   measure is a screen constraint. What follows is the paper version.

   The chapters are also emitted with an open attribute server-side. This is
   the belt to that pair of braces: browsers disagree about whether CSS can
   force a <details> open, and Chrome is mid-migration to ::details-content, so
   the attribute is what actually guarantees it. These rules handle the styling
   that follows from it.
   ------------------------------------------------------------------------ */

body.print-ver .article .ftr-ch > .ftr-ch-in{ display:block !important; }
body.print-ver .article .ftr-ch{ break-inside:auto; }

/* The chapter head reads as a control on screen — number, title, counts, and a
   cursor. On paper nothing is clickable, so it becomes a heading. */
/* On screen the chapter head is a control: a 36px number column, a tinted
   band, a pointer, a hover state. On paper it is a heading. Left as a grid
   with the number hidden, the title is squeezed into the remaining column and
   breaks a word to a line. */
body.print-ver .article .ftr-ch summary,
body.print-ver .article .ftr-ch[open] summary{
  display:block;
  cursor:default;
  list-style:none;
  break-after:avoid;
  background:none !important;
  border:0 !important;
  padding:0;
}
body.print-ver .article .ftr-ch{ border-top:0 !important; background:none !important; }
body.print-ver .article .ftr-ch summary::-webkit-details-marker{ display:none; }
body.print-ver .article .ftr-ch-m{ color:#666; }

/* Dark grounds are the section's signature on screen and a waste of toner on
   paper — and if the reader has background graphics off, the header band
   prints as white text on white. Both bands become a rule instead. */
body.print-ver .article .ftr-dossier-hd,
body.print-ver .article .ftr-arch-hd{
  background:none !important;
  border-bottom:2px solid #0E4F97;
  padding-inline:0;
  padding-block:0 4px;
  margin-bottom:10px;
}
body.print-ver .article .ftr-dossier-t,
body.print-ver .article .ftr-arch-t{ color:#000 !important; }
body.print-ver .article .ftr-dossier-m{ color:#666 !important; }

body.print-ver .article .ftr-dossier,
body.print-ver .article .ftr-arch-open{
  border:0;
  background:none !important;
  max-width:none;
  width:auto;
  margin-inline:0;
}
body.print-ver .article .ftr-dossier-in,
body.print-ver .article .ftr-arch-in{ padding-inline:0; background:none !important; }

/* The acid chip and the certainty badges are colour-coded, and colour is the
   whole information. Printed as flat fills they are either invisible or a
   solid block, so they become outlined text — the wording still distinguishes
   them, which is what a reader on paper actually needs. */
body.print-ver .article .ftr-rc-tag,
body.print-ver .article .ftr-cert{
  display:inline-block;          /* they are divs: without this they fill the column */
  background:none !important;
  color:#000 !important;
  border:1px solid #999;
  padding:1px 6px;
  font-size:12px;
  font-weight:700;
}

/* Quotation and source, which also lose their scoped rules here. */
body.print-ver .article .ftr-arch-in .ftr-rc{
  border-bottom:1px solid #ddd;
  padding:10px 0;
  break-inside:avoid;
}
body.print-ver .article .ftr-arch-in .ftr-rc:last-child{ border-bottom:0; }
body.print-ver .article .ftr-rc-txt{ margin:6px 0 4px; }
body.print-ver .article .ftr-rc-src{ font-size:12px; color:#666; }

/* The chapter head is a number, a title and a counts line.
   The number goes. On screen it is a marker beside a control the reader can
   click; on paper the chapters are simply in order, so it carries nothing —
   and keeping it means fighting wpautop, which inserts an empty <p> between
   the number and the title and pushes the title onto its own line. Removing
   it is both the simpler fix and the better page.

   That empty paragraph is worth knowing about beyond print: wpautop is
   rewriting the markup this shortcode builds. */
body.print-ver .article .ftr-ch-n{ display:none; }
body.print-ver .article .ftr-ch-t{ margin:0 0 2px; font-size:17px; }
body.print-ver .article .ftr-ch summary > p{ margin:0; }
body.print-ver .article .ftr-ch summary > p:empty{ display:none; }

/* The record strip carries a coloured edge. Broken across a page it draws that
   edge down the margin of both, which is what a stray blue rule down the side
   of the page turns out to be. */
body.print-ver .article .ftr-brief{
  background:none !important;
  border-inline-start:3px solid #0E4F97;
  padding-inline-start:12px;
  break-inside:avoid;
}

/* ---- inside a chapter -------------------------------------------------
   None of the dossier's own typography survives on this page, so the running
   text, the sub-headings and the lists all arrive at browser defaults: a
   chapter title no larger than the prose under it, sub-headings with no
   hierarchy, and — in the quotations chapter, which is an <ol> — entries with
   no space between them, so forty separate quotations read as one block.
   ---------------------------------------------------------------------- */

body.print-ver .article .ftr-ch{ margin-bottom:22px; }

/* On screen the chapter body is inset inside a panel. On paper there is no
   panel, and the inset only narrows the column — costing pages. */
body.print-ver .article .ftr-ch-in{ padding:0; }
body.print-ver .article .ftr-dossier-in,
body.print-ver .article .ftr-arch-in{ padding-inline:0 !important; }

/* The chapter title has to outrank the prose, or the file reads as one
   undifferentiated column. */
body.print-ver .article .ftr-ch-t{
  font-size:19px;
  font-weight:700;
  line-height:1.3;
}
body.print-ver .article .ftr-ch summary{ margin:18px 0 8px; }
body.print-ver .article .ftr-ch-m{ font-size:12px; }

body.print-ver .article .ftr-ch-in h4{
  font-size:15.5px;
  font-weight:700;
  margin:14px 0 4px;
}
body.print-ver .article .ftr-ch-in h5{ font-size:14px; font-weight:700; margin:10px 0 3px; }
body.print-ver .article .ftr-ch-in p{ margin:0 0 9px; }

/* The quotations chapter is an ordered list of forty entries. Without a rule
   they touch, and every entry begins with a bold date that then reads as a
   continuation of the one above. */
body.print-ver .article .ftr-ch-in ol,
body.print-ver .article .ftr-ch-in ul{
  margin:0 0 12px;
  padding-inline-start:0;
  padding-inline-end:22px;
}
body.print-ver .article .ftr-ch-in li{
  margin:0 0 11px;
  padding:0;
  break-inside:avoid;
}
body.print-ver .article .ftr-ch-in ol{ list-style:decimal; }
body.print-ver .article .ftr-ch-in ul{ list-style:disc; }

/* Sources sit inline in the prose and are numerous. Black with a rule reads
   as a citation; forty blue phrases per page read as a broken web page. */
body.print-ver .article .ftr-ch-in a{
  color:#000;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* A chapter heading stranded at the foot of a page, or a two-line orphan at
   the head of the next, is the commonest fault in a long printed document. */
body.print-ver .article .ftr-ch-in h3,
body.print-ver .article .ftr-ch-in h4,
body.print-ver .article .ftr-ch-in h5{ break-after:avoid; }
body.print-ver .article .ftr-ch-in p,
body.print-ver .article .ftr-ch-in li{ orphans:2; widows:2; }
body.print-ver .article .ftr-log table{ break-inside:auto; }
body.print-ver .article .ftr-log tr{ break-inside:avoid; }
body.print-ver .article .ftr-log thead{ display:table-header-group; }

/* Nothing on paper opens. */
body.print-ver .article .ftr-cbtn,
body.print-ver .article .ftr-ov,
body.print-ver .article .ftl-lb{ display:none !important; }

/* ---------------------------------------------------------------------------
   כפתורי שיתוף בציר הזמן

   Zman's .social list, under the standfirst. It sits on the dark header,
   where the icon glyphs would otherwise disappear: the ::before carries a
   white disc behind itself so the grey icon has something to sit on.

   The buttons are handled in fortress.js, not by Zman's delegated handler —
   that one needs an .article ancestor with id="post-NNN" and throws without
   one, and giving the timeline an .article wrapper would drag the article
   stylesheet onto the page with it.
   ------------------------------------------------------------------------ */

.ftl-wrap .social{
  float:none;
}
.ftl-wrap .social li a::before{
  color:#7F7F7F;
  background:radial-gradient(circle, #fff 50%, rgba(255,255,213,0) 50%);
  overflow:hidden;
  border-radius:50%;
}

/* The copy button swaps its label to a confirmation for a moment. Nothing to
   do but stop that swap changing the button's width and shifting the row. */
.ftl-wrap .social li.copy a{ white-space:nowrap; }


/* ==========================================================================
   המבצר — על הפרויקט (/fortress/about/, page-fortress-about.php)
   Header is .ftl-head, as on the section pages. One reading column; the
   type follows the article body so the page reads as part of the section.
   ======================================================================== */
.ftr-about .fta-main{padding:40px 20px 64px;}
.ftr-about .fta-prose{max-width:670px;margin:0 auto;color:var(--ftr-ink,#08201B);font-size:19px;line-height:1.75;}
.ftr-about .fta-prose p{margin:0 0 22px;}
.ftr-about .fta-prose h3{
  font-size:24px;font-weight:700;line-height:1.3;margin:44px 0 16px;padding-bottom:8px;
  border-bottom:2px solid var(--ftr-ink,#08201B);
}
.ftr-about .fta-prose ul{margin:0 0 22px;padding-inline-start:22px;list-style:disc;}
.ftr-about .fta-prose li{margin:0 0 10px;}
.ftr-about .fta-prose b,.ftr-about .fta-prose strong{font-weight:700;}
/* Same blue as links inside the article body (.ftr-log a), so a link reads
   the same whether it's in a dossier or on this page. */
.ftr-about .fta-prose a{color:#205a99;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.ftr-about .fta-prose a:hover{color:#173f6e;}
@media (prefers-color-scheme: dark){
  .ftr-about .fta-prose a{color:#3a7fc4;}
}
@media (max-width:820px){
  .ftr-about .fta-main{padding:28px 16px 48px;}
  .ftr-about .fta-prose{font-size:17px;}
  .ftr-about .fta-prose h3{font-size:21px;margin-top:34px;}
}

/* ==========================================================================
   About / funding / credits box — fortress_page_footer_html() in
   fortress-shortcodes.php. Printed inline at the end of an article's own
   content (before comments), which can land it inside the dossier's own
   full-width section (see the note at line ~1171) rather than the normal
   670px reading column — so width and centering are set explicitly here
   rather than inherited from whatever ancestor happens to contain it.
   Light card, not a dark fill: a dark-green block reads as another chapter
   of the dossier, not as the page's own voice speaking underneath it. */
.ftr-pf{
  width:100%;max-width:670px;margin:40px auto;box-sizing:border-box;
  background:rgba(139,232,106,.2);border:1px solid rgba(139,232,106,.55);
  border-inline-start:4px solid #8BE86A;border-radius:4px;padding:22px 26px;
}
.ftr-pf p{
  color:#08201B;font-size:15px;line-height:1.75;
  margin:0 0 14px;
}
.ftr-pf p:last-child{margin-bottom:0;}
.ftr-pf b{font-weight:700;}
.ftr-pf a{
  color:#205a99;font-weight:700;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:3px;white-space:nowrap;
}
.ftr-pf a:hover{color:#173f6e;}
@media (max-width:820px){
  .ftr-pf{padding:18px 20px;margin:32px auto;}
  .ftr-pf p{font-size:14px;}
}
