/* Lyor Opps system layer: shared tokens and stable component foundations. */
:root {
	--lyor-opps-color-ink: #181512;
	--lyor-opps-color-muted: #5c544b;
	--lyor-opps-color-surface: #f7f3ee;
	--lyor-opps-color-line: rgba(24, 21, 18, 0.12);
	--lyor-opps-color-accent: #c5a059;
	--lyor-opps-focus-ring: rgba(197, 160, 89, 0.28);
	--lyor-opps-font-sub: var(--lyor-font-subtitle, var(--p-font-primary, inherit));
	--lyor-opps-font-title: var(--lyor-font-heading, var(--p-font-primary, inherit));
	--lyor-opps-font-text: var(--lyor-font-primary-text, var(--p-font-secondary, inherit));
	--lyor-opps-font-button: var(--lyor-font-button, var(--lyor-font-primary-text, var(--p-font-secondary, inherit)));
	--lyor-opps-font-secondary: var(--lyor-font-secondary, var(--p-font-secondary, inherit));
	--lyor-opps-space-xs: 0.5rem;
	--lyor-opps-space-sm: 1rem;
	--lyor-opps-space-md: 1.5rem;
	--lyor-opps-space-lg: 2.5rem;
	--lyor-opps-space-xl: 4rem;
	--lyor-opps-radius-pill: 999px;
	--lyor-opps-transition: 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.lyor-opps-button-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.lyor-opps-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: var(--lyor-opps-radius-pill);
	background: var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink));
	color: var(--lyor-opps-btn-primary-color, var(--lyor-opps-color-surface));
	text-decoration: none;
	font-family: var(--lyor-opps-font-button);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1;
	white-space: nowrap;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	-webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	backface-visibility: hidden;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
	transition:
		transform var(--lyor-opps-transition),
		background-color var(--lyor-opps-transition),
		color var(--lyor-opps-transition),
		border-color var(--lyor-opps-transition),
		box-shadow var(--lyor-opps-transition),
		opacity var(--lyor-opps-transition);
}

.lyor-opps-button > * {
	position: relative;
	z-index: 1;
}

.lyor-opps-button.is-primary {
	background: var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink));
	color: var(--lyor-opps-btn-primary-color, var(--lyor-opps-color-surface));
	border-color: var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink));
}

.lyor-opps-button.is-secondary {
	background: var(--lyor-opps-btn-secondary-bg, transparent);
	color: var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink));
	border-color: var(--lyor-opps-btn-secondary-border, var(--lyor-opps-color-line));
}

.lyor-opps-button.hover-lift:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 26px rgba(18, 15, 11, 0.1);
}

.lyor-opps-button.hover-soft:hover {
	opacity: 0.88;
	box-shadow: 0 10px 20px rgba(18, 15, 11, 0.08);
}

.lyor-opps-button.hover-slide:hover {
	transform: translateX(3px);
	box-shadow: none;
}

.lyor-opps-button.hover-none:hover {
	transform: none;
	box-shadow: none;
}

.lyor-opps-button:focus-visible {
	outline: none;
	box-shadow:
		0 0 0 1px rgba(24, 21, 18, 0.12),
		0 0 0 6px var(--lyor-opps-focus-ring);
}

.lyor-opps-button__label {
	position: relative;
	z-index: 1;
	display: inline-grid;
	justify-items: center;
}

.lyor-opps-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05em;
	height: 1.05em;
	flex: 0 0 auto;
	font-size: 1em;
	overflow: visible;
	color: var(--lyor-opps-btn-icon-color, currentColor);
}

.lyor-opps-button__icon i,
.lyor-opps-button__icon svg {
	display: block;
	width: 1em;
	height: 1em;
	color: inherit;
}

.lyor-opps-button__icon svg,
.lyor-opps-button__icon svg *,
.lyor-opps-button__icon i::before {
	fill: currentColor;
	stroke: currentColor;
}

.lyor-opps-button:hover .lyor-opps-button__icon {
	color: var(--lyor-opps-btn-icon-hover-color, currentColor);
}

.lyor-opps-button.preset-outline-fill {
	background: transparent;
	border-color: currentColor;
}

.lyor-opps-button.preset-outline-fill.is-primary {
	color: var(--lyor-opps-btn-outline-color, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
	border-color: var(--lyor-opps-btn-outline-color, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-outline-fill.is-secondary {
	color: var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink));
	border-color: var(--lyor-opps-btn-secondary-border, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-outline-fill.is-primary:hover {
	background: var(--lyor-opps-btn-outline-hover-bg, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
	color: var(--lyor-opps-btn-outline-hover-color, var(--lyor-opps-color-surface));
	border-color: var(--lyor-opps-btn-outline-hover-bg, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-outline-fill.is-secondary:hover {
	background: var(--lyor-opps-btn-secondary-hover-bg, rgba(27, 23, 19, 0.05));
	color: var(--lyor-opps-btn-secondary-hover-color, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
	border-color: var(--lyor-opps-btn-secondary-hover-border, var(--lyor-opps-btn-secondary-border, var(--lyor-opps-color-line)));
}

.lyor-opps-button.preset-solid {
	border-color: transparent;
}

.lyor-opps-button.preset-split-fill {
	background: transparent;
	color: var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink));
	border-color: var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink));
	--lyor-opps-btn-split-segment: calc(14% + 12px);
	--lyor-opps-btn-split-segment-min: 48px;
	min-height: 50px;
	padding-inline: 15px;
	gap: 8px;
}

.lyor-opps-button.preset-split-fill::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--lyor-opps-btn-split-segment);
	min-width: var(--lyor-opps-btn-split-segment-min);
	background: var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink));
	border-radius: inherit;
	transition:
		width 0.34s cubic-bezier(0.22, 1, 0.36, 1),
		background-color var(--lyor-opps-transition);
	z-index: 0;
}

.lyor-opps-button.preset-split-fill.icon-after::before {
	inset: 0 0 0 auto;
}

.lyor-opps-button.preset-split-fill .lyor-opps-button__icon {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: var(--lyor-opps-btn-split-segment);
	min-width: var(--lyor-opps-btn-split-segment-min);
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--lyor-opps-btn-primary-color, var(--lyor-opps-color-surface)) !important;
	z-index: 1;
}

.lyor-opps-button.preset-split-fill .lyor-opps-button__icon svg,
.lyor-opps-button.preset-split-fill .lyor-opps-button__icon svg *,
.lyor-opps-button.preset-split-fill .lyor-opps-button__icon i::before {
	color: inherit !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.lyor-opps-button.preset-split-fill.icon-before .lyor-opps-button__icon {
	left: 0;
}

.lyor-opps-button.preset-split-fill.icon-after .lyor-opps-button__icon {
	right: 0;
	left: auto;
	transform: translateY(-50%);
}

.lyor-opps-button.preset-split-fill.icon-before {
	padding-left: max(calc(var(--lyor-opps-btn-split-segment) + 6px), calc(var(--lyor-opps-btn-split-segment-min) + 6px));
}

.lyor-opps-button.preset-split-fill.icon-after {
	padding-right: max(calc(var(--lyor-opps-btn-split-segment) + 6px), calc(var(--lyor-opps-btn-split-segment-min) + 6px));
}

.lyor-opps-button.preset-split-fill:hover {
	color: var(--lyor-opps-btn-primary-hover-color, var(--lyor-opps-color-surface));
	border-color: var(--lyor-opps-btn-primary-hover-bg, var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-split-fill:hover::before {
	width: 100%;
	background: var(--lyor-opps-btn-primary-hover-bg, var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-split-fill:hover .lyor-opps-button__icon {
	color: var(--lyor-opps-btn-primary-hover-color, var(--lyor-opps-color-surface)) !important;
}

.lyor-opps-button.preset-split-fill.icon-fx-slide:hover .lyor-opps-button__icon,
.lyor-opps-button.preset-split-fill.icon-fx-lift:hover .lyor-opps-button__icon,
.lyor-opps-button.preset-split-fill.icon-fx-turn:hover .lyor-opps-button__icon {
	transform: translateY(-50%);
}

.lyor-opps-button.preset-solid.is-primary:hover {
	background: var(--lyor-opps-btn-primary-hover-bg, var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink)));
	color: var(--lyor-opps-btn-primary-hover-color, var(--lyor-opps-btn-primary-color, var(--lyor-opps-color-surface)));
	border-color: var(--lyor-opps-btn-primary-hover-bg, var(--lyor-opps-btn-primary-bg, var(--lyor-opps-color-ink)));
}

.lyor-opps-button.preset-solid.is-secondary:hover {
	background: var(--lyor-opps-btn-secondary-hover-bg, var(--lyor-opps-btn-secondary-bg, transparent));
	color: var(--lyor-opps-btn-secondary-hover-color, var(--lyor-opps-btn-secondary-color, var(--lyor-opps-color-ink)));
	border-color: var(--lyor-opps-btn-secondary-hover-border, var(--lyor-opps-btn-secondary-border, var(--lyor-opps-color-line)));
}

.lyor-opps-button.preset-text {
	min-height: auto;
	padding-inline: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.lyor-opps-button.preset-text:hover {
	transform: translateX(3px);
	background: transparent;
	box-shadow: none;
}

.lyor-opps-button.preset-text.hover-none:hover {
	transform: none;
}

.lyor-opps-button.preset-text::after {
	content: "";
	width: 0;
	height: 1px;
	background: currentColor;
	transition: width var(--lyor-opps-transition);
}

.lyor-opps-button.preset-text:hover::after {
	width: 14px;
}

.lyor-opps-header__logo-link:focus-visible,
.lyor-opps-header__item-link:focus-visible,
.lyor-opps-header__sub-link:focus-visible,
.lyor-opps-header__menu-link:focus-visible,
.lyor-opps-header__menu-toggle:focus-visible,
.lyor-opps-header__menu-footer-button:focus-visible,
.lyor-opps-header__burger:focus-visible,
.lyor-opps-header__close:focus-visible,
.lyor-opps-footer__menu-link:focus-visible,
.lyor-opps-footer__legal a:focus-visible,
.lyor-opps-footer__credit-link:focus-visible,
.loig__main:focus-visible,
.loig__thumb:focus-visible,
.loig__nav-button:focus-visible {
	outline: none;
	box-shadow: 0 0 0 5px var(--lyor-opps-focus-ring);
}

.lyor-opps-header__item-link:focus-visible,
.lyor-opps-header__sub-link:focus-visible,
.lyor-opps-header__menu-link:focus-visible,
.lyor-opps-header__menu-toggle:focus-visible,
.lyor-opps-footer__menu-link:focus-visible,
.lyor-opps-footer__legal a:focus-visible,
.lyor-opps-footer__credit-link:focus-visible {
	border-radius: 12px;
}

.lyor-opps-header,
.lyor-opps-header * {
	box-sizing: border-box;
}

.lyor-opps-header {
	position: relative;
	z-index: 40;
	color: var(--lyor-opps-header-link, var(--lyor-opps-color-surface));
}

.lyor-opps-header__shell,
.lyor-opps-header__inner {
	background: transparent;
}

.lyor-opps-header__inner {
	color: var(--lyor-opps-header-link, var(--lyor-opps-color-surface));
	border: 0;
	box-shadow: none;
}

.lyor-opps-header__logo-link,
.lyor-opps-header__item-link,
.lyor-opps-header__sub-link,
.lyor-opps-header__menu-footer-button,
.lyor-opps-header__button,
.lyor-opps-header__burger,
.lyor-opps-header__close {
	color: inherit;
	text-decoration: none;
}

.lyor-opps-header__item-link,
.lyor-opps-header__sub-link {
	color: var(--lyor-opps-header-link, var(--lyor-opps-color-surface));
}

.lyor-opps-header__burger,
.lyor-opps-header__weather,
.lyor-opps-header__button {
	color: var(--lyor-opps-header-link, var(--lyor-opps-color-surface));
}

.lyor-opps-sub,
.lyor-opps-title,
.lyor-opps-text {
	max-width: 100%;
	min-width: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.lyor-opps-sub {
	display: inline-block;
	font-family: var(--lyor-opps-font-sub);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-wrap: pretty;
	opacity: 0.94;
}

.lyor-opps-title {
	margin: 0;
	font-family: var(--lyor-opps-font-title);
	line-height: 1;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.lyor-opps-text {
	font-family: var(--lyor-opps-font-text);
	line-height: 1.7;
	text-wrap: pretty;
}

.lyor-opps-text p {
	margin: 0;
	text-wrap: pretty;
}

.lyor-opps-text p + p {
	margin-top: 12px;
}

.lyor-opps-ht__title,
.lyor-opps-it__title,
.lyor-opps-ts__title,
.lomc-card__title,
.lyor-opps-footer__column-title,
.lyor-opps-header__item-label,
.lyor-opps-header__sub-link,
.lyor-opps-header__menu-toggle,
.lyor-opps-header__menu-link {
	font-family: var(--lyor-opps-font-title);
}

.lyor-opps-footer__description,
.lyor-opps-footer__description p,
.lyor-opps-footer__menu-link,
.lyor-opps-footer__legal,
.lyor-opps-footer__legal a,
.lyor-opps-footer__credit,
.lyor-opps-footer__credit-link,
.lyor-opps-footer__contact-line,
.lyor-opps-header__menu-description,
.lyor-opps-header__menu-description p,
.lyor-opps-header__weather-temp,
.lyor-opps-header__weather-label,
.lyor-opps-header__close-label,
.lyor-opps-ts__description,
.lyor-opps-ts__description p,
.lyor-opps-ts__quote,
.lyor-opps-ts__name,
.lyor-opps-ts__origin,
.lomc-card__meta,
.lomc-card__meta-item,
.lomc-card__description,
.lomc-card__description p,
.lyor-opps-it__icon-text,
.lyor-opps-it__copy,
.lyor-opps-it__copy p {
	font-family: var(--lyor-opps-font-text);
	text-wrap: pretty;
}

.lyor-opps-footer__column-kicker,
.lyor-opps-header__menu-kicker,
.lyor-opps-header__burger-label,
.lyor-opps-header__weather,
.lyor-opps-ts__stars,
.lomc-card__eyebrow,
.lomc-card__meta-label {
	font-family: var(--lyor-opps-font-secondary);
}

.lyor-opps-header__button,
.lyor-opps-header__menu-footer-button,
.lyor-opps-header__close,
.lyor-opps-footer .lyor-opps-button,
.lyor-opps-ts .lyor-opps-button,
.lyor-opps-it .lyor-opps-button,
.lyor-opps-ht .lyor-opps-button,
.lomc-card__hover-button {
	font-family: var(--lyor-opps-font-button);
}

.lyor-opps-header__item-link,
.lyor-opps-header__sub-link,
.lyor-opps-header__menu-link,
.lyor-opps-header__menu-toggle,
.lyor-opps-footer__menu-link,
.lyor-opps-footer__legal a,
.lyor-opps-footer__credit-link {
	-webkit-tap-highlight-color: transparent;
	transition:
		color var(--lyor-opps-transition),
		opacity var(--lyor-opps-transition),
		transform var(--lyor-opps-transition);
}

.lyor-opps-header__item-link:hover,
.lyor-opps-header__sub-link:hover,
.lyor-opps-header__menu-link:hover,
.lyor-opps-header__menu-toggle:hover,
.lyor-opps-footer__menu-link:hover,
.lyor-opps-footer__legal a:hover,
.lyor-opps-footer__credit-link:hover {
	opacity: 0.78;
}

@media (max-width: 1024px) {
	.lyor-opps-button {
		min-height: 44px;
		padding: 0 16px;
		font-size: 11px;
		gap: 9px;
	}

	.lyor-opps-button.preset-split-fill {
		padding-inline: 13px;
		gap: 5px;
	}

	.lyor-opps-button.preset-split-fill.icon-before {
		padding-left: max(calc(var(--lyor-opps-btn-split-segment) + 6px), calc(var(--lyor-opps-btn-split-segment-min) + 6px));
	}

	.lyor-opps-button.preset-split-fill.icon-after {
		padding-right: max(calc(var(--lyor-opps-btn-split-segment) + 6px), calc(var(--lyor-opps-btn-split-segment-min) + 6px));
	}
}

@media (max-width: 767px) {
	.lyor-opps-button {
		min-height: 42px;
		font-size: 11px;
		gap: 8px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lyor-opps-button,
	.lyor-opps-button::after,
	.lyor-opps-header *,
	.lyor-opps-footer *,
	.loig__main,
	.loig__main::after,
	.loig__main-image,
	.loig__thumb,
	.loig__nav-button {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}
