/**
 * Styles for the About ON1 page
 *
 * @copyright   2026, ON1
 */

/* !- Buttons */
.section-block .btn,
.cta-section .btn {
	padding: 0.9375rem 1.875rem;
}

/* !- Hero */
.hero {
	align-items: center;
	aspect-ratio: 2880 / 900;
	background: url(https://ononesoft.cachefly.net/images/company/desert-sunset-photo-edited-with-on1-photo-raw@2x.jpg) center center no-repeat;
	background-size: cover;
	display: flex;
	margin-top: 0;
	max-width: 100%;
	min-height: 450px;
	position: relative;
}

@media (max-width: 575.98px) {
	.hero {
		min-height: 640px;
	}
}

.hero::before {
	background: radial-gradient(ellipse 62% 85% at 50% 50%, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.3) 45%, rgba(0, 0, 0, 0) 72%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

@media (max-width: 991.98px) {
	.hero::before {
		background: rgba(0, 0, 0, 0.65);
	}
}

.hero .eyebrow {
	background: rgba(33, 206, 110, 0.067);
	border: 1px solid rgba(33, 206, 110, 0.267);
	border-radius: 0.25em;
	display: inline-block;
	padding: 0.25rem 0.75rem;
}

.hero-h1 {
	color: var(--white);
	font-size: var(--text-6xl);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.08;
	margin-bottom: 1rem;
}

/* !- Intro strip & 4-up grid */
.intro-strip {
	background: var(--bg-850);
	padding: 5rem 0;
}

.intro-strip-wrapper {
	padding: 0 4.375rem;
}

.four-up-item {
	background: var(--bg);
	border: 1px solid var(--border-subtle);
	padding: 2rem 1.75rem;
}

.four-up-icon {
	font-size: 2rem;
	margin-bottom: 1rem;
}

.four-up-item h4 {
	color: var(--text);
	font-size: var(--text-base);
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 0.625rem;
}

.four-up-item p {
	color: var(--text-subtle);
	font-size: var(--text-sm);
	line-height: 1.6;
	margin: 0;
}

/* !- Our story */
#our-story .section-body {
	margin-bottom: 0;
}

/* !- Timeline */
#timeline .timeline-nav {
	margin-left: 3rem;
	margin-right: 3rem;
	position: relative;
}

#timeline .timeline-track {
	-ms-overflow-style: none;
	border-bottom: 3px solid #8fe9cf;
	display: flex;
	gap: 0.25rem;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

#timeline .timeline-track::-webkit-scrollbar {
	display: none;
}

#timeline .nav-slide {
	background: transparent;
	border: 0;
	color: var(--slate-500);
	cursor: pointer;
	flex: 0 0 auto;
	font: inherit;
	padding: 0 0 0.4rem;
	position: relative;
}

#timeline .nav-slide span {
	border-radius: 0.3rem;
	display: inline-block;
	font-size: var(--text-sm);
	line-height: 1;
	padding: 0.25rem 0.5rem;
	transition: background 0.15s ease, color 0.15s ease;
}

#timeline .nav-slide:hover span {
	background: #8fe9cf;
	color: var(--bg-900);
}

#timeline .nav-slide.is-current span {
	color: #8fe9cf;
	font-size: var(--text-xl);
	font-weight: 900;
}

#timeline .nav-slide.is-current:hover span {
	background: transparent;
	color: #8fe9cf;
}

#timeline .nav-slide.is-current::after {
	border-bottom: 10px solid #8fe9cf;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	bottom: -3px;
	content: '';
	height: 0;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 0;
}

#timeline .timeline-arrow {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--text-300);
	cursor: pointer;
	display: flex;
	height: 36px;
	justify-content: center;
	padding: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
}

#timeline .timeline-arrow:hover {
	color: var(--white);
}

#timeline .timeline-arrow.prev {
	left: -2.5rem;
}

#timeline .timeline-arrow.next {
	right: -2.5rem;
}

#timeline .timeline-arrow i {
	font-size: var(--text-2xl);
}

#timeline .timeline-content {
	margin-top: 2.5rem;
}

#timeline .content-slide {
	align-items: center;
	animation: tl-fade 0.35s ease;
	display: flex;
	gap: 1.75rem;
}

#timeline .content-slide[hidden] {
	display: none;
}

#timeline .ts-media {
	flex: 0 0 38%;
	max-width: 38%;
}

#timeline .ts-frame {
	align-items: center;
	background: var(--slate-900);
	border: 1px solid var(--border-subtle);
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	min-height: 15rem;
	overflow: hidden;
	padding: 1.5rem;
}

#timeline .ts-frame img {
	border-radius: 0.5rem;
	display: block;
	margin: 0;
	max-width: 100%;
}

#timeline .ts-body {
	flex: 1 1 auto;
}

#timeline .ts-body .eyebrow::before {
	background: currentColor;
	border-radius: 50%;
	content: '';
	height: 0.5rem;
	width: 0.5rem;
}

#timeline .ts-body .eyebrow {
	align-items: center;
	display: inline-flex;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

#timeline .ts-body h3 {
	font-size: var(--text-lg);
	font-weight: 700;
	margin-bottom: 0.75rem;
}

#timeline .ts-body p:not(.eyebrow) {
	color: var(--slate-300);
	font-size: var(--text-sm);
	line-height: 1.45;
}

@keyframes tl-fade {
	from {
		opacity: 0;
		transform: translateY(6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	#timeline .timeline-track {
		scroll-behavior: auto;
	}

	#timeline .content-slide {
		animation: none;
	}
}

@media (max-width: 767.98px) {
	#timeline .timeline-nav {
		margin-left: 2rem;
		margin-right: 2rem;
	}

	#timeline .timeline-arrow {
		width: 32px;
	}

	#timeline .timeline-arrow.prev {
		left: -2rem;
	}

	#timeline .timeline-arrow.next {
		right: -2rem;
	}

	#timeline .content-slide {
		flex-direction: column;
		gap: 1.5rem;
	}

	#timeline .ts-media {
		flex-basis: auto;
		max-width: 100%;
		width: 100%;
	}
}

/* !-Experts */
.expert-heading {
	padding: 5rem 0 4.375rem;
}

.expert-heading p {
	color: var(--text-muted);
}

.expert.section-block {
	padding-bottom: 5rem;
	padding-top: 0;
}

.expert .section-h2 {
	font-size: var(--text-2xl);
}

.expert .section-copy {
	padding-bottom: 0;
	padding-top: 0;
}

/* !- Philosophy */
#philosophy .section-h2 {
	margin-bottom: 0;
}

#philosophy .col-lg-6.section-copy {
	padding: 5rem 4.375rem 5rem;
}

#philosophy .beliefs-wrapper {
	padding: 0 4.375rem 5rem 4.375rem;
}

.belief-item {
	border-bottom: 1px solid var(--border-subtle);
	cursor: default;
	gap: 1.75rem;
	padding: 2.5rem 0 2.5rem 1.5rem;
	position: relative;
	transition: padding-left 0.2s ease;
}

.belief-item:first-child {
	border-top: 1px solid var(--border-subtle);
}

.belief-accent-bar {
	bottom: 0;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity 0.2s ease;
	width: 3px;
}

.belief-item:hover .belief-accent-bar {
	opacity: 1;
}

.belief-item:hover {
	padding-left: 2.5rem;
}

.belief-item h3 {
	color: var(--white);
	font-size: var(--text-xl);
	font-weight: 700;
}

.belief-item p {
	color: var(--text-300);
	font-size: var(--text-base);
}

.belief-number {
	color: var(--green);
	font-size: var(--text-mini);
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-top: 5px;
	min-width: 28px;
	opacity: 0.7;
}

.belief-icon-wrap {
	border-radius: 0.375rem;
	height: 2.75em;
	margin-top: 1px;
	min-width: 2.75em;
	width: 2.75em;
}

.belief-icon-wrap i {
	font-size: 1.25rem;
}

.b1 .belief-accent-bar {
	background: var(--green);
}

.b1 .belief-icon-wrap {
	background: rgba(33, 206, 110, 0.1);
}

.b2 .belief-accent-bar {
	background: var(--blue);
}

.b2 .belief-icon-wrap {
	background: rgba(10, 126, 250, 0.1);
}

.b3 .belief-accent-bar {
	background: var(--orange);
}

.b3 .belief-icon-wrap {
	background: rgba(254, 132, 42, 0.1);
}

.b4 .belief-accent-bar {
	background: var(--purple);
}

.b4 .belief-icon-wrap {
	background: rgba(145, 79, 255, 0.1);
}

/* !- Education */
#education {
	background: var(--bg-850);
	padding-bottom: 5rem;
}

#education .col-lg-8.section-copy {
	background: var(--bg-850);
	padding: 5rem 4.375rem 4.375rem;
}

.stat-bar {
	background: var(--bg);
	border: 1px solid var(--border-subtle);
	border-radius: 0.375rem;
	overflow: hidden;
}

.stat-item {
	background: var(--bg);
	border-inline-end: 1px solid var(--border-subtle);
	padding: 3.75rem 2.5rem;
}

.stat-bar .col:last-child .stat-item {
	border-inline-end: 0;
}

@media (max-width: 991.98px) {
	.stat-bar .col:nth-child(2n) .stat-item {
		border-inline-end: 0;
	}

	.stat-bar .col:nth-child(-n+2) .stat-item {
		border-block-end: 1px solid var(--border-subtle);
	}
}

.stat-number {
	color: var(--white);
	font-size: var(--text-4xl);
	font-weight: 900;
	letter-spacing: -1px;
	line-height: 1;
	margin-bottom: 0.5rem;
}

.stat-desc {
	color: var(--text-subtle);
	font-size: var(--text-sm);
	line-height: 1.6;
}

/* !- Promise */
.promise-block::before {
	color: rgba(33, 206, 110, 0.1);
	content: '"';
	font-family: var(--serif);
	font-size: 240px;
	font-weight: 900;
	left: 50%;
	line-height: 1;
	pointer-events: none;
	position: absolute;
	top: -3.5rem;
	transform: translateX(-50%);
}

/* !- Learning */
#learning {
	padding-top: 7.5rem;
}

/* !- Community */
.community-bg {
	background:
		radial-gradient(ellipse at 70% 40%, rgba(10, 126, 250, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse at 20% 80%, rgba(33, 206, 110, 0.10) 0%, transparent 50%),
		radial-gradient(ellipse at 85% 85%, rgba(146, 66, 148, 0.14) 0%, transparent 45%),
		linear-gradient(160deg, #0d1a14 0%, #0d1520 40%, #1a0d1f 100%);
	inset: 0;
	position: absolute;
	z-index: 0;
}

.community-bg::after {
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
	content: '';
	inset: 0;
	opacity: 0.4;
	position: absolute;
	z-index: 0;
}

.community-inner {
	padding: 5rem 0;
	position: relative;
	z-index: 2;
}

.channel-tile {
	background: var(--slate-900);
	border: 1px solid var(--border-subtle);
	border-radius: 0.375rem;
	cursor: pointer;
	gap: 1rem;
	overflow: hidden;
	padding: 2rem 1.5rem 1.75rem;
	position: relative;
	text-decoration: none;
	transition: background 0.18s, border-color 0.18s, transform 0.18s;
}

.channel-tile::before {
	content: '';
	height: 3px;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.18s;
}

.channel-tile:hover {
	background: var(--slate-800);
	transform: translateY(-3px);
}

.channel-tile:hover::before {
	opacity: 1;
}

#community .cta-note {
	font-size: var(--text-sm);
	text-align: center;
}

/* Per-channel accent colors */
.tile-blog::before {
	background: var(--green);
}

.tile-yt::before {
	background: var(--red);
}

.tile-webinars::before {
	background: var(--blue);
}

.tile-newsletter::before {
	background: var(--purple);
}

.tile-blog .tile-icon-wrap i,
.tile-blog .tile-link {
	color: var(--green);
}

.tile-yt .tile-icon-wrap i,
.tile-yt .tile-link {
	color: var(--red);
}

.tile-webinars .tile-icon-wrap i,
.tile-webinars .tile-link {
	color: var(--blue);
}

.tile-newsletter .tile-icon-wrap i,
.tile-newsletter .tile-link {
	color: var(--purple);
}

.tile-blog:hover .tile-icon-wrap {
	background: rgba(33, 206, 110, 0.15);
}

.tile-yt:hover .tile-icon-wrap {
	background: rgba(255, 61, 87, 0.15);
}

.tile-webinars:hover .tile-icon-wrap {
	background: rgba(10, 126, 250, 0.15);
}

.tile-newsletter:hover .tile-icon-wrap {
	background: rgba(146, 66, 148, 0.15);
}

.tile-icon-wrap {
	background: rgba(255, 255, 255, 0.07);
	border-radius: 0.375rem;
	flex-shrink: 0;
	height: 3.5em;
	transition: background 0.18s;
	width: 3.5em;
}

.tile-icon-wrap i {
	font-size: 1.5rem;
}

.tile-label {
	color: var(--white);
	font-size: var(--text-base);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.tile-desc {
	color: var(--text-muted);
	font-size: var(--text-sm);
	line-height: 1.55;
	text-align: center;
}

.tile-link {
	font-size: var(--text-xs);
	gap: 5px;
	margin-top: auto;
	text-decoration: none;
}

/* !- Social icons */
.social-row-label {
	color: var(--slate-400);
	font-size: var(--text-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-right: 6px;
	text-transform: uppercase;
}

.social-icon {
	border: 1px solid var(--slate-800);
	border-radius: 0.375rem;
	cursor: pointer;
	height: 2.5rem;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s;
	width: 2.5rem;
}

.social-icon:hover {
	background: var(--slate-800);
	border: 1px solid var(--border-subtle);
}

.social-icon i {
	color: var(--slate-200);
	font-size: var(--text-base);
}

.social-icon:hover i {
	color: var(--white);
}
