/* ==========================================================================
   CoupenYaari — main stylesheet
   1. Tokens  2. Base  3. Utilities  4. Buttons & chips  5. Header & nav
   6. Search overlay & drawer  7. Hero  8. Sections & headings  9. Category cards
   10. Offer cards  11. Brands  12. Posts  13. Why  14. Newsletter  15. Page heroes
   16. Single offer  17. Article  18. Prose  19. Footer  20. Misc  21. Motion
   ========================================================================== */

/* 1. Tokens --------------------------------------------------------------- */
:root {
	--navy-950: #060a1f;
	--navy-900: #0b1230;
	--navy-800: #121a42;
	--navy-700: #1d2659;
	--violet: #6c47ff;
	--violet-2: #8f72ff;
	--blue: #2e7bff;
	--lime: #b8f53a;
	--mint: #16b97e;
	--teal: #12b5a6;
	--orange: #ff7a3d;
	--red: #e5484d;

	--ink: #0b1230;
	--ink-2: #333c63;
	--muted: #646c8f;
	--line: #e3e6f2;
	--line-2: #eef0f8;
	--bg: #f6f7fc;
	--surface: #ffffff;

	--grad: linear-gradient(135deg, #7b4dff 0%, #2e7bff 100%);
	--grad-lime: linear-gradient(135deg, #c6f75a 0%, #5ee6a8 100%);
	--grad-text: linear-gradient(90deg, #b8f53a, #5ee6a8, #7fa8ff, #b79bff, #b8f53a);

	--r-xs: 8px;
	--r-sm: 12px;
	--r: 16px;
	--r-lg: 22px;
	--r-xl: 32px;

	--shadow-sm: 0 1px 2px rgba(11, 18, 48, .05), 0 2px 10px rgba(11, 18, 48, .04);
	--shadow: 0 2px 6px rgba(11, 18, 48, .04), 0 18px 40px -16px rgba(11, 18, 48, .18);
	--shadow-lg: 0 30px 70px -24px rgba(52, 36, 160, .38);

	--font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
	--font: "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	--header-h: 72px;
	--ease: cubic-bezier(.2, .75, .25, 1);
	--container: 1240px;
	--gutter: clamp(16px, 4vw, 32px);
}

/* Accent colour sets (used by .is-*, pills, chips, eyebrows, heroes) */
.is-violet, .cy-pill--violet, .cy-eyebrow--violet, .cy-chip--violet, .cy-phero--violet { --c: #6c47ff; --c-2: #2e7bff; --c-soft: #efebff; --c-ink: #4a2ad4; }
.is-blue, .cy-pill--blue, .cy-eyebrow--blue, .cy-chip--blue, .cy-phero--blue { --c: #2e7bff; --c-2: #12b5d6; --c-soft: #e7efff; --c-ink: #1a55c4; }
.is-teal, .cy-pill--teal, .cy-eyebrow--teal, .cy-chip--teal, .cy-phero--teal { --c: #12b5a6; --c-2: #2e7bff; --c-soft: #e0f6f3; --c-ink: #0a7d72; }
.is-orange, .cy-pill--orange, .cy-eyebrow--orange, .cy-chip--orange, .cy-phero--orange { --c: #ff7a3d; --c-2: #ff4f8b; --c-soft: #ffeee6; --c-ink: #c04a12; }
.is-lime, .cy-pill--lime, .cy-eyebrow--lime, .cy-chip--lime, .cy-phero--lime { --c: #7fbf12; --c-2: #16b97e; --c-soft: #f0fbd9; --c-ink: #4b7608; }

/* 2. Base ----------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
body.cy-locked { overflow: hidden; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--violet); text-decoration: none; transition: color .2s; }
a:hover { color: var(--blue); }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); line-height: 1.15; letter-spacing: -.02em; margin: 0 0 .5em; color: var(--ink); font-weight: 700; }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
code, kbd, pre { font-family: var(--font-mono); }
:focus-visible { outline: 3px solid var(--violet-2); outline-offset: 3px; border-radius: 6px; }
::selection { background: #d9ff8f; color: var(--navy-900); }
.cy-icon { width: 1.15em; height: 1.15em; flex: none; }

/* 3. Utilities ------------------------------------------------------------ */
.cy-container { width: 100%; max-width: var(--container); margin: 0 auto; padding-inline: var(--gutter); }
.cy-container--narrow { max-width: 860px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; z-index: 100000; background: #fff; padding: 12px 16px; left: 8px; top: 8px; }
.cy-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--lime); color: var(--navy-900); padding: 10px 16px; border-radius: 10px; font-weight: 700; }
.cy-skip:focus { left: 8px; }
.cy-muted { color: var(--muted); font-size: .95rem; }
.cy-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cy-grad { background: var(--grad-text); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.cy-grad--anim { animation: cy-gradient 9s linear infinite; }

/* 4. Buttons, pills, chips, badges --------------------------------------- */
.cy-btn {
	--btn-bg: var(--navy-900);
	--btn-fg: #fff;
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 46px; padding: .7em 1.25em;
	border: 0; border-radius: 14px;
	background: var(--btn-bg); color: var(--btn-fg);
	font-weight: 700; font-size: .95rem; line-height: 1.1; white-space: nowrap;
	position: relative; isolation: isolate; overflow: hidden;
	transition: transform .25s var(--ease), box-shadow .25s var(--ease), background .25s, color .25s;
}
.cy-btn:hover { color: var(--btn-fg); transform: translateY(-2px); }
.cy-btn:active { transform: translateY(0) scale(.98); }
.cy-btn .cy-icon { width: 1.05em; height: 1.05em; transition: transform .25s var(--ease); }
.cy-btn:hover .cy-icon:last-child { transform: translateX(3px); }
.cy-btn--primary { --btn-bg: var(--grad); background: var(--grad); box-shadow: 0 10px 24px -10px rgba(91, 66, 255, .7); }
.cy-btn--primary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .35) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s var(--ease); }
.cy-btn--primary:hover::after { transform: translateX(120%); }
.cy-btn--primary:hover { box-shadow: 0 16px 32px -12px rgba(91, 66, 255, .8); }
.cy-btn--lime { background: var(--lime); --btn-fg: var(--navy-900); color: var(--navy-900); box-shadow: 0 10px 24px -12px rgba(184, 245, 58, .8); }
.cy-btn--lime:hover { background: #c9ff5c; }
.cy-btn--glass { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.cy-btn--glass:hover { background: rgba(255, 255, 255, .14); }
.cy-btn--ghost { background: transparent; --btn-fg: var(--ink); color: var(--ink); border: 1px solid var(--line); }
.cy-btn--ghost:hover { border-color: var(--violet); color: var(--violet); }
.cy-btn--sm { min-height: 40px; padding: .55em 1em; font-size: .88rem; border-radius: 12px; }
.cy-btn--lg { min-height: 56px; padding: .9em 1.6em; font-size: 1.02rem; border-radius: 16px; }
.cy-btn--block { display: flex; width: 100%; }

.cy-link { display: inline-flex; align-items: center; gap: .35em; font-weight: 700; color: var(--violet); }
.cy-link .cy-icon { transition: transform .25s var(--ease); }
.cy-link:hover .cy-icon { transform: translateX(4px); }

.cy-pill { display: inline-flex; align-items: center; gap: .35em; padding: .22em .65em; border-radius: 999px; font-size: .74rem; font-weight: 700; letter-spacing: .01em; background: var(--c-soft); color: var(--c-ink); white-space: nowrap; }
.cy-pill .cy-icon { width: 1em; height: 1em; }

.cy-badge { display: inline-flex; align-items: center; gap: .3em; padding: .3em .7em; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; background: var(--line-2); color: var(--ink-2); white-space: nowrap; }
.cy-badge .cy-icon { width: 1em; height: 1em; }
.cy-badge--lime { background: var(--navy-900); color: var(--lime); }
.cy-badge--muted { background: #fde8e8; color: #b42318; }

.cy-eyebrow { display: inline-flex; align-items: center; gap: .45em; padding: .4em .85em; border-radius: 999px; background: var(--c-soft); color: var(--c-ink); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 14px; }
.cy-eyebrow .cy-icon { width: 1.05em; height: 1.05em; }
.cy-eyebrow--dark { background: rgba(255, 255, 255, .08); color: #fff; border: 1px solid rgba(255, 255, 255, .14); }
.cy-eyebrow--dark .cy-icon { color: var(--lime); }
.cy-eyebrow--dark.cy-eyebrow--blue .cy-icon { color: #8fb6ff; }

.cy-chips { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 14px; margin-bottom: 18px; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.cy-chips::-webkit-scrollbar { display: none; }
.cy-chips--wrap { flex-wrap: wrap; overflow: visible; -webkit-mask-image: none; mask-image: none; padding: 0; margin: 0; }
.cy-chips--center { justify-content: center; }
.cy-chip { display: inline-flex; align-items: center; gap: .45em; flex: none; padding: .55em 1em; border-radius: 999px; background: #fff; border: 1px solid var(--line); color: var(--ink-2); font-weight: 600; font-size: .9rem; transition: all .2s var(--ease); }
.cy-chip span { font-size: .75rem; color: var(--muted); background: var(--line-2); border-radius: 999px; padding: .05em .55em; }
.cy-chip:hover { border-color: var(--violet); color: var(--violet); transform: translateY(-1px); }
.cy-chip.is-active { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }
.cy-chip.is-active span { background: rgba(255, 255, 255, .14); color: #fff; }
.cy-chip[class*="cy-chip--"] .cy-icon { color: var(--c); }

/* 5. Header & navigation -------------------------------------------------- */
.cy-header {
	position: sticky; top: 0; z-index: 50;
	height: var(--header-h);
	background: rgba(8, 12, 34, .78);
	-webkit-backdrop-filter: blur(18px) saturate(160%);
	backdrop-filter: blur(18px) saturate(160%);
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	transition: height .3s var(--ease), background .3s, box-shadow .3s;
}
.admin-bar .cy-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cy-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .cy-header { top: 0; } }
.cy-header.is-scrolled { --header-h: 64px; background: rgba(8, 12, 34, .9); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .6); }
.cy-header__inner { height: 100%; display: flex; align-items: center; gap: 24px; }
.cy-header__brand { flex: none; display: flex; align-items: center; }
.cy-header__brand .custom-logo { max-height: 44px; width: auto; }

.cy-logo { display: inline-flex; align-items: center; gap: 10px; color: #fff; }
.cy-logo:hover { color: #fff; }
.cy-mark { display: block; flex: none; overflow: visible; transition: transform .5s var(--ease); }
.cy-logo:hover .cy-mark { transform: scale(1.06); }
/* Logo animation: draws itself once on load, replays on hover */
.cy-m-draw { stroke-dasharray: 1; stroke-dashoffset: 0; animation: cy-m-draw .7s var(--ease) both; }
.cy-m-a1, .cy-m-a2 { animation-delay: .25s; }
.cy-m-st { animation-delay: .6s; }
.cy-m-pop { transform-box: fill-box; transform-origin: center; animation: cy-m-pop .5s cubic-bezier(.3, 1.6, .5, 1) both; }
.cy-m-f2 { animation-delay: .08s; }
.cy-m-coin { animation-delay: 1s; }
.cy-logo:hover .cy-m-draw { animation-name: cy-m-draw-2; }
.cy-logo:hover .cy-m-pop { animation-name: cy-m-pop-2; }
.cy-logo__word { font-family: var(--font-display); font-weight: 800; font-size: 1.42rem; letter-spacing: -.035em; line-height: 1; }
.cy-logo__word span { background: var(--grad-lime); -webkit-background-clip: text; background-clip: text; color: transparent; }

.cy-nav { margin-inline: auto; }
.cy-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.cy-menu > li { position: relative; }
.cy-menu a { display: flex; align-items: center; gap: .3em; padding: .55em .85em; border-radius: 10px; color: rgba(255, 255, 255, .72); font-weight: 600; font-size: .93rem; white-space: nowrap; transition: color .2s, background .2s; }
.cy-menu a:hover { color: #fff; background: rgba(255, 255, 255, .06); }
.cy-nav .cy-menu > .current-menu-item > a,
.cy-nav .cy-menu > .current-menu-ancestor > a,
.cy-nav .cy-menu > .current_page_item > a { color: #fff; background: rgba(255, 255, 255, .08); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.cy-nav .cy-menu > .current-menu-item > a::after,
.cy-nav .cy-menu > .current_page_item > a::after { content: ""; position: absolute; left: 50%; bottom: -9px; width: 5px; height: 5px; border-radius: 50%; background: var(--lime); transform: translateX(-50%); box-shadow: 0 0 12px var(--lime); }
.cy-nav .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: 4px; opacity: .7; }
.cy-nav .sub-menu { position: absolute; top: calc(100% + 10px); left: 0; min-width: 230px; list-style: none; margin: 0; padding: 8px; border-radius: 16px; background: rgba(14, 20, 52, .96); border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .7); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .22s var(--ease); }
.cy-nav .sub-menu::before { content: ""; position: absolute; inset: -12px 0 auto; height: 12px; }
.cy-nav li:hover > .sub-menu, .cy-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.cy-nav .sub-menu a { padding: .6em .8em; }

.cy-header__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.cy-nav + .cy-header__actions { margin-left: 0; }
.cy-iconbtn { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .05); color: #fff; transition: background .2s, transform .2s var(--ease), border-color .2s; }
.cy-iconbtn:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .24); transform: translateY(-1px); }
.cy-iconbtn .cy-icon { width: 20px; height: 20px; }
.cy-burger { display: none; }

@media (max-width: 1100px) {
	.cy-nav { display: none; }
	.cy-burger { display: inline-grid; }
}
@media (max-width: 600px) {
	.cy-header__cta { display: none; }
	.cy-logo__word { font-size: 1.25rem; }
}

/* 6. Search overlay & mobile drawer -------------------------------------- */
.cy-search, .cy-drawer { position: fixed; inset: 0; z-index: 100; }
.cy-search[hidden], .cy-drawer[hidden] { display: none; }
.cy-search__backdrop, .cy-drawer__backdrop { position: absolute; inset: 0; background: rgba(5, 8, 25, .62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; transition: opacity .3s var(--ease); }
.is-open .cy-search__backdrop, .is-open .cy-drawer__backdrop { opacity: 1; }
.cy-search__panel { position: relative; max-width: 820px; margin: clamp(16px, 9vh, 96px) auto 0; padding: 28px; border-radius: 24px; background: #fff; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .55); width: calc(100% - 2 * var(--gutter)); opacity: 0; transform: translateY(-18px) scale(.98); transition: all .35s var(--ease); }
.is-open .cy-search__panel { opacity: 1; transform: none; }
.cy-search__close { position: absolute; top: 14px; right: 14px; color: var(--ink); border-color: var(--line); background: #fff; }
.cy-search__close:hover { background: var(--bg); }
.cy-search__kicker { font-family: var(--font-display); font-weight: 700; font-size: 1.35rem; margin: 0 0 14px; padding-right: 48px; }
.cy-search__quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.cy-search__quick > span { font-size: .85rem; font-weight: 700; color: var(--muted); margin-right: 4px; }

.cy-drawer__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(88vw, 380px); background: var(--navy-900); color: #fff; padding: 18px 20px 28px; display: flex; flex-direction: column; gap: 20px; overflow-y: auto; transform: translateX(100%); transition: transform .38s var(--ease); box-shadow: -30px 0 60px -30px rgba(0, 0, 0, .7); }
.is-open .cy-drawer__panel { transform: none; }
.cy-drawer__head { display: flex; align-items: center; justify-content: space-between; }
.cy-drawer__nav .cy-menu { flex-direction: column; align-items: stretch; gap: 4px; }
.cy-drawer__nav .cy-menu a { font-size: 1.08rem; padding: .85em 1em; border-radius: 14px; }
.cy-drawer__nav .current-menu-item > a, .cy-drawer__nav .current_page_item > a { background: rgba(255, 255, 255, .08); color: #fff; box-shadow: inset 3px 0 0 var(--lime); }
.cy-drawer__nav .menu-item-has-children { position: relative; }
.cy-drawer__nav .sub-menu { list-style: none; padding: 0 0 0 14px; margin: 0; display: none; }
.cy-drawer__nav .is-sub-open > .sub-menu { display: block; }
.cy-subtoggle { position: absolute; top: 6px; right: 4px; width: 40px; height: 40px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, .06); color: #fff; display: grid; place-items: center; }
.cy-subtoggle .cy-icon { transition: transform .25s; }
.is-sub-open > .cy-subtoggle .cy-icon { transform: rotate(180deg); }

/* Search form */
.cy-sform { position: relative; display: flex; align-items: center; background: #fff; border: 1.5px solid var(--line); border-radius: 18px; padding: 6px; transition: border-color .2s, box-shadow .25s; }
.cy-sform:focus-within { border-color: var(--violet); box-shadow: 0 0 0 5px rgba(108, 71, 255, .14); }
.cy-sform__icon { position: absolute; left: 18px; color: var(--muted); width: 20px; height: 20px; pointer-events: none; }
.cy-sform__input { flex: 1; min-width: 0; height: 50px; border: 0; background: transparent; padding: 0 12px 0 44px; font-size: 1rem; color: var(--ink); outline: none; }
.cy-sform__input::placeholder { color: #8a91b0; }
.cy-sform__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.cy-sform__btn { display: inline-flex; align-items: center; gap: .4em; height: 50px; padding: 0 20px; border: 0; border-radius: 13px; background: var(--grad); color: #fff; font-weight: 700; transition: filter .2s, transform .2s var(--ease); }
.cy-sform__btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.cy-sform__btn .cy-icon { width: 18px; height: 18px; }
@media (max-width: 520px) {
	.cy-sform__btn span { display: none; }
	.cy-sform__btn { padding: 0 15px; }
}

/* 7. Hero ----------------------------------------------------------------- */
.cy-hero { position: relative; background: var(--navy-950); color: #fff; overflow: hidden; padding: clamp(48px, 8vw, 96px) 0 clamp(64px, 10vw, 128px); margin-top: calc(var(--header-h) * -1); padding-top: calc(var(--header-h) + clamp(40px, 7vw, 88px)); }
.cy-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.cy-hero__bg::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(to bottom, transparent, rgba(6, 10, 31, .6)); }
.cy-orb { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; will-change: transform; }
.cy-orb--1 { width: 520px; height: 520px; background: #6c47ff; top: -160px; left: -120px; animation: cy-drift 18s ease-in-out infinite; }
.cy-orb--2 { width: 460px; height: 460px; background: #2e7bff; top: 10%; right: -160px; opacity: .45; animation: cy-drift 22s ease-in-out infinite reverse; }
.cy-orb--3 { width: 320px; height: 320px; background: #b8f53a; bottom: -180px; left: 38%; opacity: .18; animation: cy-drift 26s ease-in-out infinite; }
.cy-hero__grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); background-size: 56px 56px; -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse 70% 60% at 50% 35%, #000 30%, transparent 75%); }
.cy-hero__wrap { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.cy-hero__badge { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px 7px 10px; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); font-size: .85rem; font-weight: 600; color: rgba(255, 255, 255, .86); margin-bottom: 22px; }
.cy-pulse { width: 9px; height: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 rgba(184, 245, 58, .7); animation: cy-pulse 2s infinite; }
.cy-hero__title { font-size: clamp(2.5rem, 5.6vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 800; color: #fff; margin: 0 0 22px; }
.cy-hero__title > span { display: block; }
.cy-hero__text { font-size: clamp(1.02rem, 1.4vw, 1.18rem); color: rgba(255, 255, 255, .72); max-width: 560px; margin-bottom: 30px; }
.cy-hero__search { max-width: 620px; }
.cy-hero__search .cy-sform { border-color: transparent; box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .1); border-radius: 20px; padding: 7px; }
.cy-hero__search .cy-sform__input { height: 56px; font-size: 1.04rem; }
.cy-hero__search .cy-sform__btn { height: 56px; border-radius: 14px; padding: 0 24px; }
.cy-hero__popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; font-size: .88rem; color: rgba(255, 255, 255, .55); }
.cy-hero__popular a { color: rgba(255, 255, 255, .85); padding: .25em .75em; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); }
.cy-hero__popular a:hover { color: var(--navy-900); background: var(--lime); border-color: var(--lime); }
.cy-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.cy-hero__stats { display: flex; flex-wrap: wrap; gap: 14px 36px; margin: 38px 0 0; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .1); }
.cy-hero__stats div { display: flex; flex-direction: column-reverse; }
.cy-hero__stats dt { font-size: .84rem; color: rgba(255, 255, 255, .55); }
.cy-hero__stats dd { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 1.85rem; letter-spacing: -.03em; line-height: 1.1; }

.cy-hero__visual { position: relative; min-height: 460px; display: grid; place-items: center; min-width: 0; }
.cy-ring { position: absolute; inset: 0; display: grid; place-items: center; }
.cy-ring span { position: absolute; border-radius: 50%; border: 1px dashed rgba(255, 255, 255, .14); }
.cy-ring span:first-child { width: 420px; height: 420px; animation: cy-spin 60s linear infinite; }
.cy-ring span:last-child { width: 300px; height: 300px; border-style: solid; border-color: rgba(143, 114, 255, .2); }
.cy-float { position: absolute; border-radius: 22px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6); color: #fff; }
.cy-float--main { position: relative; width: min(100%, 360px); padding: 22px; animation: cy-float 7s ease-in-out infinite; background: linear-gradient(160deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, .05)); }
.cy-float__top { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.cy-float__top strong { display: block; font-size: 1rem; margin-bottom: 4px; }
.cy-float__title { font-family: var(--font-display); font-size: 1.3rem; font-weight: 700; line-height: 1.25; margin: 0 0 18px; letter-spacing: -.02em; }
.cy-float__code { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 16px; border-radius: 14px; border: 1.5px dashed rgba(184, 245, 58, .6); background: rgba(184, 245, 58, .08); }
.cy-float__code code { font-weight: 700; font-size: 1.15rem; letter-spacing: .12em; color: var(--lime); }
.cy-float__code span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--lime); color: var(--navy-900); }
.cy-float--chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; font-weight: 700; font-size: .88rem; }
.cy-float--chip .cy-icon { width: 18px; height: 18px; padding: 2px; border-radius: 50%; background: var(--mint); color: #fff; }
.cy-float--a { top: 12%; right: 0; animation: cy-float 6s ease-in-out infinite .6s; }
.cy-float--b { bottom: 10%; left: -2%; animation: cy-float 8s ease-in-out infinite 1.2s; }
.cy-float--b .cy-icon { background: var(--violet); }
.cy-float--icon { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; }
.cy-float--icon .cy-icon { width: 26px; height: 26px; }
.cy-float--c { top: 6%; left: 8%; color: var(--lime); animation: cy-float 9s ease-in-out infinite .3s; }
.cy-float--d { bottom: 4%; right: 10%; color: #9fc0ff; animation: cy-float 7.5s ease-in-out infinite 1.8s; }

@media (max-width: 960px) {
	.cy-hero__wrap { grid-template-columns: minmax(0, 1fr); }
	.cy-hero__visual { min-height: 340px; order: 2; }
	.cy-ring span:first-child { width: 320px; height: 320px; }
	.cy-ring span:last-child { width: 220px; height: 220px; }
}
@media (max-width: 520px) {
	.cy-hero__title { font-size: clamp(2.2rem, 10.5vw, 2.6rem); }
	.cy-hero__visual { min-height: 300px; }
	.cy-float--c, .cy-float--d { display: none; }
	.cy-float--a { top: 0; right: 0; }
	.cy-float--b { bottom: 0; left: 0; }
	.cy-hero__ctas .cy-btn { flex: 1 1 100%; }
	.cy-hero__stats dd { font-size: 1.5rem; }
}

/* 8. Sections & headings ------------------------------------------------- */
.cy-section { padding: clamp(56px, 8vw, 100px) 0; position: relative; }
.cy-section--tint { background: #fff; border-block: 1px solid var(--line-2); }
.cy-section:not(.cy-section--tint):not(.cy-section--compact) + .cy-section:not(.cy-section--tint):not(.cy-section--flush):not(.cy-section--compact) { padding-top: 0; }
.cy-section--flush { padding-top: clamp(28px, 4vw, 44px); }
.cy-section--compact { padding: clamp(32px, 5vw, 56px) 0 0; }
.cy-section--compact:last-of-type { padding-bottom: clamp(56px, 8vw, 96px); }
.cy-shead { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: clamp(24px, 3.5vw, 40px); flex-wrap: wrap; }
.cy-shead--center { justify-content: center; text-align: center; }
.cy-shead__title { font-size: clamp(1.75rem, 3.4vw, 2.6rem); font-weight: 800; letter-spacing: -.035em; margin: 0; }
.cy-shead__sub { color: var(--muted); margin: 10px 0 0; max-width: 580px; font-size: 1.04rem; }
.cy-shead--center .cy-shead__sub { margin-inline: auto; }
.cy-shead--dark .cy-shead__title { color: #fff; }
.cy-shead--dark .cy-shead__sub { color: rgba(255, 255, 255, .62); }
.cy-subhead { font-size: 1.35rem; margin: 8px 0 18px; }
.cy-subhead + .cy-grid { margin-bottom: 40px; }

.cy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 20px; }
.cy-grid--posts { grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: 24px; }
.cy-rows { display: grid; gap: 14px; }

.cy-empty { text-align: center; padding: 44px 24px; border: 1.5px dashed var(--line); border-radius: var(--r-lg); background: #fff; color: var(--muted); }
.cy-empty .cy-sform { max-width: 520px; margin: 18px auto 0; }
.cy-empty .cy-chips { margin-top: 14px; }

/* 9. Category cards ------------------------------------------------------ */
.cy-cats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.cy-cat { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px; min-height: 230px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); color: var(--ink); overflow: hidden; isolation: isolate; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
.cy-cat::before { content: ""; position: absolute; z-index: -1; width: 220px; height: 220px; right: -90px; top: -90px; border-radius: 50%; background: radial-gradient(circle, var(--c-soft) 0%, transparent 70%); transition: transform .5s var(--ease); }
.cy-cat::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; padding: 1.5px; background: linear-gradient(135deg, var(--c), var(--c-2)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity .35s; }
.cy-cat:hover { color: var(--ink); transform: translateY(-6px); box-shadow: 0 26px 50px -24px color-mix(in srgb, var(--c) 55%, transparent); border-color: transparent; }
.cy-cat:hover::after { opacity: 1; }
.cy-cat:hover::before { transform: scale(1.6); }
.cy-cat__icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--c-soft); color: var(--c); margin-bottom: 12px; transition: transform .45s var(--ease), background .3s, color .3s; }
.cy-cat__icon .cy-icon { width: 26px; height: 26px; }
.cy-cat:hover .cy-cat__icon { background: linear-gradient(135deg, var(--c), var(--c-2)); color: #fff; transform: rotate(-8deg) scale(1.06); }
.cy-cat__name { font-family: var(--font-display); font-weight: 700; font-size: 1.18rem; letter-spacing: -.02em; }
.cy-cat__desc { font-size: .88rem; color: var(--muted); line-height: 1.5; }
.cy-cat__foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 14px; font-weight: 700; font-size: .85rem; color: var(--c-ink); }
.cy-cat__foot .cy-icon { transition: transform .3s var(--ease); }
.cy-cat:hover .cy-cat__foot .cy-icon { transform: translateX(4px); }
@media (max-width: 1100px) {
	.cy-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
	.cy-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cy-cat { min-height: 0; padding: 18px; }
	.cy-cat__desc { display: none; }
	.cy-cat:last-child { grid-column: 1 / -1; }
}

/* 10. Offer cards -------------------------------------------------------- */
.cy-offer { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 20px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s; }
.cy-offer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--c), var(--c-2)); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.cy-offer:hover { transform: translateY(-5px); box-shadow: 0 28px 50px -26px color-mix(in srgb, var(--c, #6c47ff) 50%, rgba(11, 18, 48, .3)); border-color: color-mix(in srgb, var(--c, #6c47ff) 28%, var(--line)); }
.cy-offer:hover::before { transform: scaleX(1); }
.cy-offer__top { display: flex; align-items: center; gap: 12px; }
.cy-offer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; flex: 1; }
.cy-offer__brandname { font-weight: 800; font-size: .95rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.cy-offer__title { font-size: 1.12rem; line-height: 1.3; margin: 0; letter-spacing: -.015em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cy-offer__title a { color: var(--ink); background-image: linear-gradient(currentColor, currentColor); background-size: 0 1.5px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .35s var(--ease), color .2s; }
.cy-offer__title a:hover { color: var(--c-ink, var(--violet)); background-size: 100% 1.5px; }
.cy-offer__text { color: var(--muted); font-size: .92rem; line-height: 1.55; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cy-offer__note { display: flex; align-items: center; gap: 6px; font-size: .84rem; color: var(--ink-2); font-weight: 600; margin: 0; }
.cy-offer__note .cy-icon { color: var(--c); }
.cy-offer__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.cy-offer.is-expired { opacity: .78; }
.cy-offer.is-expired .cy-code { filter: grayscale(.8); }

/* Logo tiles */
.cy-logo-tile { display: grid; place-items: center; flex: none; overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.cy-logo-tile img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.cy-logo-tile--sm { width: 36px; height: 36px; border-radius: 10px; }
.cy-logo-tile--md { width: 52px; height: 52px; }
.cy-logo-tile--lg { width: 72px; height: 72px; border-radius: 18px; }
.cy-logo-tile--xl { width: 104px; height: 104px; border-radius: 26px; }
.cy-logo-tile--initial { border: 0; color: #fff; font-family: var(--font-display); font-weight: 800; font-size: 1.4em; background: linear-gradient(135deg, hsl(var(--h) 78% 58%), hsl(calc(var(--h) + 40) 80% 48%)); }
.cy-logo-tile--md.cy-logo-tile--initial { font-size: 1.35rem; }
.cy-logo-tile--lg.cy-logo-tile--initial { font-size: 1.9rem; }
.cy-logo-tile--xl.cy-logo-tile--initial { font-size: 2.8rem; }
.cy-logo-tile--brand { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .16); }

/* Code box */
.cy-code { display: flex; align-items: center; gap: 10px; padding: 8px 8px 8px 14px; border-radius: 14px; border: 1.5px dashed color-mix(in srgb, var(--c, #6c47ff) 45%, #fff); background: color-mix(in srgb, var(--c-soft, #efebff) 70%, #fff); position: relative; }
.cy-code__label { position: absolute; top: -9px; left: 12px; padding: 0 6px; font-size: .62rem; font-weight: 800; letter-spacing: .12em; color: var(--c-ink, var(--violet)); background: #fff; border-radius: 4px; line-height: 1.4; }
.cy-code__value { flex: 1; min-width: 0; font-weight: 700; font-size: 1.02rem; letter-spacing: .1em; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; user-select: all; }
.cy-code__btn { display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 0; border-radius: 11px; background: var(--navy-900); color: #fff; font-weight: 700; font-size: .86rem; flex: none; transition: background .25s, transform .2s var(--ease); }
.cy-code__btn:hover { background: var(--violet); }
.cy-code__btn:active { transform: scale(.95); }
.cy-code__btn .cy-icon { width: 17px; height: 17px; }
.cy-code__btn .cy-icon--done { display: none; }
.cy-code__btn.is-copied { background: var(--mint); animation: cy-pop .45s var(--ease); }
.cy-code__btn.is-copied .cy-icon { display: none; }
.cy-code__btn.is-copied .cy-icon--done { display: block; }
.cy-code--none { gap: 8px; padding: 12px 14px; border-style: solid; border-color: var(--line); background: var(--bg); color: var(--ink-2); font-size: .86rem; font-weight: 600; }
.cy-code--none .cy-icon { color: var(--mint); }
.cy-code--lg { padding: 12px 12px 12px 20px; border-radius: 18px; }
.cy-code--lg .cy-code__label { font-size: .68rem; top: -10px; left: 16px; }
.cy-code--lg .cy-code__value { font-size: clamp(1.25rem, 2.5vw, 1.6rem); letter-spacing: .14em; }
.cy-code--lg .cy-code__btn { height: 50px; padding: 0 20px; font-size: .95rem; border-radius: 13px; }

.cy-expiry { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; color: var(--muted); }
.cy-expiry .cy-icon { width: 15px; height: 15px; }
.cy-expiry--soon { color: #c2410c; }
.cy-expiry--expired { color: #b42318; }
.cy-expiry--valid .cy-icon { color: var(--mint); }

/* Row variant (Invite codes on home) */
.cy-offer--row { display: grid; grid-template-columns: minmax(170px, .75fr) minmax(0, 1.6fr) minmax(220px, .9fr) auto; align-items: center; gap: 18px; padding: 16px 18px; }
.cy-offer--row::before { top: 0; bottom: 0; right: auto; width: 3px; height: auto; transform: scaleY(0); transform-origin: top; }
.cy-offer--row:hover::before { transform: scaleY(1); }
.cy-offer--row:hover { transform: translateY(-2px); }
.cy-offer--row .cy-offer__title { font-size: 1.02rem; -webkit-line-clamp: 2; }
.cy-offer--row .cy-offer__text, .cy-offer--row .cy-badge { display: none; }
.cy-offer--row .cy-offer__foot { margin: 0; padding: 0; flex-direction: column; align-items: flex-end; gap: 6px; }
@media (max-width: 960px) {
	.cy-offer--row { grid-template-columns: 1fr; gap: 12px; padding: 18px; }
	.cy-offer--row .cy-offer__foot { flex-direction: row; align-items: center; }
	.cy-offer--row::before { width: auto; height: 3px; right: 0; bottom: auto; }
}

/* 11. Brands ------------------------------------------------------------- */
.cy-brands { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
.cy-brand { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 22px 14px 18px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); color: var(--ink); transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s; }
.cy-brand:hover { color: var(--ink); transform: translateY(-4px); box-shadow: var(--shadow); border-color: color-mix(in srgb, var(--violet) 30%, var(--line)); }
.cy-brand .cy-logo-tile { transition: transform .4s var(--ease); }
.cy-brand:hover .cy-logo-tile { transform: scale(1.06) rotate(-3deg); }
.cy-brand__name { font-weight: 800; font-size: .95rem; line-height: 1.25; margin-top: 4px; }
.cy-brand__count { font-size: .78rem; color: var(--muted); font-weight: 600; }
.cy-brand[hidden] { display: none; }
@media (max-width: 520px) { .cy-brands { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

.cy-bfilter { position: relative; display: flex; align-items: center; max-width: 520px; margin: 0 0 24px; background: #fff; border: 1.5px solid var(--line); border-radius: 16px; padding: 0 14px; transition: border-color .2s, box-shadow .2s; }
.cy-bfilter:focus-within { border-color: var(--violet); box-shadow: 0 0 0 5px rgba(108, 71, 255, .12); }
.cy-bfilter > .cy-icon { color: var(--muted); }
.cy-bfilter input { flex: 1; height: 52px; border: 0; outline: none; padding: 0 12px; background: transparent; }
.cy-bfilter__count { font-size: .8rem; font-weight: 700; color: var(--muted); background: var(--bg); padding: .2em .65em; border-radius: 999px; }

/* 12. Blog cards --------------------------------------------------------- */
.cy-post { display: flex; flex-direction: column; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); overflow: hidden; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.cy-post:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.cy-post__media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #eef0ff, #e6f0ff); }
.cy-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.cy-post:hover .cy-post__media img { transform: scale(1.05); }
.cy-post__placeholder { display: grid; place-items: center; height: 100%; background: radial-gradient(circle at 30% 20%, rgba(108, 71, 255, .25), transparent 55%), radial-gradient(circle at 80% 90%, rgba(46, 123, 255, .25), transparent 55%), var(--navy-900); }
.cy-post__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.cy-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-size: .8rem; color: var(--muted); font-weight: 600; }
.cy-post__cat { color: var(--violet); background: #efebff; padding: .2em .65em; border-radius: 999px; font-weight: 700; }
.cy-post__title { font-size: 1.2rem; line-height: 1.3; margin: 0; }
.cy-post__title a { color: var(--ink); }
.cy-post__title a:hover { color: var(--violet); }
.cy-post__excerpt { color: var(--muted); font-size: .93rem; margin: 0; }
.cy-post .cy-link { margin-top: auto; }

/* 13. Why choose --------------------------------------------------------- */
.cy-why { position: relative; padding: clamp(64px, 9vw, 116px) 0; background: var(--navy-950); color: #fff; overflow: hidden; }
.cy-why__bg span { position: absolute; border-radius: 50%; filter: blur(80px); }
.cy-why__bg span:first-child { width: 500px; height: 500px; background: rgba(108, 71, 255, .35); left: -200px; top: -120px; }
.cy-why__bg span:last-child { width: 420px; height: 420px; background: rgba(184, 245, 58, .14); right: -140px; bottom: -160px; }
.cy-why .cy-container { position: relative; }
.cy-why__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.cy-why__card { grid-column: span 2; padding: 28px; border-radius: var(--r-lg); background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); border: 1px solid rgba(255, 255, 255, .1); transition: transform .35s var(--ease), border-color .35s, background .35s; }
.cy-why__card:nth-child(4), .cy-why__card:nth-child(5) { grid-column: span 3; }
.cy-why__card:hover { transform: translateY(-4px); border-color: rgba(184, 245, 58, .35); background: linear-gradient(160deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .03)); }
.cy-why__icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: rgba(184, 245, 58, .12); color: var(--lime); margin-bottom: 18px; }
.cy-why__icon .cy-icon { width: 24px; height: 24px; }
.cy-why__card h3 { color: #fff; font-size: 1.2rem; margin-bottom: 8px; }
.cy-why__card p { color: rgba(255, 255, 255, .64); font-size: .95rem; margin: 0; }
@media (max-width: 960px) { .cy-why__grid { grid-template-columns: 1fr 1fr; } .cy-why__card, .cy-why__card:nth-child(4), .cy-why__card:nth-child(5) { grid-column: span 1; } .cy-why__card:last-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .cy-why__grid { grid-template-columns: 1fr; } .cy-why__card { padding: 22px; } }

/* 14. Newsletter --------------------------------------------------------- */
.cy-news { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: clamp(28px, 5vw, 56px); border-radius: var(--r-xl); overflow: hidden; color: #fff; background: radial-gradient(circle at 0% 0%, rgba(184, 245, 58, .22), transparent 40%), radial-gradient(circle at 100% 100%, rgba(46, 123, 255, .5), transparent 45%), linear-gradient(135deg, #2a1a8f 0%, #3d2be0 45%, #1e56d8 100%); box-shadow: var(--shadow-lg); }
.cy-news__deco { position: absolute; right: -30px; top: -40px; opacity: .12; transform: rotate(14deg); pointer-events: none; }
.cy-news__deco .cy-mark { width: 260px; height: 260px; }
.cy-news__deco { opacity: .14; }
.cy-news__copy, .cy-news__form { position: relative; }
.cy-news h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.03em; margin-bottom: 10px; }
.cy-news p { color: rgba(255, 255, 255, .78); margin: 0; }
.cy-news__field { display: flex; align-items: center; gap: 8px; padding: 7px 7px 7px 16px; border-radius: 18px; background: #fff; box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .5); }
.cy-news__field > .cy-icon { color: var(--muted); }
.cy-news__field input { flex: 1; min-width: 0; height: 50px; border: 0; outline: none; color: var(--ink); background: transparent; }
.cy-news__fine { font-size: .82rem; margin-top: 12px !important; color: rgba(255, 255, 255, .6) !important; }
.cy-news__msg { margin-top: 12px !important; padding: 10px 14px; border-radius: 12px; font-weight: 600; font-size: .92rem; }
.cy-news__msg--success { background: rgba(22, 185, 126, .2); color: #c9ffe9 !important; }
.cy-news__msg--info { background: rgba(255, 255, 255, .14); color: #fff !important; }
.cy-news__msg--error { background: rgba(229, 72, 77, .25); color: #ffe0e1 !important; }
@media (max-width: 860px) { .cy-news { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .cy-news__field { flex-wrap: wrap; padding: 8px; } .cy-news__field > .cy-icon { display: none; } .cy-news__field input { flex-basis: 100%; padding: 0 8px; } .cy-news__field .cy-btn { width: 100%; } }

/* 15. Page heroes -------------------------------------------------------- */
.cy-ahero { --c: #2e7bff; --c-2: #6c47ff; }
.cy-phero, .cy-ohero, .cy-ahero, .cy-404 { --c-fallback: 0; position: relative; overflow: hidden; background: var(--navy-950); color: #fff; padding: clamp(28px, 4vw, 44px) 0 clamp(40px, 6vw, 72px); border-radius: 0 0 clamp(24px, 4vw, 40px) clamp(24px, 4vw, 40px); }
.cy-phero__bg { position: absolute; inset: 0; pointer-events: none; }
.cy-phero__bg span { position: absolute; border-radius: 50%; filter: blur(70px); }
.cy-phero__bg span:first-child { width: 440px; height: 440px; background: var(--c); opacity: .42; top: -220px; right: 6%; }
.cy-phero__bg span:last-child { width: 360px; height: 360px; background: var(--c-2); opacity: .25; bottom: -240px; left: -80px; }
.cy-phero .cy-container, .cy-ohero .cy-container, .cy-ahero .cy-container { position: relative; }
.cy-phero__title { color: #fff; font-size: clamp(2rem, 4.5vw, 3.3rem); font-weight: 800; letter-spacing: -.04em; margin: 0 0 12px; }
.cy-phero__desc { color: rgba(255, 255, 255, .7); font-size: 1.06rem; max-width: 700px; }
.cy-phero__desc p:last-child { margin: 0; }
.cy-phero__search { max-width: 620px; margin-top: 22px; }
.cy-bhero__row { display: flex; align-items: center; gap: 24px; }
.cy-bhero__row .cy-phero__title { margin-bottom: 6px; }
@media (max-width: 600px) { .cy-bhero__row { flex-direction: column; align-items: flex-start; gap: 16px; } }

.cy-crumbs { margin-bottom: 18px; font-size: .84rem; }
.cy-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.cy-crumbs li { display: inline-flex; align-items: center; gap: 4px; color: rgba(255, 255, 255, .55); }
.cy-crumbs li + li::before { content: "/"; opacity: .4; margin-right: 2px; }
.cy-crumbs a { color: rgba(255, 255, 255, .78); }
.cy-crumbs a:hover { color: var(--lime); }
.cy-crumbs [aria-current] { color: rgba(255, 255, 255, .55); }

/* 16. Single offer ------------------------------------------------------- */
.cy-ohero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .9fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.cy-ohero__brand { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.cy-ohero__brandname { display: block; font-weight: 800; font-size: 1.1rem; color: #fff; margin-bottom: 6px; }
a.cy-ohero__brandname:hover { color: var(--lime); }
.cy-ohero__pills { display: flex; flex-wrap: wrap; gap: 6px; }
.cy-ohero__title { color: #fff; font-size: clamp(1.9rem, 4vw, 3rem); letter-spacing: -.035em; font-weight: 800; margin: 0 0 12px; }
.cy-ohero__lead { font-size: 1.15rem; color: rgba(255, 255, 255, .78); margin-bottom: 18px; }
.cy-ohero__meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cy-ohero__meta .cy-expiry { padding: .45em .85em; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .86); }
.cy-ohero__meta .cy-expiry--soon { color: #ffc49b; }
.cy-ohero__meta .cy-expiry--expired { color: #ffb3b3; }
.cy-ohero__meta .cy-expiry--valid .cy-icon { color: var(--lime); }
.cy-ohero__card { display: flex; flex-direction: column; gap: 16px; padding: 26px; border-radius: 26px; background: #fff; color: var(--ink); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7); }
.cy-ohero__note { display: flex; align-items: center; justify-content: center; gap: 6px; margin: -6px 0 0; font-size: .8rem; color: var(--muted); }
.cy-ohero__note .cy-icon { color: var(--mint); width: 15px; height: 15px; }
.cy-ohero__card .cy-share { justify-content: center; padding-top: 14px; border-top: 1px solid var(--line-2); }
@media (max-width: 900px) { .cy-ohero__grid { grid-template-columns: 1fr; } }

.cy-alert { display: flex; align-items: flex-start; gap: 12px; margin: 24px 0 0; padding: 16px 18px; border-radius: var(--r); background: #fff4ed; border: 1px solid #ffd7bf; color: #8a3a0d; }
.cy-alert p { margin: 0; }
.cy-alert .cy-icon { margin-top: 3px; }

.cy-osingle__layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding-block: clamp(28px, 4vw, 48px) clamp(48px, 6vw, 80px); align-items: start; }
.cy-osingle__content { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.cy-osingle__side { position: sticky; top: calc(var(--header-h) + 20px); display: flex; flex-direction: column; gap: 18px; }
@media (max-width: 960px) { .cy-osingle__layout { grid-template-columns: 1fr; } .cy-osingle__side { position: static; } }

.cy-block { padding: clamp(20px, 3vw, 30px); border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); }
.cy-block > h2 { display: flex; align-items: center; gap: 10px; font-size: 1.3rem; margin-bottom: 16px; }
.cy-block > h2 .cy-icon { display: grid; width: 36px; height: 36px; padding: 8px; border-radius: 11px; background: var(--c-soft); color: var(--c); }
.cy-block--reward { background: linear-gradient(135deg, #f4ffe0, #eafff6); border-color: #cdeea0; }
.cy-block--reward > h2 .cy-icon { background: var(--navy-900); color: var(--lime); }
.cy-block--reward .cy-prose { font-size: 1.06rem; font-weight: 600; color: var(--ink); }

.cy-steps { list-style: none; counter-reset: step; margin: 0; padding: 0; display: grid; gap: 14px; }
.cy-steps li { counter-increment: step; position: relative; padding: 4px 0 4px 54px; min-height: 38px; }
.cy-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--c), var(--c-2)); box-shadow: 0 8px 18px -8px var(--c); }
.cy-steps li:not(:last-child)::after { content: ""; position: absolute; left: 18px; top: 42px; bottom: -14px; width: 2px; background: linear-gradient(var(--c-soft), transparent); }

.cy-terms { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.cy-terms li { position: relative; padding-left: 26px; color: var(--ink-2); }
.cy-terms li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 8px; height: 8px; border-radius: 3px; background: var(--c); transform: rotate(45deg); opacity: .8; }

.cy-disclosure { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--muted); padding: 14px 16px; border-radius: var(--r); background: var(--line-2); margin: 0; }
.cy-disclosure .cy-icon { margin-top: 3px; }

.cy-sidecard { padding: 22px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 14px; }
.cy-sidecard h2 { font-size: 1.08rem; margin: 0; }
.cy-sidecard--accent { background: linear-gradient(160deg, var(--c-soft), #fff 70%); }
.cy-sidecard .cy-btn { align-self: flex-start; }
.cy-minilist { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.cy-minilist a { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px 12px; border-radius: 12px; color: var(--ink); font-weight: 600; font-size: .92rem; line-height: 1.35; transition: background .2s; }
.cy-minilist a:hover { background: var(--bg); color: var(--violet); }

/* Share */
.cy-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.cy-share__label { font-size: .82rem; font-weight: 700; color: var(--muted); margin-right: 2px; }
.cy-share__btn { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--line); background: #fff; color: var(--ink-2); transition: all .2s var(--ease); }
.cy-share__btn:hover { transform: translateY(-2px); color: #fff; border-color: transparent; background: var(--navy-900); }
.cy-share__btn--whatsapp:hover { background: #25d366; }
.cy-share__btn--telegram:hover { background: #229ed9; }
.cy-share__btn--facebook:hover { background: #1877f2; }
.cy-share__btn--linkedin:hover { background: #0a66c2; }
.cy-share__btn .cy-icon { width: 18px; height: 18px; }

/* Sticky mobile bar */
.cy-stickybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); background: rgba(8, 12, 34, .92); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-top: 1px solid rgba(255, 255, 255, .1); transform: translateY(110%); transition: transform .4s var(--ease); display: none; }
.cy-stickybar.is-visible { transform: none; }
.cy-stickybar__inner { display: flex; gap: 10px; }
.cy-stickybar__code { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; height: 44px; padding: 0 14px; border-radius: 12px; border: 1.5px dashed rgba(184, 245, 58, .55); background: rgba(184, 245, 58, .08); color: var(--lime); }
.cy-stickybar__code code { font-weight: 700; letter-spacing: .1em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cy-stickybar__code.is-copied { border-style: solid; background: var(--mint); color: #fff; border-color: var(--mint); }
.cy-stickybar .cy-btn { min-height: 44px; }
@media (max-width: 860px) { .cy-stickybar { display: block; } .cy-offer-single .cy-totop { bottom: 84px; } }

/* 17. Article ------------------------------------------------------------ */
.cy-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.cy-progress span { display: block; height: 100%; width: 100%; background: var(--grad-lime); transform-origin: left; transform: scaleX(0); }
.cy-ahero__inner { max-width: 960px; }
.cy-ahero__title { color: #fff; font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 800; letter-spacing: -.04em; margin: 4px 0 18px; }
.cy-ahero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; font-size: .9rem; color: rgba(255, 255, 255, .7); }
.cy-ahero__meta > span { display: inline-flex; align-items: center; gap: 7px; }
.cy-ahero__meta .cy-icon { width: 16px; height: 16px; opacity: .8; }
.cy-ahero__author img { border-radius: 50%; border: 2px solid rgba(255, 255, 255, .2); }
.cy-ahero__author a { color: #fff; font-weight: 700; }
.cy-article__media { margin-top: -28px; position: relative; z-index: 2; max-width: 1040px; }
.cy-article__media img { width: 100%; border-radius: var(--r-xl); box-shadow: var(--shadow); aspect-ratio: 16 / 8; object-fit: cover; }
.cy-article__layout { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: clamp(28px, 4vw, 56px); justify-content: center; padding-block: clamp(32px, 5vw, 56px) clamp(48px, 6vw, 80px); }
.cy-article__side { order: 0; }
.cy-article__sticky { position: sticky; top: calc(var(--header-h) + 24px); display: flex; flex-direction: column; gap: 20px; }
.cy-article__body { min-width: 0; }
.cy-article__tags { margin-top: 28px; }
.cy-article__share-mobile { display: none; margin-top: 24px; }
.cy-toc { border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); padding: 18px 18px 14px; }
.cy-toc summary { display: flex; align-items: center; gap: 8px; font-family: var(--font-display); font-weight: 700; cursor: pointer; list-style: none; }
.cy-toc summary::-webkit-details-marker { display: none; }
.cy-toc summary .cy-icon { color: var(--violet); }
.cy-toc ol { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 2px; max-height: 60vh; overflow: auto; }
.cy-toc a { display: block; padding: 6px 10px; border-radius: 9px; font-size: .88rem; color: var(--ink-2); line-height: 1.4; border-left: 2px solid transparent; }
.cy-toc a:hover { background: var(--bg); color: var(--violet); }
.cy-toc a.is-active { color: var(--violet); background: #f3f0ff; border-left-color: var(--violet); font-weight: 700; }
.cy-toc__l3 a { padding-left: 22px; font-size: .84rem; }
@media (max-width: 1024px) {
	.cy-article__layout { grid-template-columns: minmax(0, 1fr); max-width: 800px; margin-inline: auto; }
	.cy-article__sticky { position: static; }
	.cy-article__side .cy-share { display: none; }
	.cy-article__share-mobile { display: block; }
}

.cy-author { display: flex; gap: 18px; align-items: flex-start; margin-top: 32px; padding: 24px; border-radius: var(--r-lg); background: linear-gradient(135deg, #f3f0ff, #eef5ff); border: 1px solid #e2dcff; }
.cy-author img { border-radius: 18px; flex: none; }
.cy-author__kicker { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--violet); }
.cy-author__name { font-size: 1.2rem; margin: 2px 0 6px; }
.cy-author__name a { color: var(--ink); }
.cy-author p { margin: 0; color: var(--ink-2); font-size: .95rem; }

.cy-postnav .nav-links { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 28px; }
.cy-postnav a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 18px 20px; border-radius: var(--r-lg); background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 700; line-height: 1.35; transition: border-color .2s, transform .2s var(--ease); }
.cy-postnav a:hover { border-color: var(--violet); transform: translateY(-2px); color: var(--ink); }
.cy-postnav a span { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--violet); }
.cy-postnav .nav-next { text-align: right; grid-column: 2; }
.cy-postnav .nav-next a { align-items: flex-end; }
@media (max-width: 600px) { .cy-postnav .nav-links { grid-template-columns: 1fr; } .cy-postnav .nav-next { grid-column: auto; } }

/* Comments */
.cy-comments { margin-top: 40px; }
.cy-comments__title { font-size: 1.4rem; }
.cy-comments__list, .cy-comments__list .children { list-style: none; margin: 0; padding: 0; }
.cy-comments__list .children { padding-left: clamp(16px, 4vw, 44px); }
.cy-comments .comment-body { padding: 18px 20px; margin-bottom: 14px; border-radius: var(--r); background: #fff; border: 1px solid var(--line); }
.cy-comments .comment-author { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.cy-comments .comment-author img { border-radius: 50%; }
.cy-comments .comment-metadata { font-size: .8rem; margin: 4px 0 10px; }
.cy-comments .comment-metadata a { color: var(--muted); }
.comment-form label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: 6px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { width: 100%; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; }
.comment-form input:focus, .comment-form textarea:focus { outline: none; border-color: var(--violet); box-shadow: 0 0 0 4px rgba(108, 71, 255, .12); }
.comment-form p { margin-bottom: 14px; }

/* 18. Prose -------------------------------------------------------------- */
.cy-prose { color: var(--ink-2); font-size: 1.02rem; line-height: 1.75; }
.cy-prose > *:last-child { margin-bottom: 0; }
.cy-prose--article { font-size: 1.08rem; }
.cy-prose h2 { font-size: clamp(1.5rem, 2.6vw, 1.95rem); margin: 1.8em 0 .6em; color: var(--ink); }
.cy-prose h3 { font-size: 1.3rem; margin: 1.6em 0 .5em; color: var(--ink); }
.cy-prose h4 { font-size: 1.1rem; margin: 1.4em 0 .5em; }
.cy-block .cy-prose h2 { font-size: 1.25rem; margin: 1.3em 0 .4em; }
.cy-block .cy-prose h3 { font-size: 1.08rem; margin: 1.1em 0 .3em; }
.cy-prose > h2:first-child, .cy-prose > h3:first-child { margin-top: 0; }
.cy-prose a { color: var(--violet); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: rgba(108, 71, 255, .35); }
.cy-prose a:hover { text-decoration-color: currentColor; }
.cy-prose ul, .cy-prose ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.cy-prose li { margin-bottom: .4em; }
.cy-prose li::marker { color: var(--violet); font-weight: 700; }
.cy-prose strong { color: var(--ink); }
.cy-prose blockquote { margin: 1.6em 0; padding: 18px 22px; border-left: 4px solid var(--violet); background: #f6f3ff; border-radius: 0 var(--r) var(--r) 0; font-size: 1.1rem; color: var(--ink); }
.cy-prose blockquote p:last-child { margin: 0; }
.cy-prose img, .cy-prose figure img { border-radius: var(--r); }
.cy-prose figure { margin: 1.6em 0; }
.cy-prose figcaption, .wp-caption-text { font-size: .85rem; color: var(--muted); text-align: center; margin-top: 8px; }
.cy-prose code { font-size: .88em; padding: .15em .45em; border-radius: 6px; background: #f1efff; color: #4a2ad4; }
.cy-prose pre { padding: 18px; border-radius: var(--r); background: var(--navy-900); color: #e6e9ff; overflow-x: auto; }
.cy-prose pre code { background: none; color: inherit; padding: 0; }
.cy-prose table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: .95rem; display: block; overflow-x: auto; }
.cy-prose th, .cy-prose td { padding: 12px 14px; border: 1px solid var(--line); text-align: left; }
.cy-prose th { background: var(--bg); color: var(--ink); }
.cy-prose hr { border: 0; height: 1px; background: var(--line); margin: 2.2em 0; }
.cy-prose .wp-block-button__link { background: var(--grad); border-radius: 14px; color: #fff; text-decoration: none; font-weight: 700; }
.cy-page { padding: clamp(22px, 4vw, 44px); border-radius: var(--r-xl); background: #fff; border: 1px solid var(--line); }
.cy-page__media img { border-radius: var(--r-lg); margin-bottom: 24px; width: 100%; }
.alignleft { float: left; margin: .3em 1.5em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.5em; }
.aligncenter { margin-inline: auto; display: block; }
.alignwide { margin-inline: calc(-1 * clamp(0px, 4vw, 60px)); }
.has-navy-color { color: #0b1230; } .has-navy-background-color { background-color: #0b1230; }
.has-violet-color { color: #6c47ff; } .has-violet-background-color { background-color: #6c47ff; }
.has-blue-color { color: #2e7bff; } .has-blue-background-color { background-color: #2e7bff; }
.has-lime-color { color: #b8f53a; } .has-lime-background-color { background-color: #b8f53a; }
.has-mint-color { color: #16b97e; } .has-mint-background-color { background-color: #16b97e; }
.has-mist-color { color: #f5f6fb; } .has-mist-background-color { background-color: #f5f6fb; }
.has-white-color { color: #fff; } .has-white-background-color { background-color: #fff; }

/* 19. Footer ------------------------------------------------------------- */
.cy-footer { position: relative; overflow: hidden; background: var(--navy-950); color: rgba(255, 255, 255, .64); padding: clamp(56px, 8vw, 88px) 0 28px; margin-top: 0; }
.cy-footer__glow { position: absolute; left: 50%; top: -240px; width: 900px; height: 420px; transform: translateX(-50%); background: radial-gradient(ellipse at center, rgba(108, 71, 255, .32), transparent 65%); pointer-events: none; }
.cy-footer .cy-container { position: relative; }
.cy-footer__grid { display: grid; grid-template-columns: 1.4fr .8fr .9fr 1.3fr; gap: clamp(28px, 4vw, 56px); }
.cy-footer__brand p { margin: 18px 0 20px; max-width: 360px; font-size: .95rem; }
.cy-footer__brand .cy-logo__word { font-size: 1.55rem; }
.cy-footer__title { font-family: var(--font); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin: 6px 0 18px; }
.cy-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cy-footer ul a { color: rgba(255, 255, 255, .64); font-size: .95rem; transition: color .2s, padding .2s; }
.cy-footer ul a:hover { color: var(--lime); padding-left: 4px; }
.cy-footer__cta p { font-size: .93rem; }
.cy-footer .cy-sform { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
.cy-footer .cy-sform__input { color: #fff; height: 46px; }
.cy-footer .cy-sform__input::placeholder { color: rgba(255, 255, 255, .45); }
.cy-footer .cy-sform__btn { height: 46px; }
.cy-footer .cy-sform__btn span { display: none; }
.cy-footer .cy-sform__btn { padding: 0 15px; }
.cy-footer__disclosure { display: flex; gap: 10px; align-items: flex-start; margin: 44px 0 0; padding: 16px 18px; border-radius: var(--r); background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .07); font-size: .84rem; }
.cy-footer__disclosure .cy-icon { color: var(--lime); margin-top: 3px; }
.cy-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .08); font-size: .84rem; }
.cy-footer__bottom p { margin: 0; }
.cy-social { display: flex; flex-wrap: wrap; gap: 8px; }
.cy-social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); color: #fff; transition: all .25s var(--ease); }
.cy-social a:hover { background: var(--lime); color: var(--navy-900); transform: translateY(-3px); }
.cy-social .cy-icon { width: 19px; height: 19px; }
@media (max-width: 960px) { .cy-footer__grid { grid-template-columns: 1fr 1fr; } .cy-footer__brand, .cy-footer__cta { grid-column: 1 / -1; } }

/* 20. Misc ---------------------------------------------------------------- */
.cy-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 40px; }
.cy-pagination .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 12px; border-radius: 12px; background: #fff; border: 1px solid var(--line); color: var(--ink-2); font-weight: 700; transition: all .2s; }
.cy-pagination a.page-numbers:hover { border-color: var(--violet); color: var(--violet); }
.cy-pagination .current { background: var(--grad); color: #fff; border-color: transparent; }
.cy-pagination .dots { border: 0; background: none; }

.cy-toast { position: fixed; left: 50%; bottom: 28px; z-index: 200; display: flex; width: max-content; align-items: center; gap: 10px; max-width: calc(100% - 32px); padding: 13px 20px 13px 14px; border-radius: 999px; background: var(--navy-900); color: #fff; font-weight: 700; font-size: .93rem; box-shadow: 0 24px 50px -16px rgba(11, 18, 48, .7), 0 0 0 1px rgba(255, 255, 255, .08); opacity: 0; pointer-events: none; transform: translate(-50%, 24px) scale(.92); transition: opacity .3s var(--ease), transform .45s var(--ease); }
.cy-toast.is-visible { opacity: 1; transform: translate(-50%, 0) scale(1); }
.cy-toast__icon { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--mint); flex: none; }
.cy-toast__icon .cy-icon { width: 16px; height: 16px; stroke-width: 2.6; stroke-dasharray: 24; stroke-dashoffset: 24; }
.cy-toast.is-visible .cy-toast__icon .cy-icon { animation: cy-draw .5s .15s var(--ease) forwards; }
.cy-toast--error .cy-toast__icon { background: var(--red); }
.cy-toast code { color: var(--lime); }
@media (max-width: 860px) { .cy-offer-single .cy-toast { bottom: 84px; } }

.cy-totop { position: fixed; right: 20px; bottom: 24px; z-index: 30; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--navy-900); color: #fff; box-shadow: var(--shadow); opacity: 0; transform: translateY(16px); pointer-events: none; transition: all .35s var(--ease); }
.cy-totop.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.cy-totop:hover { color: var(--navy-900); background: var(--lime); }

.cy-404 { position: relative; overflow: hidden; background: var(--navy-950); color: #fff; text-align: center; padding: clamp(64px, 10vw, 140px) 0; border-radius: 0 0 40px 40px; }
.cy-404 .cy-container { position: relative; }
.cy-404__num { display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--font-display); font-weight: 800; font-size: clamp(5rem, 16vw, 9rem); line-height: 1; letter-spacing: -.05em; margin: 0 0 16px; }
.cy-404__num .cy-mark { width: .9em; height: .9em; animation: cy-float 6s ease-in-out infinite; }
.cy-404 h1 { color: #fff; font-size: clamp(1.6rem, 3.6vw, 2.4rem); }
.cy-404 > .cy-container > p { color: rgba(255, 255, 255, .7); }
.cy-404 .cy-sform { max-width: 560px; margin: 26px auto; }
.cy-404 .cy-chip { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); color: #fff; }

.sticky .cy-post__title::before { content: "★ "; color: var(--violet); }
.bypostauthor > .comment-body { border-color: #d8ceff; }
.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }

/* 21. Motion -------------------------------------------------------------- */
.cy-js .reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .8s var(--ease); transition-delay: calc(var(--d, 0) * 70ms); }
.cy-js .reveal.is-visible { opacity: 1; transform: none; }
.cy-js .cy-offer.reveal.is-visible:hover, .cy-js .cy-cat.reveal.is-visible:hover, .cy-js .cy-brand.reveal.is-visible:hover, .cy-js .cy-post.reveal.is-visible:hover { transition-delay: 0s; }
.cy-js .cy-offer.reveal.is-visible:hover { transform: translateY(-5px); }
.cy-js .cy-offer--row.reveal.is-visible:hover { transform: translateY(-2px); }
.cy-js .cy-cat.reveal.is-visible:hover { transform: translateY(-6px); }
.cy-js .cy-brand.reveal.is-visible:hover { transform: translateY(-4px); }
.cy-js .cy-post.reveal.is-visible:hover { transform: translateY(-5px); }
.cy-js .cy-why__card.reveal.is-visible:hover { transform: translateY(-4px); transition-delay: 0s; }


@keyframes cy-gradient { to { background-position: 300% 0; } }
@keyframes cy-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
@keyframes cy-drift { 0%, 100% { transform: translate(0, 0) scale(1); } 33% { transform: translate(60px, 40px) scale(1.08); } 66% { transform: translate(-40px, 20px) scale(.95); } }
@keyframes cy-spin { to { transform: rotate(360deg); } }
@keyframes cy-pulse { 0% { box-shadow: 0 0 0 0 rgba(184, 245, 58, .65); } 70% { box-shadow: 0 0 0 10px rgba(184, 245, 58, 0); } 100% { box-shadow: 0 0 0 0 rgba(184, 245, 58, 0); } }
@keyframes cy-pop { 0% { transform: scale(1); } 40% { transform: scale(1.12); } 100% { transform: scale(1); } }
@keyframes cy-draw { to { stroke-dashoffset: 0; } }
@keyframes cy-m-draw { from { stroke-dashoffset: 1; } }
@keyframes cy-m-draw-2 { from { stroke-dashoffset: 1; } }
@keyframes cy-m-pop { 0% { transform: scale(0); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }
@keyframes cy-m-pop-2 { 0% { transform: scale(0); } 70% { transform: scale(1.15); } 100% { transform: scale(1); } }

@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
	html { scroll-behavior: auto; }
	.cy-js .reveal { opacity: 1; transform: none; }
	.cy-toast__icon .cy-icon { stroke-dashoffset: 0; }
}
