/**
 * Cygnivo lightweight homepage.
 * Semantic HTML + CSS only: no page-builder layout and no hero JavaScript.
 */

body.cygnivo-modern-v1.home #main {
	padding: 0 !important;
	background: var(--cygnivo-surface);
}

/* Cygnivo product portfolio */
.cyg-home-products{background:linear-gradient(180deg,#f7fafc,#eef5f8)}
.cyg-home-products .cyg-section-heading>div:last-child{max-width:520px}
.cyg-home-products .cyg-text-link{margin-top:18px}
.cyg-home-products__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cyg-home-product{position:relative;min-height:275px;padding:31px;border:1px solid #d8e5ed;border-radius:21px;background:#fff;color:#0a2342;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.cyg-home-product:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(19,55,82,.12);color:#0a2342}
.cyg-home-product:after{content:"";position:absolute;width:140px;height:140px;right:-70px;top:-70px;border-radius:50%;background:linear-gradient(135deg,rgba(38,201,207,.2),rgba(104,78,224,.15))}
.cyg-home-product--featured{grid-column:span 2;background:linear-gradient(120deg,#fff 55%,#e7fbfa)}
.cyg-home-product>span{float:right;color:#8fa3b3;font-weight:800}
.cyg-home-product small{color:#148b99;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.cyg-home-product h3{max-width:660px;margin:24px 0 12px;font-size:clamp(25px,2.5vw,38px);letter-spacing:-.035em}
.cyg-home-product p{max-width:720px;color:#5d7285;line-height:1.65}
.cyg-home-product b{display:flex;align-items:center;gap:8px;margin-top:23px;color:#0f8797}
.cyg-home-product svg{width:18px}
@media(max-width:600px){.cyg-home-products__grid{grid-template-columns:1fr}.cyg-home-product--featured{grid-column:auto}.cyg-home-product{min-height:0;padding:27px}}

body.cygnivo-modern-v1.home #main > .fusion-row {
	width: 100%;
	max-width: none !important;
}

.cyg-home,
.cyg-home * {
	box-sizing: border-box;
}

.cyg-home {
	width: 100%;
	color: var(--cygnivo-ink);
	background: #fff;
}

.cyg-home__article {
	overflow: hidden;
}

.cyg-shell {
	width: min(calc(100% - 48px), var(--cygnivo-content-width));
	margin-inline: auto;
}

.cyg-section {
	padding-block: clamp(84px, 9vw, 132px);
}

.cyg-home h1,
.cyg-home h2,
.cyg-home h3,
.cyg-home p,
.cyg-home ul,
.cyg-home ol {
	margin-top: 0;
}

.cyg-home h1,
.cyg-home h2,
.cyg-home h3 {
	font-family: Oxygen, Arial, sans-serif;
}

body.cygnivo-modern-v1 .cyg-home h1 {
	max-width: 760px;
	margin-bottom: 28px;
	color: #fff;
	font-size: clamp(3.25rem, 6.1vw, 5.75rem);
	font-weight: 700;
	line-height: 0.99;
	letter-spacing: -0.06em;
}

body.cygnivo-modern-v1 .cyg-home h1 span {
	display: block;
	color: #69dbf3;
}

.cyg-home h2 {
	margin-bottom: 22px;
	font-size: clamp(2.2rem, 4.3vw, 4rem);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -0.05em;
}

.cyg-home h3 {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.03em;
}

.cyg-home p {
	color: var(--cygnivo-muted);
	font-size: 1rem;
	line-height: 1.75;
}

.cyg-eyebrow {
	display: flex;
	align-items: center;
	gap: 0;
	margin-bottom: 22px;
	color: var(--cygnivo-blue-600) !important;
	font-size: 0.74rem !important;
	font-weight: 700;
	line-height: 1 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* The short leading rule has been retired from the Cygnivo design system. */
.cyg-eyebrow > span:empty { display: none !important; }

.cyg-eyebrow--light {
	color: #69dbf3 !important;
}

.cyg-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 38px;
}

.cyg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 24px;
	border: 1px solid transparent;
	border-radius: 9px !important;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.cyg-button svg,
.cyg-text-link svg,
.cyg-insight-card b svg {
	width: 19px;
	height: 19px;
	margin-left: 10px;
	transition: transform 180ms ease;
}

.cyg-button:hover,
.cyg-button:focus-visible {
	transform: translateY(-2px);
	text-decoration: none;
}

.cyg-button:hover svg,
.cyg-button:focus-visible svg,
.cyg-text-link:hover svg,
.cyg-insight-card:hover b svg {
	transform: translateX(4px);
}

.cyg-button--primary {
	color: #fff;
	background: linear-gradient(135deg, var(--cygnivo-teal-600), #176b98);
	box-shadow: 0 15px 34px rgb(11 132 145 / 28%);
}

.cyg-button--primary:hover,
.cyg-button--primary:focus-visible {
	color: #fff;
	background: linear-gradient(135deg, #0d96a3, #207bb0);
	box-shadow: 0 19px 42px rgb(11 132 145 / 36%);
}

.cyg-button--ghost {
	color: #fff;
	border-color: rgb(255 255 255 / 26%);
	background: rgb(255 255 255 / 6%);
}

.cyg-button--ghost:hover,
.cyg-button--ghost:focus-visible {
	color: #fff;
	border-color: rgb(255 255 255 / 48%);
	background: rgb(255 255 255 / 11%);
}

.cyg-button--dark {
	color: #fff;
	background: var(--cygnivo-navy-950);
	box-shadow: 0 14px 28px rgb(6 43 77 / 18%);
}

.cyg-button--dark:hover,
.cyg-button--dark:focus-visible {
	color: #fff;
	background: var(--cygnivo-blue-600);
}

.cyg-button--light {
	color: var(--cygnivo-navy-950);
	background: #fff;
	box-shadow: 0 14px 32px rgb(0 0 0 / 15%);
}

.cyg-button--light:hover,
.cyg-button--light:focus-visible {
	color: var(--cygnivo-navy-950);
	background: #eefdff;
}

.cyg-text-link {
	display: inline-flex;
	align-items: center;
	color: var(--cygnivo-navy-900);
	font-size: 0.94rem;
	font-weight: 700;
	text-decoration: none;
}

.cyg-text-link:hover,
.cyg-text-link:focus-visible {
	color: var(--cygnivo-blue-600);
	text-decoration: none;
}

.cyg-text-link--light,
.cyg-text-link--light:hover,
.cyg-text-link--light:focus-visible {
	color: #fff;
}

/* Hero */
.cyg-hero {
	position: relative;
	isolation: isolate;
	min-height: 720px;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 72% 18%, rgb(24 166 199 / 24%), transparent 34%),
		linear-gradient(122deg, #041f38 0%, #063a62 56%, #03233e 100%);
}

.cyg-hero::after {
	position: absolute;
	right: -15%;
	bottom: -44%;
	z-index: -1;
	width: 70%;
	aspect-ratio: 1;
	border: 1px solid rgb(105 219 243 / 10%);
	border-radius: 50%;
	content: "";
	box-shadow: 0 0 0 80px rgb(105 219 243 / 3%), 0 0 0 160px rgb(105 219 243 / 2%);
}

.cyg-hero__mesh,
.cyg-final-cta__mesh {
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0.34;
	background-image:
		linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: linear-gradient(90deg, transparent, #000 62%, transparent);
}

.cyg-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(430px, 0.92fr);
	align-items: center;
	gap: clamp(36px, 5vw, 78px);
	min-height: 720px;
	padding-block: 76px 86px;
}

.cyg-hero__content {
	position: relative;
	z-index: 2;
	min-width: 0;
}

.cyg-hero__lead {
	max-width: 670px;
	margin-bottom: 0;
	color: rgb(231 245 252 / 78%) !important;
	font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
	line-height: 1.72 !important;
}

.cyg-proof-list {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 26px;
	margin: 34px 0 0;
	padding: 0;
	color: rgb(231 245 252 / 74%);
	font-size: 0.78rem;
	font-weight: 600;
	list-style: none;
}

.cyg-proof-list li {
	display: flex;
	align-items: center;
	gap: 7px;
	line-height: 1.3 !important;
}

.cyg-proof-list svg {
	width: 16px;
	height: 16px;
	color: #69dbf3;
}

/* CSS-only connected enterprise visual */
.cyg-hero-visual {
	position: relative;
	width: min(100%, 520px);
	min-width: 0;
	aspect-ratio: 1;
	margin-inline: auto;
	filter: drop-shadow(0 34px 70px rgb(0 0 0 / 23%));
}

.cyg-hero-visual::before {
	position: absolute;
	inset: 17%;
	border-radius: 50%;
	content: "";
	background: radial-gradient(circle, rgb(52 181 217 / 19%), transparent 68%);
	filter: blur(10px);
}

.cyg-hero-visual__grid {
	position: absolute;
	inset: 8%;
	border: 1px solid rgb(114 224 248 / 10%);
	border-radius: 44px;
	background:
		linear-gradient(rgb(105 219 243 / 7%) 1px, transparent 1px),
		linear-gradient(90deg, rgb(105 219 243 / 7%) 1px, transparent 1px),
		rgb(2 30 52 / 32%);
	background-size: 32px 32px;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%);
	transform: rotate(-5deg);
}

.cyg-core {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 44%;
	aspect-ratio: 1;
	padding: 28px;
	border: 1px solid rgb(126 231 251 / 34%);
	border-radius: 50%;
	color: #fff;
	text-align: center;
	background: linear-gradient(145deg, rgb(13 99 148 / 92%), rgb(3 43 73 / 96%));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 28px 65px rgb(0 14 27 / 36%);
	transform: translate(-50%, -50%);
}

.cyg-core::after {
	position: absolute;
	inset: 11px;
	border: 1px dashed rgb(152 236 252 / 26%);
	border-radius: 50%;
	content: "";
}

.cyg-core span,
.cyg-core small,
.cyg-core strong {
	position: relative;
	z-index: 1;
}

.cyg-core span {
	margin-bottom: 5px;
	color: #93eafb;
	font-size: 0.64rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.cyg-core strong {
	font-size: clamp(1.3rem, 2.1vw, 1.8rem);
	line-height: 1.1;
}

.cyg-core small {
	margin-top: 9px;
	color: rgb(231 245 252 / 68%);
	font-size: 0.64rem;
}

.cyg-orbit {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 1px solid rgb(118 227 249 / 20%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.cyg-orbit--one {
	width: 70%;
	aspect-ratio: 1;
	border-style: dashed;
	animation: cyg-spin 38s linear infinite;
}

.cyg-orbit--two {
	width: 91%;
	aspect-ratio: 1;
	border-color: rgb(118 227 249 / 11%);
}

.cyg-tech-node {
	position: absolute;
	z-index: 4;
	display: grid;
	grid-template-columns: 40px auto;
	align-items: center;
	gap: 11px;
	min-width: 158px;
	padding: 10px 14px 10px 10px;
	border: 1px solid rgb(255 255 255 / 14%);
	border-radius: 14px;
	color: rgb(237 249 253 / 78%);
	font-size: 0.67rem;
	background: rgb(3 35 59 / 86%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 9%), 0 16px 34px rgb(0 14 27 / 24%);
	backdrop-filter: blur(12px);
}

.cyg-tech-node span {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	background: linear-gradient(145deg, var(--cygnivo-blue-600), var(--cygnivo-cyan-500));
}

.cyg-tech-node strong {
	display: block;
	color: #fff;
	font-size: 0.76rem;
	line-height: 1.25;
}

.cyg-tech-node--sap { top: 9%; left: 6%; animation: cyg-float 6s ease-in-out infinite; }
.cyg-tech-node--btp { top: 17%; right: -2%; animation: cyg-float 6.8s ease-in-out -1.5s infinite; }
.cyg-tech-node--ai { right: 0; bottom: 14%; animation: cyg-float 6.3s ease-in-out -3s infinite; }
.cyg-tech-node--ops { bottom: 7%; left: 5%; animation: cyg-float 7.2s ease-in-out -2s infinite; }

.cyg-signal {
	position: absolute;
	z-index: 2;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #69dbf3;
	box-shadow: 0 0 0 6px rgb(105 219 243 / 10%), 0 0 25px #69dbf3;
}

.cyg-signal--one { top: 24%; left: 42%; }
.cyg-signal--two { top: 55%; right: 10%; }
.cyg-signal--three { bottom: 23%; left: 29%; }

@keyframes cyg-spin {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes cyg-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-9px); }
}

/* Value strip */
.cyg-value-strip {
	position: relative;
	z-index: 3;
	border-bottom: 1px solid var(--cygnivo-border);
	background: #fff;
}

.cyg-value-strip__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.cyg-value-strip__grid > div {
	position: relative;
	display: grid;
	grid-template-columns: 32px 1fr;
	padding: 27px clamp(16px, 2.5vw, 32px);
	border-right: 1px solid var(--cygnivo-border);
}

.cyg-value-strip__grid > div:first-child { border-left: 1px solid var(--cygnivo-border); }
.cyg-value-strip__grid span { grid-row: 1 / 3; color: var(--cygnivo-teal-600); font-size: 0.7rem; font-weight: 700; }
.cyg-value-strip__grid strong { color: var(--cygnivo-navy-900); font-size: 0.9rem; line-height: 1.3; }
.cyg-value-strip__grid small { margin-top: 3px; color: var(--cygnivo-muted); font-size: 0.72rem; line-height: 1.35; }

/* Shared section heading */
.cyg-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.65fr);
	align-items: end;
	gap: clamp(36px, 7vw, 100px);
	margin-bottom: clamp(44px, 5vw, 70px);
}

.cyg-section-heading h2 { max-width: 790px; margin-bottom: 0; }
.cyg-section-heading > p { margin-bottom: 5px; font-size: 1.02rem; }
.cyg-section-heading--center { grid-template-columns: 1fr; max-width: 850px; margin-inline: auto; text-align: center; }
.cyg-section-heading--center .cyg-eyebrow { justify-content: center; }
.cyg-section-heading--center h2 { margin-inline: auto; }
.cyg-section-heading--center > p { max-width: 660px; margin-inline: auto; }

/* Capabilities */
.cyg-services {
	background:
		radial-gradient(circle at 0 0, rgb(24 166 199 / 5%), transparent 27%),
		#fff;
}

.cyg-capability-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.cyg-capability-card {
	position: relative;
	min-height: 390px;
	padding: clamp(28px, 3.2vw, 40px);
	overflow: hidden;
	border: 1px solid var(--cygnivo-border);
	border-radius: var(--cygnivo-radius-md);
	background: #fff;
	box-shadow: 0 1px 0 rgb(6 43 77 / 3%);
	transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.cyg-capability-card::after {
	position: absolute;
	right: -35px;
	bottom: -45px;
	width: 130px;
	height: 130px;
	border: 1px solid rgb(8 119 190 / 8%);
	border-radius: 50%;
	content: "";
	box-shadow: 0 0 0 25px rgb(8 119 190 / 2.5%);
}

.cyg-capability-card:hover {
	z-index: 2;
	border-color: rgb(8 119 190 / 32%);
	box-shadow: var(--cygnivo-shadow-md);
	transform: translateY(-7px);
}

.cyg-capability-card .cyg-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	margin-bottom: 38px;
	border-radius: 14px;
	color: var(--cygnivo-blue-600);
	background: #eaf6fc;
}

.cyg-capability-card:nth-child(2) .cyg-icon { color: #6a4bd6; background: #f0ecff; }
.cyg-capability-card:nth-child(3) .cyg-icon { color: #0877be; background: #e7f5ff; }
.cyg-capability-card:nth-child(4) .cyg-icon { color: #0b8b80; background: #e8f9f5; }
.cyg-capability-card:nth-child(5) .cyg-icon { color: #b43f79; background: #fff0f6; }
.cyg-capability-card:nth-child(6) .cyg-icon { color: #357c58; background: #eaf7ef; }

.cyg-icon svg { width: 26px; height: 26px; }
.cyg-card-index { position: absolute; top: 32px; right: 34px; color: #9aacba !important; font-size: 0.7rem !important; font-weight: 700; letter-spacing: 0.1em; }
.cyg-capability-card h3 { margin-bottom: 15px; color: var(--cygnivo-navy-900); }
.cyg-capability-card > p:not(.cyg-card-index) { min-height: 84px; margin-bottom: 22px; font-size: 0.92rem; }
.cyg-capability-card ul { display: grid; gap: 8px; margin: 0; padding: 0; color: var(--cygnivo-ink); font-size: 0.78rem; font-weight: 600; list-style: none; }
.cyg-capability-card li { position: relative; padding-left: 16px; line-height: 1.45 !important; }
.cyg-capability-card li::before { position: absolute; top: 0.52em; left: 0; width: 5px; height: 5px; border-radius: 50%; content: ""; background: var(--cygnivo-teal-600); }
.cyg-card-link { position: relative; z-index: 2; display: inline-flex; align-items: center; margin-top: 24px; color: var(--cygnivo-navy-900); font-size: 0.75rem; font-weight: 700; text-decoration: none; }
.cyg-card-link:hover,
.cyg-card-link:focus-visible { color: var(--cygnivo-blue-600); text-decoration: none; }
.cyg-card-link svg { width: 17px; height: 17px; margin-left: 8px; transition: transform 180ms ease; }
.cyg-card-link:hover svg { transform: translateX(4px); }

.cyg-capability-card--featured {
	border-color: transparent;
	background:
		radial-gradient(circle at 90% 5%, rgb(105 219 243 / 19%), transparent 30%),
		linear-gradient(145deg, var(--cygnivo-navy-900), var(--cygnivo-navy-950));
	box-shadow: 0 24px 55px rgb(6 43 77 / 18%);
}

.cyg-capability-card--featured .cyg-icon { color: #fff; background: rgb(105 219 243 / 16%); }
.cyg-capability-card--featured .cyg-card-index { color: rgb(255 255 255 / 50%) !important; }
body.cygnivo-modern-v1 .cyg-home .cyg-capability-card--featured h3,
.cyg-capability-card--featured li { color: #fff; }
.cyg-capability-card--featured > p:not(.cyg-card-index) { color: rgb(232 246 252 / 73%); }
.cyg-capability-card--featured .cyg-card-link { color: #7ce7fb; }
.cyg-capability-card--featured .cyg-card-link:hover,
.cyg-capability-card--featured .cyg-card-link:focus-visible { color: #fff; }

/* Journey */
.cyg-journey {
	position: relative;
	color: #fff;
	background:
		radial-gradient(circle at 15% 35%, rgb(24 166 199 / 18%), transparent 30%),
		linear-gradient(125deg, #031d33, #063b63);
}

.cyg-journey__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(500px, 1.14fr);
	gap: clamp(60px, 9vw, 130px);
}

body.cygnivo-modern-v1 .cyg-home .cyg-journey h2,
body.cygnivo-modern-v1 .cyg-home .cyg-journey h3 { color: #fff; }
.cyg-journey__intro { position: sticky; top: 130px; align-self: start; }
.cyg-journey__intro > p:not(.cyg-eyebrow) { max-width: 530px; margin-bottom: 28px; color: rgb(231 245 252 / 72%); }
.cyg-journey-steps { position: relative; display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.cyg-journey-steps::before { position: absolute; top: 33px; bottom: 33px; left: 27px; width: 1px; content: ""; background: linear-gradient(#69dbf3, rgb(105 219 243 / 15%)); }
.cyg-journey-steps li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 26px; padding: 0 0 46px; }
.cyg-journey-steps li:last-child { padding-bottom: 0; }
.cyg-journey-steps li > span { z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border: 1px solid rgb(105 219 243 / 36%); border-radius: 50%; color: #69dbf3; font-size: 0.7rem; font-weight: 700; background: #073657; box-shadow: 0 0 0 8px #063657; }
.cyg-journey-steps h3 { margin: 2px 0 8px; font-size: 1.4rem; }
.cyg-journey-steps p { max-width: 460px; margin-bottom: 0; color: rgb(231 245 252 / 66%); font-size: 0.92rem; }

/* SAP Cloud ERP spotlight */
.cyg-product { background: var(--cygnivo-surface-soft); }
.cyg-product__card { position: relative; display: grid; grid-template-columns: 0.92fr 1.08fr; gap: clamp(52px, 8vw, 110px); align-items: center; padding: clamp(42px, 6vw, 78px); overflow: hidden; border: 1px solid var(--cygnivo-border); border-radius: 28px; background: #fff; box-shadow: var(--cygnivo-shadow-sm); }
.cyg-product__card::before { position: absolute; top: -45%; left: -25%; width: 70%; aspect-ratio: 1; border-radius: 50%; content: ""; background: radial-gradient(circle, rgb(24 166 199 / 12%), transparent 68%); }
.cyg-product__visual { position: relative; min-width: 0; }
.cyg-product__window { position: relative; padding: 13px; border: 1px solid rgb(105 219 243 / 20%); border-radius: 18px; background: linear-gradient(145deg, #062d4d, #031d33); box-shadow: 0 30px 60px rgb(6 43 77 / 26%); transform: perspective(1000px) rotateY(7deg) rotateX(2deg); }
.cyg-product__bar { display: flex; gap: 6px; padding: 3px 2px 13px; }
.cyg-product__bar i { width: 7px; height: 7px; border-radius: 50%; background: rgb(255 255 255 / 26%); }
.cyg-product__content { display: grid; grid-template-columns: 0.72fr 1.28fr; grid-template-rows: 72px 72px; gap: 9px; padding: 14px; border-radius: 11px; background: rgb(255 255 255 / 6%); }
.cyg-product__content span { border: 1px solid rgb(105 219 243 / 10%); border-radius: 8px; background: linear-gradient(145deg, rgb(105 219 243 / 16%), rgb(255 255 255 / 4%)); }
.cyg-product__content span:nth-child(2) { background: linear-gradient(145deg, rgb(214 40 57 / 28%), rgb(255 255 255 / 4%)); }
.cyg-product__status { position: absolute; right: -22px; bottom: -22px; display: flex; justify-content: space-between; gap: 20px; min-width: 210px; padding: 15px 18px; border: 1px solid var(--cygnivo-border); border-radius: 12px; color: var(--cygnivo-ink); font-size: 0.72rem; font-weight: 700; background: #fff; box-shadow: var(--cygnivo-shadow-md); }
.cyg-product__status b { color: #23815a; }
.cyg-product__copy h2 { max-width: 620px; }
.cyg-product__copy > p:not(.cyg-eyebrow) { max-width: 620px; font-size: 1.02rem; }
.cyg-product__benefits { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 27px 0 33px; color: var(--cygnivo-navy-900); font-size: 0.78rem; font-weight: 700; }
.cyg-product__benefits span { display: flex; align-items: center; gap: 6px; }
.cyg-product__benefits svg { width: 17px; height: 17px; color: var(--cygnivo-cyan-500); }

/* Hyperscaler engineering */
.cyg-clouds {
	position: relative;
	background:
		radial-gradient(circle at 5% 15%, rgb(87 187 255 / 13%), transparent 27%),
		radial-gradient(circle at 96% 78%, rgb(133 83 255 / 9%), transparent 25%),
		linear-gradient(145deg, #f8fcff 0%, #f5f7ff 48%, #fff 100%);
}

.cyg-clouds::before {
	position: absolute;
	inset: 0;
	pointer-events: none;
	content: "";
	background-image: radial-gradient(rgb(8 119 190 / 12%) 0.7px, transparent 0.7px);
	background-size: 22px 22px;
	mask-image: linear-gradient(90deg, #000, transparent 42%, transparent 68%, #000);
}

.cyg-clouds .cyg-shell { position: relative; }
.cyg-cloud-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }

.cyg-cloud-card {
	position: relative;
	min-height: 430px;
	padding: clamp(28px, 3.2vw, 42px);
	overflow: hidden;
	border: 1px solid rgb(8 64 110 / 10%);
	border-radius: 24px;
	background: rgb(255 255 255 / 88%);
	box-shadow: 0 24px 55px rgb(6 43 77 / 7%);
	backdrop-filter: blur(12px);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.cyg-cloud-card::before,
.cyg-cloud-card::after {
	position: absolute;
	border-radius: 50%;
	content: "";
}

.cyg-cloud-card::before { top: -85px; right: -60px; width: 190px; height: 190px; opacity: 0.12; }
.cyg-cloud-card::after { right: 30px; bottom: 27px; width: 54px; height: 54px; border: 1px solid currentColor; opacity: 0.08; box-shadow: 0 0 0 16px currentColor, 0 0 0 33px currentColor; }
.cyg-cloud-card:hover { z-index: 2; box-shadow: 0 32px 68px rgb(6 43 77 / 13%); transform: translateY(-7px); }
.cyg-cloud-card--aws { color: #d87800; }
.cyg-cloud-card--aws::before { background: linear-gradient(145deg, #ff9900, #ffd37b); }
.cyg-cloud-card--azure { color: #0878c9; }
.cyg-cloud-card--azure::before { background: linear-gradient(145deg, #0089d6, #5fd5ff); }
.cyg-cloud-card--gcp { color: #267858; }
.cyg-cloud-card--gcp::before { background: conic-gradient(from 20deg, #4285f4, #34a853, #fbbc05, #ea4335, #4285f4); }
.cyg-cloud-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 66px; }

.cyg-cloud-card__top span {
	display: inline-grid;
	place-items: center;
	min-width: 78px;
	height: 40px;
	padding: 0 14px;
	border: 1px solid currentColor;
	border-radius: 100px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	background: #fff;
}

.cyg-cloud-card__top small { color: #9aacba; font-size: 0.7rem; font-weight: 700; }
body.cygnivo-modern-v1 .cyg-home .cyg-cloud-card h3 { margin-bottom: 16px; color: var(--cygnivo-navy-900); font-size: 1.55rem; }
.cyg-cloud-card p { min-height: 116px; margin-bottom: 25px; font-size: 0.9rem; }
.cyg-cloud-card ul { display: grid; gap: 9px; margin: 0; padding: 0; color: var(--cygnivo-navy-900); font-size: 0.78rem; font-weight: 600; list-style: none; }
.cyg-cloud-card li { position: relative; padding-left: 16px; line-height: 1.45 !important; }
.cyg-cloud-card li::before { position: absolute; top: 0.55em; left: 0; width: 5px; height: 5px; border-radius: 50%; content: ""; background: currentColor; }

.cyg-cloud-note {
	display: grid;
	grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
	align-items: center;
	gap: 32px;
	margin-top: 18px;
	padding: 24px 30px;
	border: 1px solid rgb(8 119 190 / 12%);
	border-radius: 16px;
	background: rgb(255 255 255 / 70%);
}

.cyg-cloud-note span { color: var(--cygnivo-blue-600); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.cyg-cloud-note p { margin: 0; font-size: 0.84rem; line-height: 1.6; }

/* Enterprise AI */
.cyg-ai {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: #fff;
	background:
		radial-gradient(circle at 77% 36%, rgb(120 92 255 / 26%), transparent 28%),
		radial-gradient(circle at 92% 80%, rgb(30 217 225 / 20%), transparent 25%),
		linear-gradient(128deg, #090d29 0%, #15194c 52%, #082d50 100%);
}

.cyg-ai::after { position: absolute; top: -42%; right: -13%; z-index: -1; width: 62%; aspect-ratio: 1; border: 1px solid rgb(139 220 255 / 10%); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgb(126 99 255 / 3%), 0 0 0 160px rgb(105 219 243 / 2%); }
.cyg-ai__mesh { position: absolute; inset: 0; z-index: -1; opacity: 0.24; background-image: linear-gradient(rgb(255 255 255 / 5%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 5%) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent, #000 58%, transparent); }
.cyg-ai__grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(520px, 1.15fr); align-items: center; gap: clamp(60px, 8vw, 120px); }
body.cygnivo-modern-v1 .cyg-home .cyg-ai h2,
body.cygnivo-modern-v1 .cyg-home .cyg-ai h3 { color: #fff; }
.cyg-ai__copy > p:not(.cyg-eyebrow) { max-width: 620px; margin-bottom: 34px; color: rgb(235 240 255 / 72%); font-size: 1.02rem; }
.cyg-ai__experience { position: relative; display: grid; grid-template-columns: 185px 1fr; align-items: center; gap: 34px; min-height: 520px; }

.cyg-ai-orb {
	position: relative;
	display: grid;
	place-items: center;
	width: 185px;
	aspect-ratio: 1;
	border: 1px solid rgb(147 226 255 / 28%);
	border-radius: 50%;
	text-align: center;
	background: radial-gradient(circle at 38% 30%, rgb(116 234 255 / 28%), rgb(100 66 255 / 26%) 45%, rgb(4 13 40 / 55%) 72%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 0 80px rgb(91 96 255 / 25%);
}

.cyg-ai-orb::before,
.cyg-ai-orb::after { position: absolute; inset: -17px; border: 1px dashed rgb(128 220 255 / 17%); border-radius: 50%; content: ""; animation: cyg-spin 42s linear infinite; }
.cyg-ai-orb::after { inset: -38px; border-style: solid; opacity: 0.45; animation-direction: reverse; }
.cyg-ai-orb span { color: #fff; font-size: 0.72rem; font-weight: 700; line-height: 1.45; letter-spacing: 0.08em; text-transform: uppercase; }
.cyg-ai-orb i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #86edff; box-shadow: 0 0 18px #67ddff; }
.cyg-ai-orb i:nth-child(2) { top: 8px; left: 43px; }
.cyg-ai-orb i:nth-child(3) { right: -3px; bottom: 55px; background: #a48cff; }
.cyg-ai-orb i:nth-child(4) { bottom: 5px; left: 39px; }
.cyg-ai-usecases { display: grid; gap: 10px; }

.cyg-ai-usecases article {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 15px;
	padding: 20px 22px;
	border: 1px solid rgb(255 255 255 / 10%);
	border-radius: 15px;
	background: linear-gradient(110deg, rgb(255 255 255 / 8%), rgb(255 255 255 / 3%));
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 7%);
	backdrop-filter: blur(10px);
	transition: border-color 180ms ease, transform 180ms ease;
}

.cyg-ai-usecases article:hover { border-color: rgb(128 225 255 / 28%); transform: translateX(5px); }
.cyg-ai-usecases article > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #a7efff; font-size: 0.65rem; font-weight: 700; background: rgb(105 219 243 / 12%); }
.cyg-ai-usecases h3 { margin: 0 0 4px; font-size: 0.98rem; }
.cyg-ai-usecases p { margin: 0; color: rgb(235 240 255 / 61%); font-size: 0.75rem; line-height: 1.5; }

/* Why */
.cyg-why { background: #fff; }
.cyg-why-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--cygnivo-border); border-left: 1px solid var(--cygnivo-border); }
.cyg-why-grid article { position: relative; min-height: 270px; padding: 34px 30px; border-right: 1px solid var(--cygnivo-border); border-bottom: 1px solid var(--cygnivo-border); background: #fff; transition: background-color 180ms ease; }
.cyg-why-grid article:hover { background: var(--cygnivo-surface-soft); }
.cyg-why-grid span { display: block; margin-bottom: 64px; color: var(--cygnivo-teal-600); font-size: 0.7rem; font-weight: 700; }
.cyg-why-grid h3 { margin-bottom: 12px; color: var(--cygnivo-navy-900); }
.cyg-why-grid p { margin-bottom: 0; font-size: 0.86rem; }

/* Insights */
.cyg-insights { background: var(--cygnivo-surface-soft); }
.cyg-insight-grid { display: grid; grid-template-columns: 1.2fr 0.9fr 0.9fr; gap: 18px; }
.cyg-insight-card { position: relative; display: flex; flex-direction: column; min-height: 330px; padding: clamp(28px, 3vw, 40px); overflow: hidden; border: 1px solid var(--cygnivo-border); border-radius: var(--cygnivo-radius-md); color: var(--cygnivo-ink); text-decoration: none; background: #fff; transition: transform 200ms ease, box-shadow 200ms ease; }
.cyg-insight-card::after { position: absolute; right: -42px; bottom: -62px; width: 160px; height: 160px; border: 1px solid rgb(8 119 190 / 8%); border-radius: 50%; content: ""; box-shadow: 0 0 0 32px rgb(8 119 190 / 3%); }
.cyg-insight-card:hover { color: var(--cygnivo-ink); text-decoration: none; box-shadow: var(--cygnivo-shadow-md); transform: translateY(-6px); }
.cyg-insight-card > span { margin-bottom: 42px; color: var(--cygnivo-blue-600); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.cyg-insight-card h3 { max-width: 430px; margin-bottom: 15px; color: var(--cygnivo-navy-900); font-size: clamp(1.35rem, 2.2vw, 2rem); }
.cyg-insight-card p { margin-bottom: 30px; font-size: 0.88rem; }
.cyg-insight-card b { display: inline-flex; align-items: center; margin-top: auto; color: var(--cygnivo-navy-900); font-size: 0.8rem; }
.cyg-insight-card--primary { color: #fff; border-color: transparent; background: linear-gradient(145deg, var(--cygnivo-navy-900), var(--cygnivo-navy-950)); }
.cyg-insight-card--primary:hover { color: #fff; }
.cyg-insight-card--primary > span { color: #69dbf3; }
body.cygnivo-modern-v1 .cyg-home .cyg-insight-card--primary h3,
.cyg-insight-card--primary b { color: #fff; }
.cyg-insight-card--primary p { color: rgb(231 245 252 / 70%); }

/* Final CTA */
.cyg-final-cta { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 8%, rgb(118 95 230 / 46%), transparent 34%), radial-gradient(circle at 8% 100%, rgb(62 224 211 / 20%), transparent 31%), linear-gradient(120deg, #073b54 0%, #087681 48%, #413b8c 100%); }
.cyg-final-cta::after { position: absolute; top: -120%; right: -7%; z-index: -1; width: 52%; aspect-ratio: 1; border: 1px solid rgb(255 255 255 / 16%); border-radius: 50%; content: ""; box-shadow: 0 0 0 55px rgb(255 255 255 / 5%), 0 0 0 110px rgb(255 255 255 / 3%); }
.cyg-final-cta__mesh { opacity: 0.22; }
.cyg-final-cta__inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 56px; padding-block: clamp(70px, 7vw, 96px); }
body.cygnivo-modern-v1 .cyg-home .cyg-final-cta h2 { max-width: 860px; margin-bottom: 0; color: #fff; font-size: clamp(2.25rem, 4.1vw, 3.8rem); }
body.cygnivo-modern-v1 .cyg-final-cta h2 { color: #fff; }
.cyg-final-cta .cyg-eyebrow { color: #fff !important; }

/* Custom templates below render their own shared footer. The Avada Builder
 * homepage now receives its footer from the Global Layout. */
body.cygnivo-products-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-product-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-company-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-editorial-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-service-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-resources-page:not(.cygnivo-avada-builder-page) .fusion-footer,
body.cygnivo-contact-page:not(.cygnivo-avada-builder-page) .fusion-footer {
	display: none !important;
}

.cyg-footer {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(76px, 8vw, 112px) 0 0;
	color: #fff;
	background:
		radial-gradient(circle at 10% 22%, rgb(24 166 199 / 18%), transparent 27%),
		radial-gradient(circle at 88% 82%, rgb(84 79 220 / 16%), transparent 28%),
		linear-gradient(132deg, #031a2f 0%, #052e4e 54%, #071a34 100%);
}

.cyg-footer::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0.25;
	content: "";
	background-image: linear-gradient(rgb(255 255 255 / 4%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 4%) 1px, transparent 1px);
	background-size: 54px 54px;
	mask-image: linear-gradient(90deg, transparent, #000 65%, transparent);
}

.cyg-footer__glow {
	position: absolute;
	right: -10%;
	bottom: -60%;
	z-index: -1;
	width: 55%;
	aspect-ratio: 1;
	border: 1px solid rgb(112 226 249 / 10%);
	border-radius: 50%;
	box-shadow: 0 0 0 70px rgb(105 219 243 / 2.5%), 0 0 0 140px rgb(105 219 243 / 1.5%);
}

.cyg-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(155px, 0.52fr));
	gap: clamp(34px, 5vw, 76px);
	padding-bottom: clamp(66px, 7vw, 92px);
}

.cyg-footer__brand { max-width: 600px; }
.cyg-footer__logo { display: inline-flex; margin-bottom: 38px; }
.cyg-footer__logo img { width: 190px; height: auto; filter: brightness(0) invert(1); }

body.cygnivo-modern-v1 .cyg-footer h2 {
	max-width: 570px;
	margin: 0 0 19px;
	color: #fff;
	font-size: clamp(2rem, 3.35vw, 3.15rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.045em;
}

.cyg-footer__brand > p { max-width: 520px; margin: 0 0 30px; color: rgb(230 243 250 / 68%); font-size: 0.94rem; line-height: 1.7; }
.cyg-footer__contact { display: inline-flex; align-items: center; color: #7ce7fb; font-size: 0.86rem; font-weight: 700; text-decoration: none; }
.cyg-footer__contact:hover,
.cyg-footer__contact:focus-visible { color: #fff; text-decoration: none; }
.cyg-footer__contact svg { width: 18px; height: 18px; margin-left: 9px; transition: transform 180ms ease; }
.cyg-footer__contact:hover svg { transform: translateX(4px); }

.cyg-footer__nav { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 5px; }
.cyg-footer__nav p { margin: 0 0 13px; color: #75e0f5; font-size: 0.68rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.15em; text-transform: uppercase; }
.cyg-footer__nav a { position: relative; color: rgb(239 248 252 / 74%); font-size: 0.83rem; line-height: 1.45; text-decoration: none; transition: color 160ms ease, transform 160ms ease; }
.cyg-footer__nav a::before { position: absolute; top: 0.72em; left: -15px; width: 5px; height: 5px; border-radius: 50%; content: ""; background: #69dbf3; opacity: 0; transform: translateX(-5px); transition: opacity 160ms ease, transform 160ms ease; }
.cyg-footer__nav a:hover,
.cyg-footer__nav a:focus-visible { color: #fff; transform: translateX(8px); }
.cyg-footer__nav a:hover::before,
.cyg-footer__nav a:focus-visible::before { opacity: 1; transform: translateX(0); }

.cyg-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 82px;
	border-top: 1px solid rgb(255 255 255 / 10%);
}

.cyg-footer__bottom p,
.cyg-footer__bottom span,
.cyg-footer__bottom a { margin: 0; color: rgb(226 241 248 / 52%); font-size: 0.69rem; line-height: 1.4; }
.cyg-footer__bottom > div { display: flex; align-items: center; gap: 28px; }
.cyg-footer__bottom a { text-decoration: none; }
.cyg-footer__bottom a:hover,
.cyg-footer__bottom a:focus-visible { color: #fff; }

/* Lightweight native scroll polish—no JavaScript dependency. */
@supports (animation-timeline: view()) {
	.cyg-section-heading,
	.cyg-capability-card,
	.cyg-cloud-card,
	.cyg-why-grid article,
	.cyg-insight-card {
		animation: cyg-reveal linear both;
		animation-timeline: view();
		animation-range: entry 3% cover 24%;
	}

	.cyg-capability-card:nth-child(2),
	.cyg-cloud-card:nth-child(2),
	.cyg-why-grid article:nth-child(2) { animation-range: entry 7% cover 28%; }

	.cyg-capability-card:nth-child(3),
	.cyg-cloud-card:nth-child(3),
	.cyg-why-grid article:nth-child(3) { animation-range: entry 11% cover 32%; }
}

@keyframes cyg-reveal {
	from { opacity: 0; translate: 0 22px; }
	to { opacity: 1; translate: 0 0; }
}

@media (max-width: 1080px) {
	.cyg-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr); }
	.cyg-hero-visual { width: 440px; }
	.cyg-tech-node { min-width: 140px; }
	.cyg-capability-grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-cloud-card { padding-inline: 28px; }
	.cyg-cloud-card p { min-height: 135px; }
	.cyg-ai__grid { grid-template-columns: 1fr; gap: 58px; }
	.cyg-ai__copy { max-width: 760px; }
	.cyg-ai__experience { width: min(100%, 760px); margin-inline: auto; }
	.cyg-why-grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-insight-grid { grid-template-columns: 1fr 1fr; }
	.cyg-insight-card--primary { grid-row: span 2; }
}

@media (max-width: 900px) {
	.cyg-shell { width: min(calc(100% - 40px), var(--cygnivo-content-width)); }
	.cyg-hero { min-height: auto; }
	.cyg-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-block: 88px 72px; }
	.cyg-hero__content { max-width: 760px; }
	.cyg-hero-visual { width: min(100%, 540px); margin-top: 12px; }
	.cyg-value-strip__grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-value-strip__grid > div:nth-child(3) { border-left: 1px solid var(--cygnivo-border); }
	.cyg-value-strip__grid > div:nth-child(-n + 2) { border-bottom: 1px solid var(--cygnivo-border); }
	.cyg-section-heading { grid-template-columns: 1fr; gap: 24px; }
	.cyg-section-heading > p { max-width: 640px; }
	.cyg-journey__grid { grid-template-columns: 1fr; gap: 60px; }
	.cyg-journey__intro { position: static; }
	.cyg-product__card { grid-template-columns: 1fr; }
	.cyg-product__visual { width: min(100%, 540px); margin-inline: auto; }
	.cyg-cloud-grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-cloud-card:last-child { grid-column: 1 / -1; }
	.cyg-cloud-card p { min-height: 0; }
	.cyg-cloud-note { grid-template-columns: 1fr; gap: 8px; }
	.cyg-final-cta__inner { grid-template-columns: 1fr; }
	.cyg-footer__top { grid-template-columns: 1fr 1fr; }
	.cyg-footer__brand { grid-column: 1 / -1; max-width: 720px; }
}

@media (max-width: 640px) {
	.cyg-shell { width: min(calc(100% - 32px), var(--cygnivo-content-width)); }
	.cyg-section { padding-block: 72px; }
	body.cygnivo-modern-v1 .cyg-home h1 { margin-bottom: 22px; font-size: clamp(2.65rem, 13vw, 4rem); line-height: 1.01; }
	.cyg-home h2 { font-size: clamp(2rem, 10vw, 3rem); }
	.cyg-hero__grid { padding-block: 65px 56px; }
	.cyg-hero__lead { font-size: 1rem !important; }
	.cyg-actions { display: grid; grid-template-columns: 1fr; margin-top: 30px; }
	.cyg-button { width: 100%; }
	.cyg-proof-list { display: grid; gap: 10px; margin-top: 28px; }
	.cyg-hero-visual { width: 390px; max-width: 100%; }
	.cyg-tech-node { grid-template-columns: 34px auto; min-width: 126px; padding: 8px; }
	.cyg-tech-node span { width: 34px; height: 34px; }
	.cyg-tech-node strong { font-size: 0.64rem; }
	.cyg-tech-node--sap { top: 3%; left: 0; }
	.cyg-tech-node--btp { top: 14%; right: -1%; }
	.cyg-tech-node--ai { right: 0; bottom: 10%; }
	.cyg-tech-node--ops { bottom: 1%; left: 1%; }
	.cyg-core { width: 48%; padding: 18px; }
	.cyg-core span { font-size: 0.53rem; }
	.cyg-core small { font-size: 0.53rem; }
	.cyg-value-strip__grid { grid-template-columns: 1fr; }
	.cyg-value-strip__grid > div { padding: 23px 20px; border-right: 1px solid var(--cygnivo-border); border-bottom: 1px solid var(--cygnivo-border); border-left: 1px solid var(--cygnivo-border); }
	.cyg-value-strip__grid > div:last-child { border-bottom: 0; }
	.cyg-capability-grid,
	.cyg-why-grid,
	.cyg-insight-grid { grid-template-columns: 1fr; }
	.cyg-capability-card { min-height: 0; }
	.cyg-capability-card > p:not(.cyg-card-index) { min-height: 0; }
	.cyg-journey-steps li { grid-template-columns: 48px 1fr; gap: 19px; }
	.cyg-journey-steps::before { left: 23px; }
	.cyg-journey-steps li > span { width: 48px; height: 48px; }
	.cyg-product__card { width: calc(100% - 24px); padding: 32px 20px 38px; border-radius: 21px; }
	.cyg-product__status { right: -5px; bottom: -28px; min-width: 190px; }
	.cyg-product__benefits { display: grid; }
	.cyg-cloud-grid { grid-template-columns: 1fr; }
	.cyg-cloud-card,
	.cyg-cloud-card:last-child { grid-column: auto; min-height: 0; }
	.cyg-cloud-card__top { margin-bottom: 45px; }
	.cyg-cloud-note { padding: 22px; }
	.cyg-ai__experience { display: grid; grid-template-columns: 1fr; gap: 54px; min-height: 0; }
	.cyg-ai-orb { width: 160px; margin-inline: auto; }
	.cyg-ai-usecases article { padding: 17px; }
	.cyg-why-grid span { margin-bottom: 38px; }
	.cyg-insight-card { min-height: 290px; }
	.cyg-insight-card--primary { grid-row: auto; }
	.cyg-final-cta__inner { gap: 34px; }
	.cyg-footer__top { grid-template-columns: 1fr; gap: 48px; }
	.cyg-footer__brand { grid-column: auto; }
	.cyg-footer__logo { margin-bottom: 30px; }
	.cyg-footer__nav { padding-top: 0; }
	.cyg-footer__bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 12px; padding-block: 24px; }
	.cyg-footer__bottom > div { align-items: flex-start; flex-direction: column; gap: 9px; }
}

@media (prefers-reduced-motion: reduce) {
	.cyg-orbit,
	.cyg-tech-node,
	.cyg-ai-orb::before,
	.cyg-ai-orb::after {
		animation: none !important;
	}
}
