/*
Theme Name: Foundry Blocks
Theme URI: https://desynverse.com/foundry-blocks
Author: Desynverse
Author URI: https://desynverse.com
Description: A fully-featured, standards-compliant WordPress block (Full Site Editing) starter theme. Ships with a complete theme.json design system, all core templates, template parts, and a set of custom block patterns — ready to install and customize.
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: foundry-blocks
Tags: full-site-editing, block-patterns, custom-colors, custom-menu, editor-style, threaded-comments, translation-ready, wide-blocks

Foundry Blocks is a minimal-opinion FSE starter. All visual defaults live in
theme.json so you can restyle the entire site without touching PHP.
*/

/* Fallback rules only — theme.json drives styling for block themes.
   These exist for safety in contexts (RSS, some plugins) that don't
   read theme.json, and can be freely edited. */
html {
	scroll-behavior: smooth;
}

.foundry-skip-link {
	background: #000;
	color: #fff;
	padding: 0.75em 1.25em;
	position: absolute;
	left: 0;
	top: -100px;
	z-index: 100000;
	transition: top 0.2s ease-in-out;
}

.foundry-skip-link:focus {
	top: 0;
}

.wp-block-foundry-blocks-hero {
	container-type: inline-size;
}

/*submenu dark text*/
.wp-block-navigation__submenu-container {
	background-color: #0B1716 !important;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 10px!important;
	padding: 8px 0;
}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #F2F7F6 !important;
	padding: 10px 20px;

}

.wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: #2BD9C2 !important;
	background-color: rgba(43, 217, 194, 0.08);
}







/* ---------- Sticky header with scroll blur ---------- */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	width: 100%;
	background-color: transparent;
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	box-shadow: none;
	padding-top: 1rem;
	padding-bottom: 1rem;
	transition:
		background-color 0.35s ease,
		backdrop-filter 0.35s ease,
		box-shadow 0.35s ease,
		padding 0.35s ease;
}

.site-header .wp-block-site-title,
.site-header .wp-block-site-title a {
	transition: font-size 0.35s ease;
}

.site-header.is-scrolled {
	background-color: rgba(4, 9, 10, 0.72); /* matches --bg tone, adjust to your palette */
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.site-header.is-scrolled .wp-block-site-title,
.site-header.is-scrolled .wp-block-site-title a {
	font-size: 1rem; /* shrinks from the default ~1.25rem set in theme.json */
}




.site-header .wp-block-navigation-item > a {
	position: relative;
	color: #9FB6B1;
	font-weight: 500;
	padding: 4px 0;
	transition: color 0.2s ease;
}

.site-header .wp-block-navigation-item > a:hover {
	color: #F2F7F6;
}

.site-header .wp-block-navigation-item > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: #2BD9C2;
	transition: width 0.25s ease;
}

.site-header .wp-block-navigation-item > a:hover::after {
	width: 100%;
}



.btn-primary {
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
	border-radius: 999px;
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 30px rgba(111, 242, 222, 0.18);
}

.btn-ghost>a {
	transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
	border-radius: 999px;
}

.btn-ghost>a:hover {
	background-color: #000 !important;
	border-color: #2BD9C2;
	color: #6FF2DE;
	transform: translateY(-2px);
}



.hero-glow {
	position: relative;
	background:
		radial-gradient(ellipse 90% 55% at 50% 122%, rgba(43,217,194,0.42) 0%, rgba(43,217,194,0.20) 28%, rgba(9,25,23,0) 60%),
		linear-gradient(180deg, #04090A 0%, #03070A 55%, #050d0e 100%);
}

.hero-glow::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(ellipse 90% 55% at 50% 122%, rgba(111,242,222,0.28) 0%, rgba(111,242,222,0.12) 28%, rgba(9,25,23,0) 100%);
	animation: hero-glow-pulse 2s ease-in-out infinite;
}

@keyframes hero-glow-pulse {
	0%, 100% { opacity: 0.4; }
	50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.hero-glow::before {
		animation: none;
	}
}

.clean-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

.clean-list li {
	padding-left: 0;
}

.check-list li {
	padding-left: 1.4em;
	text-indent: -1.4em;
}

.check-list li::before {
	content: '✓';
	color: #2BD9C2;
	font-weight: 700;
	margin-right: 8px;
}



/*section results*/

/* ---------- Testimonial slider ---------- */
.testimonial-track-wrap {
	overflow: hidden;
	position: relative;
}

.testimonial-track {
	display: flex;
	gap: 22px;
	transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
	will-change: transform;
	cursor: grab;
}

.testimonial-track.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.testimonial-track > .t-card-quote {
	flex: 0 0 340px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-track > .t-card-quote:hover {
	transform: scale(1.035);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
}

.testimonial-nav {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 12px;
	z-index: 3;
	pointer-events: none; /* lets clicks pass through to cards except on buttons */
}

.tnav-btn {
	width: 42px;
	height: 42px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(7, 15, 15, 0.65);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	color: #F2F7F6;
	cursor: pointer;
	font-size: 17px;
	pointer-events: auto;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.tnav-btn:hover:not(:disabled) {
	background-color: rgba(43, 217, 194, 0.25);
	border-color: #2BD9C2;
	transform: scale(1.06);
}

.tnav-btn:disabled {
	opacity: 0.25;
	cursor: default;
}

.testimonial-track-wrap::before,
.testimonial-track-wrap::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	z-index: 2;
	pointer-events: none;
}

.testimonial-track-wrap::before {
	left: 0;
	background: linear-gradient(90deg, #070F0F, transparent);
}

.testimonial-track-wrap::after {
	right: 0;
	background: linear-gradient(270deg, #070F0F, transparent);
}




/*cta*/
.booking-glow {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 60% at 50% 0%, rgba(43,217,194,0.18), transparent 60%),
		#070F0F;
}




/*SCROLL REVEAL*/

.reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity 0.45s ease, transform 0.45s ease; /* sped up from original 0.8s */
}

.reveal.in {
	opacity: 1;
	transform: translateY(0);
}



/*WP CORE STYLE OVERRIDE*/

.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part {
	margin-block-start: 0 !important;
}



/*ABOUT PAGE CUSTOM CSS*/

.why-row .why-year {
	position: relative;
	padding-left: 24px;
	padding-top: 2px;
}

.why-row .why-year::before {
	content: '';
	position: absolute;
	left: 0;
	top: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #2BD9C2;
	box-shadow: 0 0 0 4px rgba(43, 217, 194, 0.14);
}

.why-row .why-year::after {
	content: '';
	position: absolute;
	left: 3px;
	top: 19px;
	bottom: -38px;
	width: 1px;
	background: linear-gradient(rgba(255, 255, 255, 0.08), transparent);
}

.why-row.is-last .why-year::after {
	display: none;
}

.why-grid .why-row {
	margin-bottom: 38px;
}

.why-grid .why-row:last-child {
	margin-bottom: 0;
}


/*section*/

.compare-list {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.compare-row {
	padding: 36px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.compare-old {
	text-align: right;
}

.compare-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
}

.compare-new {
	background: linear-gradient(120deg, rgba(43, 217, 194, 0.07), transparent 75%);
	border-left: 2px solid #2BD9C2;
	border-radius: 0 10px 10px 0;
	padding: 20px 24px;
}



/* Color fixes — this pattern references color slugs from a different
   theme's palette (primary/secondary/base), which don't exist in
   Foundry Blocks. These force them to the correct site colors. */
.has-secondary-color {
	color: #6FF2DE !important;
}

.has-base-color {
	color: #F2F7F6 !important;
}

.has-primary-background-color {
	background-color: #04090A !important;
}

/* Flip-card hover effect */
.flip-card {
	perspective: 1200px;
	height: 100%;
}

.flip-card-inner {
	display: grid;
	height: 100%;
	transform-style: preserve-3d;
	transition: transform 0.4s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.flip-card:hover .flip-card-inner {
	transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
	grid-area: 1 / 1;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.flip-card-back {
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}




/*values*/
.value-list {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	max-width: 820px;
	margin: 0 auto;
}

.value-row {
	display: grid;
	grid-template-columns: 1fr 34px 1fr;
	align-items: center;
	gap: 16px;
	padding: 28px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.value-row .from {
	text-align: right;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 500;
	font-size: 16.5px;
	color: #5E726E;
}

.value-row .arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2BD9C2;
}

.value-row .arrow svg {
	width: 16px;
	height: 16px;
}

.value-row .to {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 19px;
	color: #F2F7F6;
}

.value-row .desc {
	grid-column: 1 / -1;
	color: #9FB6B1;
	font-size: 13.8px;
	margin-top: 8px;
	padding-left: calc(50% + 17px);
}

/* Mobile: stack vertically instead of side-by-side */
@media (max-width: 640px) {
	.value-row {
		grid-template-columns: 1fr;
		text-align: left;
		gap: 8px;
	}
	.value-row .from {
		text-align: left;
	}
	.value-row .arrow {
		justify-content: flex-start;
		transform: rotate(90deg);
	}
	.value-row .desc {
		padding-left: 0;
	}
}




/*The System Page*/

/* ---------- Hero flow-diagram animation ---------- */
.flow-line {
	fill: none;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-dasharray: 5 9;
	opacity: 0.7;
	animation: flowDash 3.4s linear infinite;
}

@keyframes flowDash {
	to {
		stroke-dashoffset: -140;
	}
}

.flow-line.f1 {
	stroke: #6FF2DE;
}

.flow-line.f2 {
	stroke: #2BD9C2;
	animation-delay: 0.5s;
	opacity: 0.55;
}

.flow-line.f3 {
	stroke: #1E9E8E;
	animation-delay: 1s;
	opacity: 0.45;
}

.flow-node {
	fill: #6FF2DE;
	filter: drop-shadow(0 0 10px rgba(111, 242, 222, 0.9));
}

.flow-pulse {
	fill: none;
	stroke: rgba(111, 242, 222, 0.55);
	stroke-width: 1;
	transform-origin: 452px 208px;
	animation: flowRipple 3s ease-out infinite;
	opacity: 0;
}

.flow-pulse.p2 {
	animation-delay: 1s;
}

@keyframes flowRipple {
	0% { transform: scale(0.4); opacity: 0.7; }
	100% { transform: scale(2.4); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.flow-line,
	.flow-pulse {
		animation: none;
	}
}





.numbered-row {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 22px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
}

.numbered-row .n {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(111, 242, 222, 0.3);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 2;
	background: #070F0F;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 12.5px;
	color: #6FF2DE;
	flex-shrink: 0;
	margin: 0;
}

.numbered-row:not(.is-last) .n::after {
	content: '';
	position: absolute;
	top: 30px;
	left: 50%;
	width: 1px;
	height: calc(100% + 22px);
	background: linear-gradient(rgba(255, 255, 255, 0.08), rgba(111, 242, 222, 0.15));
	transform: translateX(-50%);
}

.numbered-row p {
	margin: 0;
	
}


.diff-list {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
	counter-reset: diffnum;
	
}

.diff-list li {
	position: relative;
	padding: 20px 0 20px 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin: 0;
}

.diff-list li::before {
	counter-increment: diffnum;
	content: counter(diffnum, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 20px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 700;
	font-size: 12px;
	color: #2BD9C2;
	letter-spacing: 0.05em;
}



.chart-grid {
	stroke: rgba(255, 255, 255, 0.08);
	stroke-width: 1;
}

.chart-axis-label {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	fill: #5E726E;
}

.chart-area {
	fill: url(#compGrad);
	opacity: 0.9;
}

.chart-line-flat {
	fill: none;
	stroke: #5E726E;
	stroke-width: 2;
	stroke-dasharray: 3 6;
	opacity: 0.55;
}

.chart-line-comp {
	fill: none;
	stroke: #6FF2DE;
	stroke-width: 2.6;
	stroke-linecap: round;
	stroke-dasharray: 420;
	stroke-dashoffset: 420;
	animation: drawChart 1.8s ease forwards;
}

@keyframes drawChart {
	to {
		stroke-dashoffset: 0;
	}
}

.chart-glow-dot {
	fill: #6FF2DE;
	filter: drop-shadow(0 0 8px rgba(111, 242, 222, 0.9));
}

.chart-badge-bg {
	fill: #0B1716;
	stroke: rgba(111, 242, 222, 0.4);
	stroke-width: 1;
}

.chart-badge-text {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 12px;
	font-weight: 700;
	fill: #6FF2DE;
}

.chart-legend {
	gap: 22px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (prefers-reduced-motion: reduce) {
	.chart-line-comp {
		animation: none;
		stroke-dashoffset: 0;
	}
}



/*page Ai Transformation*/

/* ---------- Hero + Booking rings ---------- */
.ring {
	fill: none;
	stroke: rgba(111, 242, 222, 0.35);
	stroke-width: 1;
}
.ring.r2 { r: 320; opacity: 0.7; }
.ring.r3 { r: 420; opacity: 0.45; }
.ring.r4 { r: 520; opacity: 0.25; }



/* ---------- Journey rail ---------- */
.jitem:not(.is-last)::after {
	content: '';
	position: absolute;
	left: 27px;
	top: 56px;
	bottom: -52px;
	width: 1px;
	background: linear-gradient(rgba(111,242,222,0.2), rgba(255,255,255,0.08));
}
.jitem {
	position: relative;
	padding-left: 76px;
	margin-bottom: 52px;
}
.jitem.is-last { margin-bottom: 0; }
.jnum {
	position: absolute;
	left: 0;
	top: 0;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #0B1716;
	border: 1px solid rgba(111,242,222,0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 800;
	font-size: 19px;
	color: #6FF2DE;
	margin: 0;
}
.jcard {
	background: #0B1716;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px;
	padding: 30px 28px;
	transition: border-color 0.3s ease;
}
.jcard:hover { border-color: rgba(111,242,222,0.28); }
.jbadge {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #2BD9C2;
	background: rgba(43,217,194,0.08);
	border: 1px solid rgba(111,242,222,0.2);
	border-radius: 999px;
	padding: 5px 12px;
	margin-bottom: 12px;
}
.jchecks {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 20px;
}
.jcheck-item {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	font-size: 13.5px;
	color: #9FB6B1;
	margin: 0;
}

/* ---------- Flex cards ---------- */

.flex-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.flex-li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14.3px;
	color: #9FB6B1;
	margin: 0;
}

/* ---------- Model cards ---------- */
.model-card {
	background: #0B1716;
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 18px;
	padding: 30px 26px;
	transition: border-color 0.3s ease, transform 0.3s ease;
}
.model-card:hover {
	border-color: rgba(111,242,222,0.3);
	transform: translateY(-3px);
}
.micon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(150deg, rgba(43,217,194,0.16), rgba(43,217,194,0.03));
	border: 1px solid rgba(111,242,222,0.25);
}
.micon svg { width: 20px; height: 20px; stroke: #6FF2DE; }
.mrow {
	padding-top: 14px;
	border-top: 1px solid rgba(255,255,255,0.08);
	margin-top: 4px;
}
.mlabel {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #2BD9C2;
	margin-bottom: 4px;
}

@media (max-width: 782px) {
	.jchecks { grid-template-columns: 1fr; }
	.jitem { padding-left: 64px; }
}




/*AI Training Page*/



/*enhanced page solutions*/

.found-box {
	fill: none;
	stroke: #2BD9C2;
	stroke-width: 1px;
	border-radius: 0px;
}

.found-label {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 18px;
	font-weight: 700;
	fill: #F2F7F6;
}

.found-line {
	fill: none;
	stroke: #6FF2DE;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-dasharray: 5 8;
	opacity: 0.75;
	animation: foundDash 3s linear infinite;
}

@keyframes foundDash {
	to { stroke-dashoffset: -130; }
}

.found-node {
	fill: #6FF2DE;
	filter: drop-shadow(0 0 8px rgba(111, 242, 222, 0.85));
}

.found-pulse {
	fill: none;
	stroke: rgba(111, 242, 222, 0.5);
	stroke-width: 1;
	transform-box: fill-box;
	transform-origin: center;
	animation: foundRipple 3s ease-out infinite;
	opacity: 0;
}

@keyframes foundRipple {
	0% { transform: scale(0.4); opacity: 0.75; }
	100% { transform: scale(2.6); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.found-line, .found-pulse {
		animation: none;
	}
}