@font-face {
	font-family: "Outfit";
	src: url("Outfit-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Outfit";
	src: url("Outfit-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Outfit";
	src: url("Outfit-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Outfit";
	src: url("Outfit-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Outfit";
	src: url("Outfit-Medium.ttf") format("truetype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

:root {
	--secho-bg: #080d16;
	--secho-bg-soft: #111827;
	--secho-panel: #151b2b;
	--secho-panel-light: #242935;
	--secho-line: rgba(255, 255, 255, 0.15);
	--secho-text: #f7f3ee;
	--secho-muted: rgba(247, 243, 238, 0.72);
	--secho-dim: rgba(247, 243, 238, 0.48);
	--secho-orange: #ff6937;
	--secho-orange-light: #ff7c50;
	--secho-orange-dark: #d9542d;
	--secho-cream: #f6e9d8;
	--secho-max: 1400px;
	--secho-radius: 26px;
	--secho-shadow: 0 26px 90px rgba(0, 0, 0, 0.38);
}

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	position: relative;
	margin: 0;
	background:
		radial-gradient(circle at 84% 44%, rgba(255, 105, 55, 0.075), transparent 29rem),
		radial-gradient(circle at 14% 18%, rgba(74, 119, 255, 0.055), transparent 28rem),
		linear-gradient(180deg, #090e18 0%, #080d16 34%, #0a0f18 100%);
	background-attachment: fixed, fixed, fixed;
	color: var(--secho-text);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
}

body::before {
	position: fixed;
	z-index: 0;
	inset: 64px 0 0;
	background:
		repeating-radial-gradient(
			ellipse 980px 430px at 92% 4%,
			transparent 0 36px,
			rgba(255, 105, 55, 0.075) 37px 38px,
			transparent 39px 70px
		);
	pointer-events: none;
	content: "";
	opacity: 0.72;
	mask-image: linear-gradient(90deg, transparent 0%, #000 43%, #000 100%);
}

body > * {
	position: relative;
	z-index: 1;
}

.site-main {
	flex: 1 0 auto;
}

.site-footer {
	flex-shrink: 0;
	margin-top: auto;
}

body.admin-bar .site-header {
	top: 32px;
}

a {
	color: inherit;
	text-decoration: none;
}

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

button,
input,
textarea,
select {
	font: inherit;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	padding: 12px 16px;
	clip: auto;
	background: var(--secho-orange);
	color: #fff;
	border-radius: 8px;
}

.section-wrap {
	width: min(calc(100% - 40px), var(--secho-max));
	margin-inline: auto;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(10, 14, 24, 0.7);
	border-bottom: 1px solid var(--secho-line);
	backdrop-filter: blur(16px);
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 18px;
	width: min(calc(100% - 40px), var(--secho-max));
	min-height: 64px;
	margin-inline: auto;
}

.site-header__brand {
	display: flex;
	align-items: center;
	align-self: center;
	min-width: 0;
	line-height: 0;
}

.site-brand,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: var(--secho-text);
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	white-space: nowrap;
	text-transform: uppercase;
}

.site-brand__mark {
	width: 38px;
	height: 38px;
	object-fit: contain;
	display: block;
}

.custom-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 150px;
	max-height: 42px;
	object-fit: contain;
}

.primary-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	justify-self: center;
}

.primary-nav a:hover {
	color: var(--secho-orange);
}

.primary-nav .menu,
.site-footer .menu {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav li {
	position: relative;
}

.primary-nav > .menu > li::before {
	content: "";
	position: absolute;
	right: 0;
	bottom: 2px;
	left: 0;
	height: 2px;
	background: var(--secho-orange);
	border-radius: 999px;
	opacity: 0;
	transform: scaleX(0.7);
	transform-origin: left center;
	transition: opacity 160ms ease, transform 180ms ease;
}

.primary-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: color 160ms ease, opacity 160ms ease;
}

.primary-nav .current-menu-item > a,
.primary-nav .current_page_item > a,
.primary-nav .current-menu-ancestor > a,
.primary-nav .current_page_ancestor > a,
.primary-nav a:hover {
	color: var(--secho-orange);
}

.primary-nav > .menu > .current-menu-item::before,
.primary-nav > .menu > .current_page_item::before,
.primary-nav > .menu > .current-menu-ancestor::before,
.primary-nav > .menu > .current_page_ancestor::before {
	opacity: 1;
	transform: scaleX(1);
}

.primary-nav .menu-item-has-children > a::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 180ms ease;
}

.primary-nav .menu-item-has-children::after {
	content: "";
	position: absolute;
	top: 100%;
	right: -12px;
	left: -12px;
	height: 16px;
}

.primary-nav .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: -18px;
	min-width: 220px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: rgba(20, 26, 40, 0.98);
	border: 1px solid var(--secho-line);
	border-radius: 16px;
	box-shadow: var(--secho-shadow);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.primary-nav .menu-item-has-children:hover > a::after,
.primary-nav .menu-item-has-children:focus-within > a::after {
	transform: rotate(225deg) translate(-1px, -1px);
}

.primary-nav .sub-menu a {
	width: 100%;
	min-height: auto;
	padding: 10px 12px;
	border-radius: 10px;
	transition: background 160ms ease, color 160ms ease;
}

.primary-nav .sub-menu a:hover {
	background: rgba(255, 255, 255, 0.07);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	justify-self: end;
}

.language-slot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: auto;
	min-height: 28px;
	padding-inline: 0;
	background: transparent;
	border-radius: 999px;
	color: var(--secho-text);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
}

.language-slot--placeholder {
	gap: 7px;
}

.language-dot {
	display: block;
	width: 25px;
	height: 17px;
	border-radius: 999px;
	background:
		linear-gradient(180deg, #c6363c 0 33%, #243f8f 33% 66%, #ffffff 66% 100%);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.header-cta,
.pill-button,
.mobile-menu__cta,
.search-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-height: 34px;
	padding: 0 18px;
	background: var(--secho-orange);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 14px 38px rgba(255, 105, 55, 0.2);
	cursor: pointer;
	transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.header-cta {
	max-width: 160px;
	font-size: 13px;
}

.secho-login-name {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pill-button {
	gap: 12px;
	min-height: 42px;
	padding: 0 12px 0 24px;
	color: #fff;
	font-size: 17px;
}

.pill-button span:first-child {
	color: #fff;
}

.header-cta:hover,
.pill-button:hover,
.mobile-menu__cta:hover,
.search-form button:hover {
	background: var(--secho-orange-light);
	color: #fff;
	transform: translateY(-1px);
}

.pill-button span:last-child {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: url("../images/arrow-up-circle.svg") center / contain no-repeat;
	color: transparent;
	font-size: 0;
	line-height: 0;
}

.menu-toggle {
	display: none;
	width: 46px;
	height: 46px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	cursor: pointer;
}

.menu-toggle span:not(.screen-reader-text) {
	display: block;
	width: 22px;
	height: 2px;
	margin: 5px auto;
	background: var(--secho-text);
	border-radius: 999px;
}

.hero-slider {
	position: relative;
	overflow: hidden;
	background: #1f2230;
	border-bottom: 1px solid var(--secho-line);
	border-radius: 0;
}

.hero-slider__track {
	position: relative;
	height: clamp(280px, 28.45vw, 484px);
	min-height: 0;
	background: #101622;
}

.hero-slide {
	position: absolute;
	inset: 0;
	display: block;
	opacity: 0;
	visibility: hidden;
	transition: opacity 420ms ease, visibility 420ms ease;
}

.hero-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.hero-slide img {
	width: 100%;
	height: 100%;
	min-height: 0;
	max-height: none;
	object-fit: cover;
	object-position: center;
}

.hero-slider__dots {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 86px;
	height: 20px;
	margin-inline: auto;
	background: #fff;
	border-radius: 12px 12px 0 0;
}

.hero-slider__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	background: #101622;
	border: 0;
	border-radius: 50%;
	opacity: 0.65;
	cursor: pointer;
}

.hero-slider__dots button.is-active {
	background: var(--secho-orange);
	opacity: 1;
}

.home-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	padding-top: 60px;
}

.feature-card {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	--feature-line-shift: 0px;
	min-height: 290px;
	background:
		linear-gradient(145deg, rgba(19, 26, 41, 0.98) 0%, rgba(21, 27, 41, 0.95) 58%, rgba(108, 57, 39, 0.75) 100%);
	border: 0;
	border-radius: var(--secho-radius);
	box-shadow: var(--secho-shadow);
}

.feature-card::before,
.feature-card::after {
	position: absolute;
	z-index: 0;
	pointer-events: none;
	content: "";
}

.feature-card::before {
	top: -22%;
	bottom: -22%;
	left: 22%;
	width: 3px;
	background: linear-gradient(180deg, transparent 0%, rgba(255, 129, 67, 0.14) 20%, rgba(255, 129, 67, 0.05) 82%, transparent 100%);
	transform: translateX(var(--feature-line-shift)) rotate(16deg);
	transform-origin: center;
	transition: transform 80ms linear;
}

.feature-card::after {
	right: 0;
	bottom: 0;
	width: min(52%, 460px);
	height: 3px;
	background: linear-gradient(90deg, transparent 0%, rgba(255, 119, 62, 0.48) 28%, rgba(255, 119, 62, 0.58) 100%);
	border-radius: 999px 0 0 999px;
}

.feature-card--membership::before {
	left: 58%;
}

.feature-card--congress {
	background:
		linear-gradient(145deg, rgba(19, 29, 43, 0.98) 0%, rgba(35, 35, 46, 0.94) 54%, rgba(116, 76, 51, 0.76) 100%);
}

.feature-card--congress::before {
	left: 16%;
	background: linear-gradient(180deg, transparent 0%, rgba(255, 153, 79, 0.14) 20%, rgba(255, 153, 79, 0.05) 82%, transparent 100%);
}

.feature-card--forum::before {
	left: 82%;
}

.feature-card--gallery::before {
	left: 72%;
}

.feature-card--forum {
	background:
		linear-gradient(145deg, rgba(19, 26, 41, 0.98) 0%, rgba(21, 27, 41, 0.95) 58%, rgba(108, 57, 39, 0.75) 100%);
}

.feature-card--congress::after,
.feature-card--forum::after,
.feature-card--gallery::after {
	right: auto;
	left: 0;
	background: linear-gradient(90deg, rgba(255, 119, 62, 0.58) 0%, rgba(255, 119, 62, 0.48) 72%, transparent 100%);
	border-radius: 0 999px 999px 0;
}

.feature-card--congress::after,
.feature-card--forum::after {
	background: linear-gradient(90deg, rgba(255, 119, 62, 0.58) 0%, rgba(255, 119, 62, 0.48) 72%, transparent 100%);
}

.feature-card--forum .pill-button,
.feature-card--congress .pill-button {
	background: #fff;
	color: var(--secho-orange);
	box-shadow: 0 16px 34px rgba(133, 76, 45, 0.18);
}

.feature-card--forum .pill-button span:first-child,
.feature-card--congress .pill-button span:first-child {
	color: var(--secho-orange);
}

.feature-card--forum .pill-button span:last-child,
.feature-card--congress .pill-button span:last-child {
	background: var(--secho-orange);
	-webkit-mask: url("../images/arrow-up-circle.svg") center / contain no-repeat;
	mask: url("../images/arrow-up-circle.svg") center / contain no-repeat;
}

.feature-card--forum .pill-button:hover,
.feature-card--forum .pill-button:focus-visible,
.feature-card--congress .pill-button:hover,
.feature-card--congress .pill-button:focus-visible {
	background: #fff8ef;
	color: var(--secho-orange);
}

.feature-card--membership {
	grid-column: span 3;
}

.feature-card--forum {
	grid-column: span 2;
}

.feature-card--congress {
	grid-column: span 2;
}

.feature-card--gallery {
	grid-column: span 3;
}

.feature-card--media {
	display: grid;
	grid-template-columns: minmax(250px, 41%) minmax(0, 1fr);
	min-height: 344px;
}

.feature-card--gallery {
	grid-template-columns: minmax(0, 1fr) minmax(250px, 41%);
}

.feature-card--gallery .feature-card__media {
	order: 2;
}

.feature-card__media {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 100%;
	padding: 10px;
	overflow: hidden;
}

.feature-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	border-radius: 16px;
}

.feature-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 100%;
	padding: 36px 40px;
}

.feature-card--membership .feature-card__content {
	padding-left: 24px;
}

.feature-card--gallery .feature-card__content {
	padding-right: 24px;
}

.feature-card h1,
.feature-card h2 {
	margin: 0 0 16px;
	color: var(--secho-orange);
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.05;
	letter-spacing: 0;
}

.feature-card h2 {
	font-size: clamp(26px, 2.3vw, 34px);
}

.feature-card p {
	max-width: 680px;
	margin: 0 0 32px;
	color: var(--secho-text);
	font-size: 18px;
	line-height: 1.25;
}

.feature-card--forum h2,
.feature-card--congress h2 {
	color: #d9572b;
}

.feature-card--forum p,
.feature-card--congress p {
	color: var(--secho-text);
}

.sponsors,
.latest-posts {
	padding-top: 58px;
}

.sponsors {
	overflow-x: hidden;
}

.latest-posts{
	padding-bottom: 58px;
}

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

.section-heading h2 {
	margin: 0;
	font-size: 28px;
	line-height: 1.1;
}

.section-heading a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--secho-text);
	font-size: 14px;
	font-weight: 800;
}

.section-heading a span {
	display: inline-block;
	width: 21px;
	height: 21px;
	background-color: var(--secho-text);
	color: transparent;
	font-size: 0;
	line-height: 1;
	-webkit-mask: url("../images/arrow-up-circle.svg") center / contain no-repeat;
	mask: url("../images/arrow-up-circle.svg") center / contain no-repeat;
}

.sponsor-tiers {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	margin-inline: 0;
	padding: 4px 0 14px;
	scroll-snap-type: x proximity;
	scroll-padding-inline: 0;
	scrollbar-width: none;
}

.sponsor-tiers::-webkit-scrollbar {
	display: none;
}

.sponsor-tier {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 10px;
	scroll-snap-align: start;
}

.sponsor-tier h3 {
	width: 2px;
	height: 66px;
	margin: 0 2px 0 0;
	overflow: hidden;
	border-radius: 999px;
	color: transparent;
	font-size: 0;
	line-height: 0;
}

.sponsor-tier--zlatni h3 {
	background: #f4c542;
}

.sponsor-tier--srebrni h3 {
	background: #d6d9df;
}

.sponsor-tier--bronzani h3 {
	background: #cd8b62;
}

.sponsor-tier--bronzani-standard h3 {
	background: #b8744d;
}

.sponsor-tier--izlagaci h3 {
	background: #8f7cff;
}

.sponsor-tier--podrzano-od-strane h3 {
	background: #5fd0a5;
}

.sponsor-tier__grid {
	display: flex;
	align-items: center;
	gap: 10px;
}

.sponsor-logo {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: auto;
	min-width: 112px;
	max-width: 260px;
	height: 74px;
	padding: 10px 18px;
	overflow: hidden;
	background: #fff;
	color: #334155;
	border: 2px solid rgba(255, 105, 55, 0.5);
	border-radius: 13px;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
	scroll-snap-align: start;
	transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.sponsor-logo:hover,
.sponsor-logo:focus-visible {
	border-color: var(--secho-orange);
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.42);
}

.sponsor-logo img {
	display: block;
	width: auto;
	max-width: 224px;
	height: auto;
	max-height: 54px;
	object-fit: contain;
}

.sponsor-tier--zlatni .sponsor-logo {
	border-color: #f4c542;
}

.sponsor-tier--srebrni .sponsor-logo {
	border-color: #c8cdd6;
}

.sponsor-tier--bronzani .sponsor-logo {
	border-color: #cd8b62;
}

.sponsor-tier__empty {
	display: none;
}

.of-book-section {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: clamp(36px, 6vw, 104px);
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding: clamp(42px, 6vw, 88px) 0;
}

.of-book-section:first-of-type {
	padding-top: 0;
}

.of-book-section:last-of-type {
	padding-bottom: 0;
}

.of-book-section--flip {
	flex-direction: row-reverse;
}

.of-book-section__content {
	flex: 1 1 58%;
	min-width: 0;
}

.of-book-section--flip .of-book-section__content {
	display: grid;
	justify-items: end;
	text-align: right;
}

.of-book-section__title {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 0 22px;
	padding-left: 18px;
	color: var(--secho-text);
	font-size: clamp(28px, 2.7vw, 42px);
	font-weight: 700;
	line-height: 1.08;
	text-align: left;
}

.of-book-section__title::before {
	content: "";
	position: absolute;
	top: 0.12em;
	bottom: 0.12em;
	left: 0;
	width: 3px;
	background: var(--secho-orange);
	border-radius: 999px;
}

.of-book-section--flip .of-book-section__title {
	padding-right: 18px;
	padding-left: 0;
	text-align: right;
}

.of-book-section--flip .of-book-section__title::before {
	right: 0;
	left: auto;
}

.of-book-section__text {
	width: 100%;
	max-width: 760px;
	padding: clamp(20px, 2.2vw, 32px);
	background:
		linear-gradient(145deg, rgba(21, 27, 43, 0.72), rgba(14, 20, 32, 0.58)),
		rgba(21, 27, 43, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	color: rgba(247, 243, 238, 0.88);
	font-size: clamp(17px, 1.15vw, 21px);
	font-weight: 300;
	line-height: 1.65;
	text-align: left;
	box-shadow: 0 22px 58px rgba(0, 0, 0, 0.18);
}

.of-book-section__text p {
	margin: 0;
}

.of-book-section__image-wrap {
	display: flex;
	flex: 0 1 clamp(240px, 22vw, 320px);
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 14px;
	overflow: visible;
}

.of-book-3d-scene {
	width: min(100%, 320px);
	perspective: 1200px;
}

.of-book-3d-float {
	animation: ofBookFloat 6s ease-in-out infinite;
}

.of-book-3d {
	position: relative;
	width: 100%;
	transform: rotateY(-10deg) rotateX(2deg) rotateZ(-1deg);
	transform-style: preserve-3d;
	animation: ofBookGentleTilt 6s ease-in-out infinite;
}

.of-book-section__image {
	position: relative;
	z-index: 3;
	display: block;
	width: 100%;
	height: auto;
	border-radius: 3px;
	box-shadow:
		0 24px 45px rgba(0, 0, 0, 0.22),
		0 8px 18px rgba(0, 0, 0, 0.16);
	transform: translateZ(20px);
}

.of-book-3d::before {
	content: "";
	position: absolute;
	inset: 16px -16px -6px 16px;
	z-index: -1;
	background: var(--book-cover-color, var(--secho-orange));
	border-radius: 3px;
	transform: translateZ(0);
}

.of-book-3d__pages {
	position: absolute;
	top: 22px;
	right: -10px;
	z-index: -1;
	width: 18px;
	height: calc(100% - 28px);
	background: repeating-linear-gradient(
		to bottom,
		#f6f1e5 0,
		#f6f1e5 3px,
		#d8d0c1 4px
	);
	border-radius: 0 3px 3px 0;
	transform: skewY(16deg);
}

.of-book-3d__spine {
	display: none;
}

.of-book-section hr {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	margin: 0;
	background: linear-gradient(90deg, transparent, var(--secho-line), transparent);
	border: 0;
}

@keyframes ofBookFloat {
	0%,
	100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-10px);
	}
}

@keyframes ofBookGentleTilt {
	0%,
	100% {
		transform: rotateY(-10deg) rotateX(2deg) rotateZ(-1deg);
	}

	50% {
		transform: rotateY(-6deg) rotateX(1deg) rotateZ(0deg);
	}
}

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

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

.post-card {
	min-width: 0;
	--post-accent: var(--secho-orange);
	--post-accent-soft: rgba(255, 105, 55, 0.18);
}

.post-card__link {
	position: relative;
	display: flex;
	overflow: hidden;
	flex-direction: column;
	height: 100%;
	color: inherit;
	background:
		linear-gradient(145deg, rgba(17, 25, 37, 0.96), rgba(9, 14, 23, 0.96)),
		var(--secho-panel);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 16px;
	box-shadow: 0 18px 46px rgba(0, 0, 0, 0.22);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.post-card__link:hover,
.post-card__link:focus-visible {
	color: inherit;
	transform: translateY(-4px);
	border-color: rgba(255, 255, 255, 0.16);
	border-color: color-mix(in srgb, var(--post-accent) 46%, rgba(255, 255, 255, 0.14));
	box-shadow: 0 24px 58px rgba(0, 0, 0, 0.32);
}

.post-card__image,
.post-card > img {
	display: block;
	overflow: hidden;
	aspect-ratio: 1.95 / 1;
	margin: 0;
	border-radius: 0;
	background: var(--secho-panel);
}

.post-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 260ms ease;
}

.post-card:hover img {
	transform: scale(1.04);
}

.post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	padding: 14px 16px 17px;
}

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

.post-card__badge {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	min-height: 27px;
	padding: 0 10px;
	color: var(--post-accent);
	background: var(--post-accent-soft);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-color: color-mix(in srgb, var(--post-accent) 70%, transparent);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.post-card.category-strucni-sastanak,
.post-card.category-strucni-skup,
.post-card__badge--strucni-sastanak,
.post-card__badge--strucni-skup {
	--post-accent: #7a4dff;
	--post-accent-soft: rgba(122, 77, 255, 0.18);
}

.post-card.category-seminar,
.post-card__badge--seminar {
	--post-accent: #ff5f2f;
	--post-accent-soft: rgba(255, 95, 47, 0.18);
}

.post-card.category-kongres,
.post-card__badge--kongres {
	--post-accent: #ff6a2a;
	--post-accent-soft: rgba(255, 106, 42, 0.18);
}

.post-card.category-kurs,
.post-card__badge--kurs {
	--post-accent: #ff4d36;
	--post-accent-soft: rgba(255, 77, 54, 0.18);
}

.post-card.category-opste,
.post-card.category-opšte,
.post-card__badge--opste,
.post-card__badge--opšte {
	--post-accent: #356dff;
	--post-accent-soft: rgba(53, 109, 255, 0.18);
}

.post-card__date {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	flex: 0 1 auto;
	min-width: 0;
	color: rgba(221, 226, 237, 0.78);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.post-card__date::before {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	opacity: 0.85;
	-webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18'/%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
}

.post-card__title {
	display: block;
	margin: 0 0 7px;
	color: var(--secho-text);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.26;
}

.post-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	margin: 0 0 16px;
	color: var(--secho-muted);
	font-size: 14px;
	line-height: 1.48;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

.post-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin-top: auto;
	color: var(--post-accent);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.post-card__more span {
	transition: transform 180ms ease;
}

.post-card__link:hover .post-card__more span,
.post-card__link:focus-visible .post-card__more span {
	transform: translateX(3px);
}

.secho-front-posts {
	display: grid;
	gap: 24px;
}

.secho-front-posts__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 2px;
}

.secho-front-posts__title {
	min-width: 0;
}

.secho-front-posts__header h2 {
	margin: 0;
	color: var(--secho-text);
	font-size: clamp(28px, 4vw, 42px);
	line-height: 1.1;
}

.secho-front-posts__empty {
	margin: 0;
	color: rgba(247, 243, 238, 0.68);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}

.secho-front-posts__empty-state {
	text-align: left;
}

.secho-front-post-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	margin-left: auto;
}

.secho-front-post-actions__button {
	min-height: 46px;
	padding-inline: 18px;
}

.secho-single-edit-button {
	width: fit-content;
	margin-top: 18px;
}

.sponsor-list {
	display: grid;
	gap: 30px;
}

.sponsor-list__tier {
	padding-top: 12px;
}

.sponsor-list__tier h2 {
	margin: 0 0 16px;
	color: var(--secho-text);
	font-size: 24px;
	line-height: 1.1;
}

.sponsor-list__tier--zlatni h2 {
	color: #f4c542;
}

.sponsor-list__tier--srebrni h2 {
	color: #d6d9df;
}

.sponsor-list__tier--bronzani h2 {
	color: #cd8b62;
}

.sponsor-list__tier--bronzani-standard h2 {
	color: #b8744d;
}

.sponsor-list__tier--izlagaci h2 {
	color: #a99bff;
}

.sponsor-list__tier--podrzano-od-strane h2 {
	color: #76d9b4;
}

.sponsor-list__items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
}

.sponsor-list__item {
	display: inline-flex;
	align-items: center;
	padding: 0;
	transition: opacity 160ms ease, transform 160ms ease;
}

a.sponsor-list__item:hover,
a.sponsor-list__item:focus-visible {
	opacity: 0.82;
	transform: translateY(-1px);
}

.sponsor-list__logo {
	display: grid;
	place-items: center;
	min-width: 120px;
	height: 92px;
	padding: 12px 16px;
	background: #fff;
	color: #334155;
	border-radius: 12px;
	font-weight: 800;
	text-align: center;
}

.sponsor-list__logo img {
	display: block;
	width: auto;
	max-width: 240px;
	height: 100%;
	max-height: 68px;
	object-fit: contain;
}

.content-page {
	padding: 44px 0 72px;
}

.forum-portal,
.forum-single {
	display: grid;
	gap: 30px;
}

.forum-compose,
.forum-topics,
.forum-locked,
.forum-replies {
	padding: clamp(22px, 4vw, 34px);
	background:
		linear-gradient(145deg, rgba(18, 25, 39, 0.72), rgba(255, 255, 255, 0.035));
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	box-shadow: 0 24px 72px rgba(0, 0, 0, 0.18);
}

.forum-compose h2,
.forum-topics h2,
.forum-replies h2,
.forum-locked h2 {
	margin: 0 0 18px;
	color: var(--secho-text);
	font-size: 24px;
	line-height: 1.15;
}

.forum-locked p,
.forum-empty {
	margin: 0 0 18px;
	color: var(--secho-muted);
	font-size: 16px;
	line-height: 1.6;
}

.forum-form {
	display: grid;
	gap: 18px;
}

.forum-form__row {
	display: grid;
	gap: 8px;
}

.forum-form label {
	color: var(--secho-text);
	font-size: 14px;
	font-weight: 800;
}

.forum-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 2px 0 8px;
}

.forum-editor-toolbar__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 34px;
	padding: 0 12px;
	background: rgba(255, 255, 255, 0.065);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 10px;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.forum-editor-toolbar__button:hover,
.forum-editor-toolbar__button:focus-visible {
	background: rgba(255, 105, 55, 0.16);
	color: #fff;
	border-color: rgba(255, 105, 55, 0.58);
	outline: none;
	transform: translateY(-1px);
}

.forum-editor-toolbar__button:disabled {
	opacity: 0.62;
	cursor: progress;
	transform: none;
}

.forum-editor-toolbar__button--heading,
.forum-editor-toolbar__button--link,
.forum-editor-toolbar__button--image,
.forum-editor-toolbar__button--video {
	min-width: 68px;
}

.forum-editor-toolbar__help {
	margin-left: auto;
	padding: 0;
	background: transparent;
	color: var(--secho-orange);
	border: 0;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}

.forum-editor-toolbar__help:hover,
.forum-editor-toolbar__help:focus-visible {
	color: #fff;
	outline: none;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.forum-form input:not([type="hidden"]),
.forum-form textarea,
.forum-rich-editor {
	width: 100%;
	min-height: 52px;
	padding: 0 18px;
	background: rgba(255, 255, 255, 0.045);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 12px;
	font: inherit;
	line-height: 1.45;
	outline: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.forum-form input::placeholder,
.forum-form textarea::placeholder {
	color: rgba(247, 243, 238, 0.44);
}

.forum-form input:not([type="hidden"]):focus,
.forum-form textarea:focus,
.forum-rich-editor:focus {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 105, 55, 0.78);
	box-shadow: 0 0 0 4px rgba(255, 105, 55, 0.12);
}

.forum-form textarea,
.forum-rich-editor {
	resize: vertical;
	min-height: 132px;
	padding-top: 15px;
}

.forum-rich-editor {
	min-height: calc(var(--forum-editor-min-rows, 5) * 1.45em + 30px);
	overflow: auto;
}

.forum-rich-editor:empty::before {
	color: rgba(247, 243, 238, 0.44);
	content: attr(data-placeholder);
	pointer-events: none;
}

.forum-rich-editor h3 {
	margin: 0 0 12px;
	color: var(--secho-text);
	font-size: 24px;
	line-height: 1.2;
}

.forum-rich-editor p {
	margin: 0 0 12px;
}

.forum-rich-editor a {
	color: var(--secho-orange);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.forum-rich-editor .forum-video-link {
	display: inline-flex;
	max-width: 100%;
	padding: 10px 12px;
	background: rgba(255, 105, 55, 0.12);
	border: 1px solid rgba(255, 105, 55, 0.32);
	border-radius: 12px;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.forum-rich-editor .forum-media-figure,
.forum-single__content .forum-media-figure,
.forum-reply__content .forum-media-figure {
	max-width: 860px;
	margin: 14px 0;
}

.forum-rich-editor img,
.forum-single__content img,
.forum-reply__content img {
	display: block;
	width: auto;
	max-width: min(100%, 860px);
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.forum-rich-editor video,
.forum-single__content video,
.forum-reply__content video {
	display: block;
	width: 100%;
	max-width: 860px;
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.forum-video-embed {
	max-width: 860px;
	margin: 18px 0;
}

.forum-video-embed iframe,
.forum-single__content iframe,
.forum-reply__content iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border: 0;
	border-radius: 16px;
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.forum-rich-editor__field {
	display: none;
}

.forum-editor-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(4, 8, 16, 0.72);
	backdrop-filter: blur(8px);
}

.forum-editor-modal.is-open {
	display: flex;
}

.forum-editor-modal__panel {
	position: relative;
	width: min(480px, 100%);
	padding: 26px;
	background:
		linear-gradient(145deg, rgba(18, 25, 39, 0.78), rgba(255, 255, 255, 0.055));
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 22px;
	box-shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
}

.forum-editor-modal__panel h2 {
	margin: 0 0 14px;
	color: var(--secho-text);
	font-size: 24px;
	line-height: 1.15;
}

.forum-editor-modal__panel p {
	margin: 0;
	color: var(--secho-muted);
	font-size: 16px;
	line-height: 1.55;
}

.forum-editor-modal__panel p + p {
	margin-top: 10px;
}

.forum-editor-modal__step[hidden] {
	display: none;
}

.forum-editor-modal__label {
	display: block;
	margin: 18px 0 8px;
	color: var(--secho-text);
	font-size: 14px;
	font-weight: 800;
}

.forum-editor-modal__field {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	background: rgba(255, 255, 255, 0.065);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 14px;
	font: inherit;
	font-size: 15px;
	outline: none;
}

.forum-editor-modal__field:focus {
	border-color: rgba(255, 105, 55, 0.72);
	box-shadow: 0 0 0 3px rgba(255, 105, 55, 0.14);
}

.forum-editor-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.forum-editor-modal__actions--split .forum-editor-modal__button {
	flex: 1 1 180px;
}

.forum-editor-modal__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.forum-editor-modal__button:hover,
.forum-editor-modal__button:focus-visible {
	background: rgba(255, 105, 55, 0.16);
	border-color: rgba(255, 105, 55, 0.52);
	outline: none;
	transform: translateY(-1px);
}

.forum-editor-modal__button--primary {
	background: var(--secho-orange);
	color: #fff;
	border-color: transparent;
}

.forum-editor-modal__button--danger {
	background: rgba(255, 105, 55, 0.16);
	color: #fff;
	border-color: rgba(255, 105, 55, 0.52);
}

.forum-editor-modal__button--danger:hover,
.forum-editor-modal__button--danger:focus-visible {
	background: var(--secho-orange);
	border-color: transparent;
}

.forum-editor-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.forum-topics__header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.forum-topics__title {
	flex: 1 1 auto;
	min-width: 220px;
}

.forum-topics__header h2 {
	margin-bottom: 8px;
}

.forum-topics__header p {
	max-width: 620px;
	margin: 0;
	color: var(--secho-muted);
	font-size: 16px;
	line-height: 1.55;
}

.forum-search-form {
	display: flex;
	align-items: center;
	flex: 0 1 360px;
	gap: 10px;
	min-width: 280px;
}

.forum-search-form input {
	width: 100%;
	min-height: 42px;
	padding: 0 16px;
	background: rgba(255, 255, 255, 0.07);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	font: inherit;
	outline: none;
	transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.forum-search-form input::placeholder {
	color: rgba(247, 243, 238, 0.44);
}

.forum-search-form input:focus {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 105, 55, 0.78);
	box-shadow: 0 0 0 4px rgba(255, 105, 55, 0.12);
}

.forum-search-form button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	background: rgba(255, 105, 55, 0.95);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background 180ms ease, transform 180ms ease;
}

.forum-search-form button:hover,
.forum-search-form button:focus-visible {
	background: var(--secho-orange-light);
	outline: none;
	transform: translateY(-1px);
}

.forum-search-form--hero {
	align-self: flex-start;
	width: min(420px, 100%);
	margin-top: 16px;
	margin-left: auto;
}

.forum-new-topic-button {
	flex: 0 0 auto;
	min-width: 150px;
}

.forum-compose--new {
	width: 100%;
	margin-inline: 0;
}

.forum-compose--new .forum-rich-editor {
	min-height: 168px;
}

.forum-compose--new .pill-button,
.forum-compose--reply .pill-button {
	width: fit-content;
	min-width: 170px;
}

.forum-topic-list,
.forum-reply-list {
	display: grid;
	gap: 14px;
}

.forum-pagination {
	margin-top: 24px;
}

.forum-topic {
	margin: 0;
}

.forum-topic__link {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 14px;
	padding: 18px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.forum-reply {
	display: block;
	padding: clamp(18px, 3vw, 24px);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 18px;
	scroll-margin-top: 150px;
	transition: border-color 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.forum-reply:target,
.forum-reply.is-forum-highlighted {
	animation: forum-target-pulse 1400ms ease;
}

@keyframes forum-target-pulse {
	0%,
	100% {
		background: linear-gradient(145deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02));
		border-color: rgba(255, 255, 255, 0.12);
		box-shadow: none;
	}

	28%,
	62% {
		background: linear-gradient(145deg, rgba(255, 105, 55, 0.18), rgba(255, 255, 255, 0.04));
		border-color: rgba(255, 105, 55, 0.58);
		box-shadow: 0 0 0 4px rgba(255, 105, 55, 0.1), 0 20px 54px rgba(0, 0, 0, 0.22);
	}
}

.forum-topic__link:hover,
.forum-topic__link:focus-visible {
	background: rgba(8, 16, 32, 0.5);
	border-color: rgba(255, 105, 55, 0.48);
	transform: translateY(-1px);
}

.forum-topic__avatar {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	margin-top: 1px;
	border-radius: 999px;
	overflow: hidden;
}

.forum-topic__body {
	display: grid;
	min-width: 0;
	gap: 6px;
}

.forum-topic__meta,
.forum-reply__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	color: rgba(221, 226, 237, 0.72);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.forum-topic__meta strong {
	color: var(--secho-text);
	font-weight: 800;
}

.forum-author-card {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
	margin-top: 16px;
	color: rgba(221, 226, 237, 0.72);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.forum-author-card__body {
	display: grid;
	gap: 2px;
}

.forum-author-card__name {
	color: var(--secho-text);
	font-size: 15px;
	font-weight: 800;
}

.forum-author-avatar {
	display: inline-grid;
	place-items: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
	overflow: hidden;
}

.forum-author-avatar__image {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	object-fit: cover;
}

.forum-topic h3 {
	margin: 0;
	color: var(--secho-text);
	font-size: 20px;
	line-height: 1.22;
}

.forum-topic__excerpt {
	color: var(--secho-muted);
	font-size: 15px;
	line-height: 1.55;
}

.forum-topic__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding-top: 8px;
	color: rgba(221, 226, 237, 0.68);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 13px;
	font-weight: 800;
}

.forum-topic-actions,
.forum-form__actions,
.forum-item-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 18px;
}

.forum-item-actions {
	justify-content: space-between;
}

.forum-item-actions--reply {
	margin-top: 16px;
}

.forum-reply-actions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.forum-reply-edit-form {
	margin-top: 14px;
}

.forum-reply-edit-form .forum-form__actions {
	margin-top: 0;
}

.forum-reactions {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.forum-reaction-form {
	margin: 0;
}

.forum-reaction-button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	padding: 0;
	background: transparent;
	color: rgba(247, 243, 238, 0.68);
	border: 0;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: color 160ms ease, opacity 160ms ease, transform 160ms ease;
}

.forum-reaction-button:disabled {
	opacity: 0.55;
	cursor: progress;
}

.forum-reaction-button:hover,
.forum-reaction-button:focus-visible,
.forum-reaction-button.is-active {
	color: var(--secho-orange);
	outline: none;
	transform: translateY(-1px);
}

.forum-reaction-button__icon {
	display: block;
	width: 20px;
	height: 20px;
	background: currentColor;
	mask: center / contain no-repeat;
	-webkit-mask: center / contain no-repeat;
}

.forum-reaction-button__icon--like {
	mask-image: url("../icons/thumb-up.svg");
	-webkit-mask-image: url("../icons/thumb-up.svg");
}

.forum-reaction-button__icon--dislike {
	mask-image: url("../icons/thumb-down.svg");
	-webkit-mask-image: url("../icons/thumb-down.svg");
}

.forum-reaction-button__count {
	min-width: 1ch;
	font-size: 12px;
	line-height: 1;
}

.forum-action-form {
	margin: 0;
}

.forum-action-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 16px;
	background: rgba(255, 255, 255, 0.065);
	color: var(--secho-text);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	font: inherit;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.forum-action-button:hover,
.forum-action-button:focus-visible {
	background: rgba(255, 105, 55, 0.16);
	color: #fff;
	border-color: rgba(255, 105, 55, 0.52);
	outline: none;
	transform: translateY(-1px);
}

.forum-action-button--danger {
	color: #ffd7c9;
	border-color: rgba(255, 105, 55, 0.28);
}

.forum-notice {
	padding: 13px 15px;
	background: rgba(95, 208, 165, 0.14);
	color: #bdf1dc;
	border: 1px solid rgba(95, 208, 165, 0.38);
	border-radius: 14px;
	font-weight: 800;
	transition: opacity 220ms ease, transform 220ms ease;
}

.forum-notice.is-forum-notice-hiding {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-6px);
}

.forum-notice--missing,
.forum-notice--forbidden,
.forum-notice--error {
	background: rgba(255, 105, 55, 0.14);
	color: #ffd7c9;
	border-color: rgba(255, 105, 55, 0.42);
}

.forum-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	color: var(--secho-orange);
	font-size: 14px;
	font-weight: 800;
}

.forum-back-link__icon {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.forum-compose > .forum-back-link,
.forum-single__header > .forum-back-link {
	margin-bottom: 14px;
}

.forum-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.forum-breadcrumb__separator,
.forum-breadcrumb__current {
	color: rgba(247, 243, 238, 0.58);
}

.forum-breadcrumb__current {
	max-width: min(560px, 100%);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.forum-single__header {
	display: grid;
	gap: 14px;
	max-width: 980px;
	margin-bottom: 28px;
}

.forum-single__header .forum-breadcrumb {
	width: fit-content;
	max-width: 100%;
	margin-bottom: 0;
}

.forum-single__header .forum-back-link {
	font-size: 14px;
	letter-spacing: 0;
}

.forum-single__header .forum-back-link__icon {
	width: 18px;
	height: 18px;
}

.forum-single__header .forum-breadcrumb__separator {
	color: rgba(255, 105, 55, 0.58);
}

.forum-single__header .forum-breadcrumb__current {
	max-width: min(360px, 42vw);
	color: rgba(247, 243, 238, 0.52);
	font-size: 13px;
}

.forum-single__header h1 {
	max-width: 880px;
	margin-top: 2px;
	font-size: clamp(44px, 5.7vw, 76px);
	line-height: 0.95;
}

.forum-post-card {
	padding: clamp(18px, 3vw, 24px);
	background:
		linear-gradient(145deg, rgba(18, 25, 39, 0.72), rgba(255, 255, 255, 0.035));
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 22px;
}

.forum-post-card__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
}

.forum-post-card__header .forum-author-card {
	margin-top: 0;
}

.forum-post-card__header .forum-topic-actions {
	margin-top: 0;
}

.forum-post-card__header .forum-action-button {
	min-height: 34px;
	padding-inline: 13px;
	font-size: 13px;
}

.forum-single__content {
	padding: clamp(22px, 4vw, 34px);
	background: rgba(255, 255, 255, 0.035);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 18px;
	color: var(--secho-muted);
	font-size: 17px;
	line-height: 1.65;
}

.forum-post-card > .forum-item-actions {
	padding-top: 14px;
	margin-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.09);
}

.forum-reply__header {
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.forum-reply__header .forum-author-card {
	margin-top: 0;
}

.forum-reply__header .forum-author-avatar {
	width: 34px;
	height: 34px;
	box-shadow: none;
}

.forum-reply__content {
	color: var(--secho-muted);
	font-size: 15px;
	line-height: 1.65;
}

.forum-reply__parent,
.forum-reply-context {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	max-width: 100%;
	padding: 8px 11px;
	background: rgba(255, 105, 55, 0.11);
	color: #ffd7c9;
	border: 1px solid rgba(255, 105, 55, 0.28);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.forum-reply__parent {
	margin-bottom: 14px;
}

.forum-reply-context {
	margin-bottom: 2px;
}

.forum-reply-context[hidden] {
	display: none;
}

.forum-reply-context button {
	padding: 0;
	background: transparent;
	color: var(--secho-text);
	border: 0;
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.forum-reply__content > :first-child {
	margin-top: 0;
}

.forum-reply__content > :last-child {
	margin-bottom: 0;
}

.archive-header,
.entry-header {
	margin-bottom: 28px;
}

.archive-header--intro {
	margin-bottom: 32px;
}

.archive-header--forum {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(24px, 5vw, 70px);
}

.archive-header__content {
	flex: 1 1 auto;
	min-width: 0;
}

.archive-header h1,
.entry-header h1,
.not-found-card h1 {
	margin: 0;
	color: var(--secho-text);
	font-size: clamp(32px, 4vw, 54px);
	line-height: 1.02;
	letter-spacing: 0;
}

.archive-header--intro p {
	max-width: 620px;
	margin: 10px 0 0;
	color: var(--secho-muted);
	font-size: 17px;
	line-height: 1.45;
}

.archive-header--intro::after,
.archive-header--forum .archive-header__content::after {
	display: block;
	width: 58px;
	height: 3px;
	margin-top: 14px;
	background: var(--secho-orange);
	border-radius: 999px;
	content: "";
}

.archive-header--forum::after {
	display: none;
}

.archive-description,
.entry-meta,
.entry-content,
.not-found-card p {
	color: var(--secho-muted);
}

.entry-panel {
	padding: 46px;
	background:
		linear-gradient(145deg, rgba(19, 26, 41, 0.98), rgba(18, 23, 35, 0.94) 68%, rgba(93, 50, 36, 0.58));
	border: 1px solid var(--secho-line);
	border-radius: var(--secho-radius);
	box-shadow: var(--secho-shadow);
}

.entry-panel--full {
	width: min(calc(100% - 40px), 1480px);
}

.page-layout {
	padding: 18px 0 16px;
}

.page-layout--full {
	width: min(calc(100% - 40px), 1480px);
}

.single-post-panel {
	width: min(calc(100% - 40px), 1120px);
	margin-inline: auto;
}

.page-layout .entry-header {
	margin-bottom: 16px;
}

.page-layout .entry-header h1 {
	font-size: clamp(34px, 4.1vw, 56px);
}

.single-post-panel {
	padding: 18px 0 16px;
}

.single-post-panel .entry-header {
	max-width: 980px;
	margin-inline: auto;
	margin-bottom: 28px;
}

.single-post-panel .entry-header h1 {
	font-size: clamp(32px, 3.2vw, 48px);
	line-height: 1.08;
}

.single-post-panel .post-card__badge {
	min-height: 32px;
	margin-bottom: 14px;
	padding: 0 14px;
	border-width: 2px;
	font-size: 16px;
	font-weight: 700;
}

.single-post-panel .entry-meta {
	margin-top: 10px;
	font-size: 17px;
	font-weight: 600;
}

.single-post-panel .entry-content {
	max-width: 980px;
	margin-inline: auto;
}

.single-post-panel .entry-hero {
	max-width: 980px;
	margin-inline: auto;
}

.page-layout:not(.single-post-panel) .entry-content {
	max-width: var(--secho-max);
}

.page-layout .entry-content:has(.of-book-section) {
	width: 100%;
	max-width: none !important;
}

.page-id-65 .page-layout .entry-content {
	width: 100%;
	max-width: none !important;
}

.entry-content:has(.of-book-section) > p:first-child {
	max-width: 720px;
	margin-bottom: clamp(28px, 4vw, 58px);
	color: var(--secho-muted);
	font-size: clamp(18px, 1.4vw, 24px);
	font-weight: 600;
	line-height: 1.25;
}

.entry-hero {
	overflow: hidden;
	margin-bottom: 34px;
	border-radius: 20px;
}

.entry-hero img {
	width: 100%;
	max-height: 560px;
	object-fit: cover;
}

.single-post-panel .entry-hero img {
	height: auto;
	max-height: none;
	object-fit: contain;
}

.entry-content {
	font-size: 18px;
}

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

.entry-content a {
	color: var(--secho-orange);
	font-weight: 700;
}

.entry-content .wp-block-button__link,
.entry-content .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	background: var(--secho-orange);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 14px 38px rgba(255, 105, 55, 0.2);
	transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.entry-content .wp-block-button__link:hover,
.entry-content .wp-block-button__link:focus-visible,
.entry-content .wp-element-button:hover,
.entry-content .wp-element-button:focus-visible {
	background: var(--secho-orange-light);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 18px 42px rgba(255, 105, 55, 0.28);
}

.entry-content img {
	border-radius: 16px;
}

.entry-content blockquote {
	margin-inline: 0;
	padding: 20px 24px;
	border-left: 4px solid var(--secho-orange);
	background: rgba(255, 255, 255, 0.04);
	border-radius: 12px;
}

.pagination-wrap {
	margin-top: 40px;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 12px;
	background: var(--secho-panel);
	border: 1px solid var(--secho-line);
	border-radius: 999px;
	color: var(--secho-text);
	font-weight: 800;
}

.page-numbers.current,
.page-numbers:hover {
	background: var(--secho-orange);
	color: #fff;
}

.empty-state,
.not-found-card {
	text-align: center;
}

.not-found-page {
	padding: 90px 0;
}

.not-found-card {
	padding: 70px 40px;
	background:
		linear-gradient(145deg, rgba(19, 26, 41, 0.99), rgba(20, 26, 40, 0.94) 58%, rgba(255, 105, 55, 0.2));
	border: 1px solid var(--secho-line);
	border-radius: var(--secho-radius);
	box-shadow: var(--secho-shadow);
}

.eyebrow {
	margin: 0 0 8px;
	color: var(--secho-orange);
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.not-found-card > p:not(.eyebrow) {
	max-width: 600px;
	margin: 18px auto 30px;
	font-size: 18px;
}

.not-found-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

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

.search-field {
	width: min(320px, 56vw);
	min-height: 42px;
	padding: 0 14px;
	background: rgba(255, 255, 255, 0.08);
	color: var(--secho-text);
	border: 1px solid var(--secho-line);
	border-radius: 999px;
	outline: none;
}

.search-field:focus {
	border-color: var(--secho-orange);
}

.site-footer {
	padding: 0;
	color: #fff;
	font-size: 14px;
	z-index: 0;
}

.site-footer__inner {
	width: min(calc(100% - 40px), var(--secho-max));
	margin-inline: auto;
	padding: 46px 64px 15px;
	background:
		radial-gradient(circle at 50% 300%, rgba(255, 105, 55, 0.78) 0%, #171923 80%, #11131b 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 64px 64px 0 0;
	box-shadow: var(--secho-shadow);
}

.site-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(170px, 0.62fr) minmax(250px, 0.86fr);
	gap: 60px;
}

.site-footer h2,
.site-footer h3 {
	margin: 0 0 18px;
	font-size: 18px;
	color: #fff;
	font-weight: 700;
}

.site-footer p {
	margin: 0 0 5px;
	color: #fff;
	font-weight: 300;
	line-height: 1.3;
}

.footer-partner {
	width: 112px;
	margin-top: 16px;
	padding: 6px;
	background: #fff;
	border-radius: 10px;
}

.payment-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.payment-logos a {
	display: inline-flex;
	border-radius: 5px;
	transition: opacity 160ms ease, transform 160ms ease;
}

.payment-logos a:hover,
.payment-logos a:focus-visible {
	opacity: 0.82;
	outline: none;
	transform: translateY(-1px);
}

.payment-logos img {
	width: auto;
	height: 30px;
	padding: 0;
	background: #fff;
	border-radius: 5px;
	outline: 2px solid #fff;
	object-fit: contain;
}

.site-footer .menu {
	display: grid;
	gap: 8px;
}

.site-footer .menu a,
.footer-terms-link {
	color: rgba(255, 255, 255, 0.6);
	font-weight: 300;
}

.site-footer .menu a:hover,
.footer-terms-link:hover {
	color: var(--secho-cream);
}

.social-links {
	display: flex;
	gap: 14px;
	margin-top: 18px;
}

.social-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	color: #fff;
	transition: opacity 160ms ease, transform 160ms ease;
}

.social-links a:hover,
.social-links a:focus-visible {
	opacity: 0.78;
	transform: translateY(-1px);
}

.social-links img {
	width: 26px;
	height: 26px;
}

.site-footer__bottom {
	margin-top: 30px;
	padding-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.site-footer__bottom p {
	margin: 0;
	color: #f2e8d8;
	font-size: 18px;
	font-weight: 300;
}

.footer-company-info {
	margin-top: 20px;
	max-width: 450px;
}

.site-footer__contact a {
	color: rgba(255, 255, 255, 0.6);
	font-weight: 300;
	transition: all 160ms ease;
}

.site-footer__contact a:hover {
	color: var(--secho-cream);
}

.site-footer__contact strong {
	color: #fff;
	font-weight: 700;
}

.site-footer__payments-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 42px;
}

.footer-terms-link {
	text-align: right;
	font-size: 13px;
	color: #fff;
	text-transform: uppercase;
}

.site-footer .site-brand {
	color: var(--secho-cream);
	font-size: 30px;
}

.mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 100000;
	pointer-events: none;
	visibility: hidden;
	transition: visibility 240ms ease;
}

.mobile-menu[aria-hidden="false"] {
	pointer-events: auto;
	visibility: visible;
}

.mobile-menu__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 8, 15, 0.34);
	backdrop-filter: blur(10px);
	opacity: 0;
	transition: opacity 240ms ease;
}

.mobile-menu[aria-hidden="false"] .mobile-menu__backdrop {
	opacity: 1;
}

.mobile-menu__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: min(340px, calc(100vw - 72px));
	height: 100%;
	padding: 20px;
	background:
		radial-gradient(circle at 45% 48%, rgba(30, 53, 68, 0.35), transparent 18rem),
		#080d16;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	box-shadow: -28px 0 70px rgba(0, 0, 0, 0.45);
	transform: translateX(100%);
	transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-menu[aria-hidden="false"] .mobile-menu__panel {
	transform: translateX(0);
}

.mobile-menu__close {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-left: auto;
	background: #151d2f;
	border: 0;
	border-radius: 12px;
	cursor: pointer;
	transition: background 180ms ease, transform 180ms ease;
}

.mobile-menu__close:hover,
.mobile-menu__close:focus-visible {
	background: #1d263a;
	transform: scale(1.04);
}

.mobile-menu__close::before,
.mobile-menu__close::after {
	content: "";
	position: absolute;
	width: 24px;
	height: 2px;
	background: #fff;
	border-radius: 999px;
}

.mobile-menu__close::before {
	transform: rotate(45deg);
}

.mobile-menu__close::after {
	transform: rotate(-45deg);
}

.mobile-nav .menu {
	display: grid;
	gap: 6px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

.mobile-nav .admin-header-menu {
	margin-top: 6px;
}

.mobile-nav li {
	position: relative;
}

.mobile-nav a {
	display: flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	color: #fff;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
	transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.mobile-nav a:hover,
.mobile-nav a:focus-visible {
	background: rgba(255, 255, 255, 0.07);
}

.mobile-nav .current-menu-item > a,
.mobile-nav .current_page_item > a {
	background: var(--secho-panel-light);
}

.submenu-toggle {
	position: absolute;
	top: 2px;
	right: 4px;
	width: 40px;
	height: 35px;
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: transform 180ms ease;
}

.submenu-toggle::before,
.submenu-toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 13px;
	height: 2px;
	margin: 0;
	background: #fff;
	border-radius: 999px;
	transform-origin: center;
	transition: transform 180ms ease;
}

.submenu-toggle::before {
	transform: translate(calc(-50% - 4px), -50%) rotate(45deg);
}

.submenu-toggle::after {
	transform: translate(calc(-50% + 4px), -50%) rotate(-45deg);
}

.mobile-nav .sub-menu-wrap {
	display: grid;
	grid-template-rows: 0fr;
	margin: 0 0 0 20px;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition:
		grid-template-rows 260ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 180ms ease,
		transform 220ms ease,
		margin 220ms ease,
		padding 220ms ease;
}

.mobile-nav .sub-menu-wrap > .sub-menu {
	min-height: 0;
	overflow: hidden;
}

.mobile-nav .sub-menu {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-nav .is-open > .sub-menu-wrap {
	grid-template-rows: 1fr;
	margin-bottom: 12px;
	padding-top: 8px;
	opacity: 1;
	transform: translateY(0);
}

.mobile-nav .is-open > .submenu-toggle::before {
	transform: translate(calc(-50% - 4px), -50%) rotate(-45deg);
}

.mobile-nav .is-open > .submenu-toggle::after {
	transform: translate(calc(-50% + 4px), -50%) rotate(45deg);
}

.mobile-nav .sub-menu a {
	min-height: 34px;
	color: var(--secho-muted);
	font-size: 15px;
	font-weight: 600;
}

.mobile-menu__cta {
	width: 100%;
	min-height: 50px;
	margin-top: 14px;
	border-radius: 10px;
	font-size: 20px;
	justify-content: flex-start;
	padding-inline: 18px;
	transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mobile-menu__cta:hover,
.mobile-menu__cta:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 18px 42px rgba(255, 105, 55, 0.28);
}

.has-open-menu {
	overflow: hidden;
}

.has-gallery-lightbox {
	overflow: hidden;
}

.secho-gallery {
	display: grid;
	gap: 32px;
}

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

.secho-gallery__item {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	padding: 0;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--secho-line);
	border-radius: 16px;
	cursor: pointer;
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.22);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.secho-gallery__item:hover,
.secho-gallery__item:focus-visible {
	border-color: rgba(255, 105, 55, 0.75);
	outline: 0;
	transform: translateY(-2px);
	box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34);
}

.secho-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
	transition: transform 260ms ease;
}

.secho-gallery__item:hover img,
.secho-gallery__item:focus-visible img {
	transform: scale(1.04);
}

.secho-gallery__pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.secho-gallery__pagination a {
	display: inline-grid;
	place-items: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 12px;
	background: var(--secho-panel);
	border: 1px solid var(--secho-line);
	border-radius: 999px;
	color: var(--secho-text);
	font-weight: 800;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}

.secho-gallery__pagination-ellipsis {
	display: inline-grid;
	place-items: center;
	min-width: 32px;
	min-height: 42px;
	color: var(--secho-muted);
	font-weight: 800;
}

.secho-gallery__pagination a:hover,
.secho-gallery__pagination a:focus-visible,
.secho-gallery__pagination a.is-active {
	background: var(--secho-orange);
	border-color: var(--secho-orange);
	color: #fff;
	outline: 0;
}

.secho-gallery-lightbox {
	position: fixed;
	z-index: 2000;
	inset: 0;
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr) 76px;
	align-items: center;
	gap: 12px;
	padding: 72px 28px 34px;
	background: rgba(4, 7, 12, 0.92);
	opacity: 0;
	pointer-events: none;
	transition: opacity 180ms ease;
}

.secho-gallery-lightbox.is-open {
	opacity: 1;
	pointer-events: auto;
}

.secho-gallery-lightbox__figure {
	display: grid;
	justify-items: center;
	gap: 16px;
	min-width: 0;
	margin: 0;
}

.secho-gallery-lightbox__figure img {
	max-width: 100%;
	max-height: calc(100vh - 150px);
	object-fit: contain;
	border-radius: 16px;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}

.secho-gallery-lightbox__counter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 14px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
}

.secho-gallery-lightbox__figure figcaption:not(.secho-gallery-lightbox__counter) {
	max-width: min(760px, 100%);
	color: var(--secho-muted);
	font-size: 16px;
	text-align: center;
}

.secho-gallery-lightbox__close,
.secho-gallery-lightbox__nav {
	display: inline-grid;
	place-items: center;
	padding: 0;
	background: transparent;
	border: 0;
	color: transparent;
	cursor: pointer;
	transition: opacity 180ms ease, transform 180ms ease;
}

.secho-gallery-lightbox__close:hover,
.secho-gallery-lightbox__close:focus-visible,
.secho-gallery-lightbox__nav:hover,
.secho-gallery-lightbox__nav:focus-visible {
	outline: 0;
	opacity: 0.84;
	transform: translateY(-1px);
}

.secho-gallery-lightbox__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 46px;
	height: 46px;
	border-radius: 999px;
	background: var(--secho-orange);
	box-shadow: 0 14px 38px rgba(255, 105, 55, 0.24);
}

.secho-gallery-lightbox__close::before,
.secho-gallery-lightbox__close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 22px;
	height: 3px;
	background: #fff;
	border-radius: 999px;
	content: "";
}

.secho-gallery-lightbox__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.secho-gallery-lightbox__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.secho-gallery-lightbox__nav {
	width: 62px;
	height: 62px;
	border-radius: 999px;
	background: url("../images/arrow-up-circle.svg") center / contain no-repeat;
	filter: drop-shadow(0 16px 34px rgba(0, 0, 0, 0.4));
}

.secho-gallery-lightbox__nav--prev {
	transform: rotate(180deg);
}

.secho-gallery-lightbox__nav--prev:hover,
.secho-gallery-lightbox__nav--prev:focus-visible {
	transform: rotate(180deg) translateY(1px);
}

.secho-gallery-lightbox__nav--next {
	justify-self: end;
}

.wpgmza_map {
	border-radius: 20px;
}

.teachers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 30px clamp(20px, 4%, 32px);
}

.teacher {
    display: block;
	min-width: 0;
}

.teacher__image {
    width: 100%;
    aspect-ratio: 3 / 4;
    margin-bottom: 10px;
    overflow: hidden;
}

.teacher__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.teacher__name {
	position: relative;
    margin: 0;
	margin-bottom: 10px;
	padding-left: 14px;
    font-size: 20px;
    font-weight: 400;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
    color: var(--white1);
}

.teacher__name::before {
	position: absolute;
	top: 0.36em;
	left: 0;
	width: 4px;
	height: 0.9em;
	border-radius: 999px;
	background: var(--secho-orange);
	box-shadow: 0 0 16px rgba(255, 105, 55, 0.24);
	content: "";
}

.teacher__bio {
    display: -webkit-box;
    max-height: calc(1.55em * 3);
    overflow: hidden;
    font-size: 16px;
    font-style: italic;
    line-height: 1.55;
    color: #6f6f6f;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.teacher__bio p {
    display: inline;
    margin: 0;
}

.teacher__bio p + p::before {
    content: " ";
}

@media (min-width: 2000px) {
	.hero-slider__track {
		height: clamp(280px, 32vw, 700px);
	}
}

@media (max-width: 1460px) {
	.site-header__inner {
		width: min(calc(100% - 36px), 1480px);
		gap: 14px;
	}

	.primary-nav .menu {
		gap: 18px;
	}

	.primary-nav {
		gap: 18px;
	}

	.primary-nav a {
		font-size: 12px;
	}

	.site-brand,
	.custom-logo-link {
		font-size: 22px;
	}

	.site-brand__mark {
		width: 34px;
		height: 34px;
	}

	.language-slot,
	.header-cta {
		min-height: 32px;
	}

	.header-cta {
		padding-inline: 16px;
	}
}

@media (max-width: 1180px) {
	.site-header__inner {
		grid-template-columns: auto auto;
	}

	.primary-nav,
	.site-header__actions {
		display: none;
	}

	.menu-toggle {
		display: block;
		justify-self: end;
	}

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

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

@media (max-width: 960px) {
	.sponsors,
	.latest-posts {
		display: flex;
		flex-direction: column;
	}

	.home-cards {
		grid-template-columns: 1fr;
	}

	.feature-card--membership,
	.feature-card--forum,
	.feature-card--congress,
	.feature-card--gallery {
		grid-column: 1;
	}

	.feature-card--media,
	.feature-card--gallery {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.feature-card--gallery .feature-card__media {
		order: 0;
	}

	.feature-card__media img {
		height: clamp(130px, 37vw, 184px);
		min-height: 0;
	}

	.sponsors .section-heading,
	.latest-posts .section-heading {
		display: contents;
	}

	.sponsors .section-heading h2,
	.latest-posts .section-heading h2 {
		order: 1;
		margin-bottom: 22px;
	}

	.sponsor-tiers,
	.post-grid {
		order: 2;
	}

	.sponsors .section-heading a,
	.latest-posts .section-heading a {
		order: 3;
		align-self: center;
		justify-content: center;
		width: min(100%, 360px);
		min-height: 40px;
		margin-top: 22px;
		padding: 0 18px;
		background: #fff;
		color: #1a2230;
		border-radius: 999px;
		font-size: 14px;
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
	}

	.sponsors .section-heading a span,
	.latest-posts .section-heading a span {
		width: 20px;
		height: 20px;
		background-color: #1a2230;
	}
}

@media (max-width: 800px) {
	body {
		background-attachment: scroll;
	}

	body::before {
		position: absolute;
		inset: 72px 0 auto;
		height: 780px;
		background:
			radial-gradient(circle at 92% 12%, rgba(255, 105, 55, 0.16), transparent 17rem),
			repeating-radial-gradient(
				ellipse 650px 300px at 96% 1%,
				transparent 0 24px,
				rgba(255, 105, 55, 0.115) 25px 26px,
				transparent 27px 48px
			);
		opacity: 0.82;
		mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
	}

	.sponsors .section-heading a,
	.latest-posts .section-heading a {
		align-self: stretch;
		width: 100%;
	}

	body.admin-bar .site-header {
		top: 0;
	}

	.secho-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.secho-gallery-lightbox {
		grid-template-columns: 1fr 1fr;
		align-content: center;
		padding: 74px 16px 24px;
	}

	.secho-gallery-lightbox__figure {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.secho-gallery-lightbox__nav {
		grid-row: 2;
		width: 52px;
		height: 52px;
		margin-top: 12px;
		font-size: 40px;
	}

	.secho-gallery-lightbox__nav--prev {
		justify-self: start;
	}

	.section-wrap {
		width: min(calc(100% - 40px), var(--secho-max));
	}

	.site-header__inner {
		width: min(calc(100% - 28px), 1480px);
		min-height: 70px;
	}

	.site-brand,
	.custom-logo-link {
		font-size: 22px;
	}

	.hero-slider__track {
		height: clamp(170px, 42vw, 320px);
	}

	.hero-slide img {
		object-position: center;
	}

	.home-cards {
		padding-top: 34px;
	}

	.site-footer__main {
		grid-template-columns: 1fr;
	}

	.feature-card__content,
	.entry-panel {
		padding: 28px;
	}

	.feature-card--membership .feature-card__content,
	.feature-card--gallery .feature-card__content {
		padding: 28px;
	}

	.feature-card {
		min-height: 260px;
		border-radius: 20px;
	}

	.feature-card p {
		font-size: 16px;
	}

	.section-heading {
		align-items: flex-start;
	}

	.post-grid,
	.post-grid--archive {
		grid-template-columns: 1fr;
	}

	.secho-front-posts__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.secho-front-post-actions {
		justify-content: flex-start;
		margin-left: 0;
	}

	.of-book-section,
	.of-book-section--flip {
		flex-direction: column;
		gap: 26px;
		padding-block: 44px;
	}

	.of-book-section__content {
		width: 100%;
	}

	.of-book-section__text {
		max-width: 100%;
	}

	.of-book-section__image-wrap {
		width: 100%;
		margin-top: -18px;
		padding: 18px;
	}

	.of-book-3d-scene {
		width: min(100%, 340px);
	}

	.site-footer__inner {
		width: 100%;
		padding: 36px 30px 26px;
		border-right: 0;
		border-left: 0;
		border-radius: 42px 42px 0 0;
	}

	.site-footer__main {
		gap: 28px;
	}

	.site-footer__nav,
	.site-footer__contact {
		padding-top: 28px;
		border-top: 1px solid rgba(255, 255, 255, 0.18);
	}

	.site-footer .menu {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 22px;
		row-gap: 14px;
		align-items: start;
	}

	.site-footer__contact p br {
		display: none;
	}

	.social-links {
		margin-top: 22px;
	}

	.site-footer__payments-row {
		display: grid;
		align-items: start;
		gap: 18px;
		margin-top: 34px;
	}

	.payment-logos {
		gap: 12px 14px;
	}

	.sponsor-list {
		gap: 24px;
	}

	.sponsor-list__tier {
		padding-top: 10px;
	}

	.sponsor-list__items {
		gap: 14px;
	}

	.sponsor-list__item {
		padding: 0;
	}

	.sponsor-list__logo {
		max-width: 100%;
	}

	.sponsor-list__name {
		font-size: 18px;
	}

	.footer-terms-link {
		text-align: left;
		display: none;
	}

	.site-footer__bottom {
		display: grid;
		margin-top: 34px;
	}

	.teachers {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 560px) {
	.mobile-menu__panel {
		width: min(340px, calc(100vw - 72px));
		min-width: 280px;
		padding: 12px 12px 22px 18px;
	}

	.secho-gallery__grid {
		gap: 10px;
	}

	.secho-gallery-lightbox__figure img {
		max-height: calc(100vh - 180px);
	}

	.secho-gallery-lightbox__figure figcaption {
		font-size: 14px;
	}

	.home-cards {
		padding-top: 20px;
	}

	.feature-card {
		min-height: 0;
		border-radius: 18px;
	}

	.feature-card::before {
		display: none;
	}

	.feature-card__content,
	.entry-panel {
		padding: 22px;
	}

	.feature-card--membership .feature-card__content,
	.feature-card--gallery .feature-card__content {
		padding: 22px;
	}

	.feature-card h1,
	.feature-card h2 {
		margin-bottom: 12px;
		font-size: 22px;
		line-height: 1.08;
	}

	.feature-card p {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 1.22;
	}

	.feature-card__media img {
		height: 130px;
	}

	.pill-button {
		min-height: 36px;
		padding-left: 18px;
		font-size: 14px;
	}

	.pill-button span:last-child {
		width: 20px;
		height: 20px;
	}

	.forum-topics__header {
		display: grid;
	}

	.archive-header--forum {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	.forum-search-form--hero {
		margin-left: 0;
		margin-top: 0;
	}

	.forum-search-form {
		display: grid;
		grid-template-columns: 1fr;
		flex: none;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.forum-search-form input {
		height: 46px;
		min-width: 0;
	}

	.forum-search-form button {
		width: 100%;
		height: 46px;
		min-height: 46px;
	}

	.forum-new-topic-button {
		width: fit-content;
	}

	.forum-single__header {
		gap: 14px;
		margin-bottom: 26px;
	}

	.forum-single__header .forum-breadcrumb__current {
		max-width: 42vw;
	}

	.forum-single__header h1 {
		font-size: clamp(38px, 15vw, 58px);
	}

	.forum-post-card__header {
		display: grid;
	}

	.forum-post-card__header .forum-topic-actions {
		width: 100%;
	}

	.forum-post-card__header .forum-action-button {
		flex: 1 1 120px;
	}

	.mobile-menu__close {
		width: 42px;
		height: 42px;
	}

	.mobile-nav a {
		min-height: 38px;
		padding-inline: 14px;
		font-size: 17px;
	}

	.mobile-menu__cta {
		min-height: 48px;
		font-size: 18px;
	}

	.of-book-section,
	.of-book-section--flip {
		gap: 20px;
		padding-block: 34px;
	}

	.of-book-section__title {
		margin-bottom: 16px;
		font-size: 24px;
	}

	.of-book-section__text {
		padding: 18px;
		font-size: 15px;
		line-height: 1.5;
	}

	.of-book-3d-scene {
		width: min(100%, 250px);
	}

	.of-book-3d {
		transform: rotateY(-6deg) rotateX(1deg);
	}

	.not-found-actions,
	.search-form {
		display: grid;
		width: 100%;
	}

	.search-field {
		width: 100%;
	}
}
@media (max-width: 480px) {
	.teachers {
        grid-template-columns: 1fr;
    }
}
