/**
 * Shared presentation for the modern SAP service-detail pages.
 */

body.cygnivo-service-page #main { padding: 0 !important; background: #fff; }
body.cygnivo-service-page #main > .fusion-row { width: 100%; max-width: none !important; }
body.cygnivo-service-page:not(.cygnivo-avada-builder-page) .fusion-footer { display: none !important; }

.cyg-service-page,
.cyg-service-page * { box-sizing: border-box; }
.cyg-service-page { width: 100%; overflow: hidden; color: var(--cygnivo-ink); background: #fff; }
.cyg-service-page h1,
.cyg-service-page h2,
.cyg-service-page h3,
.cyg-service-page p,
.cyg-service-page ul,
.cyg-service-page ol { margin-top: 0; }
.cyg-service-page h1,
.cyg-service-page h2,
.cyg-service-page h3 { font-family: Oxygen, Arial, sans-serif; }

/* Service hero */
.cyg-service-hero { position: relative; isolation: isolate; min-height: 720px; overflow: hidden; color: #fff; background: radial-gradient(circle at 77% 21%, rgb(39 190 223 / 23%), transparent 29%), radial-gradient(circle at 93% 82%, rgb(93 84 235 / 13%), transparent 25%), linear-gradient(125deg, #031d34 0%, #073c65 55%, #06182f 100%); }
.cyg-service-hero::after { position: absolute; right: -16%; bottom: -66%; z-index: -1; width: 66%; 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-service-hero__mesh,
.cyg-service-approach__mesh,
.cyg-service-outcomes__mesh { position: absolute; inset: 0; z-index: -1; opacity: 0.28; 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: 52px 52px; mask-image: linear-gradient(90deg, transparent, #000 60%, transparent); }
.cyg-service-hero__grid { display: grid; grid-template-columns: minmax(0, 1.07fr) minmax(430px, 0.93fr); align-items: center; gap: clamp(52px, 7vw, 100px); min-height: 720px; padding-block: 80px 90px; }
.cyg-service-hero__copy { position: relative; z-index: 2; }
body.cygnivo-modern-v1 .cyg-service-page h1 { max-width: 800px; margin: 0 0 28px; color: #fff; font-size: clamp(3.15rem, 5.65vw, 5.45rem); font-weight: 700; line-height: 0.99; letter-spacing: -0.06em; }
body.cygnivo-modern-v1 .cyg-service-page h1 span { display: block; color: #69dbf3; }
.cyg-service-hero__lead { max-width: 720px; margin-bottom: 0; color: rgb(231 245 252 / 76%); font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.72; }
.cyg-service-hero__tags { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 31px; }
.cyg-service-hero__tags span { padding: 8px 12px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 100px; color: rgb(238 249 253 / 75%); font-size: 0.65rem; font-weight: 700; letter-spacing: 0.03em; background: rgb(255 255 255 / 5%); }

/* CSS service signal */
.cyg-service-signal { position: relative; width: min(100%, 500px); aspect-ratio: 1; margin-inline: auto; filter: drop-shadow(0 32px 70px rgb(0 0 0 / 21%)); }
.cyg-service-signal__plane { position: absolute; inset: 8%; border: 1px solid rgb(105 219 243 / 10%); border-radius: 42px; 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 / 27%); background-size: 32px 32px; transform: rotate(-5deg); }
.cyg-service-signal__orbit { position: absolute; top: 50%; left: 50%; width: 78%; aspect-ratio: 1; border: 1px dashed rgb(118 227 249 / 20%); border-radius: 50%; animation: cyg-spin 38s linear infinite; transform: translate(-50%, -50%); }
.cyg-service-signal__core { position: absolute; top: 50%; left: 50%; z-index: 3; display: flex; flex-direction: column; justify-content: center; width: 43%; aspect-ratio: 1; padding: 26px; border: 1px solid rgb(126 231 251 / 34%); border-radius: 50%; text-align: center; background: radial-gradient(circle at 35% 27%, #147eaf, #032b4b 68%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 28px 65px rgb(0 14 27 / 36%); transform: translate(-50%, -50%); }
.cyg-service-signal__core::after { position: absolute; inset: 11px; border: 1px dashed rgb(152 236 252 / 24%); border-radius: 50%; content: ""; }
.cyg-service-signal__core small,
.cyg-service-signal__core strong,
.cyg-service-signal__core span { position: relative; z-index: 1; }
.cyg-service-signal__core small { margin-bottom: 8px; color: #93eafb; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.cyg-service-signal__core strong { color: #fff; font-size: clamp(1.18rem, 1.8vw, 1.6rem); line-height: 1.15; }
.cyg-service-signal__core span { margin-top: 9px; color: rgb(231 245 252 / 62%); font-size: 0.55rem; }
.cyg-service-signal__node { position: absolute; z-index: 4; display: grid; grid-template-columns: 34px auto; align-items: center; gap: 10px; min-width: 142px; padding: 9px 13px 9px 9px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 13px; background: rgb(3 35 59 / 86%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 8%), 0 16px 34px rgb(0 14 27 / 23%); backdrop-filter: blur(12px); }
.cyg-service-signal__node i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 9px; color: #fff; font-size: 0.61rem; font-style: normal; font-weight: 700; background: linear-gradient(145deg, var(--cygnivo-blue-600), var(--cygnivo-cyan-500)); }
.cyg-service-signal__node b { color: #fff; font-size: 0.7rem; line-height: 1.25; }
.cyg-service-signal__node--1 { top: 7%; left: 6%; animation: cyg-float 6s ease-in-out infinite; }
.cyg-service-signal__node--2 { top: 17%; right: -2%; animation: cyg-float 6.7s ease-in-out -1.3s infinite; }
.cyg-service-signal__node--3 { right: 0; bottom: 14%; animation: cyg-float 6.2s ease-in-out -2.7s infinite; }
.cyg-service-signal__node--4 { bottom: 6%; left: 6%; animation: cyg-float 7s ease-in-out -1.8s infinite; }

/* Value strip */
.cyg-service-value { border-bottom: 1px solid var(--cygnivo-border); background: #fff; }
.cyg-service-value__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.cyg-service-value__grid > div { display: grid; grid-template-columns: 35px 1fr; padding: 30px clamp(22px, 3vw, 38px); border-right: 1px solid var(--cygnivo-border); }
.cyg-service-value__grid > div:first-child { border-left: 1px solid var(--cygnivo-border); }
.cyg-service-value__grid span { grid-row: 1 / 3; color: var(--cygnivo-red-600); font-size: 0.68rem; font-weight: 700; }
.cyg-service-value__grid strong { color: var(--cygnivo-navy-900); font-size: 0.91rem; line-height: 1.35; }
.cyg-service-value__grid p { margin: 5px 0 0; color: var(--cygnivo-muted); font-size: 0.72rem; line-height: 1.5; }

/* Challenges */
.cyg-service-challenges { background: radial-gradient(circle at 0 0, rgb(24 166 199 / 5%), transparent 28%), #fff; }
.cyg-service-challenge-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyg-service-challenge-grid article { position: relative; min-height: 330px; padding: clamp(30px, 3.4vw, 43px); overflow: hidden; border: 1px solid var(--cygnivo-border); border-radius: 20px; background: linear-gradient(145deg, #fff, #f8fbfd); transition: transform 190ms ease, box-shadow 190ms ease; }
.cyg-service-challenge-grid article::after { position: absolute; right: -50px; bottom: -60px; width: 160px; height: 160px; border: 1px solid rgb(8 119 190 / 7%); border-radius: 50%; content: ""; box-shadow: 0 0 0 32px rgb(8 119 190 / 2.5%); }
.cyg-service-challenge-grid article:hover { box-shadow: var(--cygnivo-shadow-md); transform: translateY(-7px); }
.cyg-service-challenge-grid article > span { display: block; margin-bottom: 76px; color: var(--cygnivo-red-600); font-size: 0.68rem; font-weight: 700; }
.cyg-service-challenge-grid h3 { margin: 0 0 14px; color: var(--cygnivo-navy-900); font-size: 1.45rem; }
.cyg-service-challenge-grid p { margin: 0; color: var(--cygnivo-muted); font-size: 0.85rem; line-height: 1.68; }

/* Comprehensive service coverage */
.cyg-service-catalog { background: linear-gradient(145deg, #f3f8fc, #fff 58%); }
.cyg-service-catalog__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cyg-service-catalog__grid article { display: grid; grid-template-columns: minmax(0, .78fr) minmax(280px, 1.22fr); gap: clamp(28px, 4vw, 54px); min-height: 390px; padding: clamp(30px, 3.6vw, 48px); border: 1px solid var(--cygnivo-border); border-radius: 22px; background: rgb(255 255 255 / 92%); box-shadow: 0 18px 44px rgb(9 47 78 / 5%); }
.cyg-service-catalog__grid h3 { margin: 0 0 14px; color: var(--cygnivo-navy-900); font-size: clamp(1.45rem, 2.2vw, 2rem); line-height: 1.12; letter-spacing: -.035em; }
.cyg-service-catalog__grid article > div p { margin: 0; color: var(--cygnivo-muted); font-size: .86rem; line-height: 1.68; }
.cyg-service-catalog__grid ul { display: grid; align-content: start; gap: 0; margin: 0; padding: 0; list-style: none; }
.cyg-service-catalog__grid li { display: grid; grid-template-columns: 24px 1fr; gap: 11px; padding: 12px 0; border-bottom: 1px solid var(--cygnivo-border); color: var(--cygnivo-navy-900); font-size: .79rem; font-weight: 700; line-height: 1.45; }
.cyg-service-catalog__grid li:last-child { border-bottom: 0; }
.cyg-service-catalog__grid li span { display: grid; place-items: center; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; color: #fff; font-size: .65rem; background: linear-gradient(145deg, var(--cygnivo-blue-600), var(--cygnivo-cyan-500)); }

/* Migration path comparison */
.cyg-service-paths { background: #f5f9fc; }
.cyg-service-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cyg-service-paths__grid article { display: flex; min-height: 470px; flex-direction: column; padding: clamp(30px, 3.2vw, 42px); border: 1px solid var(--cygnivo-border); border-radius: 20px; background: #fff; box-shadow: 0 18px 45px rgb(8 37 66 / 5%); }
.cyg-service-paths__grid h3 { margin: 0 0 18px; color: var(--cygnivo-navy-900); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.2; }
.cyg-service-paths__grid article > p { margin: 0 0 28px; color: var(--cygnivo-muted); font-size: 0.88rem; line-height: 1.72; }
.cyg-service-paths__grid ul { display: grid; gap: 14px; margin: auto 0 0; padding: 24px 0 0; border-top: 1px solid var(--cygnivo-border); list-style: none; }
.cyg-service-paths__grid li { display: grid; grid-template-columns: 22px 1fr; gap: 11px; color: var(--cygnivo-navy-900); font-size: 0.8rem; font-weight: 700; line-height: 1.5; }
.cyg-service-paths__grid li svg { width: 19px; height: 19px; color: var(--cygnivo-cyan-500); }

/* Approach */
.cyg-service-approach { position: relative; isolation: isolate; color: #fff; background: radial-gradient(circle at 16% 31%, rgb(24 166 199 / 18%), transparent 28%), linear-gradient(125deg, #031c32, #063b63); }
.cyg-service-approach__grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(500px, 1.14fr); gap: clamp(60px, 9vw, 130px); }
.cyg-service-approach__intro { position: sticky; top: 120px; align-self: start; }
body.cygnivo-modern-v1 .cyg-service-approach h2,
body.cygnivo-modern-v1 .cyg-service-approach h3 { color: #fff; }
.cyg-service-approach h2 { margin: 0 0 21px; font-size: clamp(2.25rem, 4.2vw, 3.9rem); line-height: 1.05; letter-spacing: -0.05em; }
.cyg-service-approach__intro > p:not(.cyg-eyebrow) { max-width: 540px; margin-bottom: 28px; color: rgb(231 245 252 / 70%); }
.cyg-service-steps { position: relative; display: grid; margin: 0; padding: 0; list-style: none; }
.cyg-service-steps::before { position: absolute; top: 31px; bottom: 31px; left: 27px; width: 1px; content: ""; background: linear-gradient(#69dbf3, rgb(105 219 243 / 13%)); }
.cyg-service-steps li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 25px; padding-bottom: 45px; }
.cyg-service-steps li:last-child { padding-bottom: 0; }
.cyg-service-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.68rem; font-weight: 700; background: #073657; box-shadow: 0 0 0 8px #063657; }
.cyg-service-steps h3 { margin: 2px 0 8px; font-size: 1.4rem; }
.cyg-service-steps p { max-width: 500px; margin: 0; color: rgb(231 245 252 / 64%); font-size: 0.89rem; line-height: 1.65; }

/* Capability matrix */
.cyg-service-capabilities { background: linear-gradient(145deg, #f6faff, #fff 55%); }
.cyg-service-capability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyg-service-capability-grid article { min-height: 285px; padding: clamp(28px, 3vw, 38px); border: 1px solid var(--cygnivo-border); border-radius: 18px; background: rgb(255 255 255 / 88%); transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.cyg-service-capability-grid article:hover { border-color: rgb(8 119 190 / 28%); box-shadow: var(--cygnivo-shadow-sm); transform: translateY(-5px); }
.cyg-service-capability-grid article > span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 42px; border-radius: 13px; color: var(--cygnivo-blue-600); background: #eaf6fc; }
.cyg-service-capability-grid article:nth-child(2) > span { color: #6548c8; background: #f0ecff; }
.cyg-service-capability-grid article:nth-child(3) > span { color: #0b8b80; background: #e8f9f5; }
.cyg-service-capability-grid article:nth-child(4) > span { color: #b43f79; background: #fff0f6; }
.cyg-service-capability-grid article:nth-child(5) > span { color: #357c58; background: #eaf7ef; }
.cyg-service-capability-grid article:nth-child(6) > span { color: #b06b12; background: #fff5e5; }
.cyg-service-capability-grid svg { width: 24px; height: 24px; }
.cyg-service-capability-grid h3 { margin: 0 0 13px; color: var(--cygnivo-navy-900); font-size: 1.26rem; }
.cyg-service-capability-grid p { margin: 0; color: var(--cygnivo-muted); font-size: 0.83rem; line-height: 1.66; }

/* Outcomes */
.cyg-service-outcomes { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 84% 30%, rgb(108 88 250 / 24%), transparent 27%), radial-gradient(circle at 93% 90%, rgb(24 166 199 / 19%), transparent 25%), linear-gradient(128deg, #0a0d2a, #17194a 52%, #073050); }
.cyg-service-outcomes::after { position: absolute; top: -75%; right: -8%; z-index: -1; width: 54%; aspect-ratio: 1; border: 1px solid rgb(129 224 251 / 10%); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgb(105 219 243 / 2.5%), 0 0 0 140px rgb(105 219 243 / 1.5%); }
.cyg-service-outcomes__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(400px, 0.88fr); align-items: center; gap: clamp(60px, 9vw, 130px); }
body.cygnivo-modern-v1 .cyg-service-outcomes h2 { max-width: 760px; margin: 0 0 22px; color: #fff; font-size: clamp(2.3rem, 4.4vw, 4rem); line-height: 1.05; letter-spacing: -0.05em; }
.cyg-service-outcomes__grid > div > p:not(.cyg-eyebrow) { max-width: 700px; margin: 0; color: rgb(235 240 255 / 68%); }
.cyg-service-outcomes ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.cyg-service-outcomes li { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 16px; min-height: 74px; padding: 14px 18px; border: 1px solid rgb(255 255 255 / 10%); border-radius: 14px; color: #fff; background: rgb(255 255 255 / 6%); backdrop-filter: blur(10px); }
.cyg-service-outcomes li svg { width: 22px; height: 22px; color: #77e3f7; }
.cyg-service-outcomes li span { font-size: 0.87rem; font-weight: 700; }

/* Service FAQ */
.cyg-service-faq { background: #fff; }
.cyg-service-faq__grid { display: grid; grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(55px, 8vw, 120px); }
.cyg-service-faq__intro { position: sticky; top: 122px; }
.cyg-service-faq__intro h2 { margin: 0 0 20px; color: var(--cygnivo-navy-900); font-size: clamp(2.2rem, 4vw, 3.75rem); line-height: 1.06; letter-spacing: -0.05em; }
.cyg-service-faq__intro > p:not(.cyg-eyebrow) { max-width: 440px; margin: 0; color: var(--cygnivo-muted); line-height: 1.7; }
.cyg-service-faq__items { border-top: 1px solid var(--cygnivo-border); }
.cyg-service-faq details { border-bottom: 1px solid var(--cygnivo-border); }
.cyg-service-faq summary { display: grid; grid-template-columns: 1fr 36px; align-items: center; gap: 22px; padding: 25px 0; color: var(--cygnivo-navy-900); font-size: 1.04rem; font-weight: 700; line-height: 1.45; cursor: pointer; list-style: none; }
.cyg-service-faq summary::-webkit-details-marker { display: none; }
.cyg-service-faq summary span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #cae1eb; border-radius: 50%; color: var(--cygnivo-blue-600); font-size: 1.3rem; font-weight: 400; transition: transform 180ms ease, background 180ms ease; }
.cyg-service-faq details[open] summary span { color: #fff; background: var(--cygnivo-blue-600); transform: rotate(45deg); }
.cyg-service-faq details > div { padding: 0 58px 25px 0; }
.cyg-service-faq details p { margin: 0; color: var(--cygnivo-muted); font-size: 0.9rem; line-height: 1.75; }

/* Related services */
.cyg-service-related { background: #fff; }
.cyg-service-related__heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 52px; }
.cyg-service-related__heading h2 { max-width: 740px; margin: 0; font-size: clamp(2.25rem, 4.1vw, 3.8rem); line-height: 1.06; letter-spacing: -0.05em; }
.cyg-service-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyg-service-related__grid > a { position: relative; display: flex; flex-direction: column; min-height: 340px; padding: clamp(29px, 3.2vw, 40px); overflow: hidden; border: 1px solid var(--cygnivo-border); border-radius: 19px; color: var(--cygnivo-ink); text-decoration: none; background: linear-gradient(145deg, #fff, #f7fbfe); transition: transform 190ms ease, box-shadow 190ms ease; }
.cyg-service-related__grid > a::after { position: absolute; right: -45px; bottom: -55px; width: 150px; height: 150px; border: 1px solid rgb(8 119 190 / 8%); border-radius: 50%; content: ""; box-shadow: 0 0 0 30px rgb(8 119 190 / 2.5%); }
.cyg-service-related__grid > a:hover { color: var(--cygnivo-ink); box-shadow: var(--cygnivo-shadow-md); transform: translateY(-6px); }
.cyg-service-related__grid > a > span { margin-bottom: 55px; color: var(--cygnivo-blue-600); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.cyg-service-related__grid h3 { max-width: 330px; margin: 0 0 14px; color: var(--cygnivo-navy-900); font-size: 1.48rem; }
.cyg-service-related__grid p { display: -webkit-box; margin: 0 0 26px; overflow: hidden; color: var(--cygnivo-muted); font-size: 0.8rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.cyg-service-related__grid b { position: relative; z-index: 1; display: inline-flex; align-items: center; margin-top: auto; color: var(--cygnivo-navy-900); font-size: 0.76rem; }
.cyg-service-related__grid b svg { width: 17px; height: 17px; margin-left: 8px; }

@media (max-width: 1050px) {
	.cyg-service-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.75fr); }
	.cyg-service-signal { width: 440px; }
	.cyg-service-capability-grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-service-catalog__grid article { grid-template-columns: 1fr; min-height: 0; }
}

@media (max-width: 900px) {
	.cyg-service-hero { min-height: auto; }
	.cyg-service-hero__grid { grid-template-columns: 1fr; min-height: 0; padding-block: 88px 70px; }
	.cyg-service-signal { width: min(100%, 510px); }
	.cyg-service-value__grid { grid-template-columns: 1fr; }
	.cyg-service-value__grid > div { border-bottom: 1px solid var(--cygnivo-border); border-left: 1px solid var(--cygnivo-border); }
	.cyg-service-value__grid > div:last-child { border-bottom: 0; }
	.cyg-service-challenge-grid { grid-template-columns: 1fr; }
	.cyg-service-catalog__grid { grid-template-columns: 1fr; }
	.cyg-service-paths__grid { grid-template-columns: 1fr; }
	.cyg-service-paths__grid article { min-height: 0; }
	.cyg-service-challenge-grid article { min-height: 0; }
	.cyg-service-challenge-grid article > span { margin-bottom: 42px; }
	.cyg-service-approach__grid { grid-template-columns: 1fr; gap: 58px; }
	.cyg-service-approach__intro { position: static; }
	.cyg-service-outcomes__grid { grid-template-columns: 1fr; }
	.cyg-service-faq__grid { grid-template-columns: 1fr; gap: 45px; }
	.cyg-service-faq__intro { position: static; }
	.cyg-service-related__grid { grid-template-columns: 1fr 1fr; }
	.cyg-service-related__grid > a:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	body.cygnivo-modern-v1 .cyg-service-page h1 { max-width: 100%; overflow-wrap: break-word; font-size: clamp(2.25rem, 10.5vw, 3.2rem); }
	.cyg-service-hero__grid { padding-block: 64px 58px; }
	.cyg-service-signal { width: 370px; max-width: 100%; }
	.cyg-service-signal__node { grid-template-columns: 30px auto; min-width: 115px; padding: 7px; }
	.cyg-service-signal__node i { width: 30px; height: 30px; }
	.cyg-service-signal__node b { font-size: 0.6rem; }
	.cyg-service-signal__core { width: 47%; padding: 17px; }
	.cyg-service-signal__core small { font-size: 0.5rem; }
	.cyg-service-signal__core span { font-size: 0.47rem; }
	.cyg-service-capability-grid,
	.cyg-service-related__grid { grid-template-columns: 1fr; }
	.cyg-service-related__grid > a:last-child { grid-column: auto; }
	.cyg-service-related__heading { align-items: flex-start; flex-direction: column; }
	.cyg-service-steps li { grid-template-columns: 48px 1fr; gap: 19px; }
	.cyg-service-steps::before { left: 23px; }
	.cyg-service-steps li > span { width: 48px; height: 48px; }
	.cyg-service-capability-grid article { min-height: 0; }
	.cyg-service-outcomes li { grid-template-columns: 34px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.cyg-service-signal__orbit,
	.cyg-service-signal__node { animation: none; }
}
