@keyframes hf-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes hf-fade-up {
	from { opacity: 0; transform: translateY(28px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes hf-fade-right {
	from { opacity: 0; transform: translateX(32px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes hf-fade-left {
	from { opacity: 0; transform: translateX(-32px); }
	to { opacity: 1; transform: translateX(0); }
}

@keyframes hf-scale-in {
	from { opacity: 0; transform: scale(0.92); }
	to { opacity: 1; transform: scale(1); }
}

[data-reveal] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.7s var(--hf-ease-out), transform 0.7s var(--hf-ease-out);
	transition-delay: var(--hf-reveal-delay, 0ms);
	will-change: opacity, transform;
}

[data-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

body.hf-animations-off [data-reveal],
body.hf-reduce-motion [data-reveal] {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

.hf-hover-lift {
	transition: transform 0.3s var(--hf-ease), box-shadow 0.3s var(--hf-ease);
}

.hf-hover-lift:hover {
	transform: translateY(-6px);
	box-shadow: var(--hf-shadow-lg);
}

@media (max-width: 1280px) {
	.hf-mega-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hf-grid--4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hf-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-staff-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hf-footer-columns--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1180px) {
	.hf-header-inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 0.7rem;
	}

	.hf-menu-item > a {
		padding-inline: 0.6em;
		font-size: 0.88rem;
	}

	.hf-layout {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	body.hf-sidebar-left .hf-layout:not(.hf-layout--full) {
		grid-template-columns: 300px minmax(0, 1fr);
	}

	.hf-header-tools .hf-header-cta {
		display: none;
	}

	.hf-slider-playlist {
		display: none;
	}
}

@media (max-width: 992px) {
	.hf-main-nav,
	.hf-header-tools .hf-socials--header {
		display: none;
	}

	.hf-burger {
		display: flex;
	}

	.hf-header-inner {
		min-height: 72px;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.hf-header-split .hf-header-inner,
	.hf-header-center .hf-header-inner {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.hf-header-split .hf-header-brand,
	.hf-header-split .hf-header-tools,
	.hf-header-split .hf-main-nav {
		grid-column: auto;
	}

	.hf-header-center .hf-header-tools {
		position: static;
	}

	.hf-header-center .hf-header-brand {
		flex-direction: row;
		text-align: right;
	}

	.hf-logo-img {
		max-height: 54px;
	}

	.hf-layout,
	body.hf-sidebar-left .hf-layout:not(.hf-layout--full) {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-sidebar {
		position: static;
		max-height: none;
		overflow: visible;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}

	body.hf-sidebar-left .hf-sidebar {
		order: 2;
	}

	.hf-featured-grid,
	.hf-featured--banner .hf-featured-profile,
	.hf-featured--video .hf-featured-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-featured--banner .hf-featured-profile {
		display: block;
	}

	.hf-featured--banner .hf-featured-media {
		max-width: 340px;
		margin-bottom: 1rem;
	}

	.hf-news-wrap--mixed {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-grid--4,
	.hf-grid--5,
	.hf-grid--6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-about-intro,
	.hf-contact-main,
	.hf-about-values {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-contact-info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-staff-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hf-card--list {
		flex-direction: column;
	}

	.hf-card--list .hf-card-media {
		flex: 0 0 auto;
		width: 100%;
		aspect-ratio: 16 / 9;
		min-height: 0;
	}

	.hf-topbar-text {
		display: none;
	}

	.hf-slider-arrow {
		width: 44px;
		height: 44px;
	}

	.hf-floating-socials {
		display: none;
	}

	.hf-gallery-grid {
		grid-auto-rows: 170px;
	}
}

@media (max-width: 767px) {
	:root {
		--hf-slider-height: 520px;
	}

	.hf-topbar-inner {
		min-height: 38px;
		gap: 0.5rem;
	}

	.hf-topbar-start .hf-topbar-item:not(.hf-topbar-clock) {
		display: none;
	}

	.hf-topbar .hf-socials {
		display: none;
	}

	.hf-header-inner {
		min-height: 64px;
	}

	.hf-site-description {
		display: none;
	}

	.hf-site-title {
		font-size: 0.95rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 46vw;
	}

	.hf-logo-badge {
		width: 44px;
		height: 44px;
		border-radius: 14px;
	}

	.hf-header-login span {
		display: none;
	}

	.hf-header-login {
		padding: 0.5em;
	}

	.hf-slider-viewport {
		min-height: 400px;
		height: auto;
		max-height: none;
		position: relative;
	}

	.hf-slider-track {
		position: relative;
		inset: auto;
	}

	.hf-slide {
		position: relative;
		inset: auto;
		display: none;
		min-height: 420px;
	}

	.hf-slide.is-active {
		display: flex;
	}

	.hf-slide-content {
		padding-block: 1.6rem 2.2rem;
	}

	.hf-slider-arrow {
		width: 38px;
		height: 38px;
	}

	.hf-slider-arrow--next { inset-inline-end: 0.5rem; }
	.hf-slider-arrow--prev { inset-inline-start: 0.5rem; }

	.hf-slider-bottom {
		padding-block: 0.7rem 0.9rem;
	}

	.hf-ticker-inner {
		flex-wrap: nowrap;
		gap: 0.5rem;
	}

	.hf-ticker-label {
		font-size: 0.72rem;
		padding: 0.3em 0.75em;
	}

	.hf-ticker-all {
		display: none;
	}

	.hf-ticker-date {
		display: none;
	}

	.hf-grid,
	.hf-grid--2,
	.hf-grid--3,
	.hf-grid--4,
	.hf-grid--5,
	.hf-grid--6 {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-notices-grid,
	.hf-contact-info-grid,
	.hf-staff-grid,
	.hf-stats-grid,
	.hf-form-grid,
	.hf-comment-form,
	.hf-post-nav {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-rows: 140px;
	}

	.hf-gallery-item--wide {
		grid-column: span 2;
		grid-row: span 1;
	}

	.hf-committee-news {
		display: none;
	}

	.hf-committees-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.hf-section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.hf-section-more {
		align-self: flex-start;
	}

	.hf-single {
		border-radius: var(--hf-radius);
		padding: 1rem 0.95rem 1.3rem;
	}

	.hf-single-meta {
		gap: 0.3rem 0.8rem;
		font-size: 0.76rem;
	}

	.hf-single-toolbar {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.6rem;
	}

	.hf-share-list {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 0.3rem;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.hf-share-list::-webkit-scrollbar {
		display: none;
	}

	.hf-share-btn {
		flex: 0 0 auto;
	}

	.hf-author-box {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}

	.hf-author-meta {
		justify-content: center;
	}

	.hf-comment-body {
		flex-direction: column;
		align-items: flex-start;
	}

	.hf-comment-list .children {
		margin-inline-start: 0.7rem;
		padding-inline-start: 0.6rem;
	}

	.hf-rating-box {
		flex-direction: column;
		align-items: flex-start;
	}

	.hf-featured-item {
		flex-direction: column;
	}

	.hf-featured-item-thumb {
		flex: 0 0 auto;
		width: 100%;
		height: 180px;
	}

	.hf-mini-thumb {
		flex-basis: 84px;
		width: 84px;
		height: 70px;
	}

	.hf-pagination-list {
		gap: 0.25rem;
	}

	.hf-page-item a,
	.hf-page-item span {
		min-width: 38px;
		height: 38px;
		font-size: 0.84rem;
	}

	.hf-page-item.is-prev a,
	.hf-page-item.is-next a {
		padding: 0 0.6rem;
	}

	.hf-page-item.is-prev span,
	.hf-page-item.is-next span {
		display: none;
	}

	.hf-sticky-bar {
		display: flex;
	}

	.hf-single-wrap,
	.hf-page-wrap {
		padding-bottom: 5.2rem;
	}

	.hf-back-to-top {
		inset-block-end: 4.8rem;
		inset-inline-end: 0.8rem;
		width: 42px;
		height: 42px;
	}

	.hf-lightbox-nav {
		width: 42px;
		height: 42px;
	}

	.hf-lightbox-prev { inset-inline-start: 0.4rem; }
	.hf-lightbox-next { inset-inline-end: 0.4rem; }

	.hf-lightbox-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.4rem;
	}

	.hf-footer-columns--2,
	.hf-footer-columns--3,
	.hf-footer-columns--4 {
		grid-template-columns: minmax(0, 1fr);
	}

	.hf-footer-bottom-inner {
		flex-direction: column;
		text-align: center;
		gap: 0.5rem;
	}

	.hf-footer-menu {
		justify-content: center;
	}

	.hf-tabs-nav {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		border-radius: var(--hf-radius);
		scrollbar-width: none;
	}

	.hf-tabs-nav::-webkit-scrollbar {
		display: none;
	}

	.hf-tab {
		flex: 0 0 auto;
		font-size: 0.82rem;
	}

	.hf-error-links .hf-btn {
		width: 100%;
	}
}

@media (max-width: 480px) {
	:root {
		--hf-slider-height: 460px;
	}

	.hf-slide-title {
		font-size: 1.12rem;
	}

	.hf-slide-lead {
		display: -webkit-box;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.hf-slide-actions .hf-btn {
		width: 100%;
	}

	.hf-committees-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.hf-gallery-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-auto-rows: 190px;
	}

	.hf-gallery-item--wide {
		grid-column: span 1;
	}

	.hf-stat-value {
		font-size: 1.7rem;
	}

	.hf-mobile-committee-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 1600px) {
	.hf-slider-viewport {
		max-height: 720px;
	}
}

@media (hover: none) {
	.hf-gallery-overlay {
		opacity: 1;
		background: linear-gradient(to top, rgba(5, 13, 26, 0.8), transparent 62%);
	}

	.hf-gallery-zoom {
		display: none;
	}

	.hf-card:hover,
	.hf-committee-card:hover,
	.hf-value-card:hover,
	.hf-staff-card:hover {
		transform: none;
	}

	.hf-share-btn span {
		display: inline;
	}
}

@media (max-height: 520px) and (orientation: landscape) {
	.hf-slider-viewport {
		min-height: 300px;
	}

	.hf-slide-lead {
		display: none;
	}
}
