/*
Theme Name: RankPower
Theme URI: https://example.com
Author: OpenAI
Description: 面向品牌排行榜与重企榜的自定义 WordPress 主题。
Version: 1.0.0
Text Domain: rankpower
*/

:root {
	--rp-bg: #f5f7fb;
	--rp-surface: #ffffff;
	--rp-surface-soft: #eef3ff;
	--rp-text: #182230;
	--rp-muted: #5f6f85;
	--rp-line: #d9e2f1;
	--rp-primary: #2157f2;
	--rp-primary-dark: #163fb7;
	--rp-accent: #ff8f1f;
	--rp-success: #1d9d5a;
	--rp-shadow: 0 18px 50px rgba(17, 38, 84, 0.08);
	--rp-shadow-soft: 0 10px 24px rgba(25, 55, 110, 0.08);
	--rp-radius: 18px;
	--rp-shell: 1200px;
}

.rp-brand-title-inline {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
}

.rp-brand-title-inline__prefix {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	padding: 3px 8px;
	border-radius: 999px;
	background: #edf3ff;
	color: var(--rp-primary);
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.rp-brand-title-inline__link,
.rp-brand-title-inline__text {
	color: inherit;
}

.rp-brand-honor-list {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.rp-brand-honor {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border: 1px solid var(--rp-honor-border, #cbdcff);
	border-radius: 999px;
	background: var(--rp-honor-bg, #eef4ff);
	color: var(--rp-honor-text, #1d4ed8);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	vertical-align: middle;
}

.rp-brand-honor__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.72);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
}

.rp-brand-honor__label {
	display: inline-flex;
	align-items: center;
}

.rp-brand-title-inline--compact {
	gap: 6px 8px;
}

.rp-brand-title-inline--compact .rp-brand-title-inline__prefix {
	min-width: 24px;
	padding: 2px 7px;
	font-size: 11px;
}

.rp-brand-title-inline--compact .rp-brand-honor {
	padding: 3px 8px;
	font-size: 11px;
}

.rp-brand-title-inline--compact .rp-brand-honor__icon {
	min-width: 16px;
	height: 16px;
	font-size: 10px;
}

/* Frontend Detail Polish */
.button-primary,
.button-secondary,
.vote-button {
	box-shadow: var(--rp-shadow-soft);
}

.button-primary:hover,
.button-secondary:hover,
.vote-button:hover {
	transform: translateY(-1px);
}

.content-card,
.sidebar-card,
.brand-card,
.term-card,
.article-card,
.about-card {
	box-shadow: var(--rp-shadow-soft);
}

.member-tab {
	box-shadow: 0 4px 14px rgba(17, 38, 84, 0.04);
}

.member-side-link {
	box-shadow: 0 6px 16px rgba(17, 38, 84, 0.04);
}

.rankpower-front-form label,
.rank-filter-form label {
	color: #20324d;
}

.front-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	box-shadow: 0 10px 24px rgba(21, 48, 96, 0.06);
}

.front-notice::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	font-size: 14px;
	font-weight: 800;
}

.front-notice--success::before {
	content: "✓";
	background: rgba(29, 157, 90, 0.16);
}

.front-notice--error::before {
	content: "!";
	background: rgba(195, 49, 72, 0.16);
}

.member-sensitive-verify {
	margin-top: 18px;
	padding: 16px 18px;
	border: 1px solid rgba(33, 87, 242, 0.14);
	border-radius: 16px;
	background: linear-gradient(180deg, #f8fbff 0%, #f2f6ff 100%);
}

.member-sensitive-verify p:last-child {
	margin-bottom: 0;
}

.member-sensitive-verify .description {
	margin: 4px 0 0;
	color: #5f6f85;
	font-size: 13px;
	line-height: 1.7;
}

.rp-term-picker,
.member-comments .member-comment-card,
.about-login-card {
	box-shadow: 0 10px 22px rgba(20, 43, 87, 0.05);
}

.rp-term-picker__row:hover {
	background: #f7faff;
}

.rp-term-picker__toggle:hover {
	background: #edf3ff;
	border-color: #bfd1f6;
}

.rp-term-picker__label input:checked + .rp-term-picker__name {
	color: var(--rp-primary);
	font-weight: 700;
}

@media (max-width: 767px) {
	.page-hero,
	.content-card,
	.sidebar-card,
	.brand-card,
	.term-card,
	.article-card,
	.about-card {
		padding: 20px;
	}

	.button-primary,
	.button-secondary,
	.vote-button {
		width: 100%;
		min-height: 46px;
		padding: 12px 16px;
	}

	.member-tab,
	.member-side-link {
		min-height: 44px;
	}

	.front-notice {
		padding: 14px 15px;
		border-radius: 12px;
		font-size: 14px;
	}
}

/* Member Center Typography Fine Tune */
.member-center-page .page-hero h1 {
	font-size: clamp(26px, 3vw, 34px);
}

.member-center-page .page-hero p,
.member-center-page .content-muted,
.member-center-page .member-main__hero p {
	font-size: 13px;
	line-height: 1.8;
}

.member-center-page .section-eyebrow,
.member-center-page .member-profile-level,
.member-center-page .member-comment-card__status,
.member-center-page .rp-term-picker__description,
.member-center-page .rp-term-picker__selected,
.member-center-page .member-sensitive-verify .description {
	font-size: 12px;
}

.member-center-page .member-tabs {
	gap: 10px;
}

.member-center-page .member-tab,
.member-center-page .member-side-link,
.member-center-page .button-primary,
.member-center-page .member-logout-button {
	font-size: 12px;
}

.member-center-page .member-tab {
	padding: 9px 14px;
}

.member-center-page .member-side-link {
	padding: 10px 12px;
}

.member-center-page .content-card h2,
.member-center-page .sidebar-card h2,
.member-center-page .member-main__hero h2,
.member-center-page .member-comment-card h3 {
	font-size: 18px;
	line-height: 1.35;
}

.member-center-page .member-profile-card strong,
.member-center-page .member-main__hero h3,
.member-center-page .brand-card h3 {
	font-size: 16px;
	line-height: 1.35;
}

.member-center-page .member-profile-card,
.member-center-page .member-comment-card,
.member-center-page .rp-term-picker,
.member-center-page .member-sensitive-verify {
	border-radius: 12px;
}

.member-center-page .member-stats span,
.member-center-page .member-comment-card__meta,
.member-center-page .brand-card p,
.member-center-page .rankpower-front-form p,
.member-center-page .rankpower-front-form label,
.member-center-page .rp-term-picker__count {
	font-size: 12px;
}

.member-center-page .member-stats strong {
	font-size: 20px;
}

.member-center-page .rankpower-front-form input[type="text"],
.member-center-page .rankpower-front-form input[type="email"],
.member-center-page .rankpower-front-form input[type="password"],
.member-center-page .rankpower-front-form input[type="url"],
.member-center-page .rankpower-front-form input[type="number"],
.member-center-page .rankpower-front-form input[type="search"],
.member-center-page .rankpower-front-form textarea,
.member-center-page .rankpower-front-form select {
	font-size: 13px;
	padding: 10px 12px;
	border-radius: 12px;
}

.member-center-page .rankpower-front-form textarea {
	line-height: 1.8;
}

@media (max-width: 767px) {
	.member-center-page .page-hero h1 {
		font-size: 22px;
	}

	.member-center-page .content-card h2,
	.member-center-page .sidebar-card h2,
	.member-center-page .member-main__hero h2,
	.member-center-page .member-comment-card h3 {
		font-size: 17px;
	}

	.member-center-page .member-profile-card strong,
	.member-center-page .member-main__hero h3,
	.member-center-page .brand-card h3 {
		font-size: 15px;
	}

	.member-center-page .member-tab,
	.member-center-page .member-side-link,
	.member-center-page .button-primary,
	.member-center-page .member-logout-button,
	.member-center-page .rankpower-front-form input,
	.member-center-page .rankpower-front-form textarea,
	.member-center-page .rankpower-front-form select {
		font-size: 12px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid #7aa8ff;
	outline-offset: 2px;
}

body {
	margin: 0;
	font-family: "Microsoft YaHei", "PingFang SC", sans-serif;
	background: var(--rp-bg);
	color: var(--rp-text);
	line-height: 1.7;
}

a {
	color: var(--rp-primary);
	text-decoration: none;
}

a:hover {
	color: var(--rp-primary-dark);
}

a,
button,
input,
select,
textarea {
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

.site-shell {
	width: min(calc(100% - 32px), var(--rp-shell));
	margin: 0 auto;
}

.rp-global-breadcrumb-wrap {
	padding: 10px 0 0;
}

.rp-global-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	overflow-x: auto;
	scrollbar-width: none;
}

.rp-global-breadcrumb::-webkit-scrollbar {
	display: none;
}

.rp-global-breadcrumb a,
.rp-global-breadcrumb span {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	font-size: 12px;
	line-height: 1.5;
	color: #6f7f97;
}

.rp-global-breadcrumb a::after {
	content: "/";
	margin-left: 8px;
	color: #b2bfd4;
}

.rp-global-breadcrumb span[aria-current="page"] {
	color: #183153;
	font-weight: 700;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, 0.98);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid #e5eaf0;
}

.site-header__inner,
.site-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
}

.site-header__top {
	background: #fff9f3;
	color: var(--rp-text);
	border-bottom: 1px solid #fde2c5;
}

.site-header__top-inner,
.site-header__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.site-header__top-inner {
	padding: 10px 0;
}

.site-header__top-note {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.site-header__top-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.site-header__top-links a {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #e5eaf0;
	color: var(--rp-text);
	font-size: 12px;
	font-weight: 700;
}

.site-header__main {
	padding: 16px 0 14px;
}

.site-header__inner {
	display: grid;
	gap: 12px;
}

.site-branding__title {
	margin: 0;
	font-size: 30px;
	font-weight: 800;
}

.site-branding__title a {
	display: inline-flex;
	align-items: center;
	gap: 0;
}

.rankpower-search-form__button::before,
.site-footer__brand strong::before,
.footer-note::before {
	font-family: dashicons;
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
	speak: never;
}

.site-branding__meta {
	margin: 4px 0 0;
	color: var(--rp-muted);
	font-size: 14px;
}

.site-branding__title--logo {
	margin: 0;
	line-height: 1;
}

.site-branding__title--logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.site-branding__title--logo .custom-logo {
	display: block;
	width: auto;
	max-width: 320px;
	max-height: 64px;
}

.site-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__search {
	flex: 1;
	max-width: 420px;
}

.site-header__member a {
	display: inline-flex;
	align-items: center;
	padding: 10px 16px;
	border-radius: 999px;
	background: #2157f2;
	color: #fff;
	box-shadow: none;
	font-weight: 700;
}

.rankpower-search-form {
	display: flex;
	gap: 10px;
}

.rankpower-search-form__input,
.rankpower-front-form input[type="text"],
.rankpower-front-form input[type="email"],
.rankpower-front-form input[type="password"],
.rankpower-front-form input[type="url"],
.rankpower-front-form input[type="number"],
.rankpower-front-form input[type="search"],
.rankpower-front-form input[type="file"],
.rankpower-front-form select,
.rankpower-front-form textarea,
.login form input[type="text"],
.login form input[type="password"],
.login form input[type="email"],
.rank-filter-form input[type="search"],
.rank-filter-form select {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--rp-line);
	border-radius: 12px;
	background: #fff;
	font: inherit;
	box-shadow: 0 1px 2px rgba(15, 32, 67, 0.02);
}

.rankpower-search-form__input:focus,
.rankpower-front-form input[type="text"]:focus,
.rankpower-front-form input[type="email"]:focus,
.rankpower-front-form input[type="password"]:focus,
.rankpower-front-form input[type="url"]:focus,
.rankpower-front-form input[type="number"]:focus,
.rankpower-front-form input[type="search"]:focus,
.rankpower-front-form input[type="file"]:focus,
.rankpower-front-form select:focus,
.rankpower-front-form textarea:focus,
.login form input[type="text"]:focus,
.login form input[type="password"]:focus,
.login form input[type="email"]:focus,
.rank-filter-form input[type="search"]:focus,
.rank-filter-form select:focus {
	outline: none;
	border-color: rgba(33, 87, 242, 0.55);
	box-shadow: 0 0 0 4px rgba(33, 87, 242, 0.12);
}

.rankpower-front-form input[type="file"] {
	padding: 10px 12px;
	background: linear-gradient(180deg, #fff, #f8fbff);
}

.rankpower-front-form input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 12px;
	border: 1px solid rgba(33, 87, 242, 0.16);
	border-radius: 10px;
	background: #eef4ff;
	color: var(--rp-primary);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.rankpower-search-form__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 18px;
	border: none;
	border-radius: 12px;
	background: var(--rp-primary);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.rankpower-search-form__button::before {
	content: "\f179";
}

.site-nav a {
	display: inline-flex;
	align-items: center;
	padding: 12px 18px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d9e2f1;
	color: var(--rp-text);
	font-weight: 600;
}

.site-nav a:hover,
.site-nav .current-menu-item > a {
	background: #2157f2;
	border-color: #2157f2;
	color: #fff;
	box-shadow: none;
}

.hero {
	padding: 72px 0 40px;
}

.home-portal {
	display: grid;
	gap: 0;
}

.portal-topbar {
	padding: 14px 0 0;
}

.portal-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 14px 18px;
	border-radius: 18px;
	background: linear-gradient(90deg, #fff7f1, #ffffff);
	border: 1px solid rgba(255, 143, 31, 0.16);
	box-shadow: 0 10px 28px rgba(17, 38, 84, 0.06);
}

.portal-topbar__headline,
.portal-topbar__ticker,
.portal-topbar__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.portal-topbar__headline strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 12px;
	border-radius: 999px;
	background: linear-gradient(135deg, #ff8f1f, #ff6b1f);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
}

.portal-topbar__ticker a,
.portal-topbar__ticker span {
	color: var(--rp-text);
	font-size: 14px;
	font-weight: 600;
}

.portal-topbar__links a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(217, 226, 241, 0.9);
	font-size: 13px;
	font-weight: 700;
}

.hero__grid,
.card-grid,
.news-grid,
.stats-grid,
.page-grid,
.brand-hero,
.about-grid {
	display: grid;
	gap: 24px;
}

.about-auth-actions {
	display: grid;
	gap: 12px;
	margin-top: 18px;
}

.about-login-card {
	padding: 18px;
}

.about-login-card__profile {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
}

.about-login-card__avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #ddd;
	overflow: hidden;
}

.about-login-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-login-card__avatar-placeholder {
	display: block;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(180deg, #dadada, #c7c7c7);
	position: relative;
}

.about-login-card__avatar-placeholder::before {
	content: "";
	position: absolute;
	top: -12px;
	left: 7px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #d5d5d5;
}

.about-login-card__text {
	display: grid;
	gap: 6px;
}

.about-login-card__text strong {
	font-size: 20px;
	line-height: 1.2;
	color: #1a2942;
}

.about-login-card__text span {
	color: #8c8c8c;
	font-size: 13px;
}

.about-login-card__primary,
.about-login-card__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 0 20px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
}

.about-login-card__primary {
	background: #ef0000;
	color: #fff;
}

.about-login-card__primary:hover {
	background: #d70000;
	color: #fff;
}

.about-login-card__secondary {
	background: #fff;
	color: var(--rp-text);
	border: 1px solid #dedede;
}

.hero__grid {
	grid-template-columns: 1.3fr 0.7fr;
	align-items: stretch;
}

.portal-hero {
	padding-bottom: 28px;
}

.portal-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr) minmax(280px, 0.8fr);
	gap: 24px;
	align-items: stretch;
}

.portal-hero__main {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
}

.portal-search {
	margin-top: 24px;
}

.portal-search .rankpower-search-form__input {
	background: rgba(255, 255, 255, 0.96);
}

.portal-keywords {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
	align-items: center;
}

.portal-keywords__label {
	font-size: 14px;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.85);
}

.portal-keywords a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #fff;
	font-size: 14px;
}

.portal-keywords a:hover,
.member-portal__button:hover {
	background: rgba(255, 255, 255, 0.24);
	color: #fff;
}

.portal-panel,
.side-block,
.news-feature,
.member-portal {
	display: grid;
	gap: 18px;
}

.portal-panel__header h2,
.section-head--compact h2,
.member-portal h2 {
	margin: 10px 0 0;
	font-size: 28px;
	line-height: 1.2;
}

.portal-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.portal-kpi {
	padding: 18px 16px;
	border-radius: 16px;
	background: var(--rp-surface-soft);
}

.portal-kpi strong {
	display: block;
	font-size: 28px;
	line-height: 1;
}

.portal-kpi span {
	display: block;
	margin-top: 8px;
	color: var(--rp-muted);
	font-size: 13px;
	font-weight: 700;
}

.portal-shortcuts {
	display: grid;
	gap: 12px;
}

.portal-shortcut {
	display: grid;
	gap: 4px;
	padding: 16px 18px;
	border-radius: 16px;
	border: 1px solid rgba(217, 226, 241, 0.85);
	background: linear-gradient(135deg, #fff, #f8fbff);
}

.portal-shortcut strong {
	font-size: 16px;
	color: var(--rp-text);
}

.portal-shortcut span {
	color: var(--rp-muted);
	font-size: 14px;
}

.portal-shortcut:hover {
	transform: translateY(-2px);
	box-shadow: var(--rp-shadow);
}

.portal-entry-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
}

.portal-entry-card {
	display: grid;
	gap: 10px;
	padding: 22px 18px;
	color: var(--rp-text);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.portal-entry-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px rgba(17, 38, 84, 0.1);
}

.portal-entry-card__meta {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(33, 87, 242, 0.08);
	color: var(--rp-primary);
	font-size: 12px;
	font-weight: 800;
}

.portal-entry-card strong {
	font-size: 20px;
	line-height: 1.3;
}

.portal-entry-card p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 14px;
	line-height: 1.7;
}

.portal-panel--list {
	align-content: start;
}

.portal-mini-list,
.portal-rank-list,
.rank-showcase__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.portal-mini-list li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border-radius: 14px;
	background: var(--rp-surface-soft);
}

.portal-mini-list li a {
	display: block;
	color: var(--rp-text);
	font-weight: 700;
	line-height: 1.5;
}

.portal-mini-list li span,
.portal-mini-list li em,
.rank-showcase__list small,
.category-wall__head p,
.news-feature .article-meta span,
.member-portal p {
	color: var(--rp-muted);
	font-size: 13px;
	font-style: normal;
}

.home-link-more {
	font-weight: 700;
}

.section--tight {
	padding-top: 12px;
}

.section--compact {
	padding: 12px 0 24px;
}

.section--soft {
	background: linear-gradient(180deg, rgba(239, 244, 255, 0.4), rgba(245, 247, 251, 0));
}

.portal-quick-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(280px, 0.85fr);
	gap: 24px;
}

.portal-headline,
.portal-channel,
.portal-focus {
	display: grid;
	gap: 18px;
}

.headline-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 12px;
}

.headline-list li {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding-bottom: 12px;
	border-bottom: 1px dashed var(--rp-line);
}

.headline-list li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.headline-list__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #ff8f1f, #ff6c1f);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.headline-list li a {
	color: var(--rp-text);
	font-weight: 700;
	line-height: 1.55;
}

.channel-tags,
.rank-fast-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.channel-tags a,
.rank-fast-links a {
	display: grid;
	gap: 4px;
	padding: 16px;
	border-radius: 16px;
	border: 1px solid rgba(217, 226, 241, 0.9);
	background: linear-gradient(135deg, #fff, #f8fbff);
}

.channel-tags a strong,
.rank-fast-links a strong,
.portal-focus__actions a {
	color: var(--rp-text);
	font-size: 15px;
	font-weight: 700;
}

.channel-tags a span,
.rank-fast-links a span {
	color: var(--rp-muted);
	font-size: 13px;
}

.portal-focus {
	background: linear-gradient(180deg, #ffffff, #fff6f3);
}

.portal-focus__brand {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.portal-focus__brand h3 {
	margin: 0 0 10px;
	font-size: 22px;
	line-height: 1.35;
}

.portal-focus__actions {
	display: grid;
	gap: 10px;
}

.portal-focus__actions a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid rgba(217, 226, 241, 0.9);
}

.portal-focus__actions a::after {
	content: "→";
	color: var(--rp-primary);
	font-weight: 800;
}

.category-wall {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.category-wall__card,
.brand-tile,
.rank-showcase__card {
	display: grid;
	gap: 16px;
}

.category-wall__head,
.rank-showcase__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.category-wall__head h3,
.rank-showcase__head h3 {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
}

.category-wall__more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--rp-surface-soft);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.category-wall__links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.category-wall__links a {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: #f8fbff;
	border: 1px solid rgba(217, 226, 241, 0.85);
	color: var(--rp-text);
	font-size: 14px;
}

.home-dual,
.news-portal {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	gap: 24px;
	align-items: start;
}

.home-dual__main,
.home-dual__side,
.news-portal__main,
.news-portal__side {
	min-width: 0;
}

.brand-showcase {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.brand-tile h3 {
	margin: 0;
	font-size: 21px;
	line-height: 1.35;
}

.section-head--compact {
	margin-bottom: 0;
}

.portal-rank-list li {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px dashed var(--rp-line);
}

.portal-rank-list li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.portal-rank-list__no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--rp-primary);
	color: #fff;
	font-size: 16px;
	font-weight: 800;
}

.portal-rank-list__body {
	display: grid;
	gap: 4px;
}

.portal-rank-list__body a,
.rank-showcase__brand a {
	color: var(--rp-text);
	font-weight: 700;
}

.portal-rank-list__body small {
	color: var(--rp-muted);
	font-size: 13px;
}

.rank-showcase {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.rank-fast-links a {
	position: relative;
	overflow: hidden;
}

.rank-fast-links a::before {
	content: "";
	position: absolute;
	inset: auto -24px -24px auto;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: rgba(33, 87, 242, 0.08);
}

.rank-showcase__list li {
	display: grid;
	gap: 10px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #f8fbff;
	border: 1px solid rgba(217, 226, 241, 0.85);
}

.rank-showcase__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.news-feature h3 {
	margin: 0;
	font-size: 28px;
	line-height: 1.35;
}

.portal-mini-list--news li {
	padding: 0 0 14px;
	border-bottom: 1px dashed var(--rp-line);
	border-radius: 0;
	background: transparent;
}

.portal-mini-list--news li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.pk-mini-grid {
	display: grid;
	gap: 12px;
}

.pk-mini-card {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 14px;
	background: linear-gradient(135deg, #f4f7ff, #ffffff);
	border: 1px solid rgba(217, 226, 241, 0.85);
}

.pk-mini-card strong {
	color: var(--rp-text);
	font-size: 15px;
	line-height: 1.5;
}

.pk-mini-card span {
	color: var(--rp-muted);
	font-size: 13px;
}

.member-portal {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	padding: 32px 34px;
	background: linear-gradient(135deg, #163fb7, #2e67f7 65%, #63a3ff);
	color: #fff;
}

.member-portal p {
	color: rgba(255, 255, 255, 0.8);
}

.hero__content,
.surface-card,
.stat-card,
.list-card,
.article-card,
.about-card {
	background: var(--rp-surface);
	border: 1px solid rgba(217, 226, 241, 0.8);
	border-radius: var(--rp-radius);
	box-shadow: var(--rp-shadow);
}

.hero__content {
	padding: 42px;
	background: linear-gradient(135deg, #1f4ae1, #397dff 72%, #66c0ff);
	color: #fff;
}

.hero__eyebrow,
.section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.hero__eyebrow {
	background: rgba(255, 255, 255, 0.18);
}

.section-eyebrow {
	background: rgba(33, 87, 242, 0.12);
	color: var(--rp-primary);
}

.hero h1,
.page-hero h1 {
	margin: 18px 0 12px;
	font-size: clamp(32px, 5vw, 50px);
	line-height: 1.15;
}

.hero p,
.page-hero p,
.section-lead {
	margin: 0;
	font-size: 17px;
	color: inherit;
}

.hero__actions,
.meta-pills,
.badge-list,
.cta-row,
.taxonomy-children,
.checkbox-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.checkbox-grid label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: var(--rp-surface-soft);
	border-radius: 12px;
}

.button-primary,
.button-secondary,
.vote-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 13px 20px;
	border-radius: 16px;
	font-weight: 700;
	border: none;
	cursor: pointer;
}

.button-primary,
.vote-button {
	background: var(--rp-primary);
	color: #fff;
}

.vote-button {
	padding: 7px 14px 7px 18px;
	min-height: 48px;
	background: linear-gradient(135deg, #0f5fea 0%, #2f7cff 100%);
	box-shadow: 0 16px 30px rgba(15, 95, 234, 0.28);
}

.vote-button::before {
	content: "❤";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: rgba(255,255,255,0.18);
	color: #fff;
	font-size: 14px;
	line-height: 1;
}

.vote-button .js-rankpower-vote-count,
.vote-button .vote-count,
.vote-button strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	background: #fff;
	color: var(--rp-primary);
	font-size: 13px;
	font-weight: 800;
}

.button-primary:hover,
.vote-button:hover {
	background: var(--rp-primary-dark);
	color: #fff;
}

.vote-button:hover {
	background: linear-gradient(135deg, #145ee1 0%, #458dff 100%);
	box-shadow: 0 18px 34px rgba(15, 95, 234, 0.34);
	transform: translateY(-1px);
}

.vote-button:disabled,
.vote-button.is-disabled {
	background: linear-gradient(135deg, #85a8ef 0%, #a9c1f7 100%);
	box-shadow: none;
	cursor: default;
}

.button-secondary {
	background: rgba(255, 255, 255, 0.18);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.25);
}

.section-block,
.page-hero,
.content-card,
.sidebar-card,
.brand-card,
.term-card,
.article-card,
.about-card {
	padding: 28px;
}

.stats-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 18px;
}

.stat-card strong {
	display: block;
	font-size: 34px;
	line-height: 1;
	margin-bottom: 12px;
}

.stat-card span {
	color: var(--rp-muted);
	font-weight: 600;
}

.section {
	padding: 28px 0 52px;
}

.section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.section-head h2 {
	margin: 10px 0 0;
	font-size: 30px;
	line-height: 1.2;
}

.card-grid {
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.form-grid--filters {
	grid-template-columns: repeat(2, minmax(220px, 320px));
	align-items: end;
}

.member-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 20px;
}

.member-tabs--wide {
	margin: 28px 0 0;
}

.member-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
	color: var(--rp-text);
	font-weight: 700;
}

.member-tab.is-active,
.member-tab:hover {
	background: var(--rp-primary);
	border-color: var(--rp-primary);
	color: #fff;
}

.member-dashboard {
	display: grid;
	grid-template-columns: 300px minmax(0, 1fr);
	gap: 20px;
	margin-top: 24px;
	align-items: start;
}

.member-sidebar {
	display: grid;
	gap: 18px;
	position: sticky;
	top: 88px;
}

.member-profile-card {
	display: grid;
	gap: 6px;
	padding: 16px;
	border-radius: 16px;
	background: linear-gradient(135deg, #eff4ff, #f8fbff);
	border: 1px solid rgba(33, 87, 242, 0.08);
}

.member-profile-card strong {
	font-size: 20px;
}

.member-profile-level {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 4px 12px;
	border-radius: 999px;
	background: #edf4ff;
	color: #2d62d8;
	font-size: 12px;
	font-weight: 700;
}

.member-profile-card span,
.member-main__hero p {
	color: var(--rp-muted);
}

.member-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.member-stats div {
	padding: 12px;
	border-radius: 14px;
	background: var(--rp-surface-soft);
}

.member-stats span {
	display: block;
	color: var(--rp-muted);
	font-size: 13px;
	font-weight: 700;
}

.member-stats strong {
	display: block;
	margin-top: 6px;
	font-size: 24px;
	line-height: 1;
}

.member-sidebar__links {
	display: grid;
	gap: 8px;
}

.member-side-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-radius: 14px;
	border: 1px solid var(--rp-line);
	background: #fff;
	font-weight: 700;
	color: var(--rp-text);
}

.member-side-link.is-active,
.member-side-link:hover {
	background: var(--rp-primary);
	border-color: var(--rp-primary);
	color: #fff;
}

.member-main {
	display: grid;
	gap: 20px;
	min-width: 0;
}

.member-main__hero h2 {
	margin-bottom: 8px;
}

.rankpower-front-form .login-username,
.rankpower-front-form .login-password,
.rankpower-front-form .login-remember,
.rankpower-front-form .login-submit {
	margin: 0 0 16px;
}

.rankpower-front-form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.rankpower-front-form p,
.rank-filter-form p {
	margin: 0 0 16px;
}

.rankpower-front-form label,
.rank-filter-form label {
	display: block;
	margin-bottom: 8px;
	font-weight: 700;
}

.news-grid {
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.brand-card__logo,
.brand-hero__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	min-height: 120px;
	max-height: 136px;
	border-radius: 16px;
	background: var(--rp-surface-soft);
	overflow: hidden;
}

.brand-card__logo img,
.brand-hero__logo img {
	max-width: 100%;
	max-height: 76px;
	width: auto;
	object-fit: contain;
}

.brand-card h3,
.article-card h3,
.term-card h3,
.content-card h2 {
	margin: 18px 0 10px;
	font-size: 22px;
	line-height: 1.3;
}

.card-meta,
.term-meta,
.article-meta,
.mini-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	color: var(--rp-muted);
	font-size: 14px;
	font-weight: 600;
}

.brand-rating-summary,
.pk-metric-row,
.rankpower-comment-card__head {
	display: flex;
	align-items: center;
	gap: 18px;
}

.brand-rating-summary {
	margin-bottom: 22px;
	padding: 18px 20px;
	border-radius: 16px;
	background: var(--rp-surface-soft);
}

.brand-rating-summary__score,
.pk-brand-score {
	font-size: 40px;
	font-weight: 800;
	line-height: 1;
	color: var(--rp-primary);
}

.brand-rating-summary__label,
.brand-rating-summary__meta,
.pk-brand-score__label {
	margin: 0;
}

.brand-rating-summary__meta,
.pk-brand-score__label,
.pk-versus p,
.pk-metric-row__brand span,
.pk-metric-row__center small,
.rankpower-comment-card__head span,
.rankpower-comment-card__rating,
.comment-notes {
	color: var(--rp-muted);
}

.pk-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr);
	gap: 24px;
	align-items: stretch;
}

.pk-brand-card,
.pk-versus,
.rankpower-comment-card {
	padding: 28px;
	border-radius: var(--rp-radius);
}

.pk-brand-card {
	text-align: center;
}

.pk-brand-card--winner {
	border: 2px solid rgba(33, 87, 242, 0.28);
	box-shadow: 0 20px 50px rgba(33, 87, 242, 0.14);
}

.pk-versus {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: var(--rp-surface);
	border: 1px solid rgba(217, 226, 241, 0.8);
	box-shadow: var(--rp-shadow);
}

.pk-versus strong {
	font-size: 44px;
	line-height: 1;
}

.pk-metric-list {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}

.pk-metric-row {
	justify-content: space-between;
	padding: 18px 20px;
	border: 1px solid rgba(217, 226, 241, 0.9);
	border-radius: 16px;
	background: #fff;
}

.pk-metric-row__brand {
	display: grid;
	gap: 4px;
	width: 32%;
}

.pk-metric-row__brand:last-child {
	text-align: right;
}

.pk-metric-row__brand.is-winner strong {
	color: var(--rp-primary);
}

.pk-metric-row__center {
	display: grid;
	gap: 4px;
	width: 22%;
	text-align: center;
}

.rankpower-comments {
	margin-top: 24px;
	display: grid;
	gap: 20px;
}

.rankpower-review-hub,
.rankpower-review-stream,
.rankpower-review-form {
	padding: 22px;
	border: 1px solid rgba(217, 226, 241, 0.9);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.04);
}

.rankpower-review-hub {
	display: grid;
	grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
	gap: 22px;
	align-items: center;
}

.rankpower-review-summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	padding: 20px;
	border-radius: 18px;
	background: linear-gradient(135deg, #f6f9ff 0%, #edf4ff 100%);
}

.rankpower-review-summary__score strong {
	display: block;
	font-size: 48px;
	line-height: 1;
	color: var(--rp-primary);
}

.rankpower-review-summary__score span {
	display: block;
	margin-top: 8px;
	color: var(--rp-muted);
	font-size: 14px;
	font-weight: 700;
}

.rankpower-review-summary__body h3,
.rankpower-review-stream__head h3 {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: var(--rp-title);
}

.rankpower-review-summary__stars {
	margin-top: 10px;
}

.rankpower-review-summary__meta,
.rankpower-review-stream__head p {
	margin: 10px 0 0;
	color: var(--rp-muted);
	font-size: 14px;
	line-height: 1.8;
}

.rankpower-review-summary__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.rankpower-review-summary__tags span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 12px;
	border-radius: 999px;
	background: rgba(15, 95, 234, 0.08);
	color: var(--rp-primary);
	font-size: 12px;
	font-weight: 700;
}

.rankpower-rating-breakdown {
	display: grid;
	gap: 12px;
}

.rankpower-review-briefs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.rankpower-review-brief {
	display: grid;
	gap: 6px;
	padding: 14px 16px;
	border: 1px solid rgba(217, 226, 241, 0.9);
	border-radius: 16px;
	background: #fff;
}

.rankpower-review-brief strong {
	font-size: 22px;
	line-height: 1;
	color: var(--rp-title);
}

.rankpower-review-brief span {
	font-size: 12px;
	color: var(--rp-muted);
	font-weight: 700;
}

.rankpower-rating-breakdown__row {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr) 56px;
	gap: 12px;
	align-items: center;
}

.rankpower-rating-breakdown__label,
.rankpower-rating-breakdown__value {
	color: var(--rp-text);
	font-size: 13px;
	font-weight: 700;
}

.rankpower-rating-breakdown__bar {
	position: relative;
	height: 10px;
	border-radius: 999px;
	background: #edf2fb;
	overflow: hidden;
}

.rankpower-rating-breakdown__bar span {
	position: absolute;
	inset: 0 auto 0 0;
	border-radius: inherit;
	background: linear-gradient(90deg, #ffcf5a 0%, #0f5fea 100%);
}

.rankpower-review-stream__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.rankpower-review-filters {
	display: grid;
	gap: 12px;
}

.rankpower-review-filter-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.rankpower-review-filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	border: 1px solid rgba(217, 226, 241, 0.95);
	border-radius: 999px;
	background: #f8fbff;
	color: #3b5278;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .18s ease;
}

.rankpower-comment-list {
	display: grid;
	gap: 16px;
	margin-bottom: 24px;
}

.rankpower-comment-card {
	background: #fff;
	border: 1px solid rgba(217, 226, 241, 0.9);
	border-radius: 18px;
	padding: 18px;
}

.rankpower-comment-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 8px;
}

.rankpower-comment-card__author {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.rankpower-comment-card__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: linear-gradient(135deg, #edf4ff 0%, #dce9ff 100%);
	color: var(--rp-primary);
	font-size: 16px;
	font-weight: 800;
	flex: 0 0 42px;
}

.rankpower-comment-card__author-meta {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.rankpower-comment-card__author-meta strong {
	display: block;
	font-size: 15px;
	line-height: 1.3;
	color: var(--rp-title);
}

.rankpower-comment-card__author-meta span {
	font-size: 12px;
	color: var(--rp-muted);
}

.rankpower-comment-card__rating {
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-weight: 700;
}

.comment-form-rating {
	margin-bottom: 16px;
}

.rankpower-stars {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 18px;
	line-height: 1;
	color: #cfd9e8;
}

.rankpower-stars__item.is-active {
	color: #ffb21a;
}

.rankpower-comment-card__rating-text {
	font-size: 13px;
	color: var(--rp-muted);
}

.rankpower-comment-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}

.rankpower-comment-card__badge.is-rating-5,
.rankpower-comment-card__badge.is-rating-4 {
	background: rgba(15, 95, 234, 0.08);
	color: var(--rp-primary);
}

.rankpower-comment-card__badge.is-rating-3 {
	background: rgba(255, 178, 26, 0.14);
	color: #b27400;
}

.rankpower-comment-card__badge.is-rating-2,
.rankpower-comment-card__badge.is-rating-1 {
	background: rgba(234, 103, 64, 0.12);
	color: #c2522d;
}

.rankpower-comment-card__content {
	color: var(--rp-text);
	font-size: 14px;
	line-height: 1.9;
}

.rankpower-review-empty {
	display: none;
	margin-top: -6px;
	padding: 18px;
	border: 1px dashed rgba(15, 95, 234, 0.2);
	border-radius: 16px;
	background: #f8fbff;
	color: var(--rp-muted);
	text-align: center;
}

.rankpower-review-empty.is-visible {
	display: block;
}

.comment-form-rating label,
.comment-form-comment label {
	display: block;
	margin-bottom: 8px;
	font-weight: 700;
}

.rankpower-rating-help {
	display: block;
	margin-bottom: 10px;
	color: var(--rp-muted);
	font-size: 13px;
}

.rankpower-rating-input {
	display: grid;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--rp-line);
	border-radius: 16px;
	background: var(--rp-surface-soft);
}

.rankpower-rating-stars {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
}

.rankpower-rating-star {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(217, 226, 241, 0.9);
	border-radius: 12px;
	background: #fff;
	color: #cfd9e8;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.rankpower-rating-star:hover,
.rankpower-rating-star.is-active {
	color: #ffb21a;
	border-color: rgba(255, 178, 26, 0.4);
	box-shadow: 0 10px 20px rgba(255, 178, 26, 0.16);
	transform: translateY(-1px);
}

.rankpower-rating-slider-wrap {
	display: grid;
	gap: 8px;
}

.rankpower-rating-slider {
	width: 100%;
	margin: 0;
	appearance: none;
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(90deg, #ffd36a 0%, #0f5fea 100%);
	outline: none;
}

.rankpower-rating-slider::-webkit-slider-thumb {
	appearance: none;
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #0f5fea;
	box-shadow: 0 6px 14px rgba(15, 95, 234, 0.26);
	cursor: pointer;
}

.rankpower-rating-slider::-moz-range-thumb {
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: #0f5fea;
	box-shadow: 0 6px 14px rgba(15, 95, 234, 0.26);
	cursor: pointer;
}

.rankpower-rating-scale {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	color: var(--rp-muted);
	font-size: 12px;
}

.rankpower-rating-value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 88px;
	height: 40px;
	padding: 0 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--rp-primary);
	font-size: 14px;
	font-weight: 800;
}

.rankpower-review-filter:hover,
.rankpower-review-filter.is-active {
	border-color: rgba(15, 95, 234, 0.24);
	background: rgba(15, 95, 234, 0.08);
	color: var(--rp-primary);
}

@media (max-width: 900px) {
	.rankpower-review-hub {
		grid-template-columns: 1fr;
	}

	.rankpower-review-summary {
		grid-template-columns: 1fr;
	}

	.rankpower-review-briefs {
		grid-template-columns: 1fr;
	}

	.rankpower-review-stream__head {
		flex-direction: column;
	}
}

@media (max-width: 640px) {
	.rankpower-review-hub,
	.rankpower-review-stream,
	.rankpower-review-form {
		padding: 16px;
		border-radius: 16px;
	}

	.rankpower-review-summary__score strong {
		font-size: 40px;
	}

	.rankpower-review-summary__body h3,
	.rankpower-review-stream__head h3 {
		font-size: 20px;
	}

	.rankpower-rating-breakdown__row {
		grid-template-columns: 38px minmax(0, 1fr) 44px;
		gap: 10px;
	}

	.rankpower-review-filter-group {
		gap: 8px;
	}

	.rankpower-review-filter {
		min-height: 34px;
		padding: 0 12px;
		font-size: 12px;
	}

	.rankpower-comment-card {
		padding: 14px;
	}

	.rankpower-comment-card__head {
		flex-direction: column;
	}

	.rankpower-comment-card__author {
		width: 100%;
	}

	.rankpower-comment-card__rating {
		flex-wrap: wrap;
	}
}

.comment-form-rating select,
.comment-form-comment textarea,
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--rp-line);
	border-radius: 12px;
	font: inherit;
}

.card-summary,
.article-summary,
.content-muted {
	color: var(--rp-muted);
}

.meta-pills span,
.badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 999px;
	background: var(--rp-surface-soft);
	color: var(--rp-primary);
	font-size: 13px;
	font-weight: 700;
}

.badge--ranking {
	gap: 10px;
	align-items: center;
	padding-left: 10px;
}

.badge--gold {
	background: rgba(255, 143, 31, 0.12);
	color: #b45d00;
}

.badge--success {
	background: rgba(29, 157, 90, 0.12);
	color: var(--rp-success);
}

.badge--official {
	background: rgba(29, 157, 90, 0.12);
	color: #12804b;
}

.badge--featured,
.badge--news-featured {
	background: rgba(19, 94, 235, 0.12);
	color: var(--rp-primary);
}

.badge--sponsored {
	background: rgba(255, 143, 31, 0.14);
	color: #b45d00;
}

.rp-badge-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.rp-badge-list .badge {
	padding: 6px 10px;
	font-size: 12px;
}

.page-wrap {
	padding: 40px 0 60px;
}

.page-grid {
	grid-template-columns: minmax(0, 1fr) 320px;
	align-items: start;
}

.brand-hero {
	grid-template-columns: 260px minmax(0, 1fr);
	padding: 34px;
}

.content-card + .content-card,
.sidebar-card + .sidebar-card {
	margin-top: 24px;
}

.meta-list {
	display: grid;
	gap: 14px;
	margin: 0;
}

.meta-list div {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 12px;
}

.meta-list dt {
	color: var(--rp-muted);
	font-weight: 700;
}

.meta-list dd {
	margin: 0;
	word-break: break-word;
}

.rank-list,
.compact-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 14px;
}

.rank-list li,
.compact-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 18px;
	border-radius: 14px;
	background: var(--rp-surface-soft);
}

.rank-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--rp-primary);
	color: #fff;
	font-weight: 800;
}

.article-card__thumb {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 18px;
}

.article-card__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	max-height: 220px;
	object-fit: cover;
}

.page-hero {
	background: linear-gradient(135deg, #ffffff, #edf3ff);
}

.taxonomy-children a {
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--rp-surface);
	border: 1px solid var(--rp-line);
}

.taxonomy-children--grid a {
	min-width: 120px;
	text-align: center;
}

.rank-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 14px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	color: #fff;
}

.rank-badge--gold {
	background: linear-gradient(135deg, #ffbb36, #ff8f1f);
}

.rank-badge--silver {
	background: linear-gradient(135deg, #9aa7bd, #73839b);
}

.rank-badge--bronze {
	background: linear-gradient(135deg, #c68042, #9a5b24);
}

.rank-badge--plain {
	background: linear-gradient(135deg, #275ff3, #123aaf);
}

.rank-tree,
.rank-tree ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rank-tree {
	display: grid;
	gap: 18px;
}

.rank-tree__item > .rank-tree {
	margin-top: 16px;
	padding-left: 28px;
	border-left: 2px solid rgba(33, 87, 242, 0.12);
}

.rank-tree__card h3 {
	margin: 0 0 8px;
	font-size: 22px;
}

.front-notice {
	margin: 20px 0;
	padding: 16px 18px;
	border-radius: 14px;
	font-weight: 700;
}

.front-notice--success {
	background: rgba(29, 157, 90, 0.12);
	color: var(--rp-success);
	border: 1px solid rgba(29, 157, 90, 0.2);
}

.front-notice--error {
	background: rgba(195, 49, 72, 0.1);
	color: #b22f41;
	border: 1px solid rgba(195, 49, 72, 0.18);
}

.site-footer {
	margin-top: 36px;
	background: #0c1630;
	color: rgba(255, 255, 255, 0.82);
}

.site-footer a {
	color: #fff;
}

.site-footer__inner {
	padding: 28px 0;
}

.footer-note {
	color: rgba(255, 255, 255, 0.58);
	font-size: 14px;
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.rankpower-logo-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 14px;
	width: 100%;
	min-height: 72px;
	border-radius: 12px;
	background: linear-gradient(135deg, #dfe8ff, #eff4ff);
	color: var(--rp-primary);
	font-weight: 800;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.empty-state {
	padding: 28px;
	text-align: center;
	color: var(--rp-muted);
	background: var(--rp-surface);
	border-radius: var(--rp-radius);
	border: 1px dashed var(--rp-line);
}

.search-hero {
	display: grid;
	gap: 18px;
}

.search-hero__form {
	max-width: 760px;
}

.search-scope-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.search-scope-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	border-radius: 999px;
	border: 1px solid var(--rp-line);
	background: #fff;
	color: var(--rp-text);
	font-weight: 700;
}

.search-scope-tab.is-active {
	background: var(--rp-primary);
	border-color: var(--rp-primary);
	color: #fff;
	box-shadow: 0 12px 24px rgba(15, 95, 234, 0.18);
}

.search-summary {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.search-summary span,
.search-hot-keywords__list a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 14px;
	border-radius: 999px;
	background: rgba(15, 95, 234, 0.08);
	color: var(--rp-text);
	font-size: 13px;
	font-weight: 600;
}

.search-hot-keywords {
	display: grid;
	gap: 10px;
}

.search-hot-keywords strong {
	color: var(--rp-text);
	font-size: 14px;
}

.search-hot-keywords__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.search-empty-hub {
	display: grid;
	gap: 14px;
	padding: 28px;
}

.search-empty-hub h2,
.search-recommend-card h3 {
	margin: 0;
	color: var(--rp-text);
}

.search-empty-hub p {
	margin: 0;
	color: var(--rp-muted);
	line-height: 1.8;
}

.search-recommend-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.search-recommend-card {
	padding: 22px;
}

.search-mini-list {
	display: grid;
	gap: 12px;
	margin-top: 16px;
}

.search-mini-list__item {
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(217, 226, 241, 0.75);
}

.search-mini-list__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.search-mini-list__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 14px;
	background: rgba(15, 95, 234, 0.08);
	color: var(--rp-primary);
	font-size: 13px;
	font-weight: 800;
}

.search-mini-list__text {
	color: var(--rp-text);
	font-weight: 700;
	line-height: 1.6;
}

@media (max-width: 980px) {
	.search-recommend-grid {
		grid-template-columns: 1fr;
	}
}

.wire-home__desktop {
	display: block;
}

.wire-home__mobile {
	display: none;
}

.wire-home__section {
	padding: 10px 0 14px;
}

.wire-card {
	background: #fff;
	border: 1px solid #cfd6df;
	border-style: dashed;
	border-radius: 18px;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
	background-image: linear-gradient(135deg, rgba(43, 108, 246, 0.03), rgba(255, 141, 38, 0.03));
}

.wire-card--panel {
	padding: 18px;
	background-image: none;
	border-style: solid;
}

.wire-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eaf1ff;
	color: #2b6cf6;
	font-size: 12px;
	font-weight: 700;
}

.wire-badge--white {
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
}

.wire-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.wire-section-head h2 {
	margin: 8px 0 0;
	font-size: 25px;
	line-height: 1.2;
}

.wire-link-more {
	color: var(--rp-primary);
	font-size: 14px;
	font-weight: 700;
}

.wire-hero-grid {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) 320px;
	gap: 16px;
}

.wire-side-nav,
.wire-hero-side,
.wire-entry-grid,
.wire-brand-grid,
.wire-news-grid,
.wire-pk-grid {
	display: grid;
	gap: 16px;
}

.wire-side-nav a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 12px;
	border-radius: 12px;
	color: var(--rp-text);
	background: #f8fafc;
	border: 1px solid #e5eaf0;
}

.wire-side-nav a em {
	font-style: normal;
	color: var(--rp-muted);
	font-size: 12px;
}

.wire-hero-main {
	display: grid;
	gap: 12px;
	padding: 20px;
	border-radius: 18px;
	background: linear-gradient(135deg, #225af0, #5e8eff);
	color: #fff;
	box-shadow: 0 14px 30px rgba(33, 87, 242, 0.16);
}

.wire-hero-main h1,
.wire-hero-main p,
.wire-info-card h3 {
	margin: 0;
}

.wire-hero-main h1 {
	font-size: clamp(31px, 3.8vw, 40px);
	line-height: 1.16;
}

.wire-hero-main p {
	font-size: 15px;
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.9);
}

.wire-hero-search .rankpower-search-form__input {
	background: rgba(255, 255, 255, 0.98);
}

.wire-hero-actions,
.wire-hero-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wire-hero-actions a,
.wire-hero-tags a {
	display: inline-flex;
	align-items: center;
	padding: 9px 14px;
	border-radius: 999px;
	font-weight: 700;
}

.wire-hero-actions a:first-child {
	background: #fff;
	color: var(--rp-primary);
}

.wire-hero-actions a:last-child,
.wire-hero-tags a {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.22);
	color: #fff;
}

.wire-kpi-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-top: 10px;
}

.wire-kpi {
	padding: 12px 10px;
	border-radius: 14px;
	background: #f6f9ff;
	text-align: center;
}

.wire-kpi strong {
	display: block;
	font-size: 22px;
	color: var(--rp-primary);
	line-height: 1;
}

.wire-kpi span {
	font-size: 12px;
	color: var(--rp-muted);
}

.wire-member-entry {
	display: grid;
	gap: 12px;
	margin-top: 12px;
}

.wire-member-entry__title {
	margin: 0;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	color: var(--rp-text);
}

.wire-member-entry__desc {
	margin: 0;
	color: var(--rp-muted);
	font-size: 13px;
	line-height: 1.7;
}

.wire-member-entry__actions {
	display: grid;
	gap: 10px;
}

.wire-member-entry__primary,
.wire-member-entry__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
}

.wire-member-entry__primary {
	background: var(--rp-primary);
	color: #fff;
}

.wire-member-entry__primary:hover {
	background: var(--rp-primary-dark);
	color: #fff;
}

.wire-member-entry__secondary {
	background: #fff;
	color: var(--rp-text);
	border: 1px solid var(--rp-line);
}

.wire-mini-list,
.wire-rank-brief {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.wire-mini-list li,
.wire-rank-brief li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #e5eaf0;
}

.wire-mini-list a,
.wire-rank-brief a {
	color: var(--rp-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.wire-mini-list span,
.wire-rank-brief span {
	color: var(--rp-muted);
	font-size: 12px;
}

.wire-entry-grid {
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}

.wire-entry-card {
	display: grid;
	gap: 8px;
	padding: 18px 14px;
	color: var(--rp-text);
	border-style: dashed;
	background-image: linear-gradient(135deg, rgba(43, 108, 246, 0.04), rgba(255, 141, 38, 0.04));
}

.wire-entry-card__no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #eaf1ff;
	color: #2b6cf6;
	font-size: 12px;
	font-weight: 800;
}

.wire-entry-card strong {
	font-size: 17px;
	line-height: 1.3;
}

.wire-entry-card p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 13px;
	line-height: 1.6;
}

.wire-info-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr 0.9fr;
	gap: 14px;
}

.wire-info-card {
	padding: 16px;
}

.wire-info-card h3 {
	font-size: 20px;
	line-height: 1.35;
}

.wire-tag-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
}

.wire-tag-grid a {
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border-radius: 999px;
	background: #f8fbff;
	border: 1px solid #e5eaf0;
	color: var(--rp-text);
	font-size: 14px;
}

.wire-feature-news {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.wire-feature-news__thumb {
	border-radius: 16px;
	overflow: hidden;
}

.wire-feature-news__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.wire-feature-news h4 {
	margin: 0;
	font-size: 20px;
	line-height: 1.4;
}

.wire-feature-news h4 a {
	color: var(--rp-text);
}

.wire-feature-news p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 14px;
	line-height: 1.75;
}

.wire-mini-list--news {
	margin-top: 14px;
}

.wire-brand-grid,
.wire-news-grid,
.wire-pk-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wire-brand-card,
.wire-news-card,
.wire-pk-card {
	padding: 16px;
}

.wire-brand-card,
.wire-news-card,
.wire-pk-card,
.wire-rank-card {
	min-height: 100%;
}

.wire-brand-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 104px;
	padding: 16px;
	border-radius: 16px;
	background: #eef3ff;
}

.wire-brand-card__logo img {
	max-height: 80px;
	width: auto;
}

.wire-brand-card h3,
.wire-news-card h3,
.wire-pk-card h3,
.wire-rank-card h3 {
	margin: 12px 0 8px;
	font-size: 20px;
	line-height: 1.35;
}

.wire-brand-card h3 a,
.wire-news-card h3 a,
.wire-pk-card h3 a,
.wire-rank-card h3 a {
	color: var(--rp-text);
}

.wire-brand-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--rp-muted);
	font-size: 13px;
	font-weight: 700;
}

.wire-brand-card p,
.wire-news-card p,
.wire-rank-card p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 13px;
	line-height: 1.65;
}

.wire-news-card__thumb {
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 12px;
}

.wire-news-card__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.wire-pk-card__brands {
	display: grid;
	grid-template-columns: 1fr 50px 1fr;
	gap: 10px;
	align-items: center;
	margin-top: 10px;
}

.wire-pk-card__brands > div {
	display: grid;
	gap: 8px;
	justify-items: center;
	text-align: center;
}

.wire-pk-card__brands img {
	width: 50px;
	height: 50px;
	object-fit: contain;
}

.wire-pk-card__brands .rankpower-logo-fallback {
	width: 50px;
	min-height: 50px;
	padding: 0;
	font-size: 11px;
}

.wire-pk-card__brands span {
	font-size: 13px;
	font-weight: 700;
	color: var(--rp-text);
}

.wire-pk-card__brands strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #ff8f1f;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
}

.wire-carousel-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.wire-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid #cfd6df;
	background: #fff;
	color: var(--rp-text);
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
}

.wire-arrow:hover {
	background: var(--rp-primary);
	border-color: var(--rp-primary);
	color: #fff;
}

.wire-carousel__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	cursor: grab;
	scrollbar-width: none;
	padding-bottom: 6px;
}

.wire-carousel__viewport::-webkit-scrollbar {
	display: none;
}

.wire-carousel__viewport.is-dragging {
	cursor: grabbing;
}

.wire-carousel__track {
	display: flex;
	gap: 14px;
	width: max-content;
}

.wire-rank-card {
	flex: 0 0 350px;
	width: 350px;
	padding: 16px 14px;
}

.wire-rank-brand-list {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.wire-rank-brand-list li {
	display: grid;
	grid-template-columns: 28px 42px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	padding: 8px 9px;
	border-radius: 12px;
	background: #f8fafc;
	border: 1px solid #e5eaf0;
}

.wire-rank-brand-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #eaf1ff;
	color: #2b6cf6;
	font-size: 12px;
	font-weight: 800;
}

.wire-rank-brand-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: linear-gradient(135deg, #dbe8ff, #edf4ff);
	overflow: hidden;
}

.wire-rank-brand-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.wire-rank-brand-logo .rankpower-logo-fallback {
	min-height: 100%;
	padding: 0;
	font-size: 10px;
}

.wire-rank-brand-name {
	color: var(--rp-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.wire-empty {
	padding: 22px;
	text-align: center;
	color: var(--rp-muted);
}

.wire-empty--plain {
	background: transparent !important;
	border: none !important;
	padding: 18px 0 !important;
}

.home-mobile {
	display: grid;
	gap: 0;
}

.home-mobile__section {
	padding: 8px 0 12px;
}

.home-mobile-hero {
	display: grid;
	gap: 12px;
	padding: 16px;
	border-radius: 20px;
	background: linear-gradient(135deg, #1f4ae1, #4b83ff 72%, #7eb2ff);
	color: #fff;
	box-shadow: 0 18px 44px rgba(31, 74, 225, 0.18);
}

.home-desktop-hero {
	align-items: stretch;
}

.home-desktop-main {
	display: grid;
	gap: 14px;
}

.home-desktop-panel {
	display: none;
	color: var(--rp-text);
	background: #fff;
}

.home-desktop-panel__block + .home-desktop-panel__block {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px dashed var(--rp-line);
}

.home-desktop-panel__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.home-desktop-panel__head a {
	color: var(--rp-primary);
	font-size: 13px;
	font-weight: 700;
}

.home-desktop-panel__title {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 1.4;
}

.home-desktop-catlist,
.home-desktop-mini-list,
.home-desktop-mini-rank {
	display: grid;
	gap: 10px;
}

.home-desktop-catlist a,
.home-desktop-mini-list li,
.home-desktop-mini-rank li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 11px 12px;
	border-radius: 14px;
	background: #f8fbff;
	border: 1px solid rgba(217, 226, 241, 0.85);
	color: var(--rp-text);
}

.home-desktop-catlist a strong,
.home-desktop-mini-list a,
.home-desktop-mini-rank a {
	color: var(--rp-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

.home-desktop-catlist a span,
.home-desktop-mini-list span {
	color: var(--rp-muted);
	font-size: 12px;
}

.home-desktop-mini-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.home-desktop-mini-rank {
	list-style: none;
	margin: 0;
	padding: 0;
}

.home-desktop-mini-rank li span:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--rp-surface-soft);
	color: var(--rp-primary);
	font-size: 11px;
	font-weight: 800;
}

.home-mobile-hero h1 {
	margin: 0;
	font-size: clamp(26px, 6.5vw, 36px);
	line-height: 1.18;
}

.home-mobile-hero p {
	margin: 0;
	color: rgba(255, 255, 255, 0.88);
	font-size: 13px;
	line-height: 1.65;
}

.home-mobile-search .rankpower-search-form__input {
	background: rgba(255, 255, 255, 0.97);
}

.home-mobile-navchips,
.home-mobile-tags,
.home-mobile-scroll {
	display: flex;
	gap: 10px;
	overflow-x: auto;
	scrollbar-width: none;
}

.home-mobile-navchips::-webkit-scrollbar,
.home-mobile-tags::-webkit-scrollbar,
.home-mobile-scroll::-webkit-scrollbar {
	display: none;
}

.home-mobile-navchips a,
.home-mobile-tags a {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	padding: 8px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}

.home-mobile-navchips a {
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #fff;
}

.home-mobile-tags a {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(255, 255, 255, 0.95);
}

.home-mobile-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.home-mobile-stats div {
	padding: 10px 8px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.12);
	text-align: center;
}

.home-mobile-stats strong {
	display: block;
	font-size: 18px;
	line-height: 1;
}

.home-mobile-stats span {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.82);
}

.section-head--mobile {
	align-items: center;
	margin-bottom: 14px;
}

.section-head--mobile h2 {
	font-size: 24px;
}

.home-mobile-scroll-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

.home-mobile-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--rp-line);
	border-radius: 50%;
	background: #fff;
	color: var(--rp-text);
	font-size: 16px;
	font-weight: 800;
	cursor: pointer;
}

.home-mobile-arrow:hover {
	background: var(--rp-primary);
	border-color: var(--rp-primary);
	color: #fff;
}

.home-mobile-quickgrid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
}

.home-mobile-quickitem {
	display: grid;
	gap: 6px;
	padding: 14px 8px;
	text-align: center;
	color: var(--rp-text);
}

.home-mobile-quickitem strong {
	font-size: 14px;
	line-height: 1.3;
}

.home-mobile-quickitem span {
	color: var(--rp-muted);
	font-size: 11px;
}

.home-mobile-rankcard,
.home-mobile-brandcard,
.home-mobile-pkcard {
	flex: 0 0 86%;
	width: 86%;
	padding: 14px;
}

.home-mobile-rankcard h3,
.home-mobile-brandcard h3,
.home-mobile-pkcard h3 {
	margin: 10px 0 8px;
	font-size: 17px;
	line-height: 1.35;
}

.home-mobile-rankcard p,
.home-mobile-brandcard p,
.home-mobile-pkcard p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 12px;
	line-height: 1.6;
}

.home-mobile-ranklist,
.home-mobile-newslist {
	list-style: none;
	margin: 14px 0 0;
	padding: 0;
	display: grid;
	gap: 8px;
}

.home-mobile-ranklist li {
	display: grid;
	grid-template-columns: 24px 36px minmax(0, 1fr);
	gap: 8px;
	align-items: center;
	padding: 7px;
	border-radius: 12px;
	background: #f8fbff;
	border: 1px solid rgba(217, 226, 241, 0.85);
}

.home-mobile-ranklist__empty {
	display: block !important;
	padding: 14px 0;
	text-align: center;
	color: var(--rp-muted);
	background: transparent !important;
	border: none !important;
}

.home-mobile-rankno {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--rp-surface-soft);
	color: var(--rp-primary);
	font-size: 11px;
	font-weight: 800;
}

.home-mobile-ranklogo,
.home-mobile-pklogo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, #dce8ff, #eef4ff);
	overflow: hidden;
}

.home-mobile-ranklogo img,
.home-mobile-pklogo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.home-mobile-ranklogo .rankpower-logo-fallback,
.home-mobile-pklogo .rankpower-logo-fallback {
	min-height: 100%;
	padding: 0;
	font-size: 10px;
}

.home-mobile-rankname {
	color: var(--rp-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
}

.home-mobile-brandlogo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 84px;
	padding: 12px;
	border-radius: 16px;
	background: linear-gradient(135deg, #eef3ff, #f9fbff);
}

.home-mobile-brandlogo img {
	max-height: 64px;
	width: auto;
}

.home-mobile-brandmeta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.home-mobile-brandmeta span {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--rp-surface-soft);
	color: var(--rp-primary);
	font-size: 12px;
	font-weight: 700;
}

.home-mobile-pkhead {
	display: grid;
	grid-template-columns: 1fr 32px 1fr;
	gap: 10px;
	align-items: center;
	margin-top: 12px;
}

.home-mobile-pkbrand {
	display: grid;
	gap: 8px;
	justify-items: center;
	text-align: center;
}

.home-mobile-pkbrand strong {
	font-size: 14px;
	line-height: 1.45;
}

.home-mobile-pklogo {
	width: 48px;
	height: 48px;
	border-radius: 16px;
}

.home-mobile-pkvs {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: linear-gradient(135deg, #ff8f1f, #ff6b1f);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
}

.home-mobile-pkmetrics {
	display: grid;
	gap: 8px;
	margin-top: 12px;
}

.home-mobile-pkmetrics div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 9px;
	border-radius: 12px;
	background: #f8fbff;
	border: 1px solid rgba(217, 226, 241, 0.85);
	font-size: 11px;
	color: var(--rp-muted);
}

.home-mobile-pkmetrics strong {
	color: var(--rp-text);
	font-size: 12px;
}

.home-mobile-newscard {
	padding: 14px;
}

.home-desktop-newsfocus {
	display: none;
	padding: 18px;
	border-radius: 18px;
	background: linear-gradient(135deg, #f5f8ff, #ffffff);
	border: 1px solid rgba(217, 226, 241, 0.85);
}

.home-desktop-newsfocus h3 {
	margin: 10px 0 10px;
	font-size: 24px;
	line-height: 1.4;
}

.home-desktop-newsfocus h3 a {
	color: var(--rp-text);
}

.home-desktop-newsfocus p {
	margin: 0;
	color: var(--rp-muted);
	font-size: 14px;
	line-height: 1.75;
}

.home-desktop-newsfocus__date {
	display: inline-flex;
	margin-top: 12px;
	color: var(--rp-muted);
	font-size: 12px;
	font-weight: 700;
}

.home-mobile-newslist li {
	padding: 10px 0;
	border-bottom: 1px dashed var(--rp-line);
}

.home-mobile-newslist li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

.home-mobile-newslist a {
	color: var(--rp-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}

.home-mobile-newslist span {
	display: block;
	margin-top: 6px;
	color: var(--rp-muted);
	font-size: 12px;
}

@media (max-width: 980px) {
	.hero__grid,
	.page-grid,
	.brand-hero,
	.about-grid,
	.member-dashboard {
		grid-template-columns: 1fr;
	}

	.portal-hero__grid,
	.portal-entry-grid,
	.portal-quick-grid,
	.home-dual,
	.news-portal,
	.member-portal,
	.rank-showcase,
	.category-wall,
	.brand-showcase {
		grid-template-columns: 1fr;
	}

	.channel-tags,
	.rank-fast-links {
		grid-template-columns: 1fr 1fr;
	}

	.site-header__inner,
	.portal-topbar__inner,
	.site-footer__inner,
	.section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.site-header__top-inner,
	.site-header__main {
		flex-direction: column;
		align-items: flex-start;
	}

	.site-header__search {
		max-width: none;
		width: 100%;
	}

	.member-sidebar {
		position: static;
	}

	.stats-grid {
		grid-template-columns: 1fr;
	}

	.home-mobile-quickgrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wire-home__desktop {
		display: none;
	}

	.wire-home__mobile {
		display: block;
	}

	.portal-kpis {
		grid-template-columns: 1fr;
	}

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

	.form-grid,
	.form-grid--filters {
		grid-template-columns: 1fr;
	}

	.pk-hero-grid {
		grid-template-columns: 1fr;
	}

	.pk-metric-row {
		flex-direction: column;
		align-items: stretch;
	}

	.pk-metric-row__brand,
	.pk-metric-row__center {
		width: 100%;
		text-align: left;
	}

	.pk-metric-row__brand:last-child,
	.pk-metric-row__center {
		text-align: left;
	}
}

@media (min-width: 981px) {
	.wire-home__desktop {
		display: block;
	}

	.wire-home__mobile {
		display: none;
	}

	.home-desktop-hero {
		grid-template-columns: 260px minmax(0, 1fr) 320px;
		gap: 18px;
		padding: 18px;
	}

	.home-desktop-panel {
		display: block;
		padding: 16px;
		border-radius: 20px;
		box-shadow: 0 14px 36px rgba(17, 38, 84, 0.08);
	}

	.home-mobile-scroll--rank {
		gap: 16px;
	}

	.home-mobile-rankcard {
		flex: 0 0 calc((100% - 32px) / 3);
		width: calc((100% - 32px) / 3);
	}

	.home-mobile-scroll--brands,
	.home-mobile-scroll--pk {
		display: grid;
		overflow: visible;
	}

	.home-mobile-scroll--brands {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.home-mobile-scroll--pk {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-mobile-brandcard,
	.home-mobile-pkcard {
		flex: none;
		width: auto;
	}

	.home-mobile-newscard {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
		gap: 18px;
		align-items: start;
	}

	.home-desktop-newsfocus {
		display: block;
	}

	.home-mobile-newslist {
		margin-top: 0;
	}
}

@media (max-width: 640px) {
	.hero {
		padding-top: 48px;
	}

	.site-header__top {
		display: none;
	}

	.site-header__main {
		padding: 14px 0 8px;
	}

	.hero__content,
	.page-hero,
	.section-block,
	.brand-hero,
	.content-card,
	.sidebar-card,
	.article-card,
	.brand-card,
	.term-card,
	.about-card {
		padding: 22px;
	}

	.site-shell {
		width: min(calc(100% - 24px), var(--rp-shell));
	}

	.meta-list div {
		grid-template-columns: 1fr;
	}

	.portal-rank-list li {
		grid-template-columns: 34px minmax(0, 1fr);
	}

	.headline-list li,
	.portal-focus__brand {
		grid-template-columns: 1fr;
	}

	.portal-entry-grid {
		grid-template-columns: 1fr;
	}

	.channel-tags,
	.rank-fast-links {
		grid-template-columns: 1fr;
	}

	.portal-rank-list__no {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}

	.portal-panel__header h2,
	.section-head--compact h2,
	.member-portal h2,
	.news-feature h3 {
		font-size: 24px;
	}

	.home-mobile__section {
		padding: 8px 0 12px;
	}

	.home-mobile-hero {
		padding: 16px;
		border-radius: 20px;
	}

	.home-mobile-hero h1 {
		font-size: 26px;
	}

	.home-mobile-hero p {
		font-size: 13px;
		line-height: 1.65;
	}

	.home-mobile-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.home-mobile-stats div {
		padding: 10px 8px;
	}

	.home-mobile-stats strong {
		font-size: 18px;
	}

	.section-head--mobile h2 {
		font-size: 20px;
	}

	.home-mobile-arrow {
		width: 34px;
		height: 34px;
		font-size: 14px;
	}

	.home-mobile-quickgrid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	.home-mobile-quickitem {
		padding: 14px 6px;
	}

	.home-mobile-quickitem strong {
		font-size: 14px;
	}

	.home-mobile-quickitem span {
		font-size: 11px;
	}

	.home-mobile-rankcard,
	.home-mobile-brandcard,
	.home-mobile-pkcard {
		flex-basis: 86vw;
		width: 86vw;
		padding: 14px;
	}

	.home-mobile-rankcard h3,
	.home-mobile-brandcard h3,
	.home-mobile-pkcard h3 {
		font-size: 17px;
	}

	.home-mobile-ranklist li {
		grid-template-columns: 22px 32px minmax(0, 1fr);
		padding: 7px;
	}

	.home-mobile-rankno {
		width: 22px;
		height: 22px;
		font-size: 10px;
	}

	.home-mobile-ranklogo,
	.home-mobile-pklogo {
		width: 32px;
		height: 32px;
		border-radius: 10px;
	}

	.home-mobile-rankname {
		font-size: 12px;
	}

	.home-mobile-brandlogo {
		height: 88px;
	}

	.home-mobile-brandmeta span {
		font-size: 11px;
	}

	.home-mobile-pkhead {
		grid-template-columns: 1fr 28px 1fr;
	}

	.home-mobile-pkvs {
		width: 28px;
		height: 28px;
		font-size: 10px;
	}

	.home-mobile-pkmetrics div {
		padding: 8px 9px;
		font-size: 11px;
	}

	.home-mobile-pkmetrics strong,
	.home-mobile-newslist a {
		font-size: 12px;
	}

	.home-mobile-newscard {
		padding: 14px;
	}
}

/* Header / Footer wireframe refresh */
.site-header {
	position: relative;
	background: #fff;
	border-bottom: 1px solid #e8edf4;
	backdrop-filter: none;
}

/* Homepage typography refinement */
.wire-section-head h2 {
	font-size: 22px;
	line-height: 1.18;
}

.wire-hero-main h1 {
	font-size: clamp(28px, 3.1vw, 34px);
	line-height: 1.14;
}

.wire-hero-main p {
	font-size: 14px;
	line-height: 1.62;
}

.wire-side-nav a,
.wire-mini-list a,
.wire-rank-brief a,
.wire-tag-grid a,
.wire-link-more {
	font-size: 13px;
}

.wire-kpi strong {
	font-size: 20px;
}

.wire-entry-card strong {
	font-size: 15px;
	line-height: 1.25;
}

.wire-entry-card p,
.wire-brand-card__meta,
.wire-brand-card p,
.wire-news-card p,
.wire-rank-card p {
	font-size: 12px;
	line-height: 1.58;
}

.wire-info-card h3 {
	font-size: 18px;
	line-height: 1.3;
}

.wire-feature-news h4 {
	font-size: 18px;
	line-height: 1.34;
}

.wire-feature-news p {
	font-size: 13px;
	line-height: 1.68;
}

.wire-brand-card h3,
.wire-news-card h3,
.wire-pk-card h3,
.wire-rank-card h3 {
	font-size: 18px;
	line-height: 1.3;
}

.wire-rank-brand-name {
	font-size: 13px;
	line-height: 1.35;
}

.home-mobile-hero h1 {
	font-size: clamp(23px, 5.6vw, 30px);
	line-height: 1.14;
}

.home-mobile-hero p {
	font-size: 12px;
	line-height: 1.58;
}

.section-head--mobile h2 {
	font-size: 20px;
	line-height: 1.2;
}

.home-mobile-quickitem strong {
	font-size: 13px;
	line-height: 1.24;
}

.home-mobile-rankcard h3,
.home-mobile-brandcard h3,
.home-mobile-pkcard h3 {
	font-size: 16px;
	line-height: 1.28;
}

.home-mobile-rankcard p,
.home-mobile-brandcard p,
.home-mobile-pkcard p,
.home-mobile-rankname,
.home-mobile-newslist a {
	font-size: 12px;
	line-height: 1.45;
}

.site-header__top {
	display: none;
	background: #fffaf4;
	border-bottom: 1px solid #f1dcc3;
}

.site-header__top-inner {
	padding: 11px 0;
}

.site-header__top-links a {
	justify-content: center;
	min-height: 40px;
	padding: 0 18px;
	font-size: 14px;
}

.site-header__inner {
	gap: 0;
	padding-top: 14px;
	padding-bottom: 14px;
}

.site-header__main {
	padding: 0;
}

.site-header__main--wire {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
}

.site-branding--wire {
	display: flex;
	align-items: center;
	flex: 0 0 240px;
	min-height: 58px;
}

.site-branding__title {
	font-size: 34px;
	line-height: 1;
}

.site-branding--wire .site-branding__title a {
	color: var(--rp-primary);
}

.site-branding--wire .site-branding__title--logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	max-width: 100%;
}

.site-branding--wire .site-branding__title--logo .custom-logo {
	width: auto;
	max-width: 100%;
	max-height: 52px;
	object-fit: contain;
}

.site-branding__meta {
	display: none;
}

.site-header__search {
	flex: 1 1 auto;
	max-width: 800px;
}

.site-header__search--wire {
	flex: 0 1 500px;
	width: 500px;
	max-width: 500px;
	margin-left: auto;
}

.site-header__search--wire .rankpower-search-form {
	align-items: stretch;
	gap: 12px;
}

.site-header__search--wire .rankpower-search-form__input {
	min-height: 54px;
	padding: 0 18px;
	border-radius: 18px;
	border-color: #d7e1f1;
	font-size: 16px;
}

.site-header__search--wire .rankpower-search-form__button {
	flex: 0 0 78px;
	width: 78px;
	min-height: 54px;
	padding: 0 16px;
	border-radius: 16px;
	font-size: 16px;
	writing-mode: horizontal-tb;
	text-orientation: mixed;
	letter-spacing: 0;
}

.site-header__member a {
	justify-content: center;
	min-width: 124px;
	min-height: 58px;
	padding: 0 28px;
	font-size: 16px;
}

.site-nav--header {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	justify-content: flex-end;
}

.site-nav--header ul {
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: nowrap;
}

.site-nav--header a {
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	font-size: 14px;
	font-weight: 700;
}

.site-footer {
	background: #111c3b;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 20px;
	padding: 34px 0 36px;
}

.site-footer__brand strong {
	display: block;
	font-size: 24px;
	line-height: 1.2;
	color: #fff;
}

.footer-note {
	max-width: 320px;
	margin: 14px 0 0;
	line-height: 1.8;
}

@media (max-width: 980px) {
	.site-header__inner {
		padding-top: 12px;
		padding-bottom: 12px;
	}

	.site-header__main--wire {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.site-branding--wire {
		flex: none;
		min-height: 0;
		justify-content: center;
	}

	.site-branding__title {
		font-size: 32px;
		text-align: center;
	}

	.site-branding--wire .site-branding__title--logo .custom-logo-link {
		justify-content: center;
		width: 100%;
	}

	.site-branding--wire .site-branding__title--logo .custom-logo {
		max-height: 46px;
	}

	.site-nav--header {
		justify-content: flex-start;
	}

	.site-header__search--wire {
		flex: none;
		width: 100%;
		max-width: none;
		margin-left: 0;
	}

	.site-nav--header ul {
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: none;
	}

	.site-nav--header ul::-webkit-scrollbar {
		display: none;
	}

}

@media (max-width: 640px) {
	.site-header__inner {
		gap: 10px;
		padding-top: 10px;
		padding-bottom: 12px;
	}

	.site-branding__title {
		font-size: 28px;
	}

	.site-branding--wire {
		flex-basis: auto;
	}

	.site-branding--wire .site-branding__title--logo .custom-logo {
		max-height: 40px;
	}

	.site-header__search--wire .rankpower-search-form {
		gap: 8px;
	}

	.site-header__search--wire {
		width: 100%;
		max-width: none;
	}

	.site-header__search--wire .rankpower-search-form__input {
		min-height: 46px;
		padding: 0 14px;
		border-radius: 14px;
		font-size: 14px;
	}

	.site-header__search--wire .rankpower-search-form__button {
		flex: 0 0 64px;
		width: 64px;
		min-height: 46px;
		border-radius: 14px;
		font-size: 14px;
	}

	.site-nav--header ul {
		gap: 10px;
	}

	.site-nav--header a {
		min-height: 40px;
		padding: 0 16px;
		font-size: 13px;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 28px 0 30px;
	}

.site-footer__brand strong {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
}

.site-footer__brand strong::before {
	content: "\f227";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	color: #8db7ff;
}

.footer-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.footer-note::before {
	content: "\f109";
	margin-top: 2px;
	color: #8db7ff;
}

}
