/* AISAMURAI — single stylesheet, logical properties (RTL/LTR safe), no framework. */
:root {
	--c-ink: #eef0f4;
	--c-steel: #bcc2ca;
	--c-mist: #8b90a0;
	--c-paper: #080c0f;
	--c-crimson: #d7263d;
	--c-line: #29323b;
	--radius: 10px;
	--gap: clamp(1rem, 3vw, 2rem);
	--wrap: 1200px;
	--narrow: 720px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* Reserve the document gutter and do not animate browser scroll restoration. */
html { scrollbar-gutter:stable; }
html.has-js:not(.layout-restored) { scroll-behavior:auto; }
body { margin: 0; background: var(--c-paper); color: var(--c-ink); font: 1.0625rem/1.7 system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans Hebrew", Arial, sans-serif; text-align:start; }
img, video, svg { max-inline-size: 100%; block-size: auto; display: block; }
a { color: var(--c-crimson); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--c-crimson); outline-offset: 2px; }
h1, h2, h3 { line-height: 1.2; margin-block: 0 .6em; }
h1 { font-size: clamp(1.75rem, 4vw + 1rem, 3.25rem); }
h2 { font-size: clamp(1.4rem, 2vw + 1rem, 2rem); }

.screen-reader-text { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; inset-inline-start: 1rem; inset-block-start: -4rem; background: var(--c-ink); color: #fff; padding: .6rem 1rem; z-index: 100; }
.skip-link:focus { inset-block-start: 1rem; }

.container { inline-size: min(100% - 2 * var(--gap), var(--wrap)); margin-inline: auto; }
.container--narrow { inline-size: min(100% - 2 * var(--gap), var(--narrow)); }
.text-center { text-align: center; }
.section { padding-block: clamp(2rem, 6vw, 4rem); }

/* Hero */
.hero { background: var(--c-ink); color: #fff; padding-block: clamp(3rem, 10vw, 7rem); border-block-end: 4px solid var(--c-crimson); }
.hero__lead { font-size: 1.25rem; color: #cfd2dc; max-inline-size: 40ch; margin: 0; }

/* Grid + cards */
.grid { display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); margin-block: 2rem; }
.grid--2 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.card { background: #fff; border: 1px solid var(--c-line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; }
.card__media img { inline-size: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.card__body { padding: 1.25rem; }
.card__title { font-size: 1.2rem; margin-block-end: .4rem; }
.card__title a { color: inherit; text-decoration: none; }
.card__title a:hover { color: var(--c-crimson); }
.card__excerpt p { margin: 0; color: var(--c-steel); }
.entry-meta { color: var(--c-mist); font-size: .875rem; margin: 0 0 .5rem; }

/* Layout */
.layout--sidebar { display: grid; gap: var(--gap); grid-template-columns: minmax(0, 1fr) 300px; }
@media (max-width: 900px) { .layout--sidebar { grid-template-columns: 1fr; } }
.widget { margin-block-end: 2rem; }
.widget__title { font-size: 1.1rem; }

/* Entry */
.page-header { padding-block: 2rem 0; }
.entry { padding-block: 2rem; }
.entry-thumb { margin: 0 0 1.5rem; }
.entry-thumb img { border-radius: var(--radius); inline-size: 100%; }
.entry-content > * + * { margin-block-start: 1.2em; }
.entry-content :where(ul,ol) { padding-inline-start:1.5em; padding-inline-end:0; }
.entry-content :where(th,td) { text-align:start; vertical-align:top; }
.entry-content :where(code,kbd,samp) { unicode-bidi:isolate; }
/* Technical values retain their own order without changing the surrounding Hebrew. */
html[dir="rtl"] input:is([type="email"],[type="url"],[type="tel"]) { direction:ltr; unicode-bidi:isolate; text-align:right; }
.site-main :where(input[type="search"],textarea,select) { text-align:start; }
.site-main :where(button,.btn) { overflow-wrap:anywhere; }
.site-main :where(.card__body,.sc-card__body,.ex-card__body,.widget,.ep-panel),.site-footer :where(.footer-col,.footer-stories__copy,.footer-intro__brand,.site-footer__text) { min-inline-size:0; text-align:start; }
.breadcrumb-separator { display:inline-block; line-height:1; }
.breadcrumb-separator:dir(rtl) { transform:scaleX(-1); }
.entry-content :where(.alignwide) { inline-size: min(100vw - 2 * var(--gap), var(--wrap)); margin-inline: calc(50% - min(100vw - 2 * var(--gap), var(--wrap)) / 2); }
.entry--full .entry-content { inline-size: 100%; }
.breadcrumbs { font-size: .875rem; color: var(--c-mist); padding-block: 1rem 0; }
.chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.chips a, .tags a { border: 1px solid var(--c-line); border-radius: 999px; padding: .2rem .8rem; text-decoration: none; font-size: .875rem; }

/* UI */
.button, button.button, .search-form button { display: inline-block; background: var(--c-crimson); color: #fff; border: 0; border-radius: var(--radius); padding: .65rem 1.25rem; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; }
.button:hover { background: var(--c-ink); }
.search-form { display: flex; gap: .5rem; max-inline-size: 480px; }
.search-form input[type="search"], input[type="text"], input[type="email"], input[type="url"], textarea { inline-size: 100%; font: inherit; padding: .6rem .8rem; border: 1px solid var(--c-mist); border-radius: var(--radius); background: #fff; }

.pagination ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.pagination :where(a, span) { display: inline-block; padding: .4rem .9rem; border: 1px solid var(--c-line); border-radius: var(--radius); text-decoration: none; background: #fff; }
.pagination .current { background: var(--c-ink); color: #fff; }

.comments { margin-block: 3rem; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-inline-start: 1.5rem; }
.comment-body { border-block-end: 1px solid var(--c-line); padding-block: 1rem; }

.is-landing .container { inline-size: min(100% - 2 * var(--gap), var(--wrap)); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
@media print { .site-header, .site-footer, .sidebar, .comments { display: none; } }

/* ==========================================================================
   Header / footer. Breakpoint-dependent rules are injected by PHP
   (aisamurai_responsive_css) from the "Mobile breakpoint" setting.
   ========================================================================== */
.theme-dark   { --bg: #0b0b0f; --fg: #fff; --muted: #cfd2dc; --line: rgb(255 255 255 / 16%); }
.theme-light  { --bg: #fff; --fg: #0b0b0f; --muted: #50555f; --line: rgb(11 11 15 / 12%); }
.theme-accent { --bg: var(--c-crimson); --fg: #fff; --muted: #ffe3e6; --line: rgb(255 255 255 / 28%); }
.container--full { inline-size: calc(100% - 2 * var(--gap)); }

/* Icons + buttons */
.icon { inline-size: 1.15em; block-size: 1.15em; flex: none; }
.icon--flip { --icon-direction: none; }
.icon--flip:dir(rtl) { --icon-direction: scaleX(-1); transform: var(--icon-direction); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .55rem 1.1rem; border: 2px solid transparent; border-radius: var(--radius); font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, color .15s, box-shadow .15s; }
.btn--primary { background: var(--c-crimson); color: #fff !important; }
.btn--primary:hover { box-shadow: 0 0 0 4px rgb(215 38 61 / 28%); }
.theme-accent .btn--primary { background: #fff; color: var(--c-crimson) !important; }
.btn--outline { border-color: currentcolor; background: transparent; }
.btn--outline:hover { background: var(--fg); color: var(--bg) !important; border-color: var(--fg); }
.btn--ghost { background: transparent; }
.btn--ghost:hover { background: var(--line); }
.btn--block { inline-size: 100%; }
.icon-btn { display: inline-grid; place-items: center; inline-size: 44px; block-size: 44px; padding: 0; border: 0; border-radius: 8px; background: none; color: inherit; font-size: 1.2rem; cursor: pointer; }
.icon-btn:hover { background: var(--line); }

/* Social */
.social { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.social a { display: grid; place-items: center; inline-size: 40px; block-size: 40px; border: 1px solid var(--line); border-radius: 50%; color: inherit; transition: background-color .15s; }
.social a:hover { background: var(--line); }
/* Keep main-bar social controls independent of page-specific header palettes. */
.site-header__actions > .social { --header-social-line:rgb(255 255 255 / 16%); }
.site-header.is-transparent:not(.is-scrolled) .site-header__actions > .social { --header-social-line:rgb(255 255 255 / 14%); }
.site-header__actions > .social a { border-color:var(--header-social-line); }
.site-header__actions > .social a:hover { background:var(--header-social-line); }

/* Menus */
.menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.25rem; }
.menu a { display: inline-block; padding-block: .5rem; color: inherit; text-decoration: none; }
.menu a:hover, .menu .current-menu-item > a, .menu .current-menu-ancestor > a { color: var(--c-crimson); }
.theme-accent .menu a:hover, .theme-accent .menu .current-menu-item > a { color: #fff; text-decoration: underline; }
.menu .menu-item-has-children { position: relative; display: flex; align-items: center; }
.submenu-toggle { display: inline-grid; place-items: center; inline-size: 28px; block-size: 28px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; border-radius: 6px; }
.submenu-toggle::before { content: ""; inline-size: 7px; block-size: 7px; border: solid currentcolor; border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); transition: transform .15s; }
.is-open > .submenu-toggle::before { transform: translateY(1px) rotate(-135deg); }

/* Top bar */
.topbar { background: var(--bg); color: var(--fg); font-size: .875rem; }
.topbar a { color: inherit; }
.topbar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .25rem 1.5rem; min-block-size: 38px; }
.topbar__text p { margin: 0; }
.topbar .menu { gap: 0 1rem; }

/* Header */
.site-header { --gap:clamp(1rem,3vw,2rem); position: relative; z-index: 50; background: var(--bg); color: var(--fg); border-block-end: 1px solid var(--line); font-family:Heebo,Arial,sans-serif; transition: transform .25s ease, background-color .25s ease; }
.site-header .primary-nav { min-inline-size:0; font-size:.9rem; font-weight:700; }
.site-header .primary-nav > .menu { gap:2rem; }
@media (min-width:701px) and (max-width:1000px) {
 .site-header .site-header__inner { gap:16px; }
 .site-header .primary-nav > .menu { gap:clamp(12px,1.5vw,18px); font-size:.82rem; }
}
.site-header a { color: inherit; }
.site-header .btn--primary { color: #fff; }
.site-header { position: var(--header-position, sticky); inset-block-start: var(--wp-admin--admin-bar--height, 0px); }
.site-header.is-hidden { transform: translateY(-100%); }
.nav-open .site-header { transform: none !important; }
.site-header.is-transparent { position: var(--header-overlay-position, fixed); inset-inline: 0; inset-block-start: var(--wp-admin--admin-bar--height, 0px); }
.site-header.is-transparent:not(.is-scrolled) { background: transparent; border-color: transparent; color: #fff; }
.has-transparent-header .hero { padding-block-start: clamp(6rem, 14vw, 10rem); }

.site-header__inner { display: flex; align-items: center; gap: .75rem 1.5rem; min-block-size: 68px; }
.site-title { color: inherit; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.custom-logo { max-block-size: 44px; inline-size: auto; }
.site-header__actions { display: flex; align-items: center; flex-shrink:0; gap: .5rem; margin-inline-start: auto; }
.nav-toggle .icon--close { display: none; }
.nav-toggle[aria-expanded="true"] .icon--menu { display: none; }
.nav-toggle[aria-expanded="true"] .icon--close { display: block; }
.search-toggle[aria-expanded="true"] { background: var(--line); }

.site-header--inline .primary-nav { flex: 1; display: flex; justify-content: center; }
.site-header--inline .site-header__actions { margin-inline-start: 0; }
.site-header--split .primary-nav { margin-inline-start: auto; }
.site-header--split .site-header__actions { margin-inline-start: 0; }
.site-header--centered .site-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: ". brand actions" "nav nav nav"; justify-items: center; row-gap: 0; }
.site-header--centered .site-branding { grid-area: brand; padding-block: .75rem; }
.site-header--centered .primary-nav { grid-area: nav; padding-block-end: .25rem; }
.site-header--centered .site-header__actions { grid-area: actions; justify-self: end; margin: 0; }

/* Desktop dropdowns */
.primary-nav .sub-menu { position: absolute; inset-inline-start: 0; inset-block-start: 100%; z-index: 5; min-inline-size: 220px; margin: 0; padding: .5rem; list-style: none; background: var(--bg); color: var(--fg); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 12px 32px rgb(0 0 0 / 22%); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; }
.primary-nav .sub-menu .sub-menu { inset-inline-start: 100%; inset-block-start: 0; }
.primary-nav .sub-menu li { display: flex; align-items: center; justify-content: space-between; position: relative; }
.primary-nav .sub-menu a { flex: 1; padding: .45rem .75rem; border-radius: 6px; }
.primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu, .primary-nav li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }

/* Search drawer */
.header-search { padding-block: 1rem; border-block-start: 1px solid var(--line); }
.header-search .search-form { max-inline-size: none; }

/* Mobile panel (visibility toggled by .is-open; hidden above the breakpoint by PHP-generated CSS) */
.mobile-overlay { position: fixed; inset: 0; z-index: 1; background: rgb(0 0 0 / 55%); opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; }
.mobile-panel { position: fixed; z-index: 2; display: flex; flex-direction: column; gap: 1.25rem; padding: 1rem var(--gap) 2rem; overflow-y: auto; overscroll-behavior: contain; background: var(--bg); color: var(--fg); opacity: 0; visibility: hidden; transition: transform .28s ease, opacity .2s ease, visibility .28s; }
.mobile-panel a { color: inherit; }
.mobile-panel__close { align-self: flex-end; }
.mobile-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
.mobile-nav .menu > li, .mobile-nav .sub-menu li { flex-wrap: wrap; border-block-end: 1px solid var(--line); }
.mobile-nav .menu a { flex: 1; padding-block: .85rem; font-size: 1.1rem; }
.mobile-nav .sub-menu { flex-basis: 100%; display: none; list-style: none; margin: 0; padding: 0 0 .5rem; padding-inline-start: 1rem; }
.mobile-nav .is-open > .sub-menu { display: block; }
.mobile-nav .submenu-toggle { inline-size: 44px; block-size: 44px; }
.mobile-panel__buttons { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.mobile-panel__social { justify-content: center; }
.mobile-panel .search-form { max-inline-size: none; }

.has-mobile-panel .mobile-panel { inset-block: 0; inset-inline-end: 0; inline-size: min(88vw, 380px); transform: translateX(100%); box-shadow: -12px 0 32px rgb(0 0 0 / 30%); }
[dir="rtl"] .has-mobile-panel .mobile-panel { inset-inline-start: 0; inset-inline-end: auto; transform: translateX(100%); box-shadow: -12px 0 32px rgb(0 0 0 / 30%); }
.has-mobile-dropdown .mobile-panel { position: absolute; inset-inline: 0; inset-block-start: 100%; max-block-size: calc(100vh - 80px); transform: translateY(-8px); border-block-end: 1px solid var(--line); }
.has-mobile-dropdown .mobile-panel__close, .has-mobile-dropdown .mobile-overlay { display: none; }
.has-mobile-fullscreen .mobile-panel { inset: 0; transform: scale(1.03); padding-block-start: calc(1rem + var(--wp-admin--admin-bar--height, 0px)); }
.has-mobile-fullscreen .mobile-overlay { display: none; }

.mobile-panel.is-open { opacity: 1; visibility: visible; transform: none; }
/* Match the RTL closed-state specificity so the drawer actually enters view. */
.has-mobile-panel .mobile-panel.is-open { transform: translateX(0); }
.mobile-overlay.is-open { opacity: 1; visibility: visible; }
.has-mobile-dropdown .mobile-overlay { display: none; }
.nav-open { overflow: hidden; }

/* Footer */
.site-footer { margin-block-start: 4rem; background: var(--bg); color: var(--muted); }
.site-footer a { color: var(--fg); }
.site-footer__grid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: 2.5rem var(--gap); padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.footer-col { grid-column: span var(--span, 1); min-inline-size: 0; }
.footer-col p { margin-block: 0 .75em; }
.footer-col__title { margin-block-end: 1rem; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; color: var(--fg); }
.footer-brand { margin-block-end: 1rem; font-size: 1.25rem; }
.footer-col .menu { flex-direction: column; align-items: flex-start; gap: .1rem; }
.footer-col .menu a { padding-block: .3rem; color: var(--muted); }
.footer-col .menu a:hover { color: var(--fg); }
.footer-buttons { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.site-footer__bottom { border-block-start: 1px solid var(--line); font-size: .875rem; }
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.5rem; padding-block: 1.25rem; }
.site-footer__text p { margin: 0; }
.site-footer__legal .menu { gap: .25rem 1.25rem; }
.site-footer__legal .menu a { padding-block: .25rem; color: var(--muted); }

.back-to-top { position: fixed; inset-block-end: 1.25rem; inset-inline-end: 1.25rem; z-index: 40; display: grid; place-items: center; inline-size: 46px; block-size: 46px; border: 0; border-radius: 50%; background: var(--c-crimson); color: #fff; box-shadow: 0 6px 18px rgb(0 0 0 / 28%); cursor: pointer; opacity: 0; transition: opacity .2s; }
.back-to-top.is-visible { opacity: 1; }
.back-to-top[hidden] { display: none; }

@media (max-width: 1024px) {
	.site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.footer-col { grid-column: span 1; }
	.footer-col[data-span="2"], .footer-col[data-span="3"], .footer-col[data-span="4"], .footer-col[data-span="5"], .footer-col[data-span="6"] { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.site-footer__grid { grid-template-columns: 1fr; }
	.footer-col, .footer-col[data-span] { grid-column: 1 / -1; }
	.topbar__inner { justify-content: center; text-align: center; }
	.site-footer__bottom-inner { justify-content:flex-start; align-items:flex-start; text-align:start; }
	.site-header__inner { gap: .5rem; min-block-size: 60px; }
	.site-header__actions .btn { padding: .45rem .8rem; font-size: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
	.site-header, .mobile-panel, .mobile-overlay, .primary-nav .sub-menu { transition: none; }
}

/* ==========================================================================
   Content Builder layouts: archive grids, card styles, fields list, hero title
   ========================================================================== */
.entry-hero { padding-block: clamp(2.5rem, 8vw, 5rem); background: var(--c-ink); color: #fff; border-block-end: 4px solid var(--c-crimson); margin-block-end: 2rem; }
.entry-hero .entry-title { margin: 0; color: #fff; }
.has-transparent-header .entry-hero { padding-block-start: clamp(6rem, 14vw, 9rem); }

.container--full { inline-size: calc(100% - 2 * var(--gap)); }
.layout__main { min-inline-size: 0; }
.layout--sidebar-start { grid-template-columns: 300px minmax(0, 1fr); }
.layout--sidebar-start > .layout__main { order: 2; }
@media (max-width: 900px) { .layout--sidebar-start { grid-template-columns: 1fr; } .layout--sidebar-start > .layout__main { order: 0; } }

.grid--cols { grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.grid--cols-1 { --cols: 1; } .grid--cols-2 { --cols: 2; } .grid--cols-3 { --cols: 3; } .grid--cols-4 { --cols: 4; }
@media (max-width: 1024px) { .grid--cols-3, .grid--cols-4 { --cols: 2; } }
@media (max-width: 640px) { .grid--cols { --cols: 1; } }
.grid--list { grid-template-columns: 1fr; }

.card__terms { display: flex; flex-wrap: wrap; gap: .35rem; margin-block-end: .4rem; font-size: .75rem; }
.card__terms a { padding: .1rem .6rem; border-radius: 999px; background: rgb(215 38 61 / 10%); color: var(--c-crimson); text-decoration: none; }
.card__more { display: inline-block; margin-block-start: .6rem; font-weight: 600; }
.card__media { display: block; }
.card__media img { inline-size: 100%; object-fit: cover; }


.ai-fields { display: grid; gap: .5rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--c-line); border-radius: var(--radius); background: #fff; }
.ai-fields--card { margin: .75rem 0 0; padding: 0; border: 0; background: none; grid-template-columns: 1fr; gap: .25rem; font-size: .875rem; }
.ai-fields__row { display: flex; flex-direction: column; }
.ai-fields--card .ai-fields__row { flex-direction: row; gap: .5rem; }
.ai-fields dt { font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--c-mist); }
.ai-fields dd { margin: 0; }
.ai-fields__images { display: flex; flex-wrap: wrap; gap: .5rem; }
.ai-fields__images img { inline-size: 120px; border-radius: 8px; }
.ai-swatch { display: inline-block; inline-size: 1em; block-size: 1em; border-radius: 3px; vertical-align: middle; border: 1px solid var(--c-line); }
.terms { color: var(--c-steel); }
.related { margin-block: 2rem; }

/* Logo */
.site-logo { display: inline-flex; align-items: center; gap: .65rem; color: inherit; text-decoration: none; }
.site-logo img { display: block; block-size: var(--logo-h, 44px); inline-size: auto; max-inline-size: min(60vw, 280px); object-fit: contain; }
.site-logo__text { font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.footer-brand .site-logo img { block-size: min(var(--logo-h, 44px), 56px); }

/* ======================================================================
   Samurai card family. One set of tokens, five deliberately different scales.
   ====================================================================== */
@font-face { font-family: Heebo; font-style: normal; font-weight: 400 600; font-display: optional; src: url('../fonts/heebo-regular.ttf') format('truetype'); }
@font-face { font-family: Heebo; font-style: normal; font-weight: 700; font-display: optional; src: url('../fonts/heebo-bold.ttf') format('truetype'); }
@font-face { font-family: Heebo; font-style: normal; font-weight: 800 900; font-display: optional; src: url('../fonts/heebo-extrabold.ttf') format('truetype'); }
.card {
 --card-accent: #d92344; --card-ink: #1b2231; --card-muted: #687181;
 --card-line: #e5e8ee; --card-surface: #fff; --card-pad: 24px; --card-radius: 12px;
 position: relative; isolation: isolate; display: flex; flex-direction: column;
 min-inline-size: 0; padding: 0; overflow: hidden; border: 1px solid var(--card-line);
 border-radius: var(--card-radius); background: var(--card-surface); color: var(--card-ink);
 box-shadow: 0 2px 4px rgb(20 27 42 / 2%); font-family: Heebo, Arial, sans-serif; text-align: start;
 transition: border-color .2s, box-shadow .2s, transform .2s;
}
.card__body { display: flex; flex: 1; flex-direction: column; min-inline-size: 0; padding: var(--card-pad); }
.card__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-block-size: 0; margin-block-end: 13px; }
.card__eyebrow:empty { display: none; }
.card__badge, .card__kicker { position: relative; z-index: 3; max-inline-size: 100%; overflow-wrap: anywhere; color: var(--card-accent); text-decoration: none; font-size: .75rem; font-weight: 700; line-height: 1.5; }
.card__badge:hover, .card__kicker:hover { text-decoration: underline; }
/* Shared typography and a quiet category chip for every current post card. */
.post-card { font-family:Heebo,Arial,sans-serif; text-align:start; }
.post-card-title {
 color:#f3f5f7; font-family:Heebo,Arial,sans-serif; font-weight:700;
 line-height:1.35; letter-spacing:-.025em; overflow-wrap:anywhere; text-wrap:pretty;
}
/* A short editorial underline: crimson at the reading edge, then a quiet fade. */
:is(.post-card-title,.ex-card__name) {
 background-image:linear-gradient(to left,var(--c-crimson) 0 16px,rgb(215 38 61 / 28%) 16px,transparent 64px);
 background-position:right bottom; background-repeat:no-repeat; background-size:0 2px;
 transition:background-size .26s cubic-bezier(.2,.7,.2,1);
}
:is(.post-card-title,.ex-card__name):dir(ltr) {
 background-image:linear-gradient(to right,var(--c-crimson) 0 16px,rgb(215 38 61 / 28%) 16px,transparent 64px);
 background-position:left bottom;
}
@media (hover:hover) { :is(.post-card,.ex-card):hover :is(.post-card-title,.ex-card__name) { background-size:min(64px,100%) 2px; } }
:is(.post-card-title,.ex-card__name):has(a:focus-visible) { background-size:min(64px,100%) 2px; }
.post-card-excerpt { color:#bec8d5; font-family:Heebo,Arial,sans-serif; line-height:1.5; }
.post-card-category {
 display:inline-flex; align-items:center; align-self:flex-start; max-inline-size:100%;
 min-block-size:28px; padding:5px 10px; border:1px solid rgb(255 255 255 / 18%);
 border-radius:9px; background:rgb(22 28 37 / 88%); color:#e7ebf0;
 box-shadow:inset 0 1px 0 rgb(255 255 255 / 8%);
 font-family:Heebo,Arial,sans-serif; font-size:11px; font-weight:500; line-height:1.4;
 letter-spacing:0; text-decoration:none; overflow-wrap:anywhere;
}
.card__title { margin: 0 0 12px; font-size: 1.22rem; font-weight: 800; line-height: 1.42; letter-spacing: -.025em; overflow-wrap: anywhere; text-wrap: pretty; }
.card__title .card__link { color: inherit; text-decoration: none; background: none; }
.card__link::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: var(--card-radius); }
.card__title .card__link:hover { color: inherit; }
.card:has(.card__link:focus-visible) { outline: 3px solid var(--card-accent); outline-offset: 4px; }
.card__excerpt { margin: 0 0 22px; color: var(--card-muted); font-size: .88rem; line-height: 1.8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-start: auto; padding-block-start: 16px; border-block-start: 1px solid var(--card-line); }
.card__meta { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 5px 10px; min-inline-size: 0; margin: 0; color: var(--card-muted); font-size: .75rem; font-weight: 400; line-height: 1.6; }
.card__time { font-weight: 400; }
.card__sep { display: none; }
.card__meta > :not(.card__sep) { unicode-bidi: isolate; }
.card__author { display: inline-flex; align-items: center; gap: 6px; color: inherit; min-inline-size: 0; overflow-wrap: anywhere; }
.card__avatar { inline-size: 22px; block-size: 22px; border-radius: 50%; object-fit: cover; }
.card__action { display: flex; flex: none; align-items: center; gap: 8px; }
.card__more { margin: 0; color: var(--card-muted); font-size: .7rem; font-weight: 500; }
.card__arrow { display: grid; place-items: center; inline-size: 32px; block-size: 32px; border: 1px solid var(--card-line); border-radius: 50%; color: var(--card-ink); transition: background .2s, color .2s, border-color .2s; }
.card__arrow .icon { inline-size: 15px; block-size: 15px; }
.card:dir(rtl) .card__arrow .icon { transform: scaleX(-1); }
.card:dir(ltr) .card__arrow .icon { transform: none; }
.card__media { display: block; flex: none; overflow: hidden; background: #e9edf2; }
.card__media img, .card__ph { display: block; inline-size: 100%; aspect-ratio: var(--card-ratio, 16 / 10); object-fit: cover; transition: transform .35s ease; }
.card.ratio-16-9 { --card-ratio: 16 / 9; } .card.ratio-4-3 { --card-ratio: 4 / 3; }
.card.ratio-1-1 { --card-ratio: 1; } .card.ratio-3-4 { --card-ratio: 3 / 4; }
.card__ph { display: grid; place-items: center; background: repeating-linear-gradient(135deg, transparent 0 22px, rgb(27 34 49 / 4%) 22px 23px), #e9edf2; color: #778294; font-size: 3rem; font-weight: 800; }
.card .ai-fields { position: relative; z-index: 3; margin-block: 0 16px; }
.cards-lift :is(.card,.hp-story):hover { transform:none; border-color:color-mix(in srgb,var(--card-line) 96%,var(--card-ink)); }
.cards-lift .card:hover .card__media img { transform: none; }
.cards-lift .card:hover .card__arrow { background: color-mix(in srgb, var(--card-accent) 8%, transparent); border-color: color-mix(in srgb, var(--card-line) 80%, var(--card-accent)); }
.card:focus-within .card__arrow { background: var(--card-accent); border-color: var(--card-accent); color: #fff; }

.grid, .hp-grid, .card-specimens { counter-reset: card; }
.grid--list { max-inline-size: 820px; }
.hp-grid > .card { block-size: 100%; }
@media (prefers-reduced-motion: reduce) {
 .card, .card__media img, .card__arrow { transition: none; }
 .cards-lift .card:hover, .cards-lift .card:hover .card__media img { transform: none; }
}

/* Header dimensions and scroll states, shared by home and inner pages. */
.site-header { --header-current-h: var(--header-h, 88px); transition: transform var(--header-duration, 250ms) ease, background-color var(--header-duration, 250ms) ease, box-shadow var(--header-duration, 250ms) ease; }
.site-header.is-shrunk { --header-current-h: var(--header-small-h, 64px); }
.site-header .site-header__inner { min-block-size: var(--header-current-h); transition: min-block-size var(--header-duration, 250ms) ease; }
.site-header .site-branding { display:flex; align-items:center; align-self:center; }
.site-header .site-logo { display:flex; align-items:center; line-height:1; }
.site-header .site-logo img { block-size: min(var(--header-logo-h, 44px), calc(var(--header-current-h) - 16px)); max-block-size: none; transition: block-size var(--header-duration, 250ms) ease; }
.site-header:not(.is-ready), .site-header:not(.is-ready) .site-header__inner, .site-header:not(.is-ready) .site-logo img { transition:none; }
.site-header.has-scroll-shadow.is-scrolled:not(.is-static) { box-shadow: 0 5px 20px rgb(0 0 0 / 8%); }
.site-header.is-static { inset-block-start: auto; }
.site-header.is-static.is-transparent { inset-block-start: var(--wp-admin--admin-bar--height, 0px); }
@media (prefers-reduced-motion: reduce) {
 .site-header, .site-header .site-header__inner, .site-header .site-logo img { transition: none; }
}

.site-header--centered.is-shrunk .site-branding { padding-block: 4px; }

/* A shared, softer treatment for header actions in every colour scheme. */
.site-header { --header-control-bg:rgb(255 255 255 / 12%); --header-control-hover:rgb(255 255 255 / 22%); --header-control-line:rgb(255 255 255 / 18%); }
.site-header.theme-light { --header-control-bg:#f5f6f8; --header-control-hover:#eceff3; --header-control-line:#e9ecf1; }
.site-header.is-transparent:not(.is-scrolled) { --header-control-bg:rgb(255 255 255 / 12%); --header-control-hover:rgb(255 255 255 / 22%); --header-control-line:rgb(255 255 255 / 20%); }
.site-header .site-header__bar .icon-btn,
.site-header .site-header__actions .btn { min-block-size:44px; border:1px solid var(--header-control-line); border-radius:11px; background:var(--header-control-bg); color:inherit; box-shadow:inset 0 1px 0 rgb(255 255 255 / 8%); transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease; -webkit-tap-highlight-color:transparent; }
.site-header .site-header__bar .icon-btn .icon { inline-size:20px; block-size:20px; stroke-width:1.8; }
.site-header .site-header__actions .btn { min-block-size:36px; align-items:center; justify-content:center; gap:7px; padding:6px 11px; font-family:Heebo,Arial,sans-serif; font-size:.8125rem; font-weight:500; line-height:1; letter-spacing:-.015em; border-radius:9px; }
/* Heebo's Hebrew glyphs sit high in their line box; align their visible centre with the icon. */
.site-header .site-header__actions .btn > span { display:block; line-height:1; transform:translateY(1px); }
.site-header .site-header__actions .btn .icon { flex:none; box-sizing:content-box; inline-size:16px; block-size:16px; padding-inline-end:7px; border-inline-end:1px solid color-mix(in srgb,currentColor 18%,transparent); stroke-width:1.65; }
.site-header .site-header__actions .btn--primary { background:var(--c-crimson); border-color:rgb(255 255 255 / 12%); color:#fff !important; box-shadow:inset 0 1px 0 rgb(255 255 255 / 12%),0 2px 5px rgb(11 11 15 / 6%); }
.site-header .site-header__bar .icon-btn[aria-expanded="true"] { background:var(--header-control-hover); border-color:currentColor; }
@media (hover:hover) {
 .site-header .site-header__bar .icon-btn:hover,
 .site-header .site-header__actions .btn:hover { background:var(--header-control-hover); color:inherit; transform:translateY(-1px); box-shadow:0 4px 12px rgb(11 11 15 / 8%); }
 .site-header .site-header__actions .btn--primary:hover { background:#bd1c33; color:#fff !important; }
}
.site-header .site-header__bar .icon-btn:active,
.site-header .site-header__actions .btn:active { transform:scale(.96); }
.site-header .site-header__bar :is(.icon-btn,.btn):focus-visible { outline:2px solid currentColor; outline-offset:3px; }

/* Keep the search hit area generous, with a compact surface matching the text actions. */
:is(.site-header .site-header__bar .search-toggle,.surface-control) { position:relative; isolation:isolate; background:transparent; border-color:transparent; box-shadow:none; border-radius:9px; text-decoration:none; }
:is(.site-header .site-header__bar .search-toggle,.surface-control)::before { content:""; position:absolute; inset:3px; z-index:-1; border:1px solid var(--header-control-line); border-radius:9px; background:var(--header-control-bg); box-shadow:inset 0 1px 0 rgb(255 255 255 / 8%); transition:background-color .2s ease,border-color .2s ease; }
.surface-control:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.site-header .site-header__bar .search-toggle .icon { inline-size:17px; block-size:17px; stroke-width:1.65; }
.site-header .site-header__bar .search-toggle[aria-expanded="true"] { background:transparent; border-color:transparent; }
.site-header .site-header__bar .search-toggle[aria-expanded="true"]::before { background:var(--header-control-hover); border-color:currentColor; }
@media (hover:hover) {
 :is(.site-header .site-header__bar .search-toggle,.surface-control):hover { background:transparent; box-shadow:none; }
 :is(.site-header .site-header__bar .search-toggle,.surface-control):hover::before { background:var(--header-control-hover); border-color:color-mix(in srgb,currentColor 24%,transparent); }
}

/* Quiet menu mark; search expands within the existing header row. */
.site-header .site-header__bar .nav-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; inline-size:auto; width:auto; min-inline-size:44px; gap:4px; padding-inline:4px; background:transparent; border-color:transparent; box-shadow:none; border-radius:8px; font:inherit; font-size:.8rem; font-weight:500; }
.site-header .site-header__bar .nav-toggle .icon { inline-size:24px; block-size:24px; stroke-width:1.8; }
.site-header .site-header__bar .nav-toggle[aria-expanded="true"] { border-color:transparent; background:var(--header-control-bg); }
@media (hover:hover) { .site-header .site-header__bar .nav-toggle:hover { background:var(--header-control-bg); box-shadow:none; } }
.site-header .site-header__inner { position:relative; }
.site-header .header-search { position:absolute; inset:0; z-index:5; display:flex; align-items:center; gap:8px; padding-block:8px; border:0; background:var(--bg); }
.site-header .header-search[hidden] { display:none; }
.site-header .header-search > .search-shell { flex:1; min-inline-size:0; }
.site-header.is-search-open .site-header__inner > :not(.header-search) { visibility:hidden; pointer-events:none; }
.site-header .header-search .search-form { flex:1; min-inline-size:0; max-inline-size:none; align-items:center; gap:4px; padding:3px; border:1px solid var(--header-control-line); border-radius:11px; background:var(--header-control-bg); }
.site-header .header-search .search-form:focus-within { border-color:color-mix(in srgb,currentColor 45%,transparent); box-shadow:0 0 0 2px color-mix(in srgb,currentColor 7%,transparent); }
.site-header .header-search input[type="search"] { flex:1; min-inline-size:0; inline-size:100%; block-size:36px; padding:6px 10px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; font-size:16px; line-height:1.25; box-shadow:none; outline:none; }
.site-header .header-search input::placeholder { color:inherit; opacity:.7; }
.site-header .header-search .search-form button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; inline-size:36px; block-size:36px; min-block-size:36px; padding:0; border:0; border-radius:8px; background:transparent; color:inherit; opacity:.8; transition:background-color .15s ease,opacity .15s ease; }
.site-header .header-search .search-form button:hover { background:var(--header-control-bg); opacity:1; }
.site-header .header-search .search-form button:focus-visible { outline:1px solid currentColor; outline-offset:-3px; opacity:1; }
.site-header .header-search .search-form button .icon { inline-size:18px; block-size:18px; stroke-width:1.5; }
.site-header .site-header__bar .header-search > .icon-btn { flex:0 0 44px; border-color:transparent; background:transparent; box-shadow:none; }

/* Shared compact action, matching the header controls across page sections. */
.btn.btn--compact { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; flex:0 0 auto; inline-size:auto; min-block-size:36px; padding:6px 11px; gap:7px; border:1px solid rgb(255 255 255 / 12%); border-radius:9px; background:var(--c-crimson); color:#fff; font-family:Heebo,Arial,sans-serif; font-size:.8125rem; font-weight:500; line-height:1; letter-spacing:-.015em; text-decoration:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 12%),0 2px 5px rgb(11 11 15 / 6%); transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.btn.btn--compact > span { display:block; line-height:1; transform:translateY(1px); }
.btn.btn--compact > span:not(.hp-read__label):has(+ svg.icon) { padding-inline-end:7px; border-inline-end:1px solid rgb(255 255 255 / 18%); }
.btn.btn--compact svg.icon { transform:var(--icon-direction,none); flex:none; inline-size:16px; block-size:16px; stroke-width:1.65; }
@media (hover:hover) { .btn.btn--compact:hover { background:#bd1c33; color:#fff; transform:translateY(-1px); box-shadow:0 4px 12px rgb(11 11 15 / 8%); } }
.btn.btn--compact:active { transform:scale(.96); }
.btn.btn--compact:focus-visible { outline:2px solid var(--c-crimson); outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .btn.btn--compact { transition:none; } }

/* Header text actions share the search control's compact, subtle surface. */
.site-header .site-header__actions .btn {
 display:inline-flex; align-items:center; justify-content:center; align-self:center; flex:none; inline-size:auto; min-block-size:38px; padding:7px 12px; gap:8px; border:1px solid var(--header-control-line); border-radius:9px; background:var(--header-control-bg); color:inherit !important; font-family:Heebo,Arial,sans-serif; font-size:.8125rem; font-weight:500; line-height:1.25; letter-spacing:-.015em; white-space:nowrap; text-decoration:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 8%); transform:none; transition:background-color .2s ease,border-color .2s ease;
}
.site-header .site-header__actions .btn > span { display:block; padding:0; border:0; line-height:1.25; transform:none; }
.site-header .site-header__actions .btn > .icon { display:block; box-sizing:content-box; inline-size:17px; block-size:17px; margin:0; padding:0; border:0; flex:none; stroke-width:1.25; transform:var(--icon-direction,none); }
.site-header .site-header__actions .btn:hover { background:var(--header-control-hover); border-color:color-mix(in srgb,currentColor 24%,transparent); color:inherit !important; transform:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 8%); }
.site-header .site-header__actions .btn:active { transform:none; }
.site-header .site-header__actions .btn:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media (prefers-reduced-motion:reduce) { .site-header .site-header__actions .btn { transition:none; } }

/* Keep the search surface legible over the hero without an opaque header strip. */
.site-header.is-transparent:not(.is-scrolled) .header-search { background:transparent; color:#20232c; }
.site-header.is-transparent:not(.is-scrolled) .header-search .search-form { background:#fff; color:#20232c; border-color:#e7eaf0; box-shadow:0 4px 18px rgb(5 10 17 / 12%); }
.site-header.is-transparent:not(.is-scrolled) .header-search .search-form:focus-within { border-color:#dce1e8; }
.site-header.is-transparent:not(.is-scrolled) .header-search input::placeholder { color:#737985; opacity:1; }
.site-header.is-transparent:not(.is-scrolled) .header-search > .icon-btn { color:#737985; }
.site-header.is-transparent:not(.is-scrolled) .header-search > .icon-btn:hover { color:#20232c; }

/* Image-backed navigation with primary links above and search/footer links below. */
.mobile-panel { isolation:isolate; background:#101721; color:#fff; --line:rgb(255 255 255 / 18%); }
.mobile-panel__backdrop { position:absolute; inset:0; z-index:-2; inline-size:100%; block-size:100%; object-fit:cover; object-position:var(--menu-position,center); pointer-events:none; }
.mobile-panel::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgb(5 10 17 / var(--menu-shade,65%)),rgb(5 10 17 / 92%)); pointer-events:none; }
.mobile-panel > :not(.mobile-panel__backdrop) { flex-shrink:0; }
.mobile-panel .mobile-nav { padding-block:8px 20px; }
.mobile-panel__bottom { margin-block-start:auto; padding-block-start:24px; display:grid; gap:18px; }
.mobile-panel__search .search-form { background:#fff; color:#20232c; border:1px solid #e7eaf0; border-radius:12px; }
.mobile-panel__search input[type="search"] { color:#20232c; background:transparent; min-inline-size:0; }
.mobile-panel__bottom-nav .menu { display:flex; flex-wrap:wrap; gap:10px 20px; margin:0; padding:0; list-style:none; }
.mobile-panel__bottom-nav .menu a { font-size:.85rem; color:rgb(255 255 255 / 78%); text-decoration:none; }
.mobile-panel__bottom-nav .menu a:hover { color:#fff; text-decoration:underline; }
.has-mobile-dropdown .mobile-panel { min-block-size:min(640px,calc(100vh - 100px)); min-block-size:min(640px,calc(100dvh - 100px)); }

/* Compact search in the navigation drawer. */
.mobile-panel__search .search-form { align-items:center; gap:4px; padding:3px; border-radius:9px; }
.mobile-panel__search .search-form input[type="search"] { flex:1; inline-size:100%; block-size:32px; min-block-size:0; padding:5px 8px; border:0; border-radius:6px; font-size:14px; line-height:1.25; box-shadow:none; }
.mobile-panel__search .search-form button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; block-size:32px; min-block-size:0; padding:5px 8px; border:0; border-radius:6px; background:transparent; color:#596271; font-size:13px; font-weight:500; line-height:1.25; box-shadow:none; }
.mobile-panel__search .search-form button:is(:hover,:active) { background:transparent; color:var(--c-crimson); box-shadow:none; }
.mobile-panel__search .search-form :is(input,button):focus-visible { outline:2px solid var(--c-crimson); outline-offset:-2px; }

/* Center the site identity above the drawer's primary navigation. */
.mobile-panel__brand { display:flex; justify-content:center; align-items:center; padding:8px 28px 20px; text-align:center; }
.mobile-panel__brand > a { display:inline-flex; justify-content:center; align-items:center; max-inline-size:100%; color:#fff; text-decoration:none; }
.mobile-panel__brand .mobile-panel__logo { display:block; inline-size:auto; block-size:auto; max-inline-size:min(180px,100%); max-block-size:64px; object-fit:contain; }
.mobile-panel__site-name { font-size:1.8rem; font-weight:700; line-height:1.2; letter-spacing:-.025em; }
.mobile-panel__brand > a:focus-visible { outline:2px solid #fff; outline-offset:6px; border-radius:4px; }

/* A single quiet search surface with an inset icon action. */
.mobile-panel__search .search-form { align-items:center; gap:6px; padding:5px; border:1px solid rgb(255 255 255 / 22%); border-radius:12px; background:rgb(255 255 255 / 7%); color:#fff; box-shadow:inset 0 1px 0 rgb(255 255 255 / 4%); transition:border-color .18s ease,background-color .18s ease; }
.mobile-panel__search .search-form:focus-within { border-color:rgb(255 255 255 / 55%); background:rgb(255 255 255 / 10%); }
.mobile-panel__search .search-form input[type="search"] { block-size:34px; padding:6px 10px; border:0; border-radius:8px; background:transparent; color:#fff; font-family:inherit; font-size:14px; line-height:1.4; outline:none; box-shadow:none; }
.mobile-panel__search .search-form input::placeholder { color:rgb(255 255 255 / 58%); opacity:1; }
.mobile-panel__search .search-form button { flex:0 0 34px; inline-size:34px; block-size:34px; padding:8px; border:0; border-inline-start:1px solid rgb(255 255 255 / 16%); border-radius:0; background:transparent; color:rgb(255 255 255 / 78%); transition:color .18s ease; }
.mobile-panel__search .search-form button .icon { inline-size:17px; block-size:17px; stroke-width:1.5; }
.mobile-panel__search .search-form button:is(:hover,:active) { background:transparent; color:#fff; }
.mobile-panel__search .search-form button:focus-visible { outline:2px solid #fff; outline-offset:-3px; border-radius:6px; }
@media (prefers-reduced-motion:reduce) { .mobile-panel__search .search-form, .mobile-panel__search .search-form button { transition:none; } }

/* A quiet, clearly defined close action for the navigation drawer. */
.site-header .mobile-panel .mobile-panel__close { display:inline-flex; align-items:center; justify-content:center; align-self:flex-end; flex:0 0 auto; inline-size:36px; block-size:36px; min-block-size:36px; padding:8px; border:1px solid rgb(255 255 255 / 18%); border-radius:50%; background:rgb(255 255 255 / 5%); color:rgb(255 255 255 / 85%); box-shadow:none; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.site-header .mobile-panel .mobile-panel__close .icon { inline-size:18px; block-size:18px; stroke-width:1.5; transform:none; }
.site-header .mobile-panel .mobile-panel__close:hover { border-color:rgb(255 255 255 / 38%); background:rgb(255 255 255 / 12%); color:#fff; transform:none; box-shadow:none; }
.site-header .mobile-panel .mobile-panel__close:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.site-header.has-mobile-dropdown .mobile-panel .mobile-panel__close { display:none; }
@media (prefers-reduced-motion:reduce) { .site-header .mobile-panel .mobile-panel__close { transition:none; } }

/* Pin the drawer close action to its physical top-right corner. */
.site-header .mobile-panel .mobile-panel__close { position:absolute; top:12px; right:12px; left:auto; z-index:3; border-color:transparent; background:var(--c-crimson); color:#fff; }
.site-header .mobile-panel .mobile-panel__close:hover { background:#b91935; border-color:transparent; color:#fff; }
.mobile-panel__brand { min-block-size:60px; padding-block-start:16px; padding-inline:44px; }

/* Card backgrounds are part of the primary click target. */
:is(.ex-card,.hp-story,.card):has(a[href]) { cursor:pointer; }
:is(.ex-card,.hp-story,.card) :is(p,time) { cursor:inherit; }

.back-to-top { inset-inline-end:auto; left:20px; right:auto; bottom:calc(20px + env(safe-area-inset-bottom,0px)); }

/* Back-to-top uses the same edge tab as the visitor controls. */
.back-to-top { inset-inline-start:auto; inset-inline-end:auto; left:0; right:auto; bottom:calc(16px + env(safe-area-inset-bottom,0px)); inline-size:46px; block-size:44px; border:1px solid rgb(255 255 255 / 25%); border-left:0; border-radius:0 9px 9px 0; box-shadow:2px 3px 12px rgb(0 0 0 / 18%); }
.back-to-top .icon { inline-size:21px; block-size:21px; stroke-width:1.5; }

.back-to-top { inline-size:40px; block-size:38px; padding:0; }

/* Dynamic menu actions use the same compact control language as the header. */
.mobile-panel__buttons { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-block:0 18px; }
.mobile-panel__buttons > li { margin:0; padding:0; max-inline-size:100%; }
.site-header .mobile-panel__buttons .btn { display:inline-flex; align-items:center; justify-content:center; inline-size:auto; max-inline-size:100%; min-block-size:38px; gap:8px; padding:8px 13px; border:1px solid rgb(255 255 255 / 18%); border-radius:9px; background:rgb(255 255 255 / 7%); color:#fff; font-family:Heebo,Arial,sans-serif; font-size:13px; font-weight:500; line-height:1.4; letter-spacing:0; text-decoration:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 6%); transform:none; transition:background-color .2s ease,border-color .2s ease; -webkit-tap-highlight-color:transparent; }
.site-header .mobile-panel__buttons .btn > span { padding:0; border:0; line-height:1.4; transform:none; overflow-wrap:anywhere; }
.site-header .mobile-panel__buttons .btn > .icon { display:block; flex:none; inline-size:17px; block-size:17px; margin:0; padding:0; border:0; box-sizing:content-box; stroke-width:1.25; }
@media(hover:hover) { .site-header .mobile-panel__buttons .btn:hover { background:rgb(255 255 255 / 13%); border-color:rgb(255 255 255 / 32%); color:#fff; transform:none; box-shadow:inset 0 1px 0 rgb(255 255 255 / 6%); } }
.site-header .mobile-panel__buttons .btn:active { background:rgb(255 255 255 / 16%); transform:none; }
.site-header .mobile-panel__buttons .btn:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .site-header .mobile-panel__buttons .btn { transition:none; } }

/* Outbound editorial links: a fine external-window glyph, unchanged in RTL. */
.entry-content a.has-external-marker[href]::after { content:""; display:inline-block; inline-size:.8em; block-size:.8em; margin-inline-start:.3em; padding:0; border:0; border-radius:0; vertical-align:.02em; background:currentColor; color:inherit; font-size:1em; opacity:.75; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h5v5M14 2 7 9M6 3H3a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 2h5v5M14 2 7 9M6 3H3a1 1 0 0 0-1 1v9a1 1 0 0 0 1 1h9a1 1 0 0 0 1-1v-3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.entry-content a.has-external-marker[href]:has(img,picture,svg)::after { display:none; }
