html {
	scroll-behavior: smooth;
}

:root {
	--gradi-bg-start: #02030d;
	--gradi-bg-mid: #111150;
	--gradi-bg-end: #302fda;
	--gradi-panel: #093d78;
	--gradi-orange: #df912f;
	--gradi-green: #77b83f;
	--gradi-white: #f7f7fb;
}

.gradi-page {
	background: var(--gradi-bg-start);
	scroll-padding-top: 80px;
}

.gradi-main {
	overflow: hidden;
	color: var(--gradi-white);
	font-family: "Montserrat", "Lexend", Arial, sans-serif;
	background: linear-gradient(
		90deg,
		var(--gradi-bg-start) 0%,
		var(--gradi-bg-mid) 48%,
		var(--gradi-bg-end) 100%
	);
}

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

.gradi-panel {
	position: relative;
	min-height: min(100vh, 760px);
	background: linear-gradient(
		90deg,
		var(--gradi-bg-start) 0%,
		var(--gradi-bg-mid) 48%,
		var(--gradi-bg-end) 100%
	);
	overflow: hidden;
}

/* ═══════════════════════════════════════════════════════
   SCROLL ANIMATIONS — professional, seamless, per-section
   ═══════════════════════════════════════════════════════ */

/* Base: all panels start hidden */
.reveal {
	opacity: 0;
	will-change: transform, opacity;
}

/* Default panels: rise up smoothly */
.gradi-panel.reveal {
	transform: translateY(36px);
	transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Split sections (solution, benefits): slide in from image side */
.solution-section.reveal,
.benefits-section.reveal {
	transform: translateX(-40px);
	transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Works diagram: scale up — like a stage reveal */
.works-section.reveal {
	transform: scale(0.96);
	transition: opacity 1s cubic-bezier(0.16, 1, 0.3, 1),
		transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

/* WHY GRADIANTE full image: fade + very slight zoom */
.why-section.reveal {
	transform: scale(1.02);
	transition: opacity 1.1s ease, transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* CTA: pure fade — it fills the whole viewport */
.cta-section.reveal {
	transform: none;
	transition: opacity 1s ease;
}

/* Visible state — all sections */
.reveal.is-visible {
	opacity: 1;
	transform: none !important;
}

/* Hero stays at top: instant */
.gradi-hero-section.reveal {
	opacity: 1;
	transform: none;
	transition: none;
}

/* ── Per-element stagger inside sections ─────────────────────── */

/* Feature cards cascade in */
.features-section.is-visible .feature-card {
	animation: cardRise 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.features-section.is-visible .feature-card:nth-child(1) {
	animation-delay: 0.05s;
}
.features-section.is-visible .feature-card:nth-child(2) {
	animation-delay: 0.18s;
}
.features-section.is-visible .feature-card:nth-child(3) {
	animation-delay: 0.31s;
}
.features-section.is-visible .feature-card:nth-child(4) {
	animation-delay: 0.44s;
}

@keyframes cardRise {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Triptych images fan in */
.assess-section.is-visible .image-triptych img,
.predict-section.is-visible .image-triptych img {
	animation: imgFanIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.assess-section.is-visible .image-triptych img:nth-child(1),
.predict-section.is-visible .image-triptych img:nth-child(1) {
	animation-delay: 0s;
}
.assess-section.is-visible .image-triptych img:nth-child(2),
.predict-section.is-visible .image-triptych img:nth-child(2) {
	animation-delay: 0.14s;
}
.assess-section.is-visible .image-triptych img:nth-child(3),
.predict-section.is-visible .image-triptych img:nth-child(3) {
	animation-delay: 0.28s;
}

@keyframes imgFanIn {
	from {
		opacity: 0;
		transform: translateY(32px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

/* Process number circle pops in */
.process-section.is-visible .process-number {
	animation: numberPop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s both;
}

@keyframes numberPop {
	from {
		opacity: 0;
		transform: scale(0.5);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Process heading slides up after number */
.process-section.is-visible .process-header h2 {
	animation: headingSlide 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.25s both;
}

@keyframes headingSlide {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Wide rip image sweeps up */
.analyze-section.is-visible .wide-rip-image {
	animation: wideImageReveal 1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}

@keyframes wideImageReveal {
	from {
		opacity: 0;
		transform: translateY(40px) scaleY(0.96);
	}
	to {
		opacity: 1;
		transform: translateY(0) scaleY(1);
	}
}

/* Gold rule in CTA draws from left */
.cta-section.is-visible .gold-rule {
	animation: ruleExpand 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}

@keyframes ruleExpand {
	from {
		transform: scaleX(0);
		transform-origin: left;
	}
	to {
		transform: scaleX(1);
		transform-origin: left;
	}
}

/* CTA text lines stagger in */
.cta-section.is-visible .cta-copy h2 {
	animation: headingSlide 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}
.cta-section.is-visible .cta-copy p:not(.cta-line) {
	animation: headingSlide 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.35s both;
}
.cta-section.is-visible .cta-line {
	animation: headingSlide 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.5s both;
}
.cta-section.is-visible .cta-actions {
	animation: headingSlide 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.65s both;
}

/* Curiosity Q&A articles stagger */
.curiosity-section.is-visible .curiosity-qa article {
	animation: cardRise 0.6s cubic-bezier(0.16, 1, 0.3, 1) both;
}
.curiosity-section.is-visible .curiosity-qa article:nth-child(1) {
	animation-delay: 0.1s;
}
.curiosity-section.is-visible .curiosity-qa article:nth-child(2) {
	animation-delay: 0.25s;
}
.curiosity-section.is-visible .curiosity-qa article:nth-child(3) {
	animation-delay: 0.4s;
}

/* ── DEVELOP — plain full-width image ──────────────────────────── */
.runner-slices {
	display: none;
}

.develop-image {
	display: block;
	width: 100%;
	max-width: none;
	height: clamp(300px, 38vw, 520px);
	object-fit: cover;
	object-position: center 40%;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity 1s ease, transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.develop-section.is-visible .develop-image {
	opacity: 1;
	transform: scale(1);
}

.works-diagram.is-visible {
	animation: imgFanIn 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.works-dot,
.works-label {
	transition: all 0.4s ease;
}

.curiosity-qa {
	transition: background 0.3s ease;
}

.curiosity-qa article {
	transition: transform 0.3s ease;
}

.curiosity-qa article:hover {
	transform: translateX(6px);
}

.path-node,
.path-label {
	transition: all 0.4s ease;
}

.gold-rule {
	transition: transform 0.8s ease;
}

.gradi-section-container {
	max-width: 1440px;
	margin: 0 auto;
	padding: clamp(42px, 4.2vw, 72px) clamp(28px, 5vw, 78px);
}

.gradi-hero-section {
	width: calc(100% - clamp(30px, 6vw, 88px));
	min-height: clamp(430px, 39vw, 560px);
	margin: 0 auto;
}

.hero-panel__image,
.hero-panel__shade {
	position: absolute;
	inset: 0;
}

.hero-panel__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.hero-panel__shade {
	background: linear-gradient(
		90deg,
		rgba(3, 4, 17, 0.95) 0%,
		rgba(5, 8, 27, 0.83) 30%,
		rgba(7, 22, 45, 0.25) 64%,
		rgba(7, 24, 46, 0.08) 100%
	);
}

.hero-panel__content {
	position: relative;
	z-index: 1;
	width: min(470px, 48%);
	padding: clamp(38px, 4.6vw, 64px) 0 42px clamp(30px, 4.1vw, 66px);
}

.hero-kicker {
	margin: 0 0 clamp(34px, 4vw, 54px);
	font-size: clamp(23px, 2.35vw, 34px);
	font-weight: 400;
	line-height: 1.15;
}

.hero-title {
	margin: 0;
	color: #ffffff;
	font-size: clamp(35px, 4.2vw, 56px);
	font-weight: 800;
	line-height: 1.34;
}

.hero-title span,
.section-kicker,
.decision-title span,
.benefits-title span,
.orange-note,
.why-copy span,
.curiosity-section span,
.cta-line span {
	color: var(--gradi-orange);
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hero-copy {
	max-width: 410px;
	margin: clamp(24px, 2.8vw, 36px) 0 0;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(15px, 1.45vw, 20px);
	font-weight: 400;
	line-height: 1.45;
}

.hero-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: clamp(26px, 3vw, 40px);
	padding: 15px 24px;
	border-radius: 8px;
	background: var(--gradi-orange);
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	box-shadow: 0 8px 24px rgba(223, 145, 47, 0.3);
	position: relative;
	overflow: hidden;
}

.hero-button::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: #c87d28;
	transition: left 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	z-index: -1;
}

.hero-button:hover::before,
.hero-button:focus::before {
	left: 0;
}

.hero-button:hover,
.hero-button:focus {
	color: #ffffff;
	background: #c87d28;
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(223, 145, 47, 0.4);
}

.decision-title {
	margin: 0 0 clamp(42px, 4.8vw, 68px);
	color: #ffffff;
	font-size: clamp(28px, 3.2vw, 48px);
	font-weight: 800;
	line-height: 1.1;
}

.decision-grid {
	--bs-gutter-x: clamp(36px, 7vw, 110px);
}

.decision-card {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.decision-card h3 {
	min-height: 72px;
	margin: 0 0 22px;
	color: rgba(255, 255, 255, 0.9);
	font-size: clamp(20px, 2vw, 30px);
	font-weight: 400;
	line-height: 1.4;
}

.decision-frame {
	position: relative;
	width: min(100%, 540px);
	height: clamp(320px, 32vw, 455px);
	margin: 0 auto;
	overflow: hidden;
	isolation: isolate;
	transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1),
		box-shadow 0.7s ease;
}

.decision-frame::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.12) 0%,
		rgba(255, 255, 255, 0) 42%,
		rgba(223, 145, 47, 0.12) 100%
	);
	z-index: 2;
	pointer-events: none;
}

.decision-frame::after {
	content: "";
	position: absolute;
	inset: -18% auto -18% -48%;
	width: 46%;
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.24) 48%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: rotate(16deg);
	opacity: 0;
	z-index: 3;
	pointer-events: none;
}

.decision-fail-section.is-visible .decision-card:nth-child(1) .decision-frame {
	animation: decisionFloat 6.5s ease-in-out 0.25s infinite;
}

.decision-fail-section.is-visible .decision-card:nth-child(2) .decision-frame {
	animation: decisionFloat 6.5s ease-in-out 1.4s infinite;
}

.decision-frame--question {
	border-radius: 22px 10px 0 0;
	box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24);
}

.decision-frame--chess {
	border-radius: 14px 70px 14px 14px;
	padding: 6px;
	background: linear-gradient(135deg, #1d1f8d 0%, #2c2de1 56%, #171651 100%);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24), 0 0 0 1px rgba(61, 92, 255, 0.38);
}

.decision-card:hover .decision-frame,
.decision-card:focus-within .decision-frame {
	transform: translateY(-8px);
}

.decision-card:hover .decision-frame::after,
.decision-card:focus-within .decision-frame::after {
	opacity: 1;
	animation: frameSweep 1.05s ease;
}

.decision-visual {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	object-fit: cover;
	background: linear-gradient(90deg, var(--gradi-bg-mid), var(--gradi-bg-end));
	transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
		box-shadow 0.8s ease;
}

.decision-visual--question {
	border-radius: inherit;
	object-position: center center;
}

.decision-visual--chess {
	border-radius: 10px 62px 10px 10px;
	object-position: center 54%;
}

.decision-card:hover .decision-visual,
.decision-card:focus-within .decision-visual {
	transform: scale(1.04);
}

.decision-caption {
	margin: clamp(26px, 3vw, 42px) auto 0;
	color: #ffffff;
	font-size: clamp(18px, 1.75vw, 27px);
	font-weight: 400;
	line-height: 1.45;
}

.decision-caption span {
	color: var(--gradi-orange);
	font-weight: 700;
}

.impact-section {
	min-height: 720px;
}

.impact-visual {
	position: absolute;
	inset: 0 0 0 43%;
	overflow: hidden;
	border-top-left-radius: 58% 47%;
	z-index: 0;
}

.impact-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba(18, 17, 84, 0.62) 0%,
		rgba(18, 17, 84, 0.08) 28%,
		rgba(18, 17, 84, 0) 100%
	);
}

.impact-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.impact-content {
	position: relative;
	z-index: 2;
	min-height: 720px;
	padding: clamp(42px, 4.2vw, 66px) clamp(34px, 4.6vw, 64px);
}

.impact-copy {
	width: min(700px, 50vw);
}

.impact-copy h2 {
	margin: 0 0 clamp(48px, 5vw, 74px);
	color: #ffffff;
	font-size: clamp(23px, 2.4vw, 36px);
	font-weight: 400;
	line-height: 1.38;
}

.impact-copy strong,
.highlight-list strong,


.impact-list {
	margin: 0 0 clamp(34px, 3.6vw, 50px);
}

.impact-list h3 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: clamp(19px, 1.8vw, 28px);
	font-weight: 800;
}

.impact-list ul li,
.split-copy ul li,
.feature-card ul li,
.scale-impact-copy ul li {
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.impact-list ul li:hover,
.split-copy ul li:hover,
.feature-card ul li:hover,
.scale-impact-copy ul li:hover {
	transform: translateX(8px);
	color: var(--gradi-orange);
}

.impact-list ul,
.split-copy ul,
.feature-card ul,
.scale-impact-copy ul {
	margin: 0;
	padding-left: 1.35em;
}

.impact-list li,
.split-copy li,
.feature-card li,
.scale-impact-copy li {
	padding-left: 0.2em;
}

.impact-list ul {
	color: #ffffff;
	font-size: clamp(17px, 1.62vw, 25px);
	line-height: 1.6;
}

.impact-closing {
	margin: clamp(36px, 4vw, 58px) 0 0;
	width: min(430px, 100%);
	max-width: 430px;
	color: var(--gradi-orange);
	font-size: clamp(21px, 2vw, 30px);
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

.solution-section {
	position: relative;
}

.solution-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--gradi-orange) 0%, #093d78 100%);
	z-index: 10;
}

.split-section {
	display: grid;
	grid-template-columns: 55% 45%;
	align-items: stretch;
}

.split-media {
	overflow: hidden;
}

.split-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}

.split-media--left {
	border-top-right-radius: 54% 100%;
}

.solution-section .split-media img {
    object-fit:cover;        
    object-position: center center;
             
}

.solution-section {
	grid-template-columns: 52% 48%;
}

.benefits-section {
    grid-template-columns: 50% 50%;
    background: #161656;  
}

.split-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(42px, 5.2vw, 78px);
	color: rgba(255, 255, 255, 0.88);
}

.split-copy h2 {
	margin: 0 0 28px;
	color: #ffffff;
	font-size: clamp(28px, 3vw, 44px);
	font-weight: 400;
	line-height: 1.35;
}

.split-copy h3 {
	margin: 26px 0 7px;
	color: #ffffff;
	font-size: clamp(18px, 1.6vw, 24px);
	font-weight: 800;
}

.split-copy p,
.split-copy li {
	font-size: clamp(17px, 1.6vw, 23px);
	line-height: 1.55;
}

.section-kicker {
	margin: 0 0 22px;
	font-size: clamp(32px, 3.6vw, 52px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	color: var(--gradi-orange);
}

.orange-note {
	margin: 28px auto 0;
	font-weight: 800;
	text-align: center;
	color: var(--gradi-orange);
	font-size: clamp(17px, 1.6vw, 23px);
	line-height: 1.45;
}

.benefits-title {
	font-size: clamp(26px, 2.8vw, 40px) !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: #ffffff !important;
}

.large-line {
	margin-bottom: 28px;
	color: #ffffff;
	font-size: clamp(26px, 2.8vw, 38px) !important;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3;
}

.features-section {
	min-height: 690px;
}

.features-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(34px, 4.5vw, 64px) clamp(44px, 5vw, 72px);
	max-width: 1180px;
	margin: 0 auto;
}

.feature-card {
	padding: clamp(24px, 2.4vw, 36px);
	background: #0d3560;
	color: rgba(255, 255, 255, 0.9);
	border-radius: 2px;
}

.feature-card h3 {
	margin: 0 0 14px;
	color: #ffffff;
	font-size: clamp(17px, 1.7vw, 24px);
	font-weight: 800;
}

.feature-card p,
.feature-card li {
	font-size: clamp(15px, 1.45vw, 21px);
	line-height: 1.5;
}

.feature-arrows {
	position: absolute;
	left: 50%;
	top: 50%;
	width: clamp(150px, 15vw, 190px);
	height: clamp(150px, 15vw, 190px);
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 3;
}

.feature-arrows::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 36px;
	height: 36px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(
		circle,
		rgba(63, 51, 167, 0.72) 0%,
		rgba(29, 22, 118, 0.3) 55%,
		rgba(29, 22, 118, 0) 100%
	);
	filter: blur(2px);
}

.feature-arrow {
	--angle: 0deg;
	position: absolute;
	display: block;
	width: clamp(66px, 5.6vw, 82px);
	height: 18px;
	color: transparent;
	font-size: 0;
	line-height: 0;
	transform-origin: 0 50%;
	filter: drop-shadow(0 0 16px rgba(223, 145, 47, 0.35));
	animation: arrowPulse 2.4s cubic-bezier(0.34, 1.56, 0.64, 1) infinite;
}

.feature-arrow::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: calc(100% - 16px);
	height: 4px;
	border-radius: 999px;
	background: linear-gradient(
		90deg,
		rgba(223, 145, 47, 0.98) 0%,
		rgba(223, 145, 47, 0.82) 100%
	);
	transform: translateY(-50%);
	box-shadow: 0 0 18px rgba(223, 145, 47, 0.32);
}

.feature-arrow::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 0;
	height: 0;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 16px solid var(--gradi-orange);
	transform: translateY(-50%);
	filter: drop-shadow(0 0 16px rgba(223, 145, 47, 0.38));
}

.feature-arrow--nw {
	left: calc(50% - 16px);
	top: calc(50% - 23px);
	--angle: -135deg;
}

.feature-arrow--ne {
	left: calc(50% + 16px);
	top: calc(50% - 23px);
	--angle: -45deg;
}

.feature-arrow--sw {
	left: calc(50% - 16px);
	top: calc(50% + 5px);
	--angle: 135deg;
}

.feature-arrow--se {
	left: calc(50% + 16px);
	top: calc(50% + 5px);
	--angle: 45deg;
}

.feature-arrow--ne,
.feature-arrow--sw {
	animation-delay: 0.18s;
}

@keyframes arrowPulse {
	0%,
	100% {
		opacity: 0.75;
		transform: rotate(var(--angle)) scale(1);
		filter: drop-shadow(0 0 12px rgba(223, 145, 47, 0.3));
	}
	50% {
		opacity: 1;
		transform: rotate(var(--angle)) translateX(6px) scale(1.06);
		filter: drop-shadow(0 0 32px rgba(223, 145, 47, 0.6));
	}
}

.works-section {
	display: grid;
	place-items: center;
	min-height: 690px;
}

.works-diagram {
	position: relative;
	width: min(680px, 78vw);
	aspect-ratio: 1;
}

.works-ring {
	position: absolute;
	inset: 12%;
	border: 2px solid rgba(255, 255, 255, 0.65);
	border-radius: 50%;
}

.works-center {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	color: #ffffff;
	font-size: clamp(44px, 5.5vw, 72px);
	font-weight: 300;
	line-height: 1.25;
	text-align: center;
	letter-spacing: 0.04em;
}

.works-dot,
.path-node {
	position: absolute;
	width: 36px;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--gradi-orange);
}

.dot-assess {
	top: 10%;
	left: 50%;
	transform: translateX(-50%);
}

.dot-analyze {
	top: 33%;
	right: 12%;
	background: #f53630;
}

.dot-predict {
	right: 15%;
	bottom: 28%;
	background: #00aee8;
}

.dot-develop {
	left: 15%;
	bottom: 28%;
	background: #e7a5eb;
}

.dot-repeat {
	top: 32%;
	left: 13%;
	background: #7cc638;
}

.works-label {
	position: absolute;
	color: #ffffff;
	font-size: clamp(21px, 2.2vw, 31px);
	font-weight: 400;
	letter-spacing: 0.03em;
}

.label-assess {
	top: 3%;
	left: 50%;
	transform: translateX(-50%);
}

.label-analyze {
	top: 38%;
	right: -14%;
}

.label-predict {
	right: -9%;
	bottom: 20%;
}

.label-develop {
	left: -9%;
	bottom: 20%;
}

.label-repeat {
	top: 38%;
	left: -12%;
	color: var(--gradi-orange);
	
}

.process-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-height: 690px;
	padding: 0 clamp(34px, 5vw, 76px) clamp(34px, 4vw, 62px);
}

.process-header {
	position: relative;
	width: 100%;
	padding-top: clamp(80px, 10vw, 136px);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.process-line {
	position: absolute;
	top: 0;
	left: 50%;
	width: 2px;
	height: clamp(58px, 8vw, 112px);
	background: rgba(255, 255, 255, 0.7);
	transform: translateX(-50%);
}

.process-number {
	display: inline-grid;
	place-items: center;
	width: 54px;
	aspect-ratio: 1;
	margin-bottom: 30px;
	border: 1.5px solid var(--gradi-orange);
	border-radius: 50%;
	color: #ffffff;
	font-size: 24px;
}

.process-header h2 {
	margin: 0 0 12px;
	color: #ffffff;
	font-size: clamp(31px, 3vw, 42px);
	font-weight: 300;
	letter-spacing: 0.18em;
}

.process-header p {
	margin: 0 auto 42px;
	color: rgba(255, 255, 255, 0.82);
	font-size: clamp(18px, 1.95vw, 30px);
	line-height: 1.35;
	font-weight: 300;
}

.image-triptych {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(34px, 5.5vw, 76px);
	width: min(1180px, 92vw);
}

.image-triptych img,
.wide-rip-image {
	width: 100%;
	object-fit: cover;
	clip-path: polygon(
		0 9%,
		12% 4%,
		27% 8%,
		42% 3%,
		60% 8%,
		75% 4%,
		100% 8%,
		100% 92%,
		84% 96%,
		67% 91%,
		50% 96%,
		35% 92%,
		18% 97%,
		0 92%
	);
}

.image-triptych img {
	height: clamp(280px, 30vw, 400px);
}

.image-triptych--wide img {
	clip-path: none;
	border-radius: 0 72px 0 0;
}

.wide-rip-image {
	width: min(100vw, 1440px);
	height: clamp(280px, 31vw, 420px);
}

.runner-slices {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 4px;
	width: min(100vw, 1440px);
	height: clamp(290px, 34vw, 460px);
	background: #0a0a3a;
}

.runner-slices span {
	position: relative;
	overflow: hidden;
}

.runner-slices span:nth-child(even) {
	transform: translateY(22px);
}

.runner-slices span:nth-child(3n) {
	transform: translateY(44px);
}

.runner-slices img {
	width: 1200%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	transform: translateX(calc(var(--slice) * -8.333333%));
}


.scale-impact-section {
	position: relative;
	min-height: 720px;
}

.scale-impact-section > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

/* TEXT CONTAINER */
.scale-impact-copy {
	position: relative;
	z-index: 2;

	width: min(630px, 48vw);

	
	margin-left: auto;
	margin-right: clamp(40px, 6vw, 100px);

	
	padding: clamp(70px, 7vw, 110px) 0;

	color: #ffffff;
	font-family: "Quicksand", sans-serif;
}

/* HEADING */
.scale-impact-copy h2 {
	margin: 0 0 16px;
	font-size: clamp(34px, 3.5vw, 48px);
	font-weight: 700;
	color: var(--gradi-orange);
	letter-spacing: 1px;
}

/* SUBTITLE */
.impact-subtitle {
	font-size: clamp(20px, 2vw, 26px);
	margin-bottom: 18px;
	color: rgba(255, 255, 255, 0.9);
}

/* LINE */
.gold-rule {
	height: 2px;
	width: 100%;
	margin: 20px 0 30px;
	background: var(--gradi-orange);
}

/* MAIN TEXT */
.scale-impact-copy p {
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.6;
	margin-bottom: 20px;
	color: rgba(255, 255, 255, 0.9);
}

/* LIST */
.scale-impact-copy ul {
	padding-left: 18px;
	margin-top: 10px;
}

.scale-impact-copy li {
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.6;
	margin-bottom: 10px;
	color: rgba(255, 255, 255, 0.9);
}


.scale-impact-copy strong {
	color: #ffffff;
	font-weight: 700;
}

.why-section {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 600px;
	max-height: 900px;
	padding: 0;
	overflow: hidden;
	display: flex;
	align-items: stretch;
}

/* Runners background image — full cover */
.why-section .why-bg-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
	display: block;
	max-width: none;
	z-index: 0;
}

/* Roadmap overlay — sits on the right half */
.why-roadmap-overlay {
	position: absolute;
	right: 0;
	top: 0;
	width: 48%;
	height: 100%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}

#roadmap-svg {
	width: 90%;
	max-width: 420px;
	height: auto;
}

/* Labels container — overlaid on SVG */
.roadmap-labels {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.rm-label {
	position: absolute;
	font-size: clamp(0.7rem, 1.1vw, 0.95rem);
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 0.07em;
	line-height: 1.4;
	opacity: 0;
	transform: translateY(10px);
	white-space: nowrap;
}

.rm-label-1 {
	top: 14%;
	left: 35%;
}
.rm-label-2 {
	top: 33%;
	left: 52%;
}
.rm-label-3 {
	display: none;
}
.rm-label-4 {
	top: 58%;
	left: 35%;
}
.rm-label-5 {
	top: 78%;
	left: 48%;
}
.rm-label-6 {
	top: 78%;
	left: 67%;
}
.curiosity-section {
	padding: clamp(38px, 4.4vw, 70px) clamp(38px, 4.4vw, 70px);
	position: relative;
}

.curiosity-section h2 {
	margin: 0 0 24px;
	color: #ffffff;
	font-size: clamp(31px, 3.3vw, 46px);
	font-weight: 800;
	position: relative;
	z-index: 2;
}

.curiosity-frame {
	position: relative;
	min-height: 570px;
	overflow: hidden;
	display: block;
}

.curiosity-frame img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 0;
}

.curiosity-qa {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 42px;

	width: 46%;
	min-height: 570px;
	padding: clamp(34px, 4vw, 58px);

	background: rgba(30, 68, 14, 0.82);
}

.curiosity-qa article {
	position: relative;
}

.curiosity-qa article + article::before {
    content: "";
    position: absolute;
    top: -21px;
    left: 15%;
    width: 70%;
    height: 1px;
    background: rgba(223, 145, 47, 0.75);
}

.curiosity-qa article + article::after {
    content: "✦";
    position: absolute;
    top: -27px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--gradi-orange);
    font-size: 14px;
    line-height: 1;
    background: rgba(30, 68, 14, 0.82);   /* match the qa bg so it masks the line behind it */
    padding: 0 6px;
}

.curiosity-qa h3,
.curiosity-qa p {
	margin: 0;
	color: #ffffff;
	font-size: clamp(16px, 1.55vw, 23px);
	line-height: 1.45;
	overflow: hidden;
}

.curiosity-qa h3 {
	font-weight: 800;
}

.curiosity-qa h3 span,
.curiosity-qa p span {
	display: block;
	opacity: 0;
	transform: translateY(115%);
	filter: blur(6px);
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(1) h3 span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.14s both;
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(1) p span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.28s both;
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(2) h3 span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.38s both;
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(2) p span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.52s both;
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(3) h3 span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.62s both;
}

.curiosity-section.is-visible .curiosity-qa article:nth-child(3) p span {
	animation: curiosityTextReveal 0.82s cubic-bezier(0.16, 1, 0.3, 1) 0.76s both;
}

@keyframes curiosityTextReveal {
	from {
		opacity: 0;
		transform: translateY(115%);
		filter: blur(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
		filter: blur(0);
	}
}

.curiosity-section.is-visible .curiosity-frame img {
	animation: curiosityZoom 12s ease-in-out 0.12s infinite alternate;
}

@keyframes curiosityZoom {
	from {
		transform: scale(1) translate3d(0, 0, 0);
	}
	to {
		transform: scale(1.04) translate3d(1.2%, -0.8%, 0);
	}
}

.cta-section {
	display: grid;
	place-items: center;
	min-height: 690px;
	background: #10104a;
}

.cta-copy strong {
	color: white;
	font-weight: 800;
	font-family: "Quicksand";
}

.cta-bg-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}


.cta-copy {
	position: relative;
	z-index: 1;
	width: min(1060px, 88vw);
	text-align: center;
}

.cta-copy h2 {
	color: #ffffff;
	font-size: clamp(42px, 5vw, 68px);
	font-weight: 400;
	line-height: 1.3;
	margin: 0 0 0;
}

.cta-copy p {
	color: #ffffff;
	font-size: clamp(20px, 2.2vw, 32px);
	line-height: 1.5;
}

.cta-line {
	margin-top: 48px;
	font-size: clamp(21px, 2.2vw, 31px) !important;
	text-align: center;
}


.cta-line em {
	color: var(--gradi-green);
	font-style: normal;
	font-weight: 800;
}

.cta-line mark {
	padding: 0;
	background: transparent;
	color: #f0d91a;
	font-weight: 800;
}

.cta-actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 2.3vw, 32px);
	margin-top: 60px;
	flex-wrap: wrap;
}

.cta-actions .hero-button,
.cta-demo-button {
	margin-top: 0;
}

.cta-demo-button {
	min-width: 178px;
	justify-content: center;
	flex: 0 0 auto;
}

.expert-link {
	color: #ffffff;
	font-size: clamp(18px, 1.8vw, 26px);
	text-decoration: none;
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 58px;
	flex: 0 0 auto;
	white-space: nowrap;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	font-weight: 400;
	line-height: 1.1;
	padding: 0;
}

.expert-link span {
	display: inline-block;
}

.expert-link::before {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--gradi-orange);
	transition: width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.expert-link:hover::before,
.expert-link:focus::before {
	width: 100%;
}

.expert-link:hover,
.expert-link:focus {
	color: #ffffff;
	transform: translateX(4px);
}

@media (max-width: 991.98px) {
	.gradi-panel,
	.impact-section,
	.scale-impact-section,
	.why-section,
	.cta-section {
		min-height: auto;
	}

	.gradi-section-container {
		padding: 38px 22px 54px;
	}

	.gradi-hero-section {
		width: calc(100% - 28px);
		min-height: 520px;
	}

	.hero-panel__shade {
		background: linear-gradient(
			180deg,
			rgba(3, 4, 17, 0.66) 0%,
			rgba(4, 8, 26, 0.82) 48%,
			rgba(3, 4, 17, 0.96) 100%
		);
	}

	.hero-panel__content {
		width: min(560px, 100%);
		max-width: 560px;
		padding: 54px 28px 46px;
	}

	.decision-grid {
		--bs-gutter-x: 0;
		--bs-gutter-y: 48px;
	}

	.decision-card h3 {
		min-height: 0;
	}

	.decision-frame {
		width: min(100%, 520px);
		height: clamp(280px, 48vw, 400px);
	}

	.impact-visual {
		position: relative;
		inset: auto;
		height: 52vw;
		min-height: 320px;
		border-top-left-radius: 0;
		border-bottom-right-radius: 72px 44px;
	}

	.impact-visual::before {
		background: linear-gradient(
			180deg,
			rgba(18, 17, 84, 0.1) 0%,
			rgba(18, 17, 84, 0.36) 58%,
			rgba(18, 17, 84, 0.78) 100%
		);
	}

	.impact-content {
		min-height: auto;
		padding: 26px 22px 54px;
	}

	.impact-copy,
	.scale-impact-copy {
		width: 100%;
		max-width: none;
	}

	.impact-closing {
		width: 100%;
		max-width: none;
	}

	.impact-copy h2 {
		margin-bottom: 32px;
	}

	.split-section,
	.curiosity-frame {
		grid-template-columns: 1fr;
	}

	.split-media--left {
		min-height: 360px;
		border-top-right-radius: 0;
		border-bottom-right-radius: 56px 34px;
	}

	.solution-section .split-media img,
	.benefits-section .split-media img {
		transform: none;
	}

	.split-copy {
		padding: 34px 24px 42px;
	}

	.features-grid,
	.image-triptych {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.feature-card {
		padding: 24px 22px;
	}

	.feature-arrows {
		display: none;
	}

	.works-section {
		min-height: auto;
		padding: 50px 18px;
	}

	.works-diagram {
		width: min(560px, 92vw);
	}

	.works-center {
		font-size: clamp(34px, 8vw, 56px);
	}

	.works-label {
		font-size: clamp(17px, 2.8vw, 24px);
	}

	.label-analyze {
		right: -6%;
	}

	.label-predict {
		right: -2%;
	}

	.label-develop {
		left: -2%;
	}

	.label-repeat {
		left: -6%;
	}

	.process-section {
		min-height: auto;
		padding: 0 24px 48px;
	}

	.process-header {
		padding-top: 72px;
	}

	.process-header p {
		max-width: 680px;
		margin-bottom: 28px;
	}

	.image-triptych {
		width: 100%;
		max-width: 560px;
	}

	.image-triptych img {
		height: min(60vw, 360px);
	}

	.wide-rip-image,
	.develop-image {
		width: 100%;
		height: clamp(250px, 48vw, 360px);
	}

	.scale-impact-section {
		background: linear-gradient(
			180deg,
			var(--gradi-bg-mid) 0%,
			var(--gradi-bg-start) 100%
		);
	}

	.scale-impact-section > img {
		position: relative;
		inset: auto;
		height: 320px;
	}

	.scale-impact-copy {
		margin: 0;
		padding: 40px 24px 56px;
	}

	.why-section {
		display: flex;
		flex-direction: column;
		height: auto;
		max-height: none;
		padding: 0 18px 40px;
		background: linear-gradient(180deg, #0e1044 0%, #050816 100%);
	}

	.why-section .why-bg-image {
		position: relative;
		inset: auto;
		width: calc(100% + 36px);
		max-width: none;
		height: 320px;
		margin: 0 -18px;
		object-position: center 26%;
		border-bottom-right-radius: 84px 42px;
	}

	.why-roadmap-overlay {
		position: relative;
		right: auto;
		top: auto;
		width: min(100%, 360px);
		height: auto;
		margin: -52px auto 0;
		display: block;
		background: rgba(5, 10, 35, 0.92);
		border: 1px solid rgba(255, 255, 255, 0.08);
		border-radius: 28px;
		box-shadow: 0 24px 56px rgba(0, 0, 0, 0.3);
		overflow: hidden;
	}

	#roadmap-svg {
		display: block;
		width: 100%;
		max-width: none;
	}

	.roadmap-labels {
		inset: 0;
	}

	.rm-label {
		font-size: clamp(0.52rem, 1.4vw, 0.72rem);
		letter-spacing: 0.06em;
	}

	.curiosity-section {
		padding: 36px 20px 44px;
	}

	.curiosity-frame {
		display: flex;
		flex-direction: column;
		min-height: 0;
		border-radius: 24px;
		background: #0f203f;
		overflow: hidden;
	}

	.curiosity-frame img {
		position: relative;
		inset: auto;
		order: -1;
		height: 300px;
	}

	.curiosity-qa {
		width: 100%;
		min-height: 0;
		padding: 30px 22px 32px;
		gap: 28px;
	}

	.curiosity-qa article + article::before {
		top: -18px;
		width: 78%;
	}

	.cta-section {
		min-height: auto;
		padding: 64px 22px;
	}

	.cta-copy {
		width: 100%;
		max-width: 700px;
	}

	.cta-copy h2 {
		font-size: clamp(34px, 7vw, 54px);
	}

	.cta-copy p {
		font-size: clamp(18px, 3.1vw, 26px);
	}

	.cta-line {
		margin-top: 32px;
	}

	.cta-actions {
		margin-top: 40px;
		gap: 16px 20px;
	}

	.expert-link {
		white-space: normal;
		text-align: center;
		justify-content: center;
	}
}

@media (max-width: 767.98px) {
	.gradi-page {
		scroll-padding-top: 68px;
	}

	.gradi-section-container {
		padding: 34px 18px 44px;
	}

	.gradi-hero-section {
		width: calc(100% - 20px);
		min-height: 500px;
	}

	.hero-panel__content {
		width: 100%;
		max-width: none;
		padding: 36px 20px 34px;
	}

	.hero-panel__image {
		object-position: 65% center;
	}

	.hero-kicker {
		margin-bottom: 22px;
		font-size: 18px;
	}

	.hero-title {
		font-size: clamp(30px, 10vw, 42px);
		line-height: 1.15;
	}

	.hero-copy {
		max-width: none;
		margin-top: 18px;
		font-size: 16px;
	}

	.hero-button {
		width: 100%;
		justify-content: center;
		padding: 14px 18px;
	}

	.decision-title {
		margin-bottom: 32px;
		font-size: clamp(26px, 8vw, 36px);
	}

	.decision-card h3 {
		font-size: 20px;
		line-height: 1.3;
	}

	.decision-card h3 br,
	.decision-caption br,
	.impact-closing br {
		display: none;
	}

	.decision-frame {
		height: clamp(230px, 64vw, 320px);
	}

	.decision-caption {
		margin-top: 18px;
		font-size: 18px;
	}

	.impact-visual {
		height: 68vw;
		min-height: 240px;
		border-bottom-right-radius: 52px 28px;
	}

	.impact-content {
		padding: 20px 18px 42px;
	}

	.impact-copy h2 {
		font-size: clamp(22px, 7.4vw, 30px);
	}

	.impact-list h3 {
		font-size: 19px;
	}

	.impact-list ul {
		font-size: 16px;
		padding-left: 1.1rem;
	}

	.impact-closing {
		margin-top: 28px;
		font-size: 20px;
		line-height: 1.3;
		text-align: left;
	}

	.split-media--left {
		min-height: 240px;
		border-bottom-right-radius: 42px 24px;
	}

	.solution-section .split-media img,
	.benefits-section .split-media img {
		transform: none;
	}

	.split-copy {
		padding: 28px 18px 34px;
	}

	.split-copy h2 {
		font-size: clamp(24px, 7.8vw, 34px);
		line-height: 1.25;
	}

	.section-kicker {
		font-size: clamp(26px, 10vw, 36px);
	}

	.large-line {
		margin-bottom: 18px;
		font-size: clamp(20px, 6.6vw, 28px) !important;
	}

	.split-copy p,
	.split-copy li {
		font-size: 16px;
	}

	.feature-card {
		padding: 20px 18px;
	}

	.feature-card h3 {
		font-size: 18px;
	}

	.feature-card p,
	.feature-card li {
		font-size: 15px;
	}

	.works-section {
		padding: 40px 14px;
	}

	.works-diagram {
		width: min(330px, 94vw);
	}

	.works-ring {
		inset: 14%;
	}

	.works-center {
		font-size: clamp(28px, 10vw, 40px);
		line-height: 1.18;
	}

	.works-dot,
	.path-node {
		width: 24px;
	}

	.works-label {
		font-size: 12px;
		letter-spacing: 0.02em;
	}

	.label-assess {
		top: 4%;
	}

	.label-analyze {
		top: 36%;
		right: -1%;
	}

	.label-predict {
		right: 1%;
		bottom: 18%;
	}

	.label-develop {
		left: 1%;
		bottom: 18%;
	}

	.label-repeat {
		top: 36%;
		left: 0;
	}

	.process-section {
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 36px;
	}

	.process-line {
		height: 52px;
	}

	.process-number {
		width: 44px;
		font-size: 20px;
		margin-bottom: 22px;
	}

	.process-header {
		padding-top: 64px;
	}

	.process-header h2 {
		font-size: clamp(24px, 8vw, 32px);
		letter-spacing: 0.12em;
	}

	.process-header p {
		font-size: 17px;
		line-height: 1.4;
		margin-bottom: 22px;
	}

	.image-triptych {
		gap: 16px;
		width: 100%;
	}

	.image-triptych img,
	.wide-rip-image {
		height: clamp(210px, 58vw, 300px);
	}

	.image-triptych--wide img {
		border-radius: 0 34px 0 0;
	}

	.develop-image {
		height: clamp(220px, 60vw, 310px);
		object-position: center;
	}

	.scale-impact-section > img {
		height: 220px;
	}

	.scale-impact-copy {
		padding: 30px 18px 42px;
	}

	.scale-impact-copy h2 {
		font-size: clamp(28px, 8vw, 36px);
	}

	.impact-subtitle {
		margin-bottom: 14px;
		font-size: 18px;
	}

	.scale-impact-copy p,
	.scale-impact-copy li {
		font-size: 16px;
		line-height: 1.55;
	}

	.why-section {
		padding: 0 12px 32px;
	}

	.why-section .why-bg-image {
		width: calc(100% + 24px);
		height: 220px;
		margin: 0 -12px;
		border-bottom-right-radius: 48px 28px;
	}

	.why-roadmap-overlay {
		width: min(100%, 320px);
		margin-top: -32px;
		border-radius: 22px;
	}

	.rm-label {
		font-size: 0.55rem;
		line-height: 1.3;
	}

	.curiosity-section {
		padding: 28px 14px 36px;
	}

	.curiosity-section h2 {
		margin-bottom: 18px;
		font-size: clamp(26px, 8vw, 34px);
	}

	.curiosity-frame {
		border-radius: 20px;
	}

	.curiosity-frame img {
		height: 210px;
	}

	.curiosity-qa {
		padding: 24px 16px 26px;
		gap: 22px;
	}

	.curiosity-qa h3,
	.curiosity-qa p {
		font-size: 15px;
		line-height: 1.45;
	}

	.curiosity-qa article + article::before {
		top: -14px;
		width: 84%;
	}

	.cta-actions {
		align-items: center;
		flex-direction: column;
		margin-top: 32px;
		align-items: stretch;
	}

	.cta-section {
		padding: 48px 16px;
	}

	.cta-copy h2 {
		font-size: clamp(28px, 9vw, 38px);
	}

	.cta-copy p {
		font-size: 17px;
	}

	.cta-line {
		margin-top: 24px;
		font-size: 18px !important;
	}

	.cta-demo-button,
	.cta-actions .hero-button {
		width: 100%;
	}

	.expert-link {
		min-height: 0;
		font-size: 17px;
		white-space: normal;
	}
}

@keyframes decisionFloat {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

@keyframes frameSweep {
	from {
		transform: translateX(-10%) rotate(16deg);
	}
	to {
		transform: translateX(245%) rotate(16deg);
	}
}
