.hl { position: relative; }

.hl-pw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 14px; }
.hl-pw-duo { margin-top: 26px; }
@media (max-width: 1000px) { .hl-pw-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 600px)  { .hl-pw-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } }

.hero--tall .hero-slides { min-height: min(88vh, 860px); }
.hero--tall .hero-title { font-size: clamp(32px, 5vw, 60px); }
.hero--tall .hero-veil { background: linear-gradient(180deg, transparent 30%, rgba(var(--bg-r), var(--bg-g), var(--bg-b), 1) 98%), linear-gradient(90deg, rgba(var(--bg-r), var(--bg-g), var(--bg-b), .9) 0%, transparent 65%); }
.home-l-cinematic .hr:first-of-type { margin-top: -40px; position: relative; z-index: 2; }
@media (max-width: 960px) { .hero--tall .hero-slides { min-height: 70vh; } .home-l-cinematic .hr:first-of-type { margin-top: 0; } }

.hero--mini .hero-slides { min-height: 360px; cursor: default; }
.hero--mini .hero-in { padding: 36px 20px; }
.hero--mini .hero-poster { width: 180px; }
.hero--mini .hero-title { font-size: clamp(24px, 3.2vw, 36px); }
.hero--mini .hero-dots { display: none; }
@media (max-width: 960px) { .hero--mini .hero-slides { min-height: 300px; } }
.hl-mag-tabs { display: flex; gap: 8px; margin-bottom: 18px; overflow-x: auto; scrollbar-width: none; }
.hl-mag-tabs::-webkit-scrollbar { display: none; }
.hl-mag-tabs button { flex: none; height: 42px; padding: 0 18px; border-radius: 12px; background: var(--bg-3); border: 1px solid var(--line); color: var(--soft); font-weight: 700; font-size: 14px; cursor: pointer; transition: all .2s; }
.hl-mag-tabs button.is-active { background: var(--accent-2); border-color: var(--accent-2); color: var(--on-accent, #fff); }
.hl-mag-panel[hidden] { display: none; }

.hl-mo-wrap { padding: 24px 0 0; }
.hl-mo { display: grid; gap: 12px; height: 440px; grid-template-columns: 2fr 1fr 1fr; grid-template-rows: 1fr 1fr;
	grid-template-areas: "big t1 t2" "big t3 t4"; }
.hl-mo-1 { grid-area: big; } .hl-mo-2 { grid-area: t1; } .hl-mo-3 { grid-area: t2; } .hl-mo-4 { grid-area: t3; } .hl-mo-5 { grid-area: t4; }
.hl-mo-item { position: relative; display: block; border-radius: 18px; overflow: hidden; background: var(--bg-3); border: 1px solid var(--line); min-width: 0; isolation: isolate; }
.hl-mo-item img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.hl-mo-item:hover img { transform: scale(1.05); }
.hl-mo-veil { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.78), transparent 60%); }
.hl-mo-txt { position: absolute; inset-inline: 0; bottom: 0; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; color: #fff; }
.hl-mo-txt strong { font-size: 15px; font-weight: 800; line-height: 1.6; text-shadow: 0 2px 10px rgba(0,0,0,.6); }
.hl-mo-1 .hl-mo-txt { padding: 22px 24px; }
.hl-mo-1 .hl-mo-txt strong { font-size: clamp(20px, 2.6vw, 30px); }
.hl-mo-txt em { font-style: normal; font-size: 13px; opacity: .8; direction: ltr; }
@media (max-width: 700px) {
	.hl-mo { display: flex; height: 230px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -4px; padding-inline: 4px; }
	.hl-mo::-webkit-scrollbar { display: none; }
	.hl-mo-item { flex: none; scroll-snap-align: start; width: 62%; height: 100%; }
	.hl-mo-1 { width: 86%; }
}

.hs-ico { display: inline-flex; width: 1.15em; height: 1.15em; vertical-align: -.2em; margin-inline-end: .4em; align-items: center; justify-content: center; }
.hs-ico svg { width: 100%; height: 100%; }
.hs-ico img { width: 100%; height: 100%; object-fit: contain; border-radius: 4px; }
.hs-emoji { font-style: normal; line-height: 1; }
.hr-slot { padding-top: 0; }
.home-side .hr-slot .container, .home-main .hr-slot .container { max-width: none; padding-inline: 0; }
.home-side .hr-slot { margin-bottom: 4px; }
