/**
 * Cygnivo Resources and decision-guidance hub.
 */

body.cygnivo-resources-page #main { padding: 0 !important; background: #fff; }
body.cygnivo-resources-page #main > .fusion-row { width: 100%; max-width: none !important; }
body.cygnivo-resources-page:not(.cygnivo-avada-builder-page) .fusion-footer { display: none !important; }
.cyg-resources,
.cyg-resources * { box-sizing: border-box; }
.cyg-resources { width: 100%; overflow: hidden; color: var(--cygnivo-ink); background: #fff; }
.cyg-resources h1,
.cyg-resources h2,
.cyg-resources h3,
.cyg-resources p,
.cyg-resources ul,
.cyg-resources ol { margin-top: 0; }
.cyg-resources h1,
.cyg-resources h2,
.cyg-resources h3 { font-family: Oxygen, Arial, sans-serif; }

/* Hero */
.cyg-resources-hero { position: relative; isolation: isolate; min-height: 680px; overflow: hidden; color: #fff; background: radial-gradient(circle at 74% 24%, rgb(111 86 255 / 25%), transparent 28%), radial-gradient(circle at 91% 78%, rgb(24 190 205 / 20%), transparent 25%), linear-gradient(128deg, #07122f 0%, #172154 50%, #073454 100%); }
.cyg-resources-hero::after { position: absolute; right: -14%; bottom: -68%; z-index: -1; width: 68%; aspect-ratio: 1; border: 1px solid rgb(123 224 249 / 10%); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgb(100 80 250 / 3%), 0 0 0 160px rgb(105 219 243 / 2%); }
.cyg-resources-hero__mesh,
.cyg-resources-questions__mesh { position: absolute; inset: 0; z-index: -1; opacity: 0.26; 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 62%, transparent); }
.cyg-resources-hero__grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(410px, 0.92fr); align-items: center; gap: clamp(55px, 8vw, 115px); min-height: 680px; padding-block: 78px 86px; }
body.cygnivo-modern-v1 .cyg-resources h1 { max-width: 800px; margin: 0 0 28px; color: #fff; font-size: clamp(3.25rem, 6.05vw, 5.8rem); font-weight: 700; line-height: 0.99; letter-spacing: -0.06em; }
body.cygnivo-modern-v1 .cyg-resources h1 span { display: block; color: #7ce7fb; }
.cyg-resources-hero__grid > div:first-child > p:not(.cyg-eyebrow) { max-width: 700px; margin-bottom: 0; color: rgb(237 242 255 / 72%); font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.72; }

.cyg-resources-radar { position: relative; width: min(100%, 460px); aspect-ratio: 1; margin-inline: auto; }
.cyg-resources-radar::before { position: absolute; inset: 8%; border: 1px solid rgb(158 228 255 / 10%); border-radius: 45px; content: ""; background: linear-gradient(rgb(142 220 255 / 6%) 1px, transparent 1px), linear-gradient(90deg, rgb(142 220 255 / 6%) 1px, transparent 1px), rgb(5 14 43 / 25%); background-size: 31px 31px; transform: rotate(-5deg); }
.cyg-resources-radar__ring { position: absolute; top: 50%; left: 50%; width: 80%; aspect-ratio: 1; border: 1px dashed rgb(137 222 255 / 20%); border-radius: 50%; animation: cyg-spin 42s linear infinite; transform: translate(-50%, -50%); }
.cyg-resources-radar__ring::after { position: absolute; inset: 16%; border: 1px solid rgb(159 145 255 / 17%); border-radius: 50%; content: ""; }
.cyg-resources-radar__core { position: absolute; top: 50%; left: 50%; z-index: 2; display: flex; flex-direction: column; justify-content: center; width: 44%; aspect-ratio: 1; padding: 25px; border: 1px solid rgb(145 230 255 / 28%); border-radius: 50%; text-align: center; background: radial-gradient(circle at 34% 27%, #3b5ca7, #111d4b 67%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 15%), 0 28px 70px rgb(0 7 26 / 34%); transform: translate(-50%, -50%); }
.cyg-resources-radar__core small { margin-bottom: 9px; color: #98eafb; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.11em; text-transform: uppercase; }
.cyg-resources-radar__core strong { color: #fff; font-size: 1.25rem; line-height: 1.18; }
.cyg-resources-radar__point { position: absolute; z-index: 3; display: grid; place-items: center; width: 72px; height: 42px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 11px; color: #fff; font-size: 0.67rem; font-weight: 700; background: rgb(8 19 53 / 82%); box-shadow: 0 15px 33px rgb(0 6 24 / 25%); backdrop-filter: blur(10px); }
.cyg-resources-radar__point--one { top: 8%; left: 14%; }
.cyg-resources-radar__point--two { top: 17%; right: 2%; }
.cyg-resources-radar__point--three { right: 3%; bottom: 14%; }
.cyg-resources-radar__point--four { bottom: 6%; left: 13%; }

/* Featured guide */
.cyg-resources-feature { padding-block: clamp(84px, 9vw, 132px); background: linear-gradient(145deg, #f4f8ff, #fff 55%); }
.cyg-resources-feature__card { display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; gap: clamp(55px, 8vw, 110px); 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-resources-feature__visual { position: relative; min-width: 0; }
.cyg-resources-feature__document { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; min-height: 380px; padding: 38px; overflow: hidden; border: 1px solid rgb(136 223 249 / 20%); border-radius: 22px; color: #fff; background: radial-gradient(circle at 85% 15%, rgb(125 94 255 / 25%), transparent 28%), linear-gradient(145deg, #092343, #111743); box-shadow: 0 30px 65px rgb(7 25 56 / 26%); transform: perspective(1000px) rotateY(6deg) rotateX(2deg); }
.cyg-resources-feature__document::after { position: absolute; right: -18%; bottom: -38%; width: 65%; aspect-ratio: 1; border: 1px solid rgb(111 225 250 / 13%); border-radius: 50%; content: ""; box-shadow: 0 0 0 35px rgb(105 219 243 / 3%); }
.cyg-resources-feature__document > span { grid-column: 1 / -1; color: #86e6fa; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.cyg-resources-feature__document > strong { grid-column: 1 / -1; align-self: end; max-width: 260px; font-size: 2.3rem; line-height: 1.05; letter-spacing: -0.04em; }
.cyg-resources-feature__document > div { grid-column: 1 / -1; display: grid; gap: 8px; }
.cyg-resources-feature__document i { display: block; height: 7px; border-radius: 7px; background: rgb(255 255 255 / 12%); }
.cyg-resources-feature__document i:nth-child(2) { width: 82%; }
.cyg-resources-feature__document i:nth-child(3) { width: 68%; background: linear-gradient(90deg, #5be0f7, rgb(255 255 255 / 8%)); }
.cyg-resources-feature__document i:nth-child(4) { width: 75%; }
.cyg-resources-feature__document b { position: relative; z-index: 1; align-self: end; color: rgb(233 245 251 / 65%); font-size: 0.6rem; letter-spacing: 0.08em; }
.cyg-resources-feature__copy h2 { max-width: 650px; margin: 0 0 21px; font-size: clamp(2.25rem, 4.25vw, 3.9rem); line-height: 1.05; letter-spacing: -0.05em; }
.cyg-resources-feature__copy > p:not(.cyg-eyebrow) { max-width: 630px; margin-bottom: 26px; color: var(--cygnivo-muted); font-size: 0.97rem; line-height: 1.72; }
.cyg-resources-feature__copy ul { display: grid; gap: 10px; margin: 0 0 31px; padding: 0; color: var(--cygnivo-navy-900); font-size: 0.78rem; font-weight: 700; list-style: none; }
.cyg-resources-feature__copy li { display: flex; align-items: center; gap: 8px; }
.cyg-resources-feature__copy li svg { width: 17px; height: 17px; color: var(--cygnivo-cyan-500); }

/* Guide library */
.cyg-resources-guides { background: #fff; }
.cyg-guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyg-guide-grid > a { position: relative; display: flex; flex-direction: column; min-height: 390px; 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, #f8fbfd); transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease; }
.cyg-guide-grid > a::after { position: absolute; right: -48px; bottom: -58px; width: 155px; height: 155px; border: 1px solid rgb(8 119 190 / 7%); border-radius: 50%; content: ""; box-shadow: 0 0 0 31px rgb(8 119 190 / 2.5%); }
.cyg-guide-grid > a:hover { color: var(--cygnivo-ink); border-color: rgb(8 119 190 / 23%); box-shadow: var(--cygnivo-shadow-md); transform: translateY(-7px); }
.cyg-guide-grid > a > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 62px; }
.cyg-guide-grid > a > div span { color: var(--cygnivo-blue-600); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.cyg-guide-grid > a > div small { color: #9aabba; font-size: 0.67rem; font-weight: 700; }
.cyg-guide-grid h3 { margin: 0 0 15px; color: var(--cygnivo-navy-900); font-size: 1.46rem; line-height: 1.25; }
.cyg-guide-grid p { margin: 0 0 30px; color: var(--cygnivo-muted); font-size: 0.82rem; line-height: 1.65; }
.cyg-guide-grid b { position: relative; z-index: 1; display: inline-flex; align-items: center; margin-top: auto; color: var(--cygnivo-navy-900); font-size: 0.75rem; }
.cyg-guide-grid b svg { width: 17px; height: 17px; margin-left: 8px; }

/* Questions */
.cyg-resources-questions { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: radial-gradient(circle at 12% 33%, rgb(24 166 199 / 17%), transparent 28%), linear-gradient(125deg, #031d33, #063b63); }
.cyg-resources-questions__grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(520px, 1.14fr); align-items: center; gap: clamp(65px, 9vw, 130px); }
body.cygnivo-modern-v1 .cyg-resources-questions h2 { max-width: 680px; margin: 0 0 21px; color: #fff; font-size: clamp(2.3rem, 4.25vw, 3.9rem); line-height: 1.05; letter-spacing: -0.05em; }
.cyg-resources-questions__grid > div > p:not(.cyg-eyebrow) { max-width: 580px; margin-bottom: 28px; color: rgb(231 245 252 / 68%); }
.cyg-resources-questions ol { display: grid; margin: 0; padding: 0; list-style: none; }
.cyg-resources-questions li { display: grid; grid-template-columns: 43px 1fr; align-items: center; gap: 17px; min-height: 82px; padding: 16px 0; border-bottom: 1px solid rgb(255 255 255 / 10%); }
.cyg-resources-questions li:first-child { border-top: 1px solid rgb(255 255 255 / 10%); }
.cyg-resources-questions li span { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; color: #8eeafb; font-size: 0.63rem; font-weight: 700; background: rgb(105 219 243 / 12%); }
.cyg-resources-questions li p { margin: 0; color: rgb(241 249 252 / 80%); font-size: 0.85rem; line-height: 1.55; }

/* Horizon topics */
.cyg-resources-topics { background: linear-gradient(145deg, #f6faff, #fff 55%); }
.cyg-resources-topics__heading { max-width: 850px; margin-bottom: 52px; }
.cyg-resources-topics__heading h2 { margin: 0; font-size: clamp(2.3rem, 4.3vw, 3.95rem); line-height: 1.05; letter-spacing: -0.05em; }
.cyg-topic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyg-topic-grid article { display: flex; flex-direction: column; min-height: 335px; padding: clamp(29px, 3.2vw, 41px); border: 1px solid var(--cygnivo-border); border-radius: 19px; background: #fff; transition: transform 180ms ease, box-shadow 180ms ease; }
.cyg-topic-grid article:hover { box-shadow: var(--cygnivo-shadow-sm); transform: translateY(-5px); }
.cyg-topic-grid article > span { margin-bottom: 67px; color: var(--cygnivo-red-600); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.cyg-topic-grid h3 { margin: 0 0 14px; color: var(--cygnivo-navy-900); font-size: 1.52rem; }
.cyg-topic-grid p { margin: 0 0 26px; color: var(--cygnivo-muted); font-size: 0.83rem; line-height: 1.65; }
.cyg-topic-grid a { display: inline-flex; align-items: center; margin-top: auto; color: var(--cygnivo-navy-900); font-size: 0.76rem; font-weight: 700; text-decoration: none; }
.cyg-topic-grid a:hover { color: var(--cygnivo-blue-600); }
.cyg-topic-grid a svg { width: 17px; height: 17px; margin-left: 8px; }

@media (max-width: 980px) {
	.cyg-resources-hero__grid { grid-template-columns: 1fr; padding-block: 85px 70px; }
	.cyg-resources-radar { width: min(100%, 480px); }
	.cyg-resources-feature__card { grid-template-columns: 1fr; }
	.cyg-resources-feature__visual { width: min(100%, 560px); margin-inline: auto; }
	.cyg-guide-grid { grid-template-columns: repeat(2, 1fr); }
	.cyg-resources-questions__grid { grid-template-columns: 1fr; }
	.cyg-topic-grid { grid-template-columns: 1fr 1fr; }
	.cyg-topic-grid article:last-child { grid-column: 1 / -1; }
}

@media (max-width: 640px) {
	body.cygnivo-modern-v1 .cyg-resources h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
	.cyg-resources-hero { min-height: auto; }
	.cyg-resources-hero__grid { min-height: 0; padding-block: 64px 58px; }
	.cyg-resources-radar { width: 355px; max-width: 100%; }
	.cyg-resources-radar__point { width: 62px; height: 37px; font-size: 0.6rem; }
	.cyg-resources-feature__card { width: calc(100% - 24px); padding: 30px 20px 36px; border-radius: 21px; }
	.cyg-resources-feature__document { min-height: 320px; padding: 27px; }
	.cyg-guide-grid,
	.cyg-topic-grid { grid-template-columns: 1fr; }
	.cyg-topic-grid article:last-child { grid-column: auto; }
	.cyg-guide-grid > a { min-height: 330px; }
	.cyg-resources-questions li { align-items: start; }
}

@media (prefers-reduced-motion: reduce) {
	.cyg-resources-radar__ring { animation: none; }
}
