/* Home spacing uses one bounded set of desktop/mobile values from settings. */
.home {
 --hp-section-gap:var(--hp-section-d,64px); --hp-heading-gap:var(--hp-heading-d,24px);
 --hp-grid-gap:var(--hp-grid-d,24px); --hp-gutter:var(--hp-gutter-d,32px);
 --hp-page-top:var(--hp-top-d,28px); --hp-banner-pad:var(--hp-banner-d,32px);
 --hp-element-gap:var(--hp-element-d,16px); --gap:var(--hp-gutter);
}
.hp { display:flow-root; padding-block:var(--hp-page-top) calc(var(--hp-section-gap) / 2); }
.hp-sec { margin:0; padding-block:calc(var(--hp-section-gap) / 2); scroll-margin-block-start:110px; }
.hp > .hp-sec:first-of-type { padding-block-start:0; }
.hp-sec.is-alt { background:#f0f2f6; }
.hp-sec:empty { display:none; }
@media(max-width:700px) {
 .home {
  --hp-section-gap:var(--hp-section-m,40px); --hp-heading-gap:var(--hp-heading-m,20px);
  --hp-grid-gap:var(--hp-grid-m,16px); --hp-gutter:var(--hp-gutter-m,20px);
  --hp-page-top:var(--hp-top-m,20px); --hp-banner-pad:var(--hp-banner-m,24px);
  --hp-element-gap:var(--hp-element-m,12px);
 }
}

/* Section heading */
.hp-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-block-end: clamp(1.25rem, 3vw, 2rem); }
.hp-head__title { margin: 0; font-size: clamp(1.5rem, 2.4vw + .8rem, 2.25rem); letter-spacing: -.02em; line-height: 1.15; }
.hp-head__title::after { content: ""; display: block; inline-size: 44px; block-size: 4px; margin-block-start: .6rem; border-radius: 2px; background: var(--c-crimson); }
.hp-head__sub { margin: .6rem 0 0; color: var(--c-steel); max-inline-size: 60ch; }
.hp-head__link { display: inline-flex; align-items: center; gap: .4rem; flex: none; font-weight: 700; text-decoration: none; white-space: nowrap; }
.hp-head__link:hover .icon { transform: translateX(3px); }
[dir="rtl"] .hp-head__link:hover .icon { transform: scaleX(-1) translateX(3px); }
.hp-head__link .icon { transition: transform .15s; }

/* Grids */
.hp-grid { display: grid; gap: clamp(1rem, 2.4vw, 1.75rem); grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); margin: 0; }


@media (max-width: 1100px) { .hp-grid { --cols: 2 !important; } }
@media (max-width: 680px) { .hp-grid { --cols: 1 !important; } }

/* ---------- Slider (compact stage, chapters inside the image) ---------- */
.hp-slider { --hp-h: clamp(250px, 28vw, 340px); }
.hp-slider--h-compact { --hp-h: clamp(210px, 22vw, 270px); } .hp-slider--h-tall { --hp-h: clamp(300px, 36vw, 440px); }
.hp-slider__main { position: relative; border-radius: 20px; overflow: hidden; background: #0b0b0f; box-shadow: 0 22px 50px -28px rgb(16 18 27 / 60%); }
.hp-slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; outline-offset: -3px; }
.hp-slider__track::-webkit-scrollbar { display: none; }

.hp-slide { position: relative; flex: 0 0 100%; min-block-size: var(--hp-h); display: grid; align-content: end; justify-items: start; gap: .45rem; padding: clamp(1rem, 2.4vw, 1.6rem) clamp(1rem, 3vw, 2rem) 3.6rem; overflow: hidden; scroll-snap-align: start; color: #fff; }
.hp-slider--nochap .hp-slide { padding-block-end: clamp(1rem, 2.4vw, 1.6rem); }
.hp-slide__media { position: absolute; inset: 0; background: #0b0b0f; }
.hp-slide__img { position: absolute; inset: 0; inline-size: 100%; block-size: 100%; object-fit: cover; transform: scale(1); transition: transform 9s ease-out; }
.hp-slide__img--empty { background: radial-gradient(circle at 20% 20%, #3a1d27, #0b0b0f 70%); }
.hp-slide.is-active .hp-slide__img { transform: scale(1.06); }
.hp-slide__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(11 11 15 / 92%) 0%, rgb(11 11 15 / 55%) 45%, rgb(11 11 15 / 6%) 85%); }

/* The body wrapper dissolves so every child is a direct grid item; the title link stretches over the whole slide. */
.hp-slide__body { display: contents; }
.hp-slide__cat, .hp-slide__title, .hp-slide__excerpt, .hp-slide__meta { position: relative; z-index: 2; }
.hp-slide__cat { padding: .22rem .75rem; border-radius: 999px; background: var(--c-crimson); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.hp-slide__title { margin: 0; max-inline-size: 36ch; font-size: clamp(1.2rem, 1.5vw + .8rem, 1.95rem); font-weight: 800; line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; text-shadow: 0 2px 18px rgb(0 0 0 / 35%); }
.hp-slide__title a { color: #fff; text-decoration: none; }
.hp-slide__title a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.hp-slide__excerpt { display: block; margin: 0; max-inline-size: 56ch; color: rgb(255 255 255 / 82%); font-size: .95rem; line-height: 1.5; }
.hp-slide__foot { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; }
.hp-slide__meta { display: inline-flex; align-items: center; gap: .5rem; color: rgb(255 255 255 / 78%); font-size: .8rem; }
.hp-slide__meta .card__time { color: #fff; font-weight: 600; }
.hp-slide__sep { inline-size: 3px; block-size: 3px; border-radius: 50%; background: currentcolor; opacity: .6; }
.hp-slide__cta { position: relative; z-index: 4; display: inline-flex; align-items: center; gap: .4rem; padding: .3rem .85rem; border-radius: 999px; background: #fff; color: var(--c-ink); font-size: .8rem; font-weight: 800; text-decoration: none; transition: background-color .2s, color .2s; }
.hp-slide__cta .icon { inline-size: 1em; block-size: 1em; }
[dir="rtl"] .hp-slide__cta .icon { transform: scaleX(-1); }
.hp-slide__cta:hover { background: var(--c-crimson); color: #fff; }

/* arrows: two small buttons in the corner */
.hp-slider__arrows { position: absolute; z-index: 6; inset-block-start: .8rem; inset-inline-end: .8rem; display: flex; gap: .35rem; }
.hp-slider__arrow { display: grid; place-items: center; inline-size: 34px; block-size: 34px; padding: 0; border: 1px solid rgb(255 255 255 / 28%); border-radius: 50%; background: rgb(11 11 15 / 45%); color: #fff; backdrop-filter: blur(8px); cursor: pointer; transition: background-color .15s, border-color .15s; }
.hp-slider__arrow .icon { inline-size: 16px; block-size: 16px; }
[dir="rtl"] .hp-slider__arrow .icon { transform: scaleX(-1); }
.hp-slider__arrow:hover { background: var(--c-crimson); border-color: var(--c-crimson); }

/* chapters: titles + progress bars along the bottom edge of the image */
.hp-slider__chapters { position: absolute; z-index: 6; inset-inline: 0; inset-block-end: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: .75rem; padding: 1.4rem clamp(1rem, 3vw, 2rem) .8rem; background: linear-gradient(transparent, rgb(11 11 15 / 55%)); pointer-events: none; }
.hp-slider--nochap .hp-slider__chapters { opacity: 0; visibility: hidden; }
.hp-ch { display: grid; gap: .4rem; padding: 0; border: 0; background: none; color: rgb(255 255 255 / 62%); font: inherit; font-size: .76rem; font-weight: 700; line-height: 1.3; text-align: start; cursor: pointer; pointer-events: auto; transition: color .2s; }
.hp-ch:hover, .hp-ch.is-active { color: #fff; }
.hp-ch__bar { position: relative; display: block; block-size: 3px; overflow: hidden; border-radius: 3px; background: rgb(255 255 255 / 30%); }
.hp-ch__bar::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: 0 50%; }
[dir="rtl"] .hp-ch__bar::after { transform-origin: 100% 50%; }
.hp-ch.is-active .hp-ch__bar::after { background: var(--c-crimson); }
.hp-slider:not(.is-playing) .hp-ch.is-active .hp-ch__bar::after { transform: scaleX(1); }
.hp-slider.is-playing .hp-ch.is-active .hp-ch__bar::after { transform:scaleX(var(--hero-progress,0)); }
.hp-ch__t { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hp-slider--minimal .hp-ch__t { display: none; }
.hp-slider--minimal .hp-slider__chapters { padding-block-start: .6rem; gap: .4rem; background: none; }

@media (max-width: 900px) { .hp-ch__t { display: none; } .hp-slider__chapters { padding-block-start: .6rem; gap: .4rem; background: none; } }
@media (max-width: 640px) { .hp-slider__main { border-radius: 16px; } .hp-slider__arrows { display: none; } .hp-slide { padding-block-end: 2.2rem; } }
@media (prefers-reduced-motion: reduce) { .hp-slide__img { transition: none; transform: none !important; } }

/* ---------- Banners (contained rounded cards) ---------- */
/* ---------- Category columns ---------- */
.hp-cats { display: grid; gap: clamp(1rem, 2.5vw, 2rem); grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.hp-cat { padding: 1.25rem; border: 1px solid var(--c-line); border-radius: 20px; background: #fff; }
.hp-cat__head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-block-end: .9rem; padding-block-end: .75rem; border-block-end: 2px solid var(--c-ink); }
.hp-cat__head h3 { margin: 0; font-size: 1.15rem; }
.hp-cat__head a { color: var(--c-ink); text-decoration: none; }
.hp-cat__head a:hover { color: var(--c-crimson); }
.hp-cat__count { padding: .1rem .6rem; border-radius: 999px; background: var(--c-crimson); color: #fff; font-size: .75rem; font-weight: 800; }
.hp-cat__list { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.hp-cat__list li { display: grid; gap: .1rem; padding-block: .6rem; border-block-end: 1px solid var(--c-line); }
.hp-cat__list li:last-child { border: 0; }
.hp-cat__list a { color: var(--c-ink); font-weight: 700; text-decoration: none; line-height: 1.35; }
.hp-cat__list a:hover { color: var(--c-crimson); }
.hp-cat__list time { color: var(--c-mist); font-size: .8rem; }
.hp-cat__lead a { display: grid; gap: .6rem; }
.hp-cat__lead img { inline-size: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.hp-cat__lead strong { font-size: 1.05rem; }
@media (max-width: 1100px) { .hp-cats { --cols: 2 !important; } }
@media (max-width: 680px) { .hp-cats { --cols: 1 !important; } }

/* ---------- Load more ---------- */
.hp-more { display: grid; justify-items: center; gap: .75rem; margin-block-start: clamp(1.5rem, 4vw, 2.5rem); }
.hp-more__btn { min-inline-size: 220px; }
.hp-more.is-loading .hp-more__btn { opacity: .6; pointer-events: none; }
.hp-more.is-loading .hp-more__btn::after { content: ""; inline-size: 1em; block-size: 1em; margin-inline-start: .6em; border: 2px solid currentcolor; border-inline-end-color: transparent; border-radius: 50%; animation: hp-spin .7s linear infinite; }
.hp-more.is-done { display: none; }
.hp-grid .card.is-new { animation: hp-in .4s ease both; }
@keyframes hp-spin { to { transform: rotate(360deg); } }
@keyframes hp-in { from { opacity: 0; transform: translateY(12px); } }

@media (prefers-reduced-motion: reduce) {
	.hp-slide__img, .hp-grid .card, .hp-slider__arrow { transition: none !important; }
	.hp-slide.is-active .hp-slide__img { transform: none; }
	.hp-grid .card.is-new { animation: none; }
}

/* Editorial home: consistent type, a split lead story and restrained surfaces. */
body.home { --c-paper: #f8f9fb; --c-ink: #181b24; --c-steel: #555e6c; --c-mist: #677180; --c-line: #e4e7ec; background: var(--c-paper); font-family: Arial, "Segoe UI", sans-serif; }
.home :where(h1, h2, h3, button, input) { font-family: inherit; }
/* Header colours come from the selected global theme, on every page. */
.home .search-toggle { border: 1px solid var(--line); border-radius: 50%; }
.hp { --c-crimson: #d92344; }
.hp-head { align-items: center; margin-block-end: 24px; padding-block-end: 18px; border-block-end: 1px solid var(--c-line); }
.hp-head__title { display: flex; align-items: center; gap: 12px; font-size: clamp(1.4rem, 2vw, 1.75rem); font-weight: 800; }
.hp-head__title::after { display: none; }
.hp-head__title::before { content: ""; inline-size: 4px; block-size: 23px; background: var(--c-crimson); border-radius: 2px; }
.hp-head__sub { margin-block-start: 8px; font-size: .9rem; }
.hp-head__link { font-size: .85rem; color: var(--c-steel); }
.hp-head__link .icon { color: var(--c-crimson); }

/* Lead story: text and image each have their own space. */
.hp-slider { --hp-h: 390px; }
.hp-slider--h-compact { --hp-h: 320px; }
.hp-slider--h-tall { --hp-h: 460px; }
.hp-slider__main { background: #fff; border: 1px solid var(--c-line); border-radius: 16px; box-shadow: 0 4px 20px rgb(24 27 36 / 3%); }
.hp-slide { min-inline-size: 0; grid-template-columns: 46% 54%; align-content: stretch; align-items: stretch; gap: 0; padding: 0; color: var(--c-ink); }
.hp-slider--nochap .hp-slide { padding-block-end: 0; }
.hp-slide__media { position: relative; inset: auto; grid-column: 2; grid-row: 1; inline-size: 100%; min-block-size: var(--hp-h); overflow: hidden; }
.hp-slide__media::after { background: linear-gradient(0deg, rgb(8 15 23 / 12%), transparent 50%); }
.hp-slide__img { object-position: center; }
.hp-slide.is-active .hp-slide__img { transform: scale(1.025); }
.hp-slide__body { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; grid-column: 1; grid-row: 1; min-inline-size: 0; padding: clamp(24px, 3.2vw, 42px); }
.hp-slide__cat { display: inline-flex; align-items: center; gap: 7px; padding: 0; margin-block-end: 18px; border-radius: 0; background: none; color: var(--c-crimson); font-size: .78rem; letter-spacing: 0; }
.hp-slide__cat::before { content: ""; inline-size: 6px; block-size: 6px; border-radius: 50%; background: currentColor; }
.hp-slide__title { font-size: clamp(1.75rem, 3vw, 2.6rem); font-weight: 800; line-height: 1.18; letter-spacing: -.04em; text-shadow: none; }
.hp-slide__title a { color: var(--c-ink); }
.hp-slide__title a:hover { color: var(--c-crimson); }
.hp-slide__title a::after { display: none; }
.hp-slide__excerpt { display: block; margin-block: 16px 22px; color: var(--c-steel); font-size: .95rem; line-height: 1.75; }
.hp-slide__foot { flex-direction: column; align-items: flex-start; gap: 20px; }
.hp-slide__meta, .hp-slide__meta .card__time { color: #707987; font-weight: 400; font-size: .75rem; }
.hp-slide__cta { padding: 12px 19px; gap: 16px; border-radius: 7px; background: var(--c-crimson); color: #fff; font-size: .85rem; }
.hp-slide__cta:hover { background: #b91937; }
.hp-slider__arrows { inset-block-start: 18px; inset-inline-end: 18px; gap: 8px; }
.hp-slider__arrow { inline-size: 38px; block-size: 38px; background: rgb(255 255 255 / 95%); color: #181b24; border-color: transparent; backdrop-filter: none; }
.hp-slider__arrow:hover { color: #fff; }
.hp-slider__chapters { position: relative; background: #fff; gap: 0; padding: 0 20px; border-block-start: 1px solid var(--c-line); }
.hp-ch { position: relative; padding: 18px 14px; min-block-size: 64px; color: #727b88; font-size: .77rem; line-height: 1.55; }
.hp-ch + .hp-ch { border-inline-start: 1px solid var(--c-line); }
.hp-ch:hover, .hp-ch.is-active { color: var(--c-ink); }
.hp-ch.is-active { background: #fdf5f6; }
.hp-ch__bar { position: absolute; inset-block-start: -1px; inset-inline: 0; block-size: 3px; border-radius: 0; background: transparent; }
.hp-ch__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; white-space: normal; }
.hp-slider--nochap .hp-slider__chapters { display: none; }
.hp-slider--minimal .hp-slider__chapters { padding: 12px 24px; gap: 8px; }
.hp-slider--minimal .hp-ch { min-block-size: 12px; padding: 4px; border: 0; }
.hp-slider--minimal .hp-ch__bar { position: relative; background: #e4e7ec; }

/* Banners read as a compact invitation, with room for configured actions. */

/* Article grids share a quiet, consistent rhythm. */
.hp-cat { border-radius: 12px; }

@media (max-width: 900px) {
 .hp-slider { --hp-h: 360px; }
 .hp-slide__body { padding: 25px; }
 .hp-slide__title { font-size: 1.9rem; }
 .hp-slide__excerpt { font-size: .88rem; }
 .hp-ch__t { display: none; }
 .hp-ch { min-block-size: 20px; padding: 10px; }
 .hp-slider__chapters { padding: 0 18px; }
}
@media (max-width: 640px) {
 .hp-slider__main { border-radius: 12px; }
 .hp-slide { grid-template-columns: 1fr; min-block-size: 0; align-content: start; }
 .hp-slide__media { grid-column: 1; grid-row: 1; min-block-size: 0; block-size: 210px; }
 .hp-slide__body { grid-column: 1; grid-row: 2; padding: 24px; }
 .hp-slide__cat { margin-block-end: 12px; }
 .hp-slide__title { font-size: 1.85rem; }
 .hp-slide__excerpt { margin-block: 12px 16px; }
 .hp-slide__foot { gap: 16px; }
 .hp-slider__arrows { display: flex; inset-block-start: 12px; inset-inline-end: 12px; }
 .hp-slider__chapters { padding: 0 12px; }
 .hp-head { gap: 14px; }
 .hp-head__title { font-size: 1.35rem; }
 .hp-head__link { font-size: .75rem; }
}
body.home { font-family: Heebo, Arial, sans-serif; }
@media (max-width: 900px) {
 .home .hp-nav-fallback .site-header__inner { display: grid; grid-template-columns:44px minmax(0,1fr) auto; gap:0 12px; padding-block:0; min-block-size:0; }
 .home .hp-nav-fallback .nav-toggle { grid-column:1; grid-row:1; }
 .home .hp-nav-fallback .site-branding { grid-column:2; grid-row:1; }
 .home .hp-nav-fallback .site-header__actions { grid-column:3; grid-row:1; }
 .home .hp-nav-fallback .site-branding { display: flex; align-items: center; min-block-size: var(--header-current-h); transition: min-block-size var(--header-duration, 250ms) ease; }
 .home .hp-nav-fallback .primary-nav { display: block; grid-column: 1 / -1; grid-row: 2; border-block-start: 1px solid var(--line); margin-block-start: 0; }
 .home .hp-nav-fallback .primary-nav .menu { justify-content: center; gap: 24px; font-size: .78rem; }
}
@media (min-width: 861px) {
}
/* The generated theme breakpoint hides menus with !important. Keep the home
   section navigation available when no WordPress menu has been assigned. */
.home .hp-nav-fallback .primary-nav { display: block !important; }

/* Slider refinement: strong headlines and touch-sized navigation. */
.hp-slider { --hp-h: 410px; }
.hp-slider--h-compact { --hp-h: 350px; }
.hp-slider--h-tall { --hp-h: 480px; }
.hp-slider__main { border-radius: 18px; container-type: inline-size; }
.hp-slide { grid-template-columns: 47% 53%; }
.hp-slide__body { padding: clamp(26px, 3.4vw, 44px); }
.hp-slide__title { font-family: Heebo, Arial, sans-serif; font-weight: 900; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.16; letter-spacing: -.035em; max-inline-size: 20ch; overflow-wrap: anywhere; text-wrap: balance; }
.hp-slide__title a { display: block; }
.hp-slide__excerpt { margin-block: 18px 24px; font-size: .95rem; line-height: 1.8; }
.hp-slide__foot { inline-size: 100%; gap: 24px; }
.hp-slide__meta { flex-wrap: wrap; gap: 8px; line-height: 1.6; }
.hp-slide__meta, .hp-slide__meta .card__time { font-size: .78rem; color: #647080; }
.hp-slide__cta { min-block-size: 50px; padding: 12px 20px; gap: 24px; border: 1px solid #ca1839; border-radius: 10px; font-size: .95rem; font-weight: 800; box-shadow: 0 4px 10px rgb(217 35 68 / 12%); transition: background .2s, box-shadow .2s, transform .2s; }
.hp-slide__cta .icon { inline-size: 20px; block-size: 20px; }
/* Bare chevrons: a quiet visual, with a full touch target. */
.hp-slider__arrows { display: flex; justify-content: space-between; align-items: center; gap: 0; inset-block-start: calc(var(--hp-h) / 2 - 22px); inset-inline-end: 20px; inline-size: calc(53% - 40px); padding: 0; border: 0; border-radius: 0; background: none; backdrop-filter: none; pointer-events: none; }
.hp-slider__arrow { flex: 0 0 44px; inline-size: 44px; block-size: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: rgb(255 255 255 / 78%); box-shadow: none; backdrop-filter: none; pointer-events: auto; transition: color .25s ease, background .25s ease; }
.hp-slider__arrow .icon { inline-size: 19px; block-size: 19px; stroke-width: 1.5; filter: drop-shadow(0 1px 2px rgb(0 0 0 / 65%)); }
.hp-slider__chapters { padding: 0; overflow-x: auto; scrollbar-width: none; grid-auto-columns: minmax(70px, 1fr); overscroll-behavior-x: contain; }
.hp-ch { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; min-block-size: 78px; padding: 19px 18px 16px; font-size: .82rem; font-weight: 700; line-height: 1.5; }
.hp-ch__number { display: block; color: #8a93a2; font-size: .68rem; line-height: 1.85; font-variant-numeric: tabular-nums; }
.hp-ch.is-active .hp-ch__number { color: var(--c-crimson); }
.hp-ch.is-active { background: #fff4f6; }
.hp-ch__bar { block-size: 3px; }
.hp-slider--minimal .hp-ch { display: grid; place-items: center; min-block-size: 44px; padding: 12px; }
.hp-slider--minimal .hp-ch__number { display: none; }
.hp-slider--minimal .hp-ch__bar { inline-size: 100%; }
.hp-slider :is(button, a):focus-visible { outline: 3px solid var(--c-crimson); outline-offset: -4px; }
.hp-slider__arrows button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; background: rgb(0 0 0 / 18%); }
@media (hover: hover) {
 .hp-slide__cta:hover { background: #b91937; box-shadow: 0 6px 16px rgb(217 35 68 / 22%); transform: translateY(-2px); }
 .hp-slider__arrow:hover { background: rgb(255 255 255 / 8%); border-color: transparent; color: #fff; box-shadow: none; }
 .hp-ch:hover { background: #f6f7fa; }
}
.hp-slide__cta:active { transform: scale(.97); }
.hp-slider__arrow:active { background: rgb(255 255 255 / 14%); color: #fff; }
@media (max-width: 1000px) and (min-width: 701px) {
 .hp-slide__title { font-size: clamp(1.9rem, 3.6vw, 2.5rem); }
 .hp-slide__body { padding: 28px; }
 .hp-ch { min-block-size: 70px; padding: 15px 12px; gap: 7px; font-size: .75rem; }
 .hp-ch__t { display: -webkit-box; }
}
@media (max-width: 700px) {
 .hp-slider__main { border-radius: 14px; }
 .hp-slide { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; min-block-size: 0; align-content: stretch; }
 .hp-slide__media { grid-column: 1; grid-row: 1; min-block-size: 0; block-size: auto; aspect-ratio: 16 / 9; }
 .hp-slide__body { grid-column: 1; grid-row: 2; padding: clamp(20px, 5.5vw, 28px); justify-content: flex-start; }
 .hp-slide__title { max-inline-size: none; font-size: clamp(1.65rem, 6.7vw, 2.6rem); line-height: 1.2; letter-spacing: -.025em; }
 .hp-slide__excerpt { display: block; margin-block: 12px 18px; font-size: .875rem; line-height: 1.75; }
 .hp-slide__foot { margin-block-start: auto; gap: 16px; }
 .hp-slide__meta, .hp-slide__meta .card__time { font-size: .75rem; }
 .hp-slide__cta { inline-size: 100%; justify-content: space-between; min-block-size: 50px; padding-inline: 18px; font-size: .9rem; }
 .hp-slider__arrows { inset-block-start: calc(100cqi * 9 / 32 - 22px); inset-inline-end: 12px; inline-size: calc(100% - 24px); }
 .hp-slider__chapters { grid-auto-columns: minmax(44px, 1fr); padding: 0 10px; }
 .hp-ch { display: grid; grid-template-columns: 1fr; place-items: center; padding: 14px 8px; min-block-size: 48px; border: 0; }
 .hp-ch + .hp-ch { border-inline-start: 0; }
 .hp-ch__number { font-size: .78rem; line-height: 1; }
 .hp-ch__t { display: none; }
 .hp-ch__bar { inset-block-start: auto; inset-block-end: 0; inset-inline: 8px; border-radius: 3px; }
 .hp-slider--minimal .hp-slider__chapters { padding: 0 10px; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
 .hp-slider :is(.hp-slide__cta, .hp-slider__arrow) { transition: none; transform: none; }
}

/* Keep the tallest story in layout, so crossfades never shift surrounding content. */
.hp-slider.is-enhanced .hp-slider__track { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; scroll-snap-type: none; touch-action: pan-y pinch-zoom; }
.hp-slider.is-enhanced .hp-slide { grid-area: 1 / 1; inline-size: 100%; opacity: 0; visibility: hidden; pointer-events: none; z-index: 0; background: #fff; transition: opacity .55s cubic-bezier(.25, .1, .25, 1), visibility 0s .55s; }
.hp-slider.is-enhanced .hp-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; transition: opacity .55s cubic-bezier(.25, .1, .25, 1), visibility 0s; }
.hp-slider.is-enhanced .hp-slide__img { transform: none; transition: none; }
@media (prefers-reduced-motion: reduce) {
 .hp-slider.is-enhanced .hp-slide, .hp-slider.is-enhanced .hp-slide.is-active { transition: none; }
}

@media (prefers-reduced-motion: reduce) { .home .hp-nav-fallback .site-branding { transition: none; } }

/* Every visible section boundary adds exactly one section gap; each side
 * contributes half, including banners and alternating section backgrounds. */
.hp-head { margin-block-end:var(--hp-heading-gap); padding-block-end:var(--hp-element-gap); gap:var(--hp-element-gap); }
.hp-head__title { gap:12px; }
.hp-head__sub { margin-block-start:calc(var(--hp-element-gap) / 2); }
.hp-grid,.hp-cats { gap:var(--hp-grid-gap); }
.hp-more { margin-block-start:var(--hp-heading-gap); gap:var(--hp-element-gap); }
.hp-slide__body { padding:var(--hp-banner-pad); }
.hp-slide__excerpt { margin-block:var(--hp-element-gap) calc(var(--hp-element-gap) * 1.5); }
.hp-slide__foot { gap:var(--hp-element-gap); }
.hp-slide__title:last-child { margin-block-end:0; }
.home .site-footer { margin-block-start:0; }
@media(min-width:861px) {
}
/* Category and expert grids follow the same home spacing controls. */
.hp .ex-grid { gap:var(--hp-grid-gap); }
.hp-cat { padding:var(--hp-banner-pad); }
.hp-cat__head { gap:var(--hp-element-gap); margin-block-end:var(--hp-element-gap); padding-block-end:calc(var(--hp-element-gap) / 2); }
.hp-cat__list li { padding-block:calc(var(--hp-element-gap) / 2); }


/* Mobile lead story: compact artwork, readable copy and quiet touch controls. */
@media (max-width:700px) {
 .hp-slider { --hp-mobile-image:clamp(120px,36vw,180px); }
 .hp-slider--h-compact { --hp-mobile-image:clamp(104px,30vw,150px); }
 .hp-slider--h-tall { --hp-mobile-image:clamp(148px,44vw,220px); }
 .hp-slider__main { border:0; border-radius:16px; background:#fff; box-shadow:0 8px 24px -16px rgb(24 27 36 / 20%),0 0 0 1px rgb(24 27 36 / 7%); }
 .hp-slide { grid-template-rows:var(--hp-mobile-image) 1fr; background:#fff; }
 .hp-slide__media { block-size:100%; aspect-ratio:auto; }
 .hp-slide__media::after { background:linear-gradient(180deg,transparent 65%,rgb(10 17 29 / 16%)); }
 .hp-slide__body { position:relative; z-index:2; align-self:stretch; margin-block-start:-12px; border-radius:16px 16px 0 0; background:#fff; padding:16px clamp(16px,4.5vw,24px) 12px; justify-content:flex-start; }
 .hp-slide__title { max-inline-size:none; font-family:Heebo,Arial,sans-serif; font-weight:800; font-size:clamp(1.3rem,5.8vw,1.75rem); line-height:1.28; letter-spacing:-.025em; text-wrap:pretty; }
 .hp-slide__title::before { content:none; }
 .hp-slide__title a { display:block; }
 .hp-slide__excerpt { display:block; margin-block:8px 12px; color:#697383; font-size:clamp(.8rem,3.3vw,.9rem); line-height:1.6; }
 .hp-slide__foot { flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:10px; margin-block-start:auto; padding-block-start:12px; }

 .hp-slide__excerpt + .hp-slide__foot { padding-block-start:0; }
 .hp-slide__meta { flex:1 1 0; min-inline-size:0; flex-direction:row; flex-wrap:wrap; align-items:center; gap:2px 6px; font-size:.67rem; line-height:1.6; color:#7c8492; }
 .hp-slide__meta .card__time { color:#647080; font-size:inherit; font-weight:400; }
 .hp-slide__sep { display:block; flex:none; inline-size:2px; block-size:2px; }
 .hp-slide__cta { flex:0 0 auto; inline-size:auto; }
 .hp-slider__chapters, .hp-slider--minimal .hp-slider__chapters { min-block-size:48px; align-items:center; grid-auto-columns:minmax(32px,1fr); gap:0; padding:2px 10px; border-block-start:0; background:#f8f9fb; }
 .hp-slider__main:has(.hp-slider__arrows) .hp-slider__chapters { margin-inline-end:100px; }
 .hp-ch, .hp-slider--minimal .hp-ch { position:relative; display:grid; grid-template-columns:1fr; place-items:center; min-block-size:44px; padding:0 6px; border-radius:8px; background:transparent; }
 .hp-ch.is-active { background:transparent; }
 .hp-ch__number, .hp-ch__t { display:none; }
 .hp-ch__bar, .hp-slider--minimal .hp-ch__bar { position:relative; inset:auto; inline-size:100%; block-size:3px; border-radius:4px; background:#dfe3e9; }
 .hp-slider__arrows { display:flex; inset-block-start:auto; inset-block-end:2px; inset-inline-end:8px; inline-size:88px; gap:0; }
 .hp-slider__arrow { flex-basis:44px; inline-size:44px; block-size:44px; border:0; border-radius:8px; background:transparent; color:#647080; }
 .hp-slider__arrow .icon { inline-size:18px; block-size:18px; filter:none; stroke-width:1.8; }
 .hp-slider__arrow:hover, .hp-slider__arrow:active { background:#eef0f4; color:var(--c-crimson); }
 .hp-slider__arrows button:focus-visible { outline:2px solid var(--c-crimson); background:#fff0f3; }
 .hp-slider__main:has(.hp-slider__arrows)::after { content:""; position:absolute; z-index:5; inset-block-end:0; inset-inline-end:0; inline-size:100px; block-size:48px; background:#f8f9fb; }
 .hp-slider--nochap .hp-slider__main:has(.hp-slider__arrows) { padding-block-end:48px; }
 .hp-slider--nochap .hp-slider__main:has(.hp-slider__arrows)::after { inline-size:100%; }
}
/* Tablet layouts bridge the configured phone and desktop spacing. */
@media (min-width:701px) and (max-width:1199px) {
 .home {
  --hp-section-gap:calc((var(--hp-section-d,64px) + var(--hp-section-m,40px)) / 2);
  --hp-heading-gap:calc((var(--hp-heading-d,24px) + var(--hp-heading-m,20px)) / 2);
  --hp-grid-gap:calc((var(--hp-grid-d,24px) + var(--hp-grid-m,16px)) / 2);
  --hp-gutter:calc((var(--hp-gutter-d,32px) + var(--hp-gutter-m,20px)) / 2);
  --hp-page-top:calc((var(--hp-top-d,28px) + var(--hp-top-m,20px)) / 2);
  --hp-banner-pad:calc((var(--hp-banner-d,32px) + var(--hp-banner-m,24px)) / 2);
  --hp-element-gap:calc((var(--hp-element-d,16px) + var(--hp-element-m,12px)) / 2);
 }
 .hp-head { flex-wrap:wrap; align-items:center; gap:12px 24px; }
 .hp-head > :first-child { flex:1 1 240px; min-inline-size:0; }
 .hp-head__title { font-size:clamp(1.35rem,2.2vw,1.65rem); line-height:1.35; }
 .hp-head__sub { font-size:.85rem; line-height:1.7; }
 .hp-head__link { min-block-size:44px; }
 .hp-slider { --hp-h:360px; }
 .hp-slider--h-compact { --hp-h:320px; }
 .hp-slider--h-tall { --hp-h:420px; }
 .hp-slide { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .hp-slide__body { padding:var(--hp-banner-pad); }
 .hp-slide__cat { margin-block-end:12px; }
 .hp-slide__title { max-inline-size:22ch; font-size:clamp(1.65rem,3vw,2.2rem); line-height:1.2; }
 .hp-slide__title a { display:block; }
 .hp-slide__excerpt { font-size:.88rem; line-height:1.75; margin-block:14px 20px; }
 .hp-slide__foot { gap:14px; }
 .hp-slide__cta { min-block-size:44px; padding:10px 15px; gap:16px; font-size:.85rem; }
 .hp-slider__arrows { inset-inline-end:14px; inline-size:calc(50% - 28px); }
 .hp-ch { min-block-size:64px; padding:12px 10px; gap:6px; font-size:.72rem; }
 .hp-grid,.hp-cats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hp-grid:has(> .card--panorama),.hp-grid:has(> .card--index) { grid-template-columns:minmax(0,1fr); }
 .hp-grid .card--md { --card-pad:20px; }
 .hp-grid .card--lg { --card-pad:22px; }
 .hp-grid .card--sm .card__media { inline-size:88px; }
 .hp-grid .card--sm { --card-pad:16px; }
 .hp-grid .card--sm .card__media img,.hp-grid .card--sm .card__ph { min-block-size:104px; }
 .hp .ex-cols-3,.hp .ex-cols-4 { --cols:2; }
 .hp-cat__head h3 { font-size:1.05rem; }
 .home .site-footer__grid { gap:28px; }
}
@media (min-width:701px) and (max-width:900px) {
 .hp-slider__chapters { padding-inline:10px; }
 .hp-ch { grid-template-columns:1fr; place-items:center; min-block-size:52px; }
 .hp-ch__t { display:none; }
}
@media (min-width:1000px) and (max-width:1199px) {
 .hp-grid:not(:has(> .card--panorama)):not(:has(> .card--index)),.hp-cats { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .hp .ex-cols-3,.hp .ex-cols-4 { --cols:3; }
}

@media (min-width:1001px) { .home { --hp-page-top:var(--header-content-gap,48px); } }

/* Dark editorial latest-articles section, with replaceable scenic placeholders. */
.hp--cinema-latest > .hp-sec--slider { padding-block-end:0; }
.hp--cinema-latest > .hp-sec--latest { padding:0; background:#090b0e; color:#f6f6f7; }
.hp-latest-cinema { position:relative; isolation:isolate; padding-block:150px 64px; background:radial-gradient(ellipse at 0 35%,rgb(105 36 42 / 10%),transparent 55%),#090b0e; }
.hp-latest-cinema__scenery { position:absolute; z-index:-1; inset:0 0 auto; block-size:290px; background:linear-gradient(180deg,transparent,#090b0e 96%),var(--latest-backdrop,url('../images/scenery-placeholder.svg')) center / cover no-repeat; clip-path:polygon(0 0,100% 0,100% 36%,95% 38%,92% 42%,87% 41%,81% 47%,77% 46%,70% 53%,65% 52%,58% 58%,53% 57%,45% 64%,40% 63%,33% 70%,28% 69%,20% 76%,15% 75%,8% 82%,4% 81%,0 85%); }
.hp-latest-cinema__scenery::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgb(9 11 14 / 40%)); }
.hp-scenery-placeholder { position:absolute; inset-block-start:30px; inset-inline-start:clamp(20px,6vw,120px); display:flex; align-items:center; gap:8px; padding:7px 12px; border:1px dashed rgb(255 255 255 / 14%); border-radius:6px; color:rgb(255 255 255 / 40%); font-size:.7rem; }
.hp-scenery-placeholder .icon { inline-size:15px; block-size:15px; }
.hp-latest-cinema__head { display:flex; flex-direction:column; align-items:flex-start; gap:10px; margin-block-end:28px; }
.hp-latest-cinema__eyebrow { display:flex; align-items:center; flex-direction:row-reverse; gap:10px; color:#f04453; font-size:.78rem; font-weight:700; }
.hp-latest-cinema__eyebrow::before { content:""; inline-size:30px; block-size:1px; background:currentColor; }
.hp-latest-cinema__head h2 { margin:0; color:#fff; font-size:clamp(1.8rem,3.2vw,2.65rem); line-height:1.2; font-weight:850; letter-spacing:-.025em; }
.hp-latest-cinema__head > p { margin:0; color:#a5a6ad; font-size:1rem; max-inline-size:62ch; }
.hp-latest-cinema__all { display:inline-flex; align-items:center; gap:22px; min-block-size:40px; padding:8px 20px; margin-block-start:8px; border:1px solid rgb(240 57 74 / 60%); border-radius:999px; color:#ff4d5c; font-size:.82rem; font-weight:600; text-decoration:none; transition:background-color .2s,border-color .2s; }
.hp-latest-cinema__all:hover { background:rgb(240 57 74 / 10%); border-color:#f0394a; text-decoration:none; }
.hp-latest-cinema__all .icon { inline-size:17px; block-size:17px; }
.hp-latest-cinema__grid { display:grid; grid-template-columns:repeat(var(--latest-cols,3),minmax(0,1fr)); gap:24px; }
.hp-story { --card-line:#31404c; --card-ink:#f0f3f6; position:relative; display:flex; flex-direction:column; min-inline-size:0; overflow:hidden; border:1px solid var(--card-line); border-radius:14px; background:linear-gradient(130deg,#111a20,#090e12); transition:border-color .24s ease; }
.hp-story__media { position:relative; display:block; aspect-ratio:1.9; overflow:hidden; background:#161a22; }
.hp-story__media > img { inline-size:100%; block-size:100%; object-fit:cover; }
.hp-story__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgb(9 10 12 / 28%)); pointer-events:none; }
.hp-story__empty { display:grid; place-items:center; inline-size:100%; block-size:100%; background:radial-gradient(ellipse at 35% 20%,#28212c,#10151c); color:#66717d; }
.hp-story__empty .icon { inline-size:40px; block-size:40px; stroke-width:1; }
.hp-story__body { display:flex; flex-direction:column; flex:1; min-inline-size:0; padding:18px; }
.hp-story__top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-block-end:10px; }
.hp-story__read { display:inline-flex; align-items:center; gap:6px; color:#96999f; font-size:.7rem; white-space:nowrap; }
.hp-story__read .icon { inline-size:14px; block-size:14px; }
.hp-story__title { margin:0 0 12px; font-size:clamp(18px,5.5cqi,25px); }
.hp-story__title a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; color:inherit; text-decoration:none; }
.hp-story__title a:hover { color:inherit; }
.hp-story__excerpt { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 16px; font-size:clamp(14px,4cqi,18px); overflow-wrap:anywhere; }
.hp-story__foot { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block-start:auto; padding-block-start:18px; }
.hp-story__details { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; color:#898e97; font-size:.7rem; }
.hp-story__details > span { display:flex; align-items:center; gap:6px; }
.hp-story__details .icon { inline-size:16px; block-size:16px; }
.hp-story__details time { direction:ltr; unicode-bidi:isolate; }
.hp-story__arrow { flex:none; display:grid; place-items:center; inline-size:38px; block-size:38px; border:1px solid #e93346; border-radius:50%; color:#fff; text-decoration:none; }
.hp-story__arrow .icon { inline-size:18px; block-size:18px; }
.hp-latest-cinema :is(.hp-story__arrow,.hp-latest-cinema__all) .icon { transform:var(--icon-direction,none); }
a.hp-story__arrow:hover { background:#d7263d; text-decoration:none; }
.hp-story--lead { grid-column:1 / -1; min-block-size:370px; display:grid; grid-template-columns:1fr 1fr; }
.hp-story--lead .hp-story__media { position:absolute; inset:0; aspect-ratio:auto; }
.hp-story--lead .hp-story__media > img { object-position:center; }
.hp-story--lead .hp-story__media::after { background:linear-gradient(90deg,transparent 20%,rgb(6 8 11 / 45%) 48%,rgb(6 8 11 / 98%) 90%); }
[dir="ltr"] .hp-story--lead .hp-story__media::after { transform:scaleX(-1); }
.hp-story--lead .hp-story__body { position:relative; z-index:1; grid-column:1; justify-content:center; padding:36px; }
.hp-story--lead .hp-story__title { font-size:clamp(25px,5.3cqi,44px); font-weight:800; line-height:1.2; margin-block-end:18px; }
.hp-story--lead .hp-story__title a { -webkit-line-clamp:3; }
.hp-story--lead .hp-story__excerpt { -webkit-line-clamp:3; font-size:clamp(16px,2.8cqi,21px); margin-block-end:24px; }
.hp-story--lead .hp-story__foot { justify-content:flex-start; padding-block-start:6px; margin-block-start:auto; }
.hp--cinema-latest > .hp-sec--newsletter { padding:0; background:#090b0e; color:#fff; }
@media (min-width:701px) and (max-width:1100px) {
 .hp-latest-cinema { padding-block:110px 40px; }
 .hp-latest-cinema__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .hp-story--lead { min-block-size:340px; grid-template-columns:1.2fr 1fr; }
 .hp-story--lead .hp-story__body { padding:28px; }
 .hp-story__body { padding:18px; }
}
@media (max-width:700px) {
 .hp-latest-cinema { padding-block:90px 32px; }
 .hp-latest-cinema__scenery { block-size:210px; }
 .hp-scenery-placeholder { inset-block-start:18px; font-size:.6rem; padding:5px 9px; }
 .hp-latest-cinema__head { gap:8px; margin-block-end:20px; }
 .hp-latest-cinema__head h2 { font-size:1.75rem; }
 .hp-latest-cinema__head > p { font-size:.82rem; line-height:1.6; }
 .hp-latest-cinema__all { min-block-size:36px; padding:6px 16px; font-size:.74rem; margin-block-start:4px; }
 .hp-latest-cinema__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .hp-story__media { aspect-ratio:1.55; }
 .hp-story__body { padding:12px; }
 .hp-story__top { gap:6px; margin-block-end:10px; }
 .hp-story__read { font-size:.6rem; gap:4px; }
 .hp-story__read .icon { inline-size:12px; block-size:12px; }
 .hp-story__title { font-size:17px; }
 .hp-story__excerpt { margin:0 0 20px; font-size:14px; }
 .hp-story__foot { gap:8px; padding-block-start:8px; flex-wrap:wrap; }
 .hp-story__details { gap:7px; font-size:.6rem; }
 .hp-story__details .icon { inline-size:13px; block-size:13px; }
 .hp-story__arrow { inline-size:32px; block-size:32px; }
 .hp-story__arrow .icon { inline-size:16px; block-size:16px; }
 .hp-story--lead { display:flex; min-block-size:0; }
 .hp-story--lead .hp-story__media { position:relative; block-size:190px; flex:none; }
 .hp-story--lead .hp-story__media::after { background:linear-gradient(180deg,transparent 50%,#0b0e13); }
 .hp-story--lead .hp-story__body { padding:8px 20px 22px; }
 .hp-story--lead .hp-story__top { margin-block-end:10px; }
 .hp-story--lead .hp-story__title { font-size:25px; }
 .hp-story--lead .hp-story__excerpt { -webkit-line-clamp:3; font-size:16px; margin:0 0 24px; }
 .hp-story--lead .hp-story__foot { padding:0; }
}
@media (max-width:359px) { .hp-latest-cinema__grid { grid-template-columns:minmax(0,1fr); } .hp-story__media { aspect-ratio:1.9; } }
@media (min-width:360px) and (max-width:1100px) {
 .hp-latest-cinema__grid > .hp-story:not(.hp-story--lead):last-child:nth-child(even) { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .hp-latest-cinema__grid > .hp-story:not(.hp-story--lead):last-child:nth-child(even) .hp-story__media { block-size:100%; aspect-ratio:auto; }
}
@media (prefers-reduced-motion:reduce) { .hp-latest-cinema a { transition:none; } }

/* Cinematic homepage hero. The background, copy and chapter rail share one stage. */
.hp:has(> .hp-sec--slider:first-of-type) { padding-block-start:0; }
.hp-sec--slider > .container { inline-size:100%; max-inline-size:none; margin:0; padding:0; }
.hp-slider--cinema { position:relative; --hero-h:clamp(660px,47vw,820px); --hero-rail:152px; --hero-gutter:max(6vw,calc((100vw - 1280px) / 2)); --hero-top:44px; }
/* Use the final stage layout before JS initializes to avoid a refresh flash. */
.hp-slider--cinema:not(.is-enhanced) .hp-slider__track { display:grid; grid-template-columns:minmax(0,1fr); overflow:hidden; scroll-snap-type:none; }
.hp-slider--cinema:not(.is-enhanced) .hp-slide { grid-area:1 / 1; inline-size:100%; }
.hp-slider--cinema:not(.is-enhanced) .hp-slide:not(.is-active) { display:none; }
.hp-slider--cinema:not(.is-enhanced) .hp-slide__img { transform:none; transition:none; }
html:not(.has-js) .hp-slider--cinema:not(.is-enhanced) :is(.hp-slider__chapters,.hp-slider__arrows) { display:none; }
.has-transparent-header .hp-slider--cinema { --hero-top:calc(var(--hero-header-d) + 34px); }
.hp-slider--cinema.hp-slider--h-compact { --hero-h:620px; --hero-rail:128px; }
.hp-slider--cinema.hp-slider--h-tall { --hero-h:clamp(760px,55vw,940px); }
.hp-slider--cinema .hp-slider__main { border:0; border-radius:0; background:#080e16; box-shadow:none; padding:0; }
.hp-slider--cinema .hp-slider__main:has(.hp-slider__arrows)::after { content:none; }
.hp-slider--cinema .hp-slide { position:relative; display:flex; align-items:stretch; min-block-size:var(--hero-h); block-size:auto; padding:0; color:#fff; background:#080e16; }
.hp-slider--cinema .hp-slide__media { position:absolute; inset:0; inline-size:100%; block-size:100%; min-block-size:0; }
.hp-slider--cinema .hp-slide__img { object-fit:cover; object-position:center; }
.hp-slider--cinema .hp-slide__media::after { background:linear-gradient(90deg,rgb(5 10 17 / 9%) 15%,rgb(5 10 17 / 44%) 50%,rgb(5 10 17 / var(--hero-shade,91%)) 100%),linear-gradient(0deg,rgb(5 10 17 / 83%),transparent 44%),linear-gradient(180deg,rgb(5 10 17 / 66%),transparent 30%); }
[dir="ltr"] .hp-slider--cinema .hp-slide__media::after { transform:scaleX(-1); }
.hp-slider--cinema .hp-slide__body { position:relative; z-index:2; display:flex; align-self:stretch; align-items:flex-start; justify-content:center; flex-direction:column; inline-size:100%; margin:0 auto; padding:var(--hero-top) var(--hero-gutter) calc(var(--hero-rail) + 72px); border-radius:0; background:transparent; }
/* Keep the photographic crossfade without superimposing two story titles. */
.hp-slider--cinema.is-enhanced .hp-slide:not(.is-active) .hp-slide__body { visibility:hidden; }
/* Full titles must not shrink the excerpt or the controls below them. */
.hp-slider--cinema .hp-slide__body > * { flex-shrink:0; max-inline-size:min(560px,50vw); }
.hp-slider--cinema .hp-slide__category { display:flex; align-items:center; gap:10px; margin-block-end:18px; font-size:.85rem; font-weight:600; color:#eee; }
.hp-slider--cinema .hp-slide__category::before { content:""; flex:none; inline-size:24px; block-size:24px; background:url('../images/samurai-heading.svg') center / contain no-repeat; }
.hp-slider--cinema .hp-slide__title { margin:0; inline-size:min(720px,62vw); max-inline-size:100%; font-family:Heebo,Arial,sans-serif; font-size:clamp(2.75rem,4.1vw,4.8rem); font-weight:900; line-height:1.08; letter-spacing:-.025em; text-wrap:pretty; text-shadow:0 2px 24px rgb(0 0 0 / 15%); }
.hp-slider--cinema .hp-slide__title::before { content:none; }
.hp-slider--cinema .hp-slide__title a { display:block; color:#fff; text-decoration:none; }
.hp-slider--cinema .hp-slide__title a:hover { color:#fff; }
.hp-slider--cinema .hp-slide__excerpt { display:block; margin-block:18px 24px; font-size:1rem; line-height:1.7; color:rgb(255 255 255 / 78%); }
.hp-slider--cinema .hp-slide__foot { display:flex; flex-direction:row; justify-content:flex-start; flex-wrap:wrap; align-items:center; inline-size:auto; gap:16px; margin:0; padding:0; }
.hp-slider--cinema .hp-slide__meta,.hp-slider--cinema .hp-slide__meta .card__time { color:rgb(255 255 255 / 64%); font-size:.72rem; }
.hp-slider--cinema .hp-slide__meta { flex:0 1 auto; gap:6px 8px; }
.hp-slider--cinema :is(.hp-slide__published,.hp-slide__reading) { white-space:nowrap; }
.hp-slider--cinema .hp-slide__cta { flex:none; align-self:auto; min-block-size:42px; padding:9px 16px; border-radius:999px; border-color:transparent; font-size:.9rem; font-weight:600; background:var(--c-crimson); color:#fff; box-shadow:none; transform:none; transition:background-color .18s ease; }
.hp-slider--cinema .hp-slide__cta:hover { background:#b91935; transform:none; box-shadow:none; }
.hp-slider--cinema .hp-slide__cta .icon { inline-size:18px; block-size:18px; transform:var(--icon-direction,none); }
.hp-slider--cinema .hp-slider__chapters { position:absolute; inset-inline:var(--hero-gutter); inset-block-end:38px; display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - (var(--hero-cols,5) - 1) * 16px) / var(--hero-cols,5)); min-block-size:0; gap:16px; margin:0; padding:3px; border:0; background:none; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:none; pointer-events:auto; }
.hp-slider--cinema .hp-slider__main .hp-slider__chapters { margin:0; }
.hp-slider--cinema .hp-slider__chapters::-webkit-scrollbar { display:none; }
.hp-slider.is-enhanced .hp-slider__track { cursor:grab; }
.hp-slider.is-enhanced .hp-slider__chapters { cursor:grab; touch-action:pan-x pan-y pinch-zoom; }
.hp-slider.is-enhanced :is(.hp-slider__track,.hp-slider__chapters).is-dragging { cursor:grabbing; user-select:none; scroll-behavior:auto; }
.hp-slider.is-enhanced .is-dragging * { cursor:grabbing; user-select:none; }
.hp-slider--cinema .hp-ch { position:relative; display:flex; align-items:flex-end; min-block-size:var(--hero-rail); padding:0; overflow:hidden; border:0; border-radius:12px; background:#101721; color:#fff; isolation:isolate; transition:background-color .2s; }
.hp-slider--cinema .hp-ch::after { content:""; position:absolute; z-index:2; inset:0; border:1px solid rgb(255 255 255 / 12%); border-radius:inherit; pointer-events:none; transition:border-color .2s; }
.hp-slider--cinema .hp-ch.is-active { background:#101721; box-shadow:none; }
.hp-slider--cinema .hp-ch:hover::after { border-color:rgb(255 255 255 / 60%); }
.hp-slider--cinema .hp-ch.is-active::after { border-color:rgb(255 255 255 / 85%); }
.hp-slider--cinema .hp-ch__select { position:absolute; inset:0; display:flex; align-items:flex-end; inline-size:100%; block-size:100%; padding:0; border:0; border-radius:inherit; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.hp-slider--cinema .hp-ch__select:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
.hp-slider--cinema .hp-ch__read { position:absolute; z-index:1; inset:0; display:grid; place-items:center; padding:12px; border-radius:inherit; background:rgb(5 10 17 / 52%); backdrop-filter:blur(2px); color:#fff; text-decoration:none; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease,visibility .2s; }
.hp-slider--cinema .hp-ch.is-active.is-previewing .hp-ch__read { opacity:1; visibility:visible; pointer-events:auto; }
.hp-slider--cinema .hp-ch__read > span { min-block-size:34px; padding:7px 12px; border:1px solid rgb(255 255 255 / 65%); border-radius:999px; background:rgb(5 10 17 / 35%); font-size:.78rem; font-weight:600; transition:background-color .18s ease,border-color .18s ease; }
.hp-slider--cinema .hp-ch__read .icon { inline-size:15px; block-size:15px; }
.hp-slider--cinema .hp-ch__read:hover { color:#fff; text-decoration:none; }
.hp-slider--cinema .hp-ch__read:hover > span { background:rgb(255 255 255 / 12%); border-color:#fff; }
.hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface) { display:inline-grid; grid-template-columns:auto 1px 18px; align-items:center; justify-content:center; column-gap:10px; line-height:1.25; white-space:nowrap; }
.hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface)::before { content:""; grid-column:2; grid-row:1; inline-size:1px; block-size:13px; background:rgb(255 255 255 / 32%); }
.hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface) > .hp-read__label { grid-column:1; grid-row:1; display:block; padding:0; border:0; line-height:1.25; transform:none; }
.hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface) > .icon { grid-column:3; grid-row:1; justify-self:center; display:block; margin:0; flex:none; transition:translate .18s ease; }
.hp-slider--cinema .hp-read__surface { grid-template-columns:auto 1px 15px; column-gap:8px; }
.hp-slider--cinema .hp-slide__cta:focus-visible { outline:2px solid #fff; outline-offset:3px; }
@media(hover:hover) {
 .hp-slider--cinema :is(.hp-slide__cta:hover,.hp-ch__read:hover .hp-read__surface) > .icon { translate:2px 0; }
 [dir="rtl"] .hp-slider--cinema :is(.hp-slide__cta:hover,.hp-ch__read:hover .hp-read__surface) > .icon { translate:-2px 0; }
}
@media(prefers-reduced-motion:reduce) {
 .hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface,.hp-ch__read,.hp-read__label + .icon) { transition:none; }
 .hp-slider--cinema :is(.hp-slide__cta,.hp-read__surface) > .icon { translate:none; }
}
.hp-slider--cinema .hp-ch__read:focus-visible { outline:2px solid #fff; outline-offset:-4px; }
@media(prefers-reduced-motion:reduce) { .hp-slider--cinema .hp-ch__read { transition:none; } }
.hp-slider--cinema .hp-ch:focus-visible { outline:2px solid #fff; outline-offset:1px; }
.hp-slider--cinema .hp-ch__img { position:absolute; z-index:-2; inset:0; inline-size:100%; block-size:100%; object-fit:cover; }
.hp-slider--cinema .hp-ch::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 12%,rgb(4 8 14 / 50%) 45%,rgb(4 8 14 / 95%)); }
.hp-slider--cinema .hp-ch__copy { display:grid; gap:5px; padding:14px 16px; inline-size:100%; text-align:start; }
.hp-slider--cinema .hp-ch__t { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; white-space:normal; font-size:.94rem; font-weight:750; line-height:1.35; }
.hp-slider--cinema .hp-ch__category { display:flex; align-items:center; gap:8px; color:rgb(255 255 255 / 65%); font-size:.72rem; font-weight:400; }
.hp-slider--cinema .hp-ch.is-active .hp-ch__category::before { content:""; inline-size:22px; block-size:2px; background:var(--c-crimson); }
.hp-slider--cinema .hp-ch__bar { position:absolute; z-index:3; inset-block-start:auto; inset-block-end:0; inset-inline:0; inline-size:100%; block-size:2px; background:transparent; border-radius:0; pointer-events:none; }
.hp-slider--cinema .hp-ch.is-active .hp-ch__bar::after { background:linear-gradient(90deg,var(--c-crimson),#ff536d); box-shadow:none; border-radius:2px; }
[dir="rtl"] .hp-slider--cinema .hp-ch.is-active .hp-ch__bar::after { background:linear-gradient(270deg,var(--c-crimson),#ff536d); }
.hp-slider--cinema .hp-slider__arrows { display:flex; position:absolute; inset-inline:0; inset-block-start:50%; inset-block-end:auto; inline-size:auto; justify-content:space-between; transform:translateY(-50%); pointer-events:none; }
.hp-slider--cinema .hp-slider__arrow { flex:none; inline-size:30px; block-size:52px; padding:0; border:0; border-radius:0; background:rgb(5 10 17 / 38%); color:rgb(255 255 255 / 90%); pointer-events:auto; backdrop-filter:blur(6px); }
.hp-slider--cinema .hp-slider__arrow .icon { inline-size:18px; block-size:18px; filter:none; }
.hp-slider--cinema .hp-slider__arrow:hover:not(:disabled) { background:rgb(5 10 17 / 70%); color:#fff; }
.hp-slider--cinema .hp-slider__arrow:disabled { opacity:.25; cursor:default; background:rgb(5 10 17 / 18%); }
.hp-slider--cinema .hp-slide__actions { display:inline-flex; flex:none; align-items:center; gap:6px; }
[dir="ltr"] .hp-slider--cinema .hp-slide__actions { flex-direction:row-reverse; }
.hp-slider--cinema .hp-slider__playback { position:relative; flex:0 0 44px; display:grid; place-items:center; inline-size:44px; block-size:44px; padding:0; border:0; border-radius:50%; background:transparent; color:rgb(255 255 255 / 85%); cursor:pointer; isolation:isolate; }
.hp-slider--cinema .hp-slider__playback::before { content:""; position:absolute; z-index:-1; inset:7px; border:1px solid rgb(255 255 255 / 18%); border-radius:50%; background:rgb(5 10 17 / 45%); }
.hp-slider__playback > span { display:grid; place-items:center; }
.hp-slider__playback .icon { display:block; inline-size:14px; block-size:14px; stroke-width:1.65; }
.hp-slider__playback .hp-playback__play .icon { translate:1px 0; }
.hp-slider__playback[data-paused="false"] .hp-playback__play,.hp-slider__playback[data-paused="true"] .hp-playback__pause { display:none; }
.hp-slider--cinema .hp-slider__playback[hidden] { display:none; }
/* Its slot and appearance are identical before and after event binding. */
.has-js .hp-slider--cinema .hp-slider__playback[hidden] { display:grid; }
@media(prefers-reduced-motion:reduce) {
 .has-js .hp-slider__playback[hidden] .hp-playback__pause { display:none; }
 .has-js .hp-slider__playback[hidden] .hp-playback__play { display:grid; }
}
.hp-slider--cinema .hp-slider__playback:hover::before { background:rgb(5 10 17 / 75%); border-color:rgb(255 255 255 / 38%); }
.hp-slider--cinema .hp-slider__playback:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.hp-slider--cinema.hp-slider--minimal { --hero-rail:12px; }
.hp-slider--cinema.hp-slider--minimal .hp-slider__chapters { grid-auto-columns:44px; justify-content:center; }
.hp-slider--cinema.hp-slider--minimal .hp-ch { min-block-size:12px; border:0; border-radius:10px; background:rgb(255 255 255 / 22%); }
.hp-slider--cinema.hp-slider--minimal .hp-ch.is-active { box-shadow:none; }
.hp-slider--cinema.hp-slider--minimal .hp-ch::after { content:none; }
.hp-slider--cinema.hp-slider--minimal .hp-ch__read { display:none; }
.hp-slider--cinema.hp-slider--minimal .hp-ch__img,.hp-slider--cinema.hp-slider--minimal .hp-ch__copy { display:none; }
.hp-slider--cinema.hp-slider--minimal .hp-ch__bar { block-size:100%; }
.hp-slider--cinema.hp-slider--nochap { --hero-rail:0px; }
.home .site-header.is-transparent:not(.is-scrolled) { --line:rgb(255 255 255 / 14%); box-shadow:none; }
.home .site-header.is-transparent:not(.is-scrolled) .topbar { background:transparent; color:rgb(255 255 255 / 75%); }
@media (min-width:701px) and (max-width:1100px) {
 .hp-slider--cinema { --hero-h:660px; --hero-rail:126px; --hero-gutter:64px; }
 .hp-slider--cinema .hp-slide__body > * { max-inline-size:66%; }
 .hp-slider--cinema .hp-slide__title { inline-size:100%; max-inline-size:74%; font-size:clamp(2.4rem,4.7vw,3.3rem); line-height:1.1; }
 .hp-slider--cinema .hp-slider__chapters { --hero-visible:min(var(--hero-cols,5),3); grid-auto-columns:calc((100% - (var(--hero-visible) - 1) * 12px) / var(--hero-visible)); gap:12px; }
 .hp-slider--cinema .hp-ch__copy { padding:12px; }
 .hp-slider--cinema .hp-ch__t { font-size:.82rem; }
}
@media (max-width:700px) {
 .hp-slider--cinema { --hero-h:570px; --hero-rail:92px; --hero-gutter:20px; --hero-top:180px; }
 .has-transparent-header .hp-slider--cinema { --hero-top:calc(var(--hero-header-m) + 100px); }
 .hp-slider--cinema.hp-slider--mobile-compact { --hero-h:530px; --hero-rail:84px; --hero-mobile-space:-40px; }
 .hp-slider--cinema.hp-slider--mobile-normal { --hero-h:570px; --hero-rail:92px; --hero-mobile-space:0px; }
 .hp-slider--cinema.hp-slider--mobile-tall { --hero-h:650px; --hero-mobile-space:80px; }
 .hp-slider--cinema .hp-slide__media::after { background:linear-gradient(180deg,rgb(5 10 17 / 66%),rgb(5 10 17 / 5%) 25%,rgb(5 10 17 / calc(var(--hero-shade,91%) - 13%)) 48%,#080e16 85%); }
 .hp-slider--cinema .hp-slide__img { object-position:40% center; }
 .hp-slider--cinema .hp-slide__body { justify-content:flex-end; padding:calc(var(--hero-top) + var(--hero-mobile-space,0px)) var(--hero-gutter) calc(var(--hero-rail) + 52px); }
 .hp-slider--cinema .hp-slide__body > * { max-inline-size:100%; }
 .hp-slider--cinema .hp-slide__category { margin-block-end:10px; font-size:.73rem; gap:8px; }
 .hp-slider--cinema .hp-slide__category::before { inline-size:20px; block-size:20px; }
 .hp-slider--cinema .hp-slide__title { inline-size:100%; max-inline-size:100%; font-size:clamp(1.9rem,7.4vw,2.5rem); line-height:1.12; }

 .hp-slider--cinema .hp-slide__excerpt { margin-block:10px 16px; font-size:.84rem; line-height:1.6; }
 .hp-slider--cinema .hp-slide__foot { inline-size:100%; justify-content:flex-start; flex-wrap:nowrap; gap:10px; }
 .hp-slider--cinema .hp-slide__meta { flex:0 1 auto; font-size:.65rem; }
 .hp-slider--cinema .hp-slide__meta .card__time { font-size:inherit; }
 .hp-slider--cinema .hp-slide__cta { min-block-size:36px; padding:6px 13px; font-size:.8rem; column-gap:8px; grid-template-columns:auto 1px 16px; }
 .hp-slider--cinema .hp-slide__cta .icon { inline-size:16px; block-size:16px; }
 .hp-slider--cinema .hp-slider__chapters { --hero-visible:min(var(--hero-cols,5),2.25); inset-inline:20px; inset-block-end:24px; grid-auto-columns:calc((100% - (var(--hero-visible) - 1) * 8px) / var(--hero-visible)); gap:8px; }
 .hp-slider--cinema .hp-ch { border-radius:8px; }
 .hp-slider--cinema .hp-ch__copy { padding:8px 10px; gap:3px; }
 .hp-slider--cinema .hp-ch__t { font-size:.73rem; line-height:1.35; }
 .hp-slider--cinema .hp-ch__category { font-size:.6rem; }
 .hp-slider--cinema .hp-slider__arrows { inset-block-start:calc(var(--hero-header-m) + 90px); }
 .hp-slider--cinema .hp-slider__arrow { inline-size:26px; block-size:44px; }
 .hp-slider--cinema.hp-slider--minimal .hp-slider__chapters { grid-auto-columns:32px; }
 .hp-slider--cinema.hp-slider--minimal .hp-slide__body { padding-block-end:70px; }
 .hp-slider--cinema.hp-slider--nochap .hp-slide__body { padding-block-end:28px; }
}

/* A vertical cover behind the latest stories, extending beyond the lead card. */
.hp-latest-cinema { padding-block:80px 64px; overflow:hidden; }
.hp-latest-cinema__scenery { inset-block:20px auto; inset-inline-start:auto; inset-inline-end:0; inline-size:clamp(340px,48vw,720px); block-size:min(760px,calc(100% - 44px)); background:linear-gradient(180deg,rgb(9 11 14 / 5%),rgb(9 11 14 / 16%) 64%,#090b0e),var(--latest-backdrop,url('../images/scenery-placeholder.svg')) center 32% / cover no-repeat; clip-path:none; border-radius:24px 0 0 24px; }
.hp-latest-cinema__scenery::after { background:linear-gradient(to right,#090b0e,transparent 45%); }
[dir="rtl"] .hp-latest-cinema__scenery::after { background:linear-gradient(to left,#090b0e,transparent 45%); }
.hp-latest-cinema > .container { position:relative; }
@media (max-width:700px) {
 .hp-latest-cinema { padding-block:48px 32px; }
 .hp-latest-cinema__scenery { inset-block:12px 16px; inline-size:76%; border-radius:16px 0 0 16px; }
}

/* Keep the first desktop story two columns wide and expose the cover beside it. */
@media (min-width:1101px) {
 .hp-slider--cinema .hp-slide__title { inline-size:min(1100px,85%); font-size:clamp(2.5rem,3.7vw,4.35rem); }
 .hp-latest-cinema__grid > .hp-story--lead { grid-column:1 / span 2; }
 .hp-latest-cinema__grid > .hp-story--lead + .hp-story { grid-column:1; }
}

/* Give the latest-stories cover a spacious, centered introduction on mobile. */
@media (max-width:700px) {
 .hp-latest-cinema { padding-block-start:0; }
 .hp-latest-cinema__scenery { inset-block:0 auto; inline-size:100%; block-size:260px; background:linear-gradient(180deg,rgb(9 11 14 / 4%),rgb(9 11 14 / 14%) 58%,#090b0e),var(--latest-backdrop,url('../images/scenery-placeholder.svg')) center 28% / cover no-repeat; border-radius:0; }
 .hp-latest-cinema__head { min-block-size:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; margin-block-end:24px; padding:40px 12px; text-align:center; }
 .hp-latest-cinema__head h2 { max-inline-size:100%; }
 .hp-latest-cinema__head > p { max-inline-size:34ch; margin-inline:auto; font-size:.9rem; line-height:1.75; }
}

@media (max-width:700px) {
 .hp-latest-cinema__head { align-items:flex-start; text-align:right; }
 .hp-latest-cinema__head > p { margin-inline:0; }
}

/* Editorial title for the latest stories. */
.hp-latest-cinema__head h2 { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:16px; max-inline-size:22ch; color:#f7f8fa; font-family:Heebo,Arial,sans-serif; font-size:clamp(2rem,3.4vw,3rem); font-weight:700; line-height:1.18; letter-spacing:-.035em; text-wrap:balance; text-shadow:0 2px 18px rgb(0 0 0 / 18%); }
.hp-latest-cinema__head h2::before { content:""; display:block; inline-size:38px; block-size:3px; border-radius:999px; background:var(--c-crimson); }
.hp-latest-cinema__head > p { color:#b5b9c2; }
@media (max-width:700px) {
 .hp-latest-cinema__head h2 { gap:12px; font-size:clamp(1.85rem,7.5vw,2.3rem); line-height:1.2; }
 .hp-latest-cinema__head h2::before { inline-size:30px; }
}

/* A staggered typographic masthead, without ornamental rules. */
.hp-latest-cinema__head h2 { display:block; max-inline-size:none; margin:0; font-size:clamp(2.8rem,5.2vw,4.7rem); font-weight:800; line-height:.98; letter-spacing:-.055em; text-shadow:none; }
.hp-latest-cinema__head h2::before { content:none; }
.hp-latest-title__first,.hp-latest-title__last { display:block; }
.hp-latest-title__first { color:#f5f3ef; }
.hp-latest-title__last { padding-inline-start:.55em; color:#b5a39c; }
.hp-latest-cinema__head > p { margin-block-start:14px; max-inline-size:40ch; color:#a5a6ad; font-size:.9rem; line-height:1.7; }
@media (max-width:700px) {
 .hp-latest-cinema__head { gap:0; padding-block:28px; }
 .hp-latest-cinema__head h2 { font-size:clamp(2.5rem,11vw,3.4rem); line-height:1; }
 .hp-latest-cinema__head > p { margin-block-start:16px; font-size:.82rem; }
}

/* Keep the expressive title compact across screen sizes. */
.hp-latest-cinema__head { gap:10px; margin-block-end:24px; }
.hp-latest-cinema__head h2 { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.2; letter-spacing:-.035em; }
.hp-latest-title__first,.hp-latest-title__last { display:inline; }
.hp-latest-title__last { padding-inline-start:0; }
.hp-latest-cinema__head > p { margin-block-start:0; }
@media (max-width:700px) {
 .hp-latest-cinema__head { min-block-size:150px; padding:24px 12px; gap:8px; margin-block-end:18px; }
 .hp-latest-cinema__head h2 { font-size:clamp(1.6rem,6.5vw,2rem); line-height:1.2; }
 .hp-latest-cinema__head > p { margin-block-start:0; }
}

/* Compact section heading with a cut-line divider. */
.hp-latest-cinema__head h2 { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; gap:0 .25em; inline-size:100%; font-size:clamp(1.65rem,2.6vw,2.2rem); font-weight:700; line-height:1.25; letter-spacing:-.025em; color:#f5f3ef; }
.hp-latest-title__first,.hp-latest-title__last { display:inline; color:inherit; padding:0; }
.hp-latest-cinema__head h2::after { content:""; flex:1 0 48px; align-self:center; block-size:8px; margin-inline-start:20px; background:linear-gradient(rgb(255 255 255 / 18%),rgb(255 255 255 / 18%)) left center / calc(100% - 28px) 1px no-repeat,linear-gradient(120deg,transparent 30%,var(--c-crimson) 31% 44%,transparent 45% 56%,var(--c-crimson) 57% 70%,transparent 71%) right center / 20px 8px no-repeat; }
[dir="ltr"] .hp-latest-cinema__head h2::after { transform:scaleX(-1); }
@media (max-width:700px) {
 .hp-latest-cinema__head h2 { font-size:clamp(1.5rem,6vw,1.85rem); }
 .hp-latest-cinema__head h2::after { flex-basis:24px; margin-inline-start:12px; }
}

/* Quiet editorial heading: typography first, one understated separator. */
.hp-latest-cinema__head { position:relative; align-items:flex-start; gap:8px; padding-block-end:20px; border-block-end:1px solid rgb(255 255 255 / 14%); }
.hp-latest-cinema__head h2 { display:block; inline-size:auto; margin:0; color:#f5f3ef; font-size:clamp(1.65rem,2.5vw,2.15rem); font-weight:600; line-height:1.25; letter-spacing:-.025em; }
.hp-latest-cinema__head h2::before,.hp-latest-cinema__head h2::after { content:none; }
.hp-latest-title__first,.hp-latest-title__last { display:inline; color:inherit; padding:0; }
.hp-latest-cinema__head > p { margin:0; max-inline-size:58ch; color:#a5a6ad; font-size:.88rem; line-height:1.65; }
@media (max-width:700px) {
 .hp-latest-cinema__head { min-block-size:0; padding:30px 0 20px; margin-block-end:20px; }
 .hp-latest-cinema__head h2 { font-size:1.65rem; }
 .hp-latest-cinema__head > p { font-size:.82rem; }
}

/* Japanese samurai mark beside the section heading. */
.hp-latest-cinema__head { border:0; gap:10px; padding-block-end:0; margin-block-end:28px; }
.hp-latest-cinema__head h2 { position:relative; display:block; padding-inline-start:46px; color:#f7f5f0; font-size:clamp(1.8rem,2.8vw,2.5rem); font-weight:800; line-height:1.2; letter-spacing:-.04em; overflow:visible; }
.hp-latest-cinema__head h2::before { content:""; position:absolute; inset-inline-start:-2px; inset-block-start:50%; inline-size:42px; block-size:42px; background:url("../images/samurai-heading.svg") center / contain no-repeat; transform:translateY(-50%); }
.hp-latest-cinema__head h2::after { content:none; }
.hp-latest-cinema__head > p { padding-inline-start:26px; max-inline-size:55ch; color:#a6a9b0; font-size:.88rem; line-height:1.7; }
@media (max-width:700px) {
 .hp-latest-cinema__head { padding-block:32px 12px; margin-block-end:20px; }
 .hp-latest-cinema__head h2 { font-size:1.85rem; }
 .hp-latest-cinema__head > p { font-size:.82rem; }
}
.hp-latest-cinema__head h2::before { display:block; margin:0; padding:0; }

/* Permanent latest-story controls, matching the hero's reading action. */
.hp-latest-cinema .hp-story__foot { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; gap:16px; margin-block-start:auto; padding-block-start:14px; }
.hp-latest-cinema .hp-story__read { font-size:.68rem; color:#a2a7b0; gap:4px; }
.hp-latest-cinema .hp-story__read .icon { inline-size:12px; block-size:12px; stroke-width:1.5; }
.hp-latest-cinema .hp-story__details { gap:8px 14px; padding-block-start:12px; border-block-start:1px solid rgb(255 255 255 / 9%); font-size:.68rem; line-height:1.5; color:#a2a7b0; }
.hp-latest-cinema .hp-story__details :is(span,a) { display:inline-flex; align-items:center; gap:5px; }
.hp-latest-cinema .hp-story__details a { color:inherit; text-decoration:none; }
.hp-latest-cinema .hp-story__details a:hover { color:#fff; }
.hp-latest-cinema .hp-story__details time { direction:inherit; }
.hp-latest-cinema .hp-story__details .icon { inline-size:13px; block-size:13px; stroke-width:1.5; }
.hp-latest-cinema a.hp-story__arrow { border:1px solid rgb(255 255 255 / 18%); border-radius:9px; background:rgb(255 255 255 / 12%); box-shadow:none; transition:background-color .18s ease,border-color .18s ease; }
.hp-latest-cinema a.hp-story__arrow:hover { background:rgb(255 255 255 / 22%); border-color:rgb(255 255 255 / 30%); }
.hp-latest-cinema :is(.hp-story__details a,.hp-story__arrow):focus-visible { outline:2px solid #fff; outline-offset:3px; }
/* Secondary cards use the header's quiet arrow-button finish. */

/* Publication, reading time and comments remain one compact metadata row. */
.hp-latest-cinema .hp-story__body { container-type:inline-size; }
.hp-latest-cinema .hp-story__details { display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-start; gap:clamp(4px,2.5cqi,12px); font-size:clamp(.5rem,3.15cqi,.65rem); line-height:1.4; white-space:nowrap; }
.hp-latest-cinema .hp-story__details :is(span,a) { flex:0 1 auto; min-inline-size:0; gap:clamp(2px,1cqi,4px); white-space:nowrap; }
.hp-latest-cinema .hp-story__details .hp-story__read { color:inherit; font-size:inherit; }
.hp-latest-cinema .hp-story__details .icon { flex:none; inline-size:clamp(8px,3.8cqi,12px); block-size:clamp(8px,3.8cqi,12px); stroke-width:1.4; }
.hp-latest-cinema .hp-story__details time { font-size:inherit; font-weight:400; color:inherit; }

/* Expose more of the section backdrop above the cards on mobile and tablet. */
@media (max-width:1100px) {
 .hp-latest-cinema__grid { padding-block-start:clamp(64px,10vw,110px); }
}
