@deriv-web-design/ui 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -27
- package/dist/index.css +2485 -245
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +405 -1
- package/dist/index.d.ts +405 -1
- package/dist/index.js +1786 -294
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1785 -291
- package/dist/index.mjs.map +1 -1
- package/package.json +11 -7
- package/tokens.css +17 -193
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../primitives/Button/Button.module.css","../primitives/Link/Link.module.css","../primitives/Chip/Chip.module.css","../primitives/Tag/Tag.module.css","../primitives/Accordion/Accordion.module.css","../primitives/TextField/TextField.module.css","../primitives/SearchField/SearchField.module.css","../primitives/Breadcrumb/Breadcrumb.module.css","../primitives/ChipDropdown/ChipDropdown.module.css","../components/Card/CardPrimaryVariant.module.css","../components/Card/CardSecondaryVariant.module.css","../components/Card/CardThumbnailVariant.module.css","../primitives/Pagination/Pagination.module.css"],"sourcesContent":["/* ── Base ─────────────────────────────────────────────────── */\n\n.button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-8);\n padding: calc(var(--spacing-16) - 2px) calc(var(--spacing-24) - 2px);\n min-width: var(--spacing-96);\n border: 2px solid transparent;\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-extra-bold);\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, border-color 100ms ease, opacity 100ms ease;\n}\n\n/* ── Full-width ───────────────────────────────────────────── */\n\n.fullWidth {\n width: 100%;\n}\n\n/* ── Icon-only — square pill, no label ───────────────────── */\n\n.iconOnly {\n padding: calc(var(--spacing-16) - 2px);\n min-width: unset;\n width: var(--spacing-48);\n height: var(--spacing-48);\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.label {\n flex: 1 0 0;\n min-width: 1px;\n min-height: 1px;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.focusRing {\n position: absolute;\n inset: -2px;\n border-radius: var(--radius-full);\n border: 2px solid var(--color-blue-600);\n pointer-events: none;\n}\n\n.button:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -2px;\n border-radius: var(--radius-full);\n border: 2px solid var(--color-blue-600);\n pointer-events: none;\n}\n\n/* ============================================================\n CORAL color scheme\n ============================================================ */\n\n.coral_primary {\n background-color: var(--color-coral-500);\n color: var(--color-slate-50);\n}\n\n.coral_primary:hover:not(:disabled) {\n background-color: var(--color-coral-600);\n}\n\n.coral_primary:active:not(:disabled) {\n background-color: var(--color-coral-700);\n}\n\n.coral_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.coral_secondary {\n background-color: transparent;\n color: var(--color-coral-500);\n border-color: var(--color-coral-500);\n}\n\n.coral_secondary:hover:not(:disabled) {\n background-color: rgba(255, 68, 79, 0.08);\n}\n\n.coral_secondary:active:not(:disabled) {\n background-color: rgba(255, 68, 79, 0.16);\n}\n\n.coral_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n/* ============================================================\n BLACK color scheme\n ============================================================ */\n\n.black_primary {\n background-color: var(--color-slate-1300);\n color: var(--color-slate-50);\n}\n\n.black_primary:hover:not(:disabled) {\n background-color: rgba(24, 28, 37, 0.8);\n}\n\n.black_primary:active:not(:disabled) {\n background-color: var(--color-opacity-slate-88);\n}\n\n.black_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.black_secondary {\n background-color: transparent;\n color: var(--color-slate-1300);\n border-color: var(--color-slate-1300);\n}\n\n.black_secondary:hover:not(:disabled) {\n background-color: var(--color-opacity-slate-4);\n}\n\n.black_secondary:active:not(:disabled) {\n background-color: var(--color-opacity-slate-8);\n}\n\n.black_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n/* ============================================================\n WHITE color scheme — intended for use on dark backgrounds\n ============================================================ */\n\n.white_primary {\n background-color: var(--color-slate-50);\n color: var(--color-slate-1300);\n}\n\n.white_primary:hover:not(:disabled) {\n background-color: rgba(255, 255, 255, 0.8);\n}\n\n.white_primary:active:not(:disabled) {\n background-color: var(--color-opacity-white-88);\n}\n\n.white_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.white_secondary {\n background-color: transparent;\n color: var(--color-slate-50);\n border-color: var(--color-slate-50);\n}\n\n.white_secondary:hover:not(:disabled) {\n background-color: var(--color-opacity-white-8);\n}\n\n.white_secondary:active:not(:disabled) {\n background-color: var(--color-opacity-white-16);\n}\n\n.white_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n cursor: pointer;\n text-decoration: none;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n white-space: nowrap;\n background: none;\n border: none;\n padding: 0;\n outline: none;\n transition: gap 150ms ease;\n}\n\n.link:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n border-radius: var(--radius-xs);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.disabled {\n opacity: var(--link-disabled-opacity);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n\n/* ── Chevron slot ─────────────────────────────────────────── */\n\n.chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-16);\n height: var(--spacing-16);\n transition: transform 150ms ease;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.label {\n text-decoration-skip-ink: none;\n}\n\n/* ── Chevron mode: gap expands on hover/active ────────────── */\n\n.withChevron:hover,\n.withChevron:active {\n gap: var(--spacing-16);\n}\n\n/* ── Icon mode: label underlines on hover/active ──────────── */\n\n.withIcon:hover .label,\n.withIcon:active .label {\n text-decoration: underline;\n text-decoration-style: solid;\n}\n\n/* ── Color schemes ────────────────────────────────────────── */\n\n.coral {\n color: var(--link-coral-color);\n}\n\n.black {\n color: var(--link-black-color);\n}\n\n.white {\n color: var(--link-white-color);\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.chip {\n position: relative;\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--chip-border-color);\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n line-height: 1;\n color: var(--chip-text-color);\n white-space: nowrap;\n background: transparent;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, color 100ms ease, border-color 100ms ease;\n user-select: none;\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.sm {\n height: var(--spacing-24);\n padding: 0 var(--spacing-12);\n gap: 6px; /* design spec: no 6px spacing token */\n font-size: var(--font-size-xs); /* 12px */\n}\n\n.md {\n height: var(--spacing-32);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n font-size: var(--font-size-sm); /* 14px */\n}\n\n.lg {\n height: var(--spacing-48);\n padding: 0 var(--spacing-24);\n gap: var(--spacing-12);\n font-size: var(--font-size-md); /* 16px */\n}\n\n/* ── Hover / Active (unselected only) ─────────────────────── */\n\n.chip:hover:not(:disabled):not(.selected) {\n background-color: var(--chip-hover-background);\n}\n\n.chip:active:not(:disabled):not(.selected) {\n background-color: var(--chip-active-background);\n}\n\n/* ── Selected ─────────────────────────────────────────────── */\n\n.selected {\n background-color: var(--chip-selected-background);\n border-color: var(--chip-selected-background);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.chip:disabled {\n color: var(--chip-disabled-text);\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.label {\n flex-shrink: 0;\n}\n\n/* ── Tag slot ─────────────────────────────────────────────── */\n\n.tag {\n font-weight: var(--font-weight-extra-bold);\n flex-shrink: 0;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.focusRing {\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n/* Selected chip has no visible border, so ring sits 2px out from edge */\n.selected .focusRing {\n inset: -2px;\n}\n\n.chip:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n.selected:focus-visible::after {\n inset: -2px;\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n white-space: nowrap;\n font-family: var(--font-family-base);\n line-height: 1;\n color: var(--tag-text-color);\n border-radius: var(--radius-full);\n}\n\n/* ── Variants ─────────────────────────────────────────────── */\n\n.fill {\n background-color: var(--tag-fill-background);\n}\n\n.outline {\n border: 1px solid var(--tag-outline-border);\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.xs {\n height: 22px; /* design spec: no 22px spacing token */\n padding: 0 var(--spacing-4);\n gap: var(--spacing-4);\n font-size: var(--font-size-xs); /* 12px */\n}\n\n.sm {\n height: var(--spacing-24);\n padding: 0 var(--spacing-8);\n gap: var(--spacing-8);\n font-size: var(--font-size-xs); /* 12px */\n}\n\n.md {\n height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n gap: var(--spacing-12);\n font-size: var(--font-size-sm); /* 14px */\n}\n\n.lg {\n height: var(--spacing-48);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-16);\n font-size: var(--font-size-md); /* 16px */\n}\n\n/* ── Font weights ─────────────────────────────────────────── */\n\n.regular {\n font-weight: var(--font-weight-regular);\n}\n\n.bold {\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.label {\n flex-shrink: 0;\n}\n","/* ── Container ────────────────────────────────────────────── */\n\n.accordion {\n position: relative;\n width: 100%;\n max-width: 846px;\n box-sizing: border-box;\n}\n\n/* ── Header ───────────────────────────────────────────────── */\n\n.header {\n display: flex;\n align-items: center;\n gap: var(--spacing-24);\n padding: var(--spacing-24) 0;\n width: 100%;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n position: relative;\n text-align: left;\n box-sizing: border-box;\n}\n\n.header:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -2px;\n border: 2px solid var(--accordion-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.focusRing {\n position: absolute;\n inset: -2px;\n border: 2px solid var(--accordion-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Title slot ───────────────────────────────────────────── */\n\n.titleWrapper {\n flex: 1 0 0;\n min-width: 1px;\n}\n\n.title {\n font-family: var(--font-family-base);\n font-size: var(--font-size-lg); /* 18px */\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--line-height-normal);\n color: var(--accordion-title-color);\n}\n\n/* ── Chevron slot ─────────────────────────────────────────── */\n\n.chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-24);\n height: var(--spacing-24);\n flex-shrink: 0;\n color: var(--accordion-chevron-color);\n transition: transform 200ms ease;\n}\n\n.chevronRotated {\n transform: rotate(180deg);\n}\n\n/* ── Body — CSS Grid animated collapse ────────────────────── */\n\n.bodyWrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 200ms ease;\n}\n\n.bodyWrapperOpen {\n grid-template-rows: 1fr;\n}\n\n.bodyInner {\n overflow: hidden;\n}\n\n.body {\n padding-bottom: var(--spacing-24);\n font-family: var(--font-family-base);\n font-size: var(--font-size-md); /* 16px */\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--accordion-body-color);\n}\n","/* ── Field wrapper (visual input box) ─────────────────────── */\n\n.wrapper {\n display: flex;\n align-items: center;\n height: var(--spacing-56); /* 56px */\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n border-radius: var(--radius-md); /* 8px */\n border: 1px solid transparent; /* base — prevents layout shift */\n box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Variant: Outline ─────────────────────────────────────── */\n\n.outline {\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n}\n\n/* ── Variant: Fill ────────────────────────────────────────── */\n\n.fill {\n background: var(--field-surface-fill);\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.neutral.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n.neutral.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fill-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.neutral.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n.neutral.fill:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail — Outline ───────────────────────────────── */\n\n.fail.outline {\n border-color: var(--field-border-fail-default);\n}\n\n.fail.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.fail.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Fail — Fill ──────────────────────────────────── */\n\n.fail.fill {\n background: var(--field-surface-fail);\n}\n\n.fail.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fail-hover);\n}\n\n.fail.fill:focus-within:not([data-disabled]) {\n background: var(--field-surface-fail);\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Success — Outline ────────────────────────────── */\n\n.success.outline {\n border-color: var(--field-border-success-default);\n}\n\n.success.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.success.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Status: Success — Fill ───────────────────────────────── */\n\n.success.fill {\n background: var(--field-surface-success);\n}\n\n.success.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-success-hover);\n}\n\n.success.fill:focus-within:not([data-disabled]) {\n background: var(--field-surface-success);\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.wrapper[data-disabled] {\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.iconSlot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n color: var(--field-icon-default);\n}\n\n.wrapper[data-disabled] .iconSlot {\n color: var(--field-icon-disabled);\n}\n\n.iconSuccess {\n color: var(--field-text-success);\n}\n\n.iconFail {\n color: var(--field-text-fail);\n}\n\n/* ── Native input ─────────────────────────────────────────── */\n\n.input {\n flex: 1 0 0;\n min-width: 1px;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md); /* 16px */\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--field-text-default);\n caret-color: var(--field-border-focus);\n padding: 0;\n}\n\n.input::placeholder {\n color: var(--field-text-placeholder);\n}\n\n.input:focus {\n color: var(--field-text-focus);\n}\n\n.input:disabled {\n cursor: not-allowed;\n color: var(--field-text-disabled);\n}\n\n.input:disabled::placeholder {\n color: var(--field-text-disabled);\n}\n\n","/* ── Field wrapper (visual input box) ─────────────────────── */\n\n.wrapper {\n display: flex;\n align-items: center;\n height: var(--spacing-56); /* 56px */\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n border-radius: var(--radius-md); /* 8px */\n border: 1px solid transparent; /* base — prevents layout shift */\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.neutral:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.neutral:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail ─────────────────────────────────────────── */\n\n.fail {\n border-color: var(--field-border-fail-default);\n}\n\n.fail:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.fail:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Success ──────────────────────────────────────── */\n\n.success {\n border-color: var(--field-border-success-default);\n}\n\n.success:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.success:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.wrapper[data-disabled] {\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.iconSlot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n color: var(--field-icon-default);\n}\n\n.wrapper[data-disabled] .iconSlot {\n color: var(--field-icon-disabled);\n}\n\n.iconSuccess {\n color: var(--field-text-success);\n}\n\n.iconFail {\n color: var(--field-text-fail);\n}\n\n/* ── Native input ─────────────────────────────────────────── */\n\n.input {\n flex: 1 0 0;\n min-width: 1px;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md); /* 16px */\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--field-text-default);\n caret-color: var(--field-border-focus);\n padding: 0;\n}\n\n.input::placeholder {\n color: var(--field-text-placeholder);\n}\n\n.input:focus {\n color: var(--field-text-focus);\n}\n\n.input:disabled {\n cursor: not-allowed;\n color: var(--field-text-disabled);\n}\n\n.input:disabled::placeholder {\n color: var(--field-text-disabled);\n}\n\n/* ── Clear button ─────────────────────────────────────────── */\n\n.clearButton {\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--field-icon-subtle);\n border-radius: var(--radius-full);\n transition: color 100ms ease;\n}\n\n.clearButton:hover {\n color: var(--field-text-default);\n}\n\n.clearButton:focus-visible {\n outline: 2px solid var(--field-border-focus);\n outline-offset: 2px;\n}\n","/* ── List ─────────────────────────────────────────────────── */\n\n.list {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--spacing-8); /* gap between <li> elements — right side of each › */\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n}\n\n/* ── Size variants ────────────────────────────────────────── */\n\n.list.sm {\n font-size: var(--font-size-sm); /* 0.875rem / 14px */\n line-height: var(--line-height-normal);\n}\n\n.list.md {\n font-size: var(--font-size-md); /* 1rem / 16px */\n line-height: var(--line-height-normal); /* 1.5 → 24px */\n}\n\n/* ── Item ─────────────────────────────────────────────────── */\n\n/* .item, .middleItem, .ellipsisItem all share this layout */\n.item,\n.middleItem,\n.ellipsisItem {\n display: flex;\n align-items: center;\n gap: var(--spacing-8); /* gap between link text and › — left side of each › */\n}\n\n/* ── Link (clickable crumb) ───────────────────────────────── */\n\n.link {\n color: var(--breadcrumb-text-color);\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n border-radius: var(--radius-sm);\n}\n\n.link:hover {\n text-decoration: underline;\n}\n\n.link:active {\n color: var(--breadcrumb-text-current-color);\n text-decoration: underline;\n}\n\n.link:focus-visible {\n outline: 2px solid var(--breadcrumb-focus-ring-color);\n outline-offset: 2px;\n text-decoration: none;\n}\n\n/* ── Current page (last crumb, non-interactive) ───────────── */\n\n.current {\n color: var(--breadcrumb-text-current-color);\n white-space: nowrap;\n}\n\n/* ── Separator (chevron icon) ─────────────────────────────── */\n\n.separator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--breadcrumb-separator-color);\n width: 1em;\n height: 1em;\n}\n\n/* ── Ellipsis button ──────────────────────────────────────── */\n\n.ellipsisButton {\n appearance: none;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: var(--breadcrumb-text-color);\n cursor: pointer;\n border-radius: var(--radius-sm);\n}\n\n.ellipsisButton:hover {\n text-decoration: underline;\n}\n\n.ellipsisButton:focus-visible {\n outline: 2px solid var(--breadcrumb-focus-ring-color);\n outline-offset: 2px;\n text-decoration: none;\n}\n\n/* ── Collapse logic ───────────────────────────────────────── */\n\n/* Desktop: always show all items, never show ellipsis */\n.ellipsisItem {\n display: none;\n}\n\n.middleItem {\n display: flex;\n}\n\n/* Mobile: collapse middle items, show ellipsis */\n@media (max-width: 639px) {\n .list.collapsible {\n gap: var(--spacing-4);\n }\n\n .list.collapsible .item,\n .list.collapsible .middleItem,\n .list.collapsible .ellipsisItem {\n gap: var(--spacing-4);\n }\n\n .list.collapsible .ellipsisItem {\n display: flex;\n }\n\n .list.collapsible .middleItem {\n display: none;\n }\n\n /* Expanded: restore all items, hide ellipsis */\n .list.collapsible.expanded .ellipsisItem {\n display: none;\n }\n\n .list.collapsible.expanded .middleItem {\n display: flex;\n }\n}\n","/* ── Wrapper ───────────────────────────────────────────────── */\n\n.wrapper {\n position: relative;\n display: inline-flex;\n}\n\n/* ── Trigger (chip button) ────────────────────────────────── */\n\n.trigger {\n position: relative;\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--chip-border-color);\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n color: var(--chip-text-color);\n white-space: nowrap;\n background: transparent;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, color 100ms ease, border-color 100ms ease;\n user-select: none;\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.sm {\n height: var(--spacing-24);\n padding-left: var(--spacing-12);\n padding-right: 6px; /* design spec: --component/chip/spacing/padding/xs = 6px, no token */\n gap: 6px; /* design spec: --component/chip/spacing/gap/xs = 6px, no token */\n font-size: var(--font-size-xs);\n}\n\n.md {\n height: var(--spacing-32);\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-8);\n gap: var(--spacing-8);\n font-size: var(--font-size-sm);\n}\n\n/* ── Hover / Active (unselected, not disabled) ────────────── */\n\n.trigger:hover:not(:disabled):not(.selected) {\n background-color: var(--chip-hover-background);\n}\n\n.trigger:active:not(:disabled) {\n background-color: var(--chip-active-background);\n}\n\n/* ── Expand state (open but no selection) ─────────────────── */\n\n.expand:not(.selected):not(:disabled) {\n background-color: var(--chip-hover-background);\n}\n\n/* ── Selected ─────────────────────────────────────────────── */\n\n.selected {\n background-color: var(--chip-selected-background);\n border-color: var(--chip-selected-background);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.trigger:disabled {\n color: var(--chip-disabled-text);\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.label {\n flex-shrink: 0;\n}\n\n/* ── Tag slot ─────────────────────────────────────────────── */\n\n.tag {\n font-weight: var(--font-weight-extra-bold);\n flex-shrink: 0;\n}\n\n/* ── Chevron icon ─────────────────────────────────────────── */\n\n.chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n transition: transform 200ms ease;\n}\n\n.chevronOpen {\n transform: rotate(180deg);\n}\n\n/* ── Focus ring (keyboard / programmatic) ─────────────────── */\n\n.trigger:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Dropdown list panel ──────────────────────────────────── */\n\n.list {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 10;\n min-width: 100%;\n list-style: none;\n margin: 0;\n padding: var(--spacing-4);\n background: var(--chip-dropdown-list-bg);\n border: 1px solid var(--chip-dropdown-list-border);\n border-radius: var(--radius-md);\n box-shadow: var(--chip-dropdown-list-shadow);\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n/* ── Dropdown item ────────────────────────────────────────── */\n\n.item {\n display: flex;\n align-items: center;\n gap: 6px; /* design spec: --component/dropdownItem/spacing/gap/sm = 6px, no token */\n height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n border-radius: var(--radius-sm);\n cursor: pointer;\n color: var(--chip-dropdown-item-text);\n font-size: var(--font-size-sm);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n white-space: nowrap;\n box-sizing: border-box;\n transition: background-color 100ms ease;\n list-style: none;\n}\n\n.item:hover {\n background-color: var(--chip-dropdown-item-hover-bg);\n}\n\n.item:active {\n background-color: var(--chip-dropdown-item-active-bg);\n}\n\n/* ── Item label ───────────────────────────────────────────── */\n\n.itemLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ── Selected item ────────────────────────────────────────── */\n\n.itemSelected .itemLabel {\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── Selected checkmark ───────────────────────────────────── */\n\n.itemCheck {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--chip-dropdown-item-selected-check);\n}","/* ── Card shell ───────────────────────────────────────────── */\n\n.card {\n display: flex;\n flex-direction: column;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n height: 29.5rem;\n position: relative;\n width: 100%;\n}\n\n/* ── Variant backgrounds ──────────────────────────────────── */\n\n.style--light { background-color: var(--color-slate-75); }\n.style--dark { background-color: var(--color-slate-1200); }\n.style--brand { background-color: var(--color-coral-500); }\n.style--image { background-color: transparent; }\n\n/* ── Content area ─────────────────────────────────────────── */\n\n.content {\n flex: 1 0 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-32);\n position: relative;\n z-index: 1;\n min-height: 0;\n}\n\n/* ── Text colours ─────────────────────────────────────────── */\n\n.textDefault { color: var(--color-slate-1200); }\n.textInverse { color: var(--color-slate-50); }\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n margin: 0;\n width: 100%;\n}\n\n/* ── Description ──────────────────────────────────────────── */\n\n.description {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n margin: 0;\n width: 100%;\n}\n\n/* ── Inline link ──────────────────────────────────────────── */\n\n.link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--line-height-tight);\n text-decoration: none;\n transition: opacity 150ms ease;\n}\n\n.link:hover { opacity: 0.8; }\n\n.linkCoral { color: var(--link-coral-color); }\n.linkInverse { color: var(--link-white-color); }\n\n/* ── Image section (light / dark / brand) ─────────────────── */\n\n.imageSection {\n height: 17.5rem;\n flex-shrink: 0;\n position: relative;\n overflow: hidden;\n}\n\n.image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ── Full-bleed image overlay (image style) ───────────────── */\n\n.imageOverlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n}\n\n.overlayImg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.gradient {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n to bottom,\n var(--color-opacity-slate-72) 28%,\n transparent 54%\n );\n}\n","/* ── Card shell ───────────────────────────────────────────── */\n\n.card {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16); /* Figma: 16px */\n padding: var(--spacing-32); /* Figma: 32px */\n background-color: var(--color-slate-75);\n border-radius: var(--radius-2xl);\n overflow: hidden;\n width: 100%;\n box-sizing: border-box;\n}\n\n/* ── Icon ─────────────────────────────────────────────────── */\n\n.icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32); /* Figma: 32px */\n height: var(--spacing-32);\n flex-shrink: 0;\n color: var(--color-slate-1200);\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n width: 100%;\n}\n\n/* ── Description ──────────────────────────────────────────── */\n\n.description {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n width: 100%;\n}\n\n/* ── Link ─────────────────────────────────────────────────── */\n\n.link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--line-height-tight);\n color: var(--link-coral-color);\n text-decoration: none;\n transition: opacity 150ms ease;\n}\n\n.link:hover { opacity: 0.8; }\n","/* ── Card shell ───────────────────────────────────────────── */\n\n.card {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n/* ── Thumbnail wrapper ────────────────────────────────────── */\n\n.thumbnailWrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 4 / 3;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n pointer-events: none;\n display: block;\n}\n\n/* ── Play button (video only) ─────────────────────────────── */\n\n.playButton {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-80);\n height: var(--spacing-80);\n pointer-events: none;\n}\n\n/* ── Author avatar (article only) ────────────────────────── */\n\n.avatar {\n position: absolute;\n bottom: var(--spacing-24);\n right: var(--spacing-24);\n width: var(--spacing-72);\n height: var(--spacing-72);\n border-radius: var(--radius-full);\n object-fit: cover;\n display: block;\n}\n\n/* ── Content area ─────────────────────────────────────────── */\n\n.content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* ── Meta row ─────────────────────────────────────────────── */\n\n.metaRow {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n flex-wrap: wrap;\n gap: var(--spacing-12);\n}\n\n.tagsList {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n flex: 1 0 0;\n min-width: 0;\n}\n\n/* ── Copy-link button ─────────────────────────────────────── */\n\n.copyLink {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--spacing-32);\n min-height: var(--spacing-32);\n max-height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n border-radius: var(--radius-full);\n border: 1px solid var(--tag-outline-border);\n background: transparent;\n color: var(--tag-text-color);\n cursor: pointer;\n flex-shrink: 0;\n transition: background-color 100ms ease;\n}\n\n.copyLink:hover {\n background-color: var(--tag-fill-background);\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\n/* ── Summary ──────────────────────────────────────────────── */\n\n.summary {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n","/* ── Container ────────────────────────────────────────────── */\n\n.pagination {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n/* ── Page button ──────────────────────────────────────────── */\n\n.pageButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n padding: 0;\n border: none;\n border-radius: var(--pagination-page-radius);\n background: transparent;\n color: var(--pagination-page-text);\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 1.375rem;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n}\n\n.pageButton:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n}\n\n/* ── Active / selected page button ───────────────────────── */\n\n.pageButtonSelected {\n background: var(--pagination-page-selected-bg);\n color: var(--pagination-page-selected-text);\n border-radius: var(--pagination-page-radius);\n cursor: default;\n}\n\n/* ── Ellipsis ─────────────────────────────────────────────── */\n\n.ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n color: var(--pagination-page-ellipsis-text);\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 1.375rem;\n user-select: none;\n}\n\n/* ── Nav button (prev / next) ─────────────────────────────── */\n\n.navButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n padding: 0;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--pagination-nav-icon);\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n}\n\n.navButton:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n border-radius: var(--radius-md);\n}\n\n/* ── Nav button disabled ──────────────────────────────────── */\n\n.navButtonDisabled {\n color: var(--pagination-nav-icon-disabled);\n cursor: not-allowed;\n}\n\n/* ── Nav icon slot ────────────────────────────────────────── */\n\n.navIcon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../primitives/Button/Button.css","../primitives/Link/Link.css","../primitives/Chip/Chip.css","../primitives/Tag/Tag.css","../primitives/Accordion/Accordion.css","../primitives/TextField/TextField.css","../primitives/SearchField/SearchField.css","../primitives/BottomSheet/BottomSheet.css","../primitives/Breadcrumb/Breadcrumb.css","../primitives/ChipDropdown/ChipDropdown.css","../components/Card/CardPrimaryVariant.css","../components/Card/CardSecondaryVariant.css","../components/Card/CardThumbnailVariant.css","../primitives/Pagination/Pagination.css","../templates/FeatureCards/FeatureCards.css","../templates/Footer/Footer.css","../templates/Hero/Hero.css","../templates/Stats/Stats.css","../templates/Scrollytelling/Scrollytelling.css","../templates/StickyStackedCards/StickyStackedCards.css","../templates/CTABanner/CTABanner.css","../templates/DayNightTransition/DayNightTransition.css","../templates/PaymentMethods/PaymentMethods.css"],"sourcesContent":["/* ── Base ─────────────────────────────────────────────────── */\n\n.button {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-8);\n padding: calc(var(--spacing-16) - 2px) calc(var(--spacing-24) - 2px);\n min-width: var(--spacing-96);\n border: 2px solid transparent;\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-extra-bold);\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n text-decoration: none;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, border-color 100ms ease, opacity 100ms ease;\n}\n\n/* ── Full-width ───────────────────────────────────────────── */\n\n.button.fullWidth {\n width: 100%;\n}\n\n/* ── Icon-only — square pill, no label ───────────────────── */\n\n.button.iconOnly {\n padding: calc(var(--spacing-16) - 2px);\n min-width: unset;\n width: var(--spacing-48);\n height: var(--spacing-48);\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.button .label {\n flex: 1 0 0;\n min-width: 1px;\n min-height: 1px;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.button .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.button .focusRing {\n position: absolute;\n inset: -2px;\n border-radius: var(--radius-full);\n border: 2px solid var(--color-blue-600);\n pointer-events: none;\n}\n\n.button:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -2px;\n border-radius: var(--radius-full);\n border: 2px solid var(--color-blue-600);\n pointer-events: none;\n}\n\n/* ============================================================\n CORAL color scheme\n ============================================================ */\n\n.coral_primary {\n background-color: var(--color-coral-500);\n color: var(--color-slate-50);\n}\n\n.coral_primary:hover:not(:disabled) {\n background-color: var(--color-coral-600);\n}\n\n.coral_primary:active:not(:disabled) {\n background-color: var(--color-coral-700);\n}\n\n.coral_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.coral_secondary {\n background-color: transparent;\n color: var(--color-coral-500);\n border-color: var(--color-coral-500);\n}\n\n.coral_secondary:hover:not(:disabled) {\n background-color: rgba(255, 68, 79, 0.08);\n}\n\n.coral_secondary:active:not(:disabled) {\n background-color: rgba(255, 68, 79, 0.16);\n}\n\n.coral_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n/* ============================================================\n BLACK color scheme\n ============================================================ */\n\n.black_primary {\n background-color: var(--color-slate-1300);\n color: var(--color-slate-50);\n}\n\n.black_primary:hover:not(:disabled) {\n background-color: rgba(24, 28, 37, 0.8);\n}\n\n.black_primary:active:not(:disabled) {\n background-color: var(--color-opacity-slate-88);\n}\n\n.black_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.black_secondary {\n background-color: transparent;\n color: var(--color-slate-1300);\n border-color: var(--color-slate-1300);\n}\n\n.black_secondary:hover:not(:disabled) {\n background-color: var(--color-opacity-slate-4);\n}\n\n.black_secondary:active:not(:disabled) {\n background-color: var(--color-opacity-slate-8);\n}\n\n.black_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n/* ============================================================\n WHITE color scheme — intended for use on dark backgrounds\n ============================================================ */\n\n.white_primary {\n background-color: var(--color-slate-50);\n color: var(--color-slate-1300);\n}\n\n.white_primary:hover:not(:disabled) {\n background-color: rgba(255, 255, 255, 0.8);\n}\n\n.white_primary:active:not(:disabled) {\n background-color: var(--color-opacity-white-88);\n}\n\n.white_primary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n\n.white_secondary {\n background-color: transparent;\n color: var(--color-slate-50);\n border-color: var(--color-slate-50);\n}\n\n.white_secondary:hover:not(:disabled) {\n background-color: var(--color-opacity-white-8);\n}\n\n.white_secondary:active:not(:disabled) {\n background-color: var(--color-opacity-white-16);\n}\n\n.white_secondary:disabled {\n opacity: 0.24;\n cursor: not-allowed;\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n cursor: pointer;\n text-decoration: none;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-semi-bold);\n line-height: 1;\n white-space: nowrap;\n background: none;\n border: none;\n padding: 0;\n outline: none;\n transition: gap 150ms ease;\n}\n\n.link:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n border-radius: var(--radius-xs);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.link.disabled {\n opacity: var(--link-disabled-opacity);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.link .icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n\n/* ── Chevron slot ─────────────────────────────────────────── */\n\n.link .chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-16);\n height: var(--spacing-16);\n transition: transform 150ms ease;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.link .label {\n text-decoration-skip-ink: none;\n}\n\n/* ── Chevron mode: gap expands on hover/active ────────────── */\n\n.link.withChevron:hover,\n.link.withChevron:active {\n gap: var(--spacing-16);\n}\n\n/* ── Icon mode: label underlines on hover/active ──────────── */\n\n.link.withIcon:hover .label,\n.link.withIcon:active .label {\n text-decoration: underline;\n text-decoration-style: solid;\n}\n\n/* ── Color schemes ────────────────────────────────────────── */\n\n.link.coral {\n color: var(--link-coral-color);\n}\n\n.link.black {\n color: var(--link-black-color);\n}\n\n.link.white {\n color: var(--link-white-color);\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.chip {\n position: relative;\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--chip-border-color);\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n line-height: 1;\n color: var(--chip-text-color);\n white-space: nowrap;\n background: transparent;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, color 100ms ease, border-color 100ms ease;\n user-select: none;\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.chip.sm {\n height: var(--spacing-24);\n padding: 0 var(--spacing-12);\n gap: 6px;\n font-size: var(--font-size-xs);\n}\n\n.chip.md {\n height: var(--spacing-32);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n font-size: var(--font-size-sm);\n}\n\n.chip.lg {\n height: var(--spacing-48);\n padding: 0 var(--spacing-24);\n gap: var(--spacing-12);\n font-size: var(--font-size-md);\n}\n\n/* ── Hover / Active (unselected only) ─────────────────────── */\n\n.chip:hover:not(:disabled):not(.selected) {\n background-color: var(--chip-hover-background);\n}\n\n.chip:active:not(:disabled):not(.selected) {\n background-color: var(--chip-active-background);\n}\n\n/* ── Selected ─────────────────────────────────────────────── */\n\n.chip.selected {\n background-color: var(--chip-selected-background);\n border-color: var(--chip-selected-background);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.chip:disabled {\n color: var(--chip-disabled-text);\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.chip .icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.chip .label {\n flex-shrink: 0;\n}\n\n/* ── Tag slot ─────────────────────────────────────────────── */\n\n.chip .tag {\n font-weight: var(--font-weight-extra-bold);\n flex-shrink: 0;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.chip .focusRing {\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n.chip.selected .focusRing {\n inset: -2px;\n}\n\n.chip:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n.chip.selected:focus-visible::after {\n inset: -2px;\n}\n","/* ── Base ─────────────────────────────────────────────────── */\n\n.tag {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n white-space: nowrap;\n font-family: var(--font-family-base);\n line-height: 1;\n color: var(--tag-text-color);\n border-radius: var(--radius-full);\n}\n\n/* ── Variants ─────────────────────────────────────────────── */\n\n.tag.fill {\n background-color: var(--tag-fill-background);\n}\n\n.tag.outline {\n border: 1px solid var(--tag-outline-border);\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.tag.xs {\n height: 22px;\n padding: 0 var(--spacing-4);\n gap: var(--spacing-4);\n font-size: var(--font-size-xs);\n}\n\n.tag.sm {\n height: var(--spacing-24);\n padding: 0 var(--spacing-8);\n gap: var(--spacing-8);\n font-size: var(--font-size-xs);\n}\n\n.tag.md {\n height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n gap: var(--spacing-12);\n font-size: var(--font-size-sm);\n}\n\n.tag.lg {\n height: var(--spacing-48);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-16);\n font-size: var(--font-size-md);\n}\n\n/* ── Font weights ─────────────────────────────────────────── */\n\n.tag.regular {\n font-weight: var(--font-weight-regular);\n}\n\n.tag.bold {\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.tag .icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.tag .label {\n flex-shrink: 0;\n}\n","/* ── Container ────────────────────────────────────────────── */\n\n.accordion {\n position: relative;\n width: 100%;\n max-width: 846px;\n box-sizing: border-box;\n}\n\n/* ── Header ───────────────────────────────────────────────── */\n\n.accordion .header {\n display: flex;\n align-items: center;\n gap: var(--spacing-24);\n padding: var(--spacing-24) 0;\n width: 100%;\n background: none;\n border: none;\n cursor: pointer;\n outline: none;\n position: relative;\n text-align: left;\n box-sizing: border-box;\n}\n\n.accordion .header:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -2px;\n border: 2px solid var(--accordion-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Focus ring overlay ───────────────────────────────────── */\n\n.accordion .focusRing {\n position: absolute;\n inset: -2px;\n border: 2px solid var(--accordion-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Title slot ───────────────────────────────────────────── */\n\n.accordion .titleWrapper {\n flex: 1 0 0;\n min-width: 1px;\n}\n\n.accordion .title {\n font-family: var(--font-family-base);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--line-height-normal);\n color: var(--accordion-title-color);\n}\n\n/* ── Chevron slot ─────────────────────────────────────────── */\n\n.accordion .chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-24);\n height: var(--spacing-24);\n flex-shrink: 0;\n color: var(--accordion-chevron-color);\n transition: transform 200ms ease;\n}\n\n.accordion .chevronRotated {\n transform: rotate(180deg);\n}\n\n/* ── Body — CSS Grid animated collapse ────────────────────── */\n\n.accordion .bodyWrapper {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 200ms ease;\n}\n\n.accordion .bodyWrapperOpen {\n grid-template-rows: 1fr;\n}\n\n.accordion .bodyInner {\n overflow: hidden;\n}\n\n.accordion .body {\n padding-bottom: var(--spacing-24);\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--accordion-body-color);\n}\n","/* ── Field wrapper (visual input box) ─────────────────────── */\n\n.tf-wrapper {\n display: flex;\n align-items: center;\n height: var(--spacing-56);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n border-radius: var(--radius-md);\n border: 1px solid transparent;\n box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Variant: Outline ─────────────────────────────────────── */\n\n.tf-wrapper.outline {\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n}\n\n/* ── Variant: Fill ────────────────────────────────────────── */\n\n.tf-wrapper.fill {\n background: var(--field-surface-fill);\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.tf-wrapper.neutral.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n.tf-wrapper.neutral.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fill-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.tf-wrapper.neutral.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n.tf-wrapper.neutral.fill:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail — Outline ───────────────────────────────── */\n\n.tf-wrapper.fail.outline {\n border-color: var(--field-border-fail-default);\n}\n\n.tf-wrapper.fail.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.tf-wrapper.fail.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Fail — Fill ──────────────────────────────────── */\n\n.tf-wrapper.fail.fill {\n background: var(--field-surface-fail);\n}\n\n.tf-wrapper.fail.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-fail-hover);\n}\n\n.tf-wrapper.fail.fill:focus-within:not([data-disabled]) {\n background: var(--field-surface-fail);\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Success — Outline ────────────────────────────── */\n\n.tf-wrapper.success.outline {\n border-color: var(--field-border-success-default);\n}\n\n.tf-wrapper.success.outline:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.tf-wrapper.success.outline:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Status: Success — Fill ───────────────────────────────── */\n\n.tf-wrapper.success.fill {\n background: var(--field-surface-success);\n}\n\n.tf-wrapper.success.fill:hover:not([data-disabled]):not(:focus-within) {\n background: var(--field-surface-success-hover);\n}\n\n.tf-wrapper.success.fill:focus-within:not([data-disabled]) {\n background: var(--field-surface-success);\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.tf-wrapper[data-disabled] {\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.tf-wrapper .iconSlot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n color: var(--field-icon-default);\n}\n\n.tf-wrapper[data-disabled] .iconSlot {\n color: var(--field-icon-disabled);\n}\n\n.tf-wrapper .iconSuccess {\n color: var(--field-text-success);\n}\n\n.tf-wrapper .iconFail {\n color: var(--field-text-fail);\n}\n\n/* ── Native input ─────────────────────────────────────────── */\n\n.tf-wrapper .tf-input {\n flex: 1 0 0;\n min-width: 1px;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--field-text-default);\n caret-color: var(--field-border-focus);\n padding: 0;\n}\n\n.tf-wrapper .tf-input::placeholder {\n color: var(--field-text-placeholder);\n}\n\n.tf-wrapper .tf-input:focus {\n color: var(--field-text-focus);\n}\n\n.tf-wrapper .tf-input:disabled {\n cursor: not-allowed;\n color: var(--field-text-disabled);\n}\n\n.tf-wrapper .tf-input:disabled::placeholder {\n color: var(--field-text-disabled);\n}\n","/* ── Field wrapper (visual input box) ─────────────────────── */\n\n.sf-wrapper {\n display: flex;\n align-items: center;\n height: var(--spacing-56);\n padding: 0 var(--spacing-16);\n gap: var(--spacing-8);\n border-radius: var(--radius-md);\n border: 1px solid transparent;\n background: var(--field-surface-outline);\n border-color: var(--field-border-default);\n box-sizing: border-box;\n cursor: text;\n transition: background-color 100ms ease, border-color 100ms ease;\n}\n\n/* ── Hover — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-hover);\n}\n\n/* ── Focus — neutral ──────────────────────────────────────── */\n\n.sf-wrapper.neutral:focus-within:not([data-disabled]) {\n border-color: var(--field-border-focus);\n}\n\n/* ── Status: Fail ─────────────────────────────────────────── */\n\n.sf-wrapper.fail {\n border-color: var(--field-border-fail-default);\n}\n\n.sf-wrapper.fail:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-fail-hover);\n}\n\n.sf-wrapper.fail:focus-within:not([data-disabled]) {\n border-color: var(--field-border-fail-focus);\n}\n\n/* ── Status: Success ──────────────────────────────────────── */\n\n.sf-wrapper.success {\n border-color: var(--field-border-success-default);\n}\n\n.sf-wrapper.success:hover:not([data-disabled]):not(:focus-within) {\n border-color: var(--field-border-success-hover);\n}\n\n.sf-wrapper.success:focus-within:not([data-disabled]) {\n border-color: var(--field-border-success-focus);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.sf-wrapper[data-disabled] {\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.sf-wrapper .iconSlot {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n color: var(--field-icon-default);\n}\n\n.sf-wrapper[data-disabled] .iconSlot {\n color: var(--field-icon-disabled);\n}\n\n.sf-wrapper .iconSuccess {\n color: var(--field-text-success);\n}\n\n.sf-wrapper .iconFail {\n color: var(--field-text-fail);\n}\n\n/* ── Native input ─────────────────────────────────────────── */\n\n.sf-wrapper .sf-input {\n flex: 1 0 0;\n min-width: 1px;\n border: none;\n outline: none;\n background: transparent;\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--field-text-default);\n caret-color: var(--field-border-focus);\n padding: 0;\n}\n\n.sf-wrapper .sf-input::placeholder {\n color: var(--field-text-placeholder);\n}\n\n.sf-wrapper .sf-input:focus {\n color: var(--field-text-focus);\n}\n\n.sf-wrapper .sf-input:disabled {\n cursor: not-allowed;\n color: var(--field-text-disabled);\n}\n\n.sf-wrapper .sf-input:disabled::placeholder {\n color: var(--field-text-disabled);\n}\n\n/* ── Clear button ─────────────────────────────────────────── */\n\n.sf-wrapper .clearButton {\n appearance: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: var(--spacing-24);\n height: var(--spacing-24);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--field-icon-subtle);\n border-radius: var(--radius-full);\n transition: color 100ms ease;\n}\n\n.sf-wrapper .clearButton:hover {\n color: var(--field-text-default);\n}\n\n.sf-wrapper .clearButton:focus-visible {\n outline: 2px solid var(--field-border-focus);\n outline-offset: 2px;\n}\n","/* ── Overlay backdrop ──────────────────────────────────────── */\n\n.bs-overlay {\n position: fixed;\n inset: 0;\n z-index: 9999;\n background: var(--bottom-sheet-overlay-bg);\n display: flex;\n align-items: flex-end;\n}\n\n/* ── Sheet panel ───────────────────────────────────────────── */\n\n.bs-sheet {\n width: 100%;\n background: var(--bottom-sheet-bg);\n border-radius: var(--radius-xl) var(--radius-xl) 0 0;\n box-shadow: var(--bottom-sheet-shadow);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n max-height: 90dvh;\n animation: bs-slide-up 280ms cubic-bezier(0.32, 0.72, 0, 1) forwards;\n}\n\n@keyframes bs-slide-up {\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n}\n\n/* ── Handle bar ────────────────────────────────────────────── */\n\n.bs-handle-container {\n display: flex;\n justify-content: center;\n align-items: center;\n padding: var(--spacing-8) 0;\n flex-shrink: 0;\n}\n\n.bs-handle-bar {\n width: 48px;\n height: 4px;\n border-radius: var(--radius-full);\n background: var(--bottom-sheet-handle-color);\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.bs-header {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n height: 48px;\n padding: 0 var(--spacing-16);\n flex-shrink: 0;\n}\n\n.bs-header-spacer {\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n}\n\n.bs-title {\n flex: 1;\n text-align: center;\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-extra-bold);\n font-size: var(--font-size-xl);\n line-height: var(--line-height-xl);\n color: var(--bottom-sheet-title-color);\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n min-width: 0;\n}\n\n.bs-close-container {\n flex-shrink: 0;\n}\n\n.bs-close-btn {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border-radius: var(--radius-full);\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--bottom-sheet-close-icon-color);\n transition: background-color 100ms ease;\n outline: none;\n box-sizing: border-box;\n}\n\n.bs-close-btn:hover {\n background: var(--bottom-sheet-close-hover-bg);\n}\n\n.bs-close-btn:active {\n background: var(--bottom-sheet-close-active-bg);\n}\n\n.bs-close-btn:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--bottom-sheet-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Body ──────────────────────────────────────────────────── */\n\n.bs-body {\n flex: 1;\n overflow-y: auto;\n min-height: 0;\n}\n\n/* ── Action buttons ────────────────────────────────────────── */\n\n.bs-actions {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n padding: var(--spacing-16);\n flex-shrink: 0;\n}\n\n.bs-action-primary {\n width: 100%;\n height: 48px;\n border-radius: var(--radius-full);\n border: none;\n background: var(--bottom-sheet-action-primary-bg);\n color: var(--bottom-sheet-action-primary-text);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-extra-bold);\n font-size: var(--font-size-md);\n cursor: pointer;\n transition: background-color 100ms ease;\n box-sizing: border-box;\n}\n\n.bs-action-primary:hover {\n background: var(--bottom-sheet-action-primary-bg-hover);\n}\n\n.bs-action-primary:active {\n background: var(--bottom-sheet-action-primary-bg-active);\n}\n\n.bs-action-secondary {\n width: 100%;\n height: 48px;\n border-radius: var(--radius-full);\n border: 1px solid var(--bottom-sheet-action-secondary-border);\n background: transparent;\n color: var(--bottom-sheet-action-secondary-text);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-extra-bold);\n font-size: var(--font-size-md);\n cursor: pointer;\n transition: background-color 100ms ease;\n box-sizing: border-box;\n}\n\n.bs-action-secondary:hover {\n background: var(--bottom-sheet-action-secondary-hover-bg);\n}\n\n.bs-action-secondary:active {\n background: var(--bottom-sheet-action-secondary-active-bg);\n}\n\n/* ── Mobile only — hidden on wider screens ─────────────────── */\n\n@media (min-width: 768px) {\n .bs-overlay {\n display: none;\n }\n}\n","/* ── List ─────────────────────────────────────────────────── */\n\n.bc-list {\n display: flex;\n flex-wrap: nowrap;\n align-items: center;\n overflow: hidden;\n gap: var(--spacing-8);\n list-style: none;\n margin: 0;\n padding: 0;\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n}\n\n/* ── Size variants ────────────────────────────────────────── */\n\n.bc-list.sm {\n font-size: var(--font-size-sm);\n line-height: var(--line-height-normal);\n}\n\n.bc-list.md {\n font-size: var(--font-size-md);\n line-height: var(--line-height-normal);\n}\n\n/* ── Item ─────────────────────────────────────────────────── */\n\n.bc-item,\n.bc-middleItem,\n.bc-ellipsisItem {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n/* ── Link (clickable crumb) ───────────────────────────────── */\n\n.bc-link {\n color: var(--breadcrumb-text-color);\n text-decoration: none;\n white-space: nowrap;\n cursor: pointer;\n border-radius: var(--radius-sm);\n}\n\n.bc-link:hover {\n text-decoration: underline;\n}\n\n.bc-link:active {\n color: var(--breadcrumb-text-current-color);\n text-decoration: underline;\n}\n\n.bc-link:focus-visible {\n outline: 2px solid var(--breadcrumb-focus-ring-color);\n outline-offset: 2px;\n text-decoration: none;\n}\n\n/* ── Current page (last crumb, non-interactive) ───────────── */\n\n.bc-current {\n color: var(--breadcrumb-text-current-color);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* ── Last item shrinks to allow truncation ────────────────── */\n\n.bc-item:last-child {\n min-width: 0;\n flex-shrink: 1;\n overflow: hidden;\n}\n\n/* ── Separator (chevron icon) ─────────────────────────────── */\n\n.bc-separator {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--breadcrumb-separator-color);\n width: 1em;\n height: 1em;\n}\n\n/* ── Ellipsis button ──────────────────────────────────────── */\n\n.bc-ellipsisButton {\n appearance: none;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: var(--breadcrumb-text-color);\n cursor: pointer;\n border-radius: var(--radius-sm);\n}\n\n.bc-ellipsisButton:hover {\n text-decoration: underline;\n}\n\n.bc-ellipsisButton:focus-visible {\n outline: 2px solid var(--breadcrumb-focus-ring-color);\n outline-offset: 2px;\n text-decoration: none;\n}\n\n/* ── Collapse logic ───────────────────────────────────────── */\n\n.bc-ellipsisItem {\n display: none;\n}\n\n.bc-middleItem {\n display: flex;\n}\n\n@media (max-width: 639px) {\n .bc-list.collapsible {\n gap: var(--spacing-4);\n }\n\n .bc-list.collapsible .bc-item,\n .bc-list.collapsible .bc-middleItem,\n .bc-list.collapsible .bc-ellipsisItem {\n gap: var(--spacing-4);\n }\n\n .bc-list.collapsible .bc-ellipsisItem {\n display: flex;\n }\n\n .bc-list.collapsible .bc-middleItem {\n display: none;\n }\n\n}\n\n/* ── Bottom Sheet list (hidden middle items) ──────────────── */\n\n.bc-sheet-list {\n list-style: none;\n margin: 0;\n padding: 0;\n padding-bottom: var(--spacing-24);\n}\n\n.bc-sheet-item {\n border-bottom: 1px solid var(--bottom-sheet-list-item-border);\n}\n\n.bc-sheet-item:last-child {\n border-bottom: none;\n}\n\n.bc-sheet-link {\n display: flex;\n align-items: center;\n height: 72px;\n padding: 0 var(--spacing-24);\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n color: var(--breadcrumb-text-color);\n text-decoration: none;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.bc-sheet-link:hover {\n text-decoration: underline;\n}\n\n.bc-sheet-link:focus-visible {\n outline: 2px solid var(--breadcrumb-focus-ring-color);\n outline-offset: -2px;\n}\n","/* ── Wrapper ───────────────────────────────────────────────── */\n\n.cd-wrapper {\n position: relative;\n display: inline-flex;\n}\n\n/* ── Trigger (chip button) ────────────────────────────────── */\n\n.cd-trigger {\n position: relative;\n display: inline-flex;\n align-items: center;\n border: 1px solid var(--chip-border-color);\n border-radius: var(--radius-full);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n color: var(--chip-text-color);\n white-space: nowrap;\n background: transparent;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n transition: background-color 100ms ease, color 100ms ease, border-color 100ms ease;\n user-select: none;\n}\n\n/* ── Sizes ────────────────────────────────────────────────── */\n\n.cd-trigger.sm {\n height: var(--spacing-24);\n padding-left: var(--spacing-12);\n padding-right: 6px;\n gap: 6px;\n font-size: var(--font-size-xs);\n}\n\n.cd-trigger.md {\n height: var(--spacing-32);\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-8);\n gap: var(--spacing-8);\n font-size: var(--font-size-sm);\n}\n\n/* ── Hover / Active (unselected, not disabled) ────────────── */\n\n.cd-trigger:hover:not(:disabled):not(.selected) {\n background-color: var(--chip-hover-background);\n}\n\n.cd-trigger:active:not(:disabled) {\n background-color: var(--chip-active-background);\n}\n\n/* ── Expand state (open but no selection) ─────────────────── */\n\n.cd-trigger.expand:not(.selected):not(:disabled) {\n background-color: var(--chip-hover-background);\n}\n\n/* ── Selected ─────────────────────────────────────────────── */\n\n.cd-trigger.selected {\n background-color: var(--chip-selected-background);\n border-color: var(--chip-selected-background);\n color: var(--chip-selected-text);\n}\n\n/* ── Disabled ─────────────────────────────────────────────── */\n\n.cd-trigger:disabled {\n color: var(--chip-disabled-text);\n cursor: not-allowed;\n}\n\n/* ── Icon slot ────────────────────────────────────────────── */\n\n.cd-trigger .cd-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n}\n\n/* ── Label slot ───────────────────────────────────────────── */\n\n.cd-trigger .cd-label {\n flex-shrink: 0;\n}\n\n/* ── Tag slot ─────────────────────────────────────────────── */\n\n.cd-trigger .cd-tag {\n font-weight: var(--font-weight-extra-bold);\n flex-shrink: 0;\n}\n\n/* ── Chevron icon ─────────────────────────────────────────── */\n\n.cd-trigger .cd-chevron {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n transition: transform 200ms ease;\n}\n\n.cd-trigger .cd-chevron.chevronOpen {\n transform: rotate(180deg);\n}\n\n/* ── Focus ring (keyboard / programmatic) ─────────────────── */\n\n.cd-trigger:focus-visible::after {\n content: \"\";\n position: absolute;\n inset: -3px;\n border-radius: var(--radius-full);\n border: 2px solid var(--chip-focus-ring-color);\n pointer-events: none;\n}\n\n/* ── Dropdown list panel ──────────────────────────────────── */\n\n.cd-list {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n z-index: 10;\n min-width: 100%;\n list-style: none;\n margin: 0;\n padding: var(--spacing-4);\n background: var(--chip-dropdown-list-bg);\n border: 1px solid var(--chip-dropdown-list-border);\n border-radius: var(--radius-md);\n box-shadow: var(--chip-dropdown-list-shadow);\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n/* ── Dropdown item ────────────────────────────────────────── */\n\n.cd-item {\n display: flex;\n align-items: center;\n gap: 6px;\n height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n border-radius: var(--radius-sm);\n cursor: pointer;\n color: var(--chip-dropdown-item-text);\n font-size: var(--font-size-sm);\n font-family: var(--font-family-base);\n font-weight: var(--font-weight-regular);\n white-space: nowrap;\n box-sizing: border-box;\n transition: background-color 100ms ease;\n list-style: none;\n}\n\n.cd-item:hover {\n background-color: var(--chip-dropdown-item-hover-bg);\n}\n\n.cd-item:active {\n background-color: var(--chip-dropdown-item-active-bg);\n}\n\n/* ── Item label ───────────────────────────────────────────── */\n\n.cd-itemLabel {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ── Selected item ────────────────────────────────────────── */\n\n.cd-item.itemSelected .cd-itemLabel {\n font-weight: var(--font-weight-semi-bold);\n}\n\n/* ── Selected checkmark ───────────────────────────────────── */\n\n.cd-itemCheck {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n color: var(--chip-dropdown-item-selected-check);\n}\n\n/* ── Sheet variant (inside BottomSheet on mobile) ─────────── */\n\n.cd-list--sheet {\n position: static;\n border: none;\n border-radius: 0;\n box-shadow: none;\n padding: 0;\n background: transparent;\n}\n\n.cd-list--sheet .cd-item {\n height: 72px;\n padding: 0 var(--spacing-24);\n border-radius: 0;\n border-bottom: 1px solid var(--bottom-sheet-list-item-border);\n font-size: var(--font-size-md);\n}\n\n.cd-list--sheet .cd-item:last-child {\n border-bottom: none;\n}\n\n.cd-list--sheet .cd-item.itemSelected .cd-itemLabel {\n font-weight: var(--font-weight-extra-bold);\n}\n","/* ── Card shell ───────────────────────────────────────────── */\n\n.card-primary {\n display: flex;\n flex-direction: column;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n height: 29.5rem;\n position: relative;\n width: 100%;\n}\n\n/* ── Variant backgrounds ──────────────────────────────────── */\n\n.card-primary.style--light { background-color: var(--color-slate-75); }\n.card-primary.style--dark { background-color: var(--color-slate-1200); }\n.card-primary.style--brand { background-color: var(--color-coral-500); }\n.card-primary.style--image { background-color: transparent; }\n\n/* ── Content area ─────────────────────────────────────────── */\n\n.card-primary .cp-content {\n flex: 1 0 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-32);\n position: relative;\n z-index: 1;\n min-height: 0;\n}\n\n/* ── Text colours ─────────────────────────────────────────── */\n\n.card-primary .textDefault { color: var(--color-slate-1200); }\n.card-primary .textInverse { color: var(--color-slate-50); }\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.card-primary .cp-title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n margin: 0;\n width: 100%;\n}\n\n/* ── Description ──────────────────────────────────────────── */\n\n.card-primary .cp-description {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n margin: 0;\n width: 100%;\n}\n\n/* ── Image section (light / dark / brand) ─────────────────── */\n\n.card-primary .cp-imageSection {\n height: 17.5rem;\n flex-shrink: 0;\n position: relative;\n overflow: hidden;\n}\n\n.card-primary .cp-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ── Full-bleed image overlay (image style) ───────────────── */\n\n.card-primary .cp-imageOverlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n}\n\n.card-primary .cp-overlayImg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.card-primary .cp-gradient {\n position: absolute;\n inset: 0;\n background: linear-gradient(\n to bottom,\n var(--color-opacity-slate-72) 28%,\n transparent 54%\n );\n}\n","/* ── Card shell ───────────────────────────────────────────── */\n\n.card-secondary {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n padding: var(--spacing-32);\n background-color: var(--color-slate-75);\n border-radius: var(--radius-2xl);\n overflow: hidden;\n width: 100%;\n box-sizing: border-box;\n}\n\n/* ── Icon ─────────────────────────────────────────────────── */\n\n.card-secondary .cs-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n color: var(--color-slate-1200);\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.card-secondary .cs-title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n width: 100%;\n}\n\n/* ── Description ──────────────────────────────────────────── */\n\n.card-secondary .cs-description {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n width: 100%;\n}\n","/* ── Card shell ───────────────────────────────────────────── */\n\n.card-thumbnail {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n/* ── Thumbnail wrapper ────────────────────────────────────── */\n\n.card-thumbnail .ct-thumbnailWrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 4 / 3;\n border-radius: var(--radius-2xl);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.card-thumbnail .ct-thumbnailImage {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n pointer-events: none;\n display: block;\n transition: transform 0.25s ease-in-out;\n}\n\n.card-thumbnail:hover .ct-thumbnailImage {\n transform: scale(1.1);\n}\n\n/* ── Play button (video only) ─────────────────────────────── */\n\n.card-thumbnail .ct-playButton {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-80);\n height: var(--spacing-80);\n pointer-events: none;\n}\n\n/* ── Author avatar (article only) ────────────────────────── */\n\n.card-thumbnail .ct-avatar {\n position: absolute;\n bottom: var(--spacing-24);\n right: var(--spacing-24);\n width: var(--spacing-72);\n height: var(--spacing-72);\n border-radius: var(--radius-full);\n object-fit: cover;\n display: block;\n}\n\n/* ── Content area ─────────────────────────────────────────── */\n\n.card-thumbnail .ct-content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* ── Meta row ─────────────────────────────────────────────── */\n\n.card-thumbnail .ct-metaRow {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n flex-wrap: wrap;\n gap: var(--spacing-12);\n}\n\n.card-thumbnail .ct-tagsList {\n display: flex;\n align-items: center;\n gap: var(--spacing-12);\n flex: 1 0 0;\n min-width: 0;\n}\n\n/* ── Copy-link button ─────────────────────────────────────── */\n\n.card-thumbnail .ct-copyLink {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: var(--spacing-32);\n min-height: var(--spacing-32);\n max-height: var(--spacing-32);\n padding: 0 var(--spacing-12);\n border-radius: var(--radius-full);\n border: 1px solid var(--tag-outline-border);\n background: transparent;\n color: var(--tag-text-color);\n cursor: pointer;\n flex-shrink: 0;\n transition: background-color 100ms ease;\n}\n\n.card-thumbnail .ct-copyLink:hover {\n background-color: var(--tag-fill-background);\n}\n\n/* ── Title ────────────────────────────────────────────────── */\n\n.card-thumbnail .ct-title {\n font-family: var(--typography-h5-font-family);\n font-size: var(--typography-h5-font-size);\n font-weight: var(--typography-h5-font-weight);\n line-height: var(--typography-h5-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\n/* ── Summary ──────────────────────────────────────────────── */\n\n.card-thumbnail .ct-summary {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n color: var(--color-slate-1200);\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n","/* ── Container ────────────────────────────────────────────── */\n\n.pagination {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n/* ── Page button ──────────────────────────────────────────── */\n\n.pagination .pageButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n padding: 0;\n border: none;\n border-radius: var(--pagination-page-radius);\n background: transparent;\n color: var(--pagination-page-text);\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 1.375rem;\n text-align: center;\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n}\n\n.pagination .pageButton:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n}\n\n/* ── Active / selected page button ───────────────────────── */\n\n.pagination .pageButtonSelected {\n background: var(--pagination-page-selected-bg);\n color: var(--pagination-page-selected-text);\n border-radius: var(--pagination-page-radius);\n cursor: default;\n}\n\n/* ── Ellipsis ─────────────────────────────────────────────── */\n\n.pagination .ellipsis {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n color: var(--pagination-page-ellipsis-text);\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: 1.375rem;\n user-select: none;\n}\n\n/* ── Nav button (prev / next) ─────────────────────────────── */\n\n.pagination .navButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n flex-shrink: 0;\n padding: 0;\n border: none;\n border-radius: var(--radius-sm);\n background: transparent;\n color: var(--pagination-nav-icon);\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n}\n\n.pagination .navButton:focus-visible {\n outline: 2px solid var(--color-blue-600);\n outline-offset: 2px;\n border-radius: var(--radius-md);\n}\n\n/* ── Nav button disabled ──────────────────────────────────── */\n\n.pagination .navButtonDisabled {\n color: var(--pagination-nav-icon-disabled);\n cursor: not-allowed;\n}\n\n/* ── Nav icon slot ────────────────────────────────────────── */\n\n.pagination .navIcon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n flex-shrink: 0;\n}\n","/* ── Section shell ─────────────────────────────────────────── */\n\n.fc-section {\n width: 100%;\n background-color: var(--color-slate-50);\n}\n\n/* ── Inner container ───────────────────────────────────────── */\n\n.fc-container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n max-width: 1280px;\n margin: 0 auto;\n padding: var(--spacing-56) var(--spacing-16); /* mobile */\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .fc-container {\n padding: var(--spacing-112) var(--spacing-56);\n }\n}\n\n/* ── Header ────────────────────────────────────────────────── */\n\n.fc-header {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--spacing-16);\n text-align: left;\n}\n\n@media (min-width: 768px) {\n .fc-header {\n align-items: center;\n text-align: center;\n }\n}\n\n/* ── Section title (H2) ────────────────────────────────────── */\n\n.fc-sectionTitle {\n font-family: var(--font-family-base);\n font-size: var(--font-size-4xl);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-4xl);\n color: var(--color-slate-1200);\n margin: 0;\n}\n\n/* ── Section description ───────────────────────────────────── */\n\n.fc-sectionDescription {\n font-family: var(--typography-body-md-font-family);\n font-size: var(--typography-body-md-font-size);\n font-weight: var(--typography-body-md-font-weight);\n line-height: var(--typography-body-md-line-height);\n color: var(--color-slate-1200);\n margin: 0;\n max-width: 640px;\n}\n\n/* ── Cards grid ────────────────────────────────────────────── */\n\n.fc-grid {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n@media (min-width: 768px) {\n .fc-grid {\n flex-direction: row;\n gap: var(--spacing-24);\n align-items: stretch;\n }\n\n .fc-grid > * {\n flex: 1 1 0;\n min-width: 0;\n }\n}\n","/* ============================================================\n FOOTER COMPONENT\n Dark-style footer — token inheritance:\n Primitive (core) → Semantic (--footer-*) → Component styles\n\n Semantic tokens used:\n --footer-background var(--color-slate-1200)\n --footer-surface var(--color-slate-1100)\n --footer-header-divider var(--color-slate-1100) mob/tab\n --footer-divider-desktop var(--color-opacity-slate-24) desktop\n --footer-nav-title-color var(--color-opacity-white-88)\n --footer-nav-link-color var(--color-slate-200)\n --footer-social-icon-color var(--color-slate-200)\n --footer-legal-text-color var(--color-opacity-white-48)\n --footer-accordion-text-color var(--color-slate-50)\n --footer-accordion-chevron-color var(--color-slate-50)\n --footer-app-badge-border var(--color-opacity-white-8)\n ============================================================ */\n\n/* ── ROOT ─────────────────────────────────────────────────────── */\n\n.footer {\n background-color: var(--footer-background);\n width: 100%;\n font-family: var(--font-family-base);\n}\n\n.footer__inner {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n padding: var(--spacing-32) var(--spacing-16);\n width: 100%;\n max-width: 640px;\n min-width: 320px;\n margin: 0 auto;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* ── HEADER ROW ───────────────────────────────────────────────── */\n\n.footer__header {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-24);\n border-bottom: 1px solid var(--footer-header-divider);\n padding-bottom: var(--spacing-32);\n width: 100%;\n}\n\n.footer__logo-wrapper {\n display: flex;\n align-items: center;\n flex-shrink: 0;\n}\n\n.footer__logo {\n height: 20px;\n width: auto;\n min-width: 1px;\n display: block;\n}\n\n/* ── SOCIAL ICONS ─────────────────────────────────────────────── */\n\n.footer__social {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n flex-shrink: 0;\n}\n\n/* Hidden in header on mobile — shown as standalone section instead */\n.footer__social--in-header {\n display: none;\n}\n\n/* Standalone social section: visible on mobile, hidden on desktop */\n.footer__social--standalone {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n.footer__social-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n color: var(--footer-social-icon-color);\n text-decoration: none;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.footer__social-icon svg {\n width: 20px;\n height: 20px;\n display: block;\n}\n\n.footer__social-icon:hover {\n opacity: 0.8;\n}\n\n/* ── AI SUMMARY BAR ───────────────────────────────────────────── */\n\n/* Inline version: visible only on desktop inside the header row */\n.footer__ai-bar.footer__ai-bar--inline {\n display: none;\n}\n\n/* Block version: visible on mobile as a standalone card */\n.footer__ai-section {\n border-bottom: 1px solid var(--footer-header-divider);\n padding-bottom: var(--spacing-32);\n width: 100%;\n box-sizing: border-box;\n}\n\n.footer__ai-bar {\n background-color: var(--footer-surface);\n border-radius: var(--radius-xl);\n padding: var(--spacing-16);\n display: flex;\n align-items: center;\n gap: var(--spacing-16);\n}\n\n.footer__ai-bar--block {\n flex-direction: column;\n}\n\n.footer__ai-bar-label {\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-xs);\n color: var(--color-slate-50);\n text-align: center;\n white-space: nowrap;\n}\n\n.footer__ai-bar-icons {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.footer__ai-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n flex-shrink: 0;\n text-decoration: none;\n}\n\n.footer__ai-icon img {\n width: 24px;\n height: 24px;\n border-radius: var(--radius-md);\n display: block;\n object-fit: cover;\n}\n\n/* ── NAVIGATION — Desktop columns (hidden by default) ─────────── */\n\n.footer__nav--columns {\n display: none;\n}\n\n.footer__column {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n flex: 1 0 0;\n}\n\n.footer__nav-section {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.footer__nav-title {\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-md);\n color: var(--footer-nav-title-color);\n margin: 0;\n white-space: nowrap;\n}\n\n.footer__nav-links {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── NAVIGATION — Mobile/Tablet accordion ─────────────────────── */\n\n.footer__nav--accordion {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.footer__accordion-item {\n width: 100%;\n}\n\n.footer__accordion-toggle {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--spacing-16) 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n font-family: var(--font-family-base);\n}\n\n.footer__accordion-label {\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--footer-accordion-text-color);\n}\n\n.footer__accordion-chevron {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: var(--footer-accordion-chevron-color);\n flex-shrink: 0;\n border-radius: var(--radius-md);\n transition: transform 150ms ease;\n}\n\n.footer__accordion-item--open .footer__accordion-chevron {\n transform: rotate(180deg);\n}\n\n.footer__accordion-links {\n list-style: none;\n padding: 0 0 var(--spacing-8) 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── SHARED NAV LINK ──────────────────────────────────────────── */\n\n.footer__nav-link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--footer-nav-link-color);\n text-decoration: none;\n white-space: nowrap;\n}\n\n.footer__nav-link:hover {\n opacity: 0.8;\n}\n\n.footer__nav-link svg {\n width: 12px;\n height: 12px;\n flex-shrink: 0;\n}\n\n/* ── DESKTOP SIDEBAR (hidden by default) ──────────────────────── */\n\n.footer__sidebar {\n display: none;\n}\n\n/* ── DERIV GO — shared styles for both card and banner ─────────── */\n\n.footer__deriv-go-card,\n.footer__deriv-go-banner {\n background-color: var(--footer-surface);\n border-radius: var(--radius-xl);\n padding: var(--spacing-24);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n box-sizing: border-box;\n}\n\n/* Stacked banner: full width on mobile/tablet */\n.footer__deriv-go-banner {\n width: 100%;\n}\n\n/* Banner inner sections */\n.footer__deriv-go-banner-info {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n}\n\n.footer__deriv-go-banner-badges {\n width: 100%;\n}\n\n.footer__deriv-go-header {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.footer__deriv-go-logo {\n width: 24px;\n height: 24px;\n display: block;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.footer__deriv-go-title {\n font-family: var(--font-family-base);\n font-size: var(--font-size-md);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--line-height-md);\n color: var(--color-slate-50);\n white-space: nowrap;\n}\n\n.footer__deriv-go-desc {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--color-slate-50);\n margin: 0;\n}\n\n.footer__deriv-go-qr {\n display: flex;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.footer__deriv-go-qr-img {\n width: 64px;\n height: 64px;\n display: block;\n flex-shrink: 0;\n}\n\n/* SVG QR code variant */\n.footer__deriv-go-qr-icon {\n width: 64px;\n height: 64px;\n display: block;\n flex-shrink: 0;\n}\n\n.footer__deriv-go-qr-icon svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.footer__deriv-go-qr-label {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--color-slate-50);\n}\n\n/* ── APP STORE BADGES ─────────────────────────────────────────── */\n\n.footer__app-badges {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n align-items: stretch;\n}\n\n.footer__app-badge {\n display: flex;\n align-items: center;\n justify-content: center;\n border: 1px solid var(--footer-app-badge-border);\n border-radius: var(--radius-sm);\n padding: var(--spacing-4) var(--spacing-8);\n min-height: 36px;\n text-decoration: none;\n box-sizing: border-box;\n}\n\n.footer__app-badge img {\n display: block;\n max-height: 24px;\n width: auto;\n}\n\n/* SVG badge variant — the SVG includes its own border/styling */\n.footer__app-badge-svg {\n display: block;\n width: 100%;\n text-decoration: none;\n}\n\n.footer__app-badge-svg svg {\n display: block;\n width: 100%;\n height: auto;\n}\n\n.footer__app-note {\n font-family: var(--font-family-base);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-normal);\n color: var(--color-slate-50);\n margin: 0;\n}\n\n/* ── INVESTORS IN PEOPLE ──────────────────────────────────────── */\n\n.footer__investors-card {\n background-color: var(--footer-surface);\n border-radius: var(--radius-xl);\n padding: var(--spacing-16);\n display: flex;\n align-items: flex-end;\n justify-content: flex-end;\n box-sizing: border-box;\n}\n\n/* Mobile/tablet: centred, full width */\n.footer__investors-stacked {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n}\n\n.footer__investors-img {\n height: 32px;\n width: 160px;\n display: block;\n object-fit: contain;\n}\n\n/* ── LEGAL & RISK WARNING ─────────────────────────────────────── */\n\n.footer__legal-block {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n.footer__license {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--footer-legal-text-color);\n width: 100%;\n}\n\n.footer__license p {\n margin: 0 0 var(--spacing-16) 0;\n}\n\n.footer__license p:last-child {\n margin-bottom: 0;\n}\n\n.footer__license a {\n color: var(--footer-legal-text-color);\n text-decoration: underline;\n}\n\n.footer__risk-warning {\n background-color: var(--footer-surface);\n border-radius: var(--radius-md);\n padding: var(--spacing-16);\n box-sizing: border-box;\n width: 100%;\n}\n\n.footer__risk-warning-text {\n font-family: var(--font-family-base);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-regular);\n line-height: var(--line-height-md);\n color: var(--footer-legal-text-color);\n margin: 0;\n}\n\n/* ============================================================\n TABLET ≥768px\n - Wider inner container + padding\n - Still accordion nav\n - AI section hidden (only mobile shows it)\n ============================================================ */\n\n@media (min-width: 768px) {\n .footer__inner {\n max-width: 1280px;\n min-width: 641px;\n padding: var(--spacing-32) var(--spacing-24);\n }\n\n /* Header: restore space-between and show social icons */\n .footer__header {\n justify-content: space-between;\n }\n\n .footer__social--in-header {\n display: flex;\n }\n\n /* Hide standalone social section */\n .footer__social--standalone {\n display: none;\n }\n\n /* Hide mobile AI card on tablet+ */\n .footer__ai-section {\n display: none;\n }\n\n /* Deriv GO banner: two-column layout on tablet */\n .footer__deriv-go-banner {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--spacing-24);\n }\n\n .footer__deriv-go-banner-info {\n flex: 1 1 auto;\n }\n\n .footer__deriv-go-banner-badges {\n flex: 0 0 280px;\n width: 280px;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n - Multi-column nav + sidebar\n - Inline AI bar inside header row\n - Accordion hidden\n ============================================================ */\n\n@media (min-width: 992px) {\n .footer__inner {\n max-width: 1280px;\n padding: var(--spacing-48) var(--spacing-32);\n gap: var(--spacing-40);\n }\n\n /* Header: switch to desktop divider colour */\n .footer__header {\n border-bottom-color: var(--footer-divider-desktop);\n }\n\n /* Show inline AI bar, hide block version */\n .footer__ai-bar.footer__ai-bar--inline {\n display: flex;\n flex-direction: row;\n align-items: center;\n padding-top: var(--spacing-16);\n padding-bottom: var(--spacing-16);\n gap: var(--spacing-16);\n }\n\n .footer__ai-section {\n display: none;\n }\n\n /* Show desktop columns, hide accordion */\n .footer__nav--columns {\n display: flex;\n gap: var(--spacing-24);\n align-items: flex-start;\n width: 100%;\n }\n\n .footer__nav--accordion {\n display: none;\n }\n\n /* Show desktop sidebar */\n .footer__sidebar {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n align-items: flex-start;\n flex-shrink: 0;\n width: 192px;\n }\n\n /* Desktop sidebar Deriv GO card: fixed 192px width */\n .footer__deriv-go-card {\n width: 192px;\n }\n\n /* Hide mobile/tablet stacked versions */\n .footer__deriv-go-banner {\n display: none;\n }\n\n .footer__investors-stacked {\n display: none;\n }\n\n /* Legal block: left-aligned on desktop */\n .footer__legal-block {\n align-items: flex-start;\n }\n}\n","/* ============================================================\n HERO COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--hero-*) → Component styles\n\n Semantic tokens used:\n --hero-dark-bg var(--color-slate-1200)\n --hero-light-bg var(--color-slate-75)\n --hero-text-light var(--color-slate-50)\n --hero-text-dark var(--color-slate-1200)\n --hero-overlay-homepage gradient (black → transparent)\n --hero-overlay-full-image gradient (black top → transparent)\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n:root {\n --hero-dark-bg: var(--color-slate-1200);\n --hero-light-bg: var(--color-slate-75);\n --hero-text-light: var(--color-slate-50);\n --hero-text-dark: var(--color-slate-1200);\n --hero-subtitle-size: var(--font-size-md);\n --hero-subtitle-lh: var(--line-height-md);\n --hero-title-size-mobile: var(--font-size-4xl);\n --hero-title-lh-mobile: var(--line-height-4xl);\n --hero-title-size: var(--font-size-5xl);\n --hero-title-lh: var(--line-height-5xl);\n --hero-body-size: var(--font-size-sm);\n --hero-body-lh: var(--line-height-md);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.hero {\n position: relative;\n width: 100%;\n font-family: var(--font-family-base);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* ── FULL-BLEED BACKGROUND IMAGE ─────────────────────────── */\n\n.hero__bg-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n pointer-events: none;\n display: block;\n z-index: 0;\n}\n\n/* ── OVERLAY ──────────────────────────────────────────────── */\n\n.hero__overlay {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 2;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.hero__inner {\n position: relative;\n z-index: 3;\n width: 100%;\n max-width: 1280px;\n margin: 0 auto;\n box-sizing: border-box;\n padding: var(--spacing-24) var(--spacing-16);\n}\n\n/* ── TEXT BLOCK ───────────────────────────────────────────── */\n\n.hero__text {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.hero__subtitle {\n font-size: var(--hero-subtitle-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--hero-subtitle-lh);\n margin: 0;\n}\n\n.hero__title {\n font-size: var(--hero-title-size-mobile);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--hero-title-lh-mobile);\n margin: 0;\n}\n\n.hero__description {\n font-size: var(--hero-body-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--hero-body-lh);\n margin: 0;\n}\n\n/* ── CTA BUTTONS ──────────────────────────────────────────── */\n\n.hero__buttons {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-8);\n width: 100%;\n}\n\n/* ── CONTENT BODY (text + buttons) ───────────────────────── */\n\n.hero__body {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n}\n\n/* ============================================================\n VARIANT: HOMEPAGE\n Dark full-bleed bg, gradient overlay, left text + right image\n ============================================================ */\n\n.hero--homepage {\n background-color: var(--hero-dark-bg);\n /* Exact viewport height on mobile/tablet — no overflow, no scroll */\n height: 100vh;\n overflow: hidden;\n display: flex;\n align-items: stretch;\n}\n\n/* Mobile/tablet overlay: transparent top → dark bottom */\n.hero--homepage .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--color-opacity-slate-16) 0%,\n rgba(0, 0, 0, 0) 20%,\n rgba(0, 0, 0, 0) 42%,\n var(--color-opacity-slate-48) 60%,\n var(--color-opacity-slate-72) 75%,\n var(--color-opacity-slate-88) 100%\n );\n}\n\n/* Mobile/tablet inner: text pinned to the bottom */\n.hero--homepage .hero__inner {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n height: 100vh;\n padding-top: 0;\n padding-bottom: var(--spacing-40);\n}\n\n.hero--homepage .hero__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n width: 100%;\n}\n\n/* Mobile/tablet: transparent PNG sits above all layers, centered and smaller */\n.hero--homepage .hero__image-slot {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n z-index: 4;\n width: 78%;\n max-width: 380px;\n height: auto;\n display: flex;\n overflow: visible;\n pointer-events: none;\n}\n\n.hero--homepage .hero__image-slot img {\n width: 100%;\n height: auto;\n object-fit: contain;\n object-position: top center;\n display: block;\n max-width: none;\n max-height: none;\n}\n\n.hero--homepage .hero__image-slot > *:not(img) {\n width: 100%;\n height: auto;\n display: block;\n}\n\n.hero--homepage .hero__subtitle,\n.hero--homepage .hero__title,\n.hero--homepage .hero__description {\n color: var(--hero-text-light);\n}\n\n.hero--homepage .hero__buttons {\n align-items: stretch;\n}\n\n/* ============================================================\n VARIANT: FULL IMAGE\n Full bg image, centered text, top gradient overlay, 100vh\n ============================================================ */\n\n.hero--full-image {\n background-color: var(--hero-dark-bg);\n min-height: 100vh;\n display: flex;\n align-items: center;\n}\n\n.hero--full-image .hero__overlay {\n background: linear-gradient(\n 180deg,\n var(--hero-dark-bg) 0%,\n var(--color-opacity-slate-72) 40%,\n rgba(24, 28, 37, 0) 100%\n );\n}\n\n.hero--full-image .hero__inner {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n min-height: 100vh;\n padding-top: var(--spacing-32);\n padding-bottom: var(--spacing-32);\n}\n\n.hero--full-image .hero__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-24);\n width: 100%;\n text-align: center;\n}\n\n.hero--full-image .hero__text {\n align-items: center;\n max-width: 840px;\n}\n\n.hero--full-image .hero__subtitle,\n.hero--full-image .hero__title,\n.hero--full-image .hero__description {\n color: var(--hero-text-light);\n}\n\n.hero--full-image .hero__buttons {\n align-items: center;\n justify-content: center;\n}\n\n/* ============================================================\n VARIANT: VISUALS\n Light grey bg + SVG grid, center text, floating visuals\n ============================================================ */\n\n.hero--visuals,\n.hero--text-only {\n background-color: var(--hero-light-bg);\n min-height: 540px;\n display: flex;\n align-items: center;\n}\n\n/* SVG grid pattern overlay */\n.hero--visuals .hero__grid,\n.hero--text-only .hero__grid {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M 40 0 L 0 0 0 40' fill='none' stroke='%23cfd4d8' stroke-width='0.5' opacity='0.5'/%3E%3C/svg%3E\");\n background-repeat: repeat;\n background-size: 40px 40px;\n}\n\n/* Overlay sits on top of visuals (z-index: 2), fades them from all edges */\n.hero--visuals .hero__overlay,\n.hero--text-only .hero__overlay {\n background:\n linear-gradient(to right, var(--hero-light-bg) 0%, rgba(246,247,248,0) 18%, rgba(246,247,248,0) 82%, var(--hero-light-bg) 100%),\n linear-gradient(to bottom, var(--hero-light-bg) 0%, rgba(246,247,248,0) 30%, rgba(246,247,248,0) 70%, var(--hero-light-bg) 100%);\n}\n\n.hero--visuals .hero__inner,\n.hero--text-only .hero__inner {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding-top: var(--spacing-32);\n padding-bottom: var(--spacing-32);\n min-height: 540px;\n}\n\n.hero--visuals .hero__content,\n.hero--text-only .hero__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n width: 100%;\n text-align: center;\n}\n\n.hero--visuals .hero__text,\n.hero--text-only .hero__text {\n align-items: center;\n max-width: 846px;\n}\n\n.hero--visuals .hero__subtitle,\n.hero--visuals .hero__title,\n.hero--visuals .hero__description,\n.hero--text-only .hero__subtitle,\n.hero--text-only .hero__title,\n.hero--text-only .hero__description {\n color: var(--hero-text-dark);\n}\n\n.hero--visuals .hero__buttons,\n.hero--text-only .hero__buttons {\n align-items: center;\n justify-content: center;\n flex-direction: row;\n}\n\n/* ── FLOATING VISUALS ─────────────────────────────────────── */\n/* Direct children of the section: z-index 1 (below overlay z-2 and text z-3) */\n\n.hero__visual {\n position: absolute;\n z-index: 1;\n overflow: hidden;\n pointer-events: none;\n}\n\n.hero__visual img,\n.hero__visual > * {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* Mobile: top-left and bottom-right corners, smaller */\n.hero__visual--left {\n width: 160px;\n height: 160px;\n top: -20px;\n left: -20px;\n}\n\n.hero__visual--right {\n width: 160px;\n height: 160px;\n bottom: -20px;\n right: -20px;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .hero__inner {\n padding: var(--spacing-40) var(--spacing-24);\n }\n\n .hero--homepage .hero__inner,\n .hero--full-image .hero__inner {\n padding-top: var(--spacing-40);\n padding-bottom: var(--spacing-40);\n }\n\n .hero--homepage .hero__buttons,\n .hero--full-image .hero__buttons {\n flex-direction: row;\n align-items: center;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .hero__inner {\n padding: var(--spacing-48) var(--spacing-32);\n }\n\n .hero__title {\n font-size: var(--hero-title-size);\n line-height: var(--hero-title-lh);\n }\n\n /* ── Homepage desktop: full-width inner, text constrained to left half ── */\n .hero--homepage .hero__inner {\n max-width: 1280px;\n padding: var(--spacing-96) var(--spacing-32); /* 96px — closest to Figma 104px */\n height: 100vh;\n justify-content: center;\n align-items: flex-start;\n }\n\n .hero--homepage .hero__content {\n flex-direction: column;\n gap: var(--spacing-32);\n max-width: 600px;\n }\n\n .hero--homepage .hero__left {\n width: 100%;\n }\n\n .hero--homepage .hero__body {\n gap: var(--spacing-32);\n }\n\n .hero--homepage .hero__subtitle {\n font-size: var(--font-size-2xl); /* 32px at desktop */\n line-height: var(--line-height-xl); /* 36px — closest to 40px */\n }\n\n .hero--homepage .hero__title {\n font-size: var(--font-size-5xl); /* 80px at desktop */\n line-height: var(--line-height-5xl); /* 88px at desktop */\n }\n\n /* Desktop: image in right half — top padding matches Figma, overflows bottom, above all layers */\n .hero--homepage .hero__image-slot {\n position: absolute;\n top: 75px;\n right: 0;\n left: auto;\n transform: none;\n z-index: 4;\n width: 50%;\n height: calc(100% - 5px);\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n overflow: visible;\n pointer-events: none;\n max-width: none;\n }\n\n .hero--homepage .hero__image-slot img {\n height: 100%;\n width: auto;\n max-height: none;\n max-width: none;\n object-fit: contain;\n object-position: left top;\n }\n\n .hero--homepage .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n gap: var(--spacing-16);\n }\n\n /* Override overlay for desktop homepage: dark left → transparent right */\n .hero--homepage .hero__overlay {\n background: linear-gradient(\n to right,\n var(--color-slate-1200) 0%,\n var(--color-opacity-slate-88) 40%,\n var(--color-opacity-slate-24) 100%\n );\n }\n\n /* ── Full Image desktop: wider max content ── */\n .hero--full-image .hero__text {\n max-width: 840px;\n }\n\n .hero--full-image .hero__buttons {\n flex-direction: row;\n align-items: center;\n width: auto;\n }\n\n /* ── Visuals desktop: floating visuals absolute positioned ── */\n .hero--visuals .hero__inner,\n .hero--text-only .hero__inner {\n position: relative;\n }\n\n .hero__visuals-wrapper {\n flex-direction: row;\n justify-content: center;\n position: relative;\n }\n\n /* Desktop visuals: larger, vertically centred on far left/right */\n .hero--visuals .hero__visual--left {\n width: 241px;\n height: 241px;\n top: 50%;\n left: 48px;\n bottom: auto;\n right: auto;\n transform: translateY(-50%);\n }\n\n .hero--visuals .hero__visual--right {\n width: 241px;\n height: 241px;\n top: 50%;\n right: 48px;\n bottom: auto;\n left: auto;\n transform: translateY(-50%);\n }\n\n .hero--visuals .hero__content,\n .hero--text-only .hero__content {\n max-width: 846px;\n width: 100%;\n }\n}\n","/* ============================================================\n STATS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--stats-*) → Component styles\n\n Semantic tokens used:\n --stats-bg var(--color-slate-50)\n --stats-card-bg var(--color-slate-75)\n --stats-text-primary var(--color-slate-1200)\n --stats-title-size var(--font-size-4xl) [mobile 40px → desktop 56px]\n --stats-title-lh var(--line-height-4xl) [mobile 48px → desktop 64px]\n --stats-desc-size var(--font-size-md) [16px]\n --stats-desc-lh var(--line-height-md) [24px]\n --stats-value-size var(--font-size-3xl) [mobile 48px, no desktop override needed]\n --stats-value-lh var(--line-height-3xl) [mobile 56px]\n --stats-value-featured-size 4.5rem [mobile 72px → desktop 6rem / 96px]\n --stats-value-featured-lh 5rem [mobile 80px → desktop 6.5rem / 104px]\n --stats-label-size var(--font-size-lg) [18px]\n --stats-label-lh var(--line-height-lg) [28px]\n --stats-award-title-size var(--font-size-sm) [14px]\n --stats-award-title-lh var(--line-height-xs) [20px]\n --stats-award-subtitle-size var(--font-size-xs) [12px]\n --stats-award-subtitle-lh var(--line-height-xs) [20px]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n --stats-bg: var(--color-slate-50);\n --stats-card-bg: var(--color-slate-75);\n --stats-text-primary: var(--color-slate-1200);\n\n --stats-title-size: var(--font-size-4xl);\n --stats-title-lh: var(--line-height-4xl);\n\n --stats-desc-size: var(--font-size-md);\n --stats-desc-lh: var(--line-height-md);\n\n /* Inactive stat size */\n --stats-value-size: var(--font-size-3xl); /* 48px */\n --stats-value-lh: var(--line-height-3xl); /* 56px */\n\n /* Active stat — uses H1 scale (one step below previous custom values) */\n --stats-value-featured-size: var(--font-size-5xl);\n --stats-value-featured-lh: var(--line-height-5xl);\n\n --stats-label-size: var(--font-size-lg);\n --stats-label-lh: var(--line-height-lg);\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.stats {\n width: 100%;\n background-color: var(--stats-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.stats__inner {\n max-width: 1280px;\n margin: 0 auto;\n padding: var(--spacing-48) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n box-sizing: border-box;\n}\n\n/* ── HEADER ───────────────────────────────────────────────── */\n\n.stats__header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n.stats__title {\n font-size: var(--stats-title-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-title-lh);\n color: var(--stats-text-primary);\n margin: 0;\n}\n\n.stats__description {\n font-size: var(--stats-desc-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-desc-lh);\n color: var(--stats-text-primary);\n margin: 0;\n}\n\n/* ── CONTENT ROW ──────────────────────────────────────────── */\n\n.stats__content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-32);\n width: 100%;\n}\n\n/* ── STATS CARD ───────────────────────────────────────────── */\n\n.stats__card {\n background-color: var(--stats-card-bg);\n border-radius: var(--radius-2xl); /* 1.5rem = 24px — largest radius token */\n padding: var(--spacing-24);\n width: 100%;\n overflow: hidden;\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/*\n * Track: overflow:visible so the card's border-radius clips instead.\n * Mobile (320px): center at 160px\n * Active (~100px) → 110–210px — fully visible, clear of both fades\n * Above ( ~53px scaled) → 38–91px — partially faded by top 70px fade\n * Below ( ~53px scaled) → 206–259px — partially faded by bottom 70px fade\n */\n.stats__card-track {\n position: relative;\n width: 100%;\n height: 320px; /* mobile */\n overflow: visible;\n}\n\n/* ── STAT ITEM — absolutely positioned for 3-D carousel ────── */\n\n.stats__stat {\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n will-change: transform, opacity;\n /* Initial state (overridden by inline style at runtime) */\n transform: translateY(-50%) scale(1);\n opacity: 1;\n}\n\n.stats__stat-value {\n display: block;\n font-family: var(--font-family-base);\n font-size: var(--stats-value-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--stats-value-lh);\n text-transform: uppercase;\n color: var(--stats-text-primary);\n}\n\n.stats__stat-label {\n display: block;\n font-family: var(--font-family-base);\n font-size: var(--stats-label-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--stats-label-lh);\n color: var(--stats-text-primary);\n}\n\n/* Active stat — always renders at the large hero size */\n.stats__stat--active .stats__stat-value {\n font-size: var(--stats-value-featured-size);\n line-height: var(--stats-value-featured-lh);\n font-weight: 900;\n}\n\n/* Inactive stats — small size + muted colour */\n.stats__stat--inactive .stats__stat-value {\n font-size: var(--stats-value-size);\n line-height: var(--stats-value-lh);\n font-weight: var(--font-weight-extra-bold);\n color: var(--color-slate-400);\n}\n\n.stats__stat--inactive .stats__stat-label {\n color: var(--color-slate-400);\n}\n\n/* ── FADE OVERLAYS ────────────────────────────────────────── */\n\n/*\n * Mobile — 100px: covers 0–100px (fully fades above item 38–91px) and 220–320px (fully fades below item 229–282px)\n * Active item (110–210px) is fully outside both fade zones.\n * Desktop — 65px: covers 0–65px (fully fades above item 13–66px) and 205–270px (fully fades below item 205–258px)\n * Active item (73–197px) is fully outside both fade zones.\n */\n.stats__fade {\n position: absolute;\n left: 0;\n right: 0;\n height: 100px; /* mobile — fully covers inactive items (38–91px / 229–282px) */\n pointer-events: none;\n z-index: 3; /* above all stat items */\n}\n\n.stats__fade--top {\n top: 0;\n background: linear-gradient(\n 180deg,\n var(--stats-card-bg) 0%,\n rgba(246, 247, 248, 0) 100%\n );\n}\n\n.stats__fade--bottom {\n bottom: 0;\n background: linear-gradient(\n 0deg,\n var(--stats-card-bg) 0%,\n rgba(246, 247, 248, 0) 100%\n );\n}\n\n/* ── AWARD BADGE ──────────────────────────────────────────── */\n\n.stats__award {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.stats__award-image {\n display: block;\n width: 100px; /* mobile */\n height: 100px;\n object-fit: contain;\n}\n\n/* ── AWARD COLUMNS — hidden until desktop ─────────────────── */\n\n.stats__awards-col {\n display: none;\n}\n\n/* ── AWARD MOBILE GRID ────────────────────────────────────── */\n\n.stats__awards-mobile {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: var(--spacing-16);\n width: 100%;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .stats__header {\n align-items: center;\n text-align: center;\n }\n\n .stats__inner {\n gap: var(--spacing-48);\n padding: var(--spacing-48) var(--spacing-24);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .stats__inner {\n padding: var(--spacing-96) var(--spacing-32); /* 96px — closest to Figma 104px */\n gap: var(--spacing-80);\n }\n\n .stats__header {\n max-width: 846px;\n margin-left: auto;\n margin-right: auto;\n }\n\n /* Switch to 3-column layout: awards | card | awards */\n .stats__content {\n flex-direction: row;\n align-items: stretch;\n justify-content: center;\n gap: var(--spacing-24); /* 24px — closest available to 20px */\n }\n\n /* Stats card: fixed 414×414 square */\n .stats__card {\n width: 414px;\n height: 414px;\n padding: var(--spacing-72);\n flex-shrink: 0;\n }\n\n /* Inner track fills the padded area (414 - 144px padding = 270px) */\n .stats__card-track {\n height: 270px;\n }\n\n /* Above item (13–66px) fully covered; active (73–197px) fully clear */\n .stats__fade {\n height: 65px;\n }\n\n /* Desktop award columns */\n .stats__awards-col {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n width: 196px;\n flex-shrink: 0;\n align-items: center;\n }\n\n .stats__awards-col--left {\n justify-content: flex-start;\n }\n\n .stats__awards-col--right {\n justify-content: flex-end;\n }\n\n /* Award images at desktop size */\n .stats__awards-col .stats__award-image {\n width: 140px;\n height: 140px;\n }\n\n /* Mobile awards grid hidden on desktop */\n .stats__awards-mobile {\n display: none;\n }\n}\n","/* ============================================================\n SCROLLYTELLING COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--scrolly-*) → Component styles\n\n Semantic tokens used:\n --scrolly-bg var(--color-slate-75)\n --scrolly-text-primary var(--color-slate-1200)\n --scrolly-text-muted var(--color-slate-500)\n --scrolly-link-color var(--color-coral-500)\n --scrolly-link-hover var(--color-coral-600)\n --scrolly-media-bg var(--color-slate-200)\n --scrolly-header-size var(--font-size-3xl) [mobile 2rem → desktop 3.5rem]\n --scrolly-header-lh var(--line-height-3xl) [mobile 2.5rem → desktop 4rem]\n --scrolly-title-size var(--font-size-2xl) [mobile 1.5rem → desktop 3rem]\n --scrolly-title-lh var(--line-height-2xl) [mobile 2rem → desktop 3.5rem]\n --scrolly-body-size var(--font-size-md) [1rem]\n --scrolly-body-lh var(--line-height-md) [1.5rem]\n --scrolly-link-size var(--font-size-md) [1rem]\n --scrolly-link-lh var(--line-height-sm) [1.5rem]\n\n --scrolly-col-gap var(--spacing-112) [7rem = 112px — closest to Figma 128px]\n --scrolly-media-radius var(--radius-2xl) [1.5rem = 24px — largest radius token]\n --scrolly-mobile-radius var(--radius-2xl) [24px mobile]\n --scrolly-item-min-height 60vh\n --scrolly-sticky-top var(--spacing-80) [80px]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Colors */\n --scrolly-bg: var(--color-slate-50);\n --scrolly-text-primary: var(--color-slate-1200);\n --scrolly-text-muted: var(--color-slate-500);\n --scrolly-link-color: var(--color-coral-500);\n --scrolly-link-hover: var(--color-coral-600);\n --scrolly-media-bg: var(--color-slate-200);\n\n /* Typography — section header (H2) */\n --scrolly-header-size: var(--font-size-3xl);\n --scrolly-header-lh: var(--line-height-3xl);\n\n /* Typography — item title (H3) */\n --scrolly-title-size: var(--font-size-2xl);\n --scrolly-title-lh: var(--line-height-2xl);\n\n /* Typography — body / link */\n --scrolly-body-size: var(--font-size-md);\n --scrolly-body-lh: var(--line-height-md);\n --scrolly-link-size: var(--font-size-md);\n --scrolly-link-lh: var(--line-height-sm);\n\n /* Layout */\n --scrolly-col-gap: var(--spacing-112); /* 7rem = 112px — closest to 128px */\n --scrolly-media-radius: var(--radius-2xl); /* 1.5rem = 24px — largest radius token */\n --scrolly-mobile-radius: var(--radius-2xl); /* 24px on mobile */\n --scrolly-item-min-height: 60vh;\n --scrolly-sticky-top: var(--spacing-80); /* 80px — clears a typical nav */\n}\n\n/* ── DESKTOP TYPOGRAPHY OVERRIDES ─────────────────────────── */\n\n@media (min-width: 992px) {\n :root {\n --scrolly-header-size: var(--font-size-4xl);\n --scrolly-header-lh: var(--line-height-4xl);\n --scrolly-title-size: var(--font-size-3xl);\n --scrolly-title-lh: var(--line-height-3xl);\n }\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.scrolly {\n width: 100%;\n background-color: var(--scrolly-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.scrolly__inner {\n max-width: 1280px;\n margin: 0 auto;\n padding: var(--spacing-48) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-32);\n box-sizing: border-box;\n}\n\n/* ── SECTION HEADER ───────────────────────────────────────── */\n\n.scrolly__header {\n font-size: var(--scrolly-header-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--scrolly-header-lh);\n color: var(--scrolly-text-primary);\n margin: 0;\n}\n\n/* ── DESKTOP TWO-COLUMN LAYOUT — hidden on mobile ─────────── */\n\n.scrolly__layout {\n display: none;\n}\n\n/* ── MOBILE STACKED LIST — visible on mobile only ─────────── */\n\n.scrolly__mobile-list {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n}\n\n.scrolly__mobile-item {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── MOBILE MEDIA ─────────────────────────────────────────── */\n\n.scrolly__mobile-media {\n width: 100%;\n aspect-ratio: 1 / 1;\n border-radius: var(--scrolly-mobile-radius);\n background-color: var(--scrolly-media-bg);\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.scrolly__mobile-media img,\n.scrolly__mobile-media > * {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ── SHARED ITEM TEXT ELEMENTS ────────────────────────────── */\n\n.scrolly__item-title {\n font-size: var(--scrolly-title-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--scrolly-title-lh);\n color: var(--scrolly-text-primary);\n margin: 0;\n}\n\n.scrolly__item-desc {\n font-size: var(--scrolly-body-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--scrolly-body-lh);\n color: var(--scrolly-text-primary);\n margin: 0;\n}\n\n.scrolly__item-link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-size: var(--scrolly-link-size);\n font-weight: var(--font-weight-semi-bold);\n line-height: var(--scrolly-link-lh);\n color: var(--scrolly-link-color);\n text-decoration: none;\n transition: color 0.2s ease;\n cursor: pointer;\n}\n\n.scrolly__item-link:hover {\n color: var(--scrolly-link-hover);\n}\n\n/* Inline SVG chevron icon */\n.scrolly__item-link-icon {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n transition: transform 0.2s ease;\n}\n\n.scrolly__item-link:hover .scrolly__item-link-icon {\n transform: translateX(var(--spacing-4)); /* 0.25rem = 4px — closest to 3px */\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .scrolly__inner {\n padding: var(--spacing-64) var(--spacing-24);\n gap: var(--spacing-40);\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px\n ============================================================ */\n\n@media (min-width: 992px) {\n .scrolly__header {\n text-align: center;\n }\n\n .scrolly__inner {\n padding: var(--spacing-88) var(--spacing-32);\n /* Remove gap — layout handles its own spacing */\n gap: var(--spacing-56);\n }\n\n /* ── SHOW DESKTOP LAYOUT, HIDE MOBILE LIST ─────────────── */\n\n .scrolly__layout {\n display: flex;\n flex-direction: row;\n gap: var(--scrolly-col-gap);\n align-items: flex-start;\n width: 100%;\n }\n\n .scrolly__mobile-list {\n display: none;\n }\n\n /* ── VARIANT: media-left — reverse column order ─────────── */\n\n .scrolly--media-left .scrolly__layout {\n flex-direction: row-reverse;\n }\n\n /* ── MEDIA COLUMN ─────────────────────────────────────────\n * Sticky: stays fixed while the content column scrolls past.\n * align-self: flex-start is REQUIRED for sticky to work inside\n * a flex container.\n */\n .scrolly__media-col {\n flex: 1 0 0;\n position: sticky;\n top: var(--scrolly-sticky-top);\n align-self: flex-start;\n }\n\n /* Square media wrapper — crossfade container */\n .scrolly__media-wrap {\n width: 100%;\n aspect-ratio: 1 / 1;\n position: relative;\n border-radius: var(--scrolly-media-radius);\n background-color: var(--scrolly-media-bg);\n overflow: hidden;\n }\n\n /* Each media item stacked absolutely — crossfade via opacity */\n .scrolly__media-item {\n position: absolute;\n inset: 0;\n opacity: 0;\n transition: opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: opacity;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .scrolly__media-item--active {\n opacity: 1;\n }\n\n /* Image fills the container */\n .scrolly__media-item img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n }\n\n /* Lottie player fills the container */\n .scrolly__media-item > * {\n width: 100% !important;\n height: 100% !important;\n }\n\n /* ── CONTENT COLUMN ───────────────────────────────────────\n * Flex: 1 0 0 matches media column width (equal halves).\n */\n .scrolly__content-col {\n flex: 1 0 0;\n display: flex;\n flex-direction: column;\n }\n\n /* ── DESKTOP ITEM ─────────────────────────────────────────\n * min-height ensures enough scroll travel for the\n * IntersectionObserver to fire cleanly per item.\n * flex + justify-content: center vertically centres the\n * text content within the scroll zone.\n */\n .scrolly__item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n min-height: var(--scrolly-item-min-height);\n gap: var(--spacing-24);\n padding-left: var(--spacing-32);\n transition: opacity 0.4s ease;\n opacity: 0.4;\n box-sizing: border-box;\n }\n\n /* Active item: full opacity */\n .scrolly__item--active {\n opacity: 1;\n }\n\n /* Inactive item description is muted */\n .scrolly__item--inactive .scrolly__item-desc,\n .scrolly__item--inactive .scrolly__item-title {\n color: var(--scrolly-text-muted);\n }\n}\n","/* ============================================================\n STICKY STACKED CARDS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--ssc-*) → Component styles\n\n Semantic tokens used:\n --ssc-bg var(--color-slate-50) [white — card-1 gray is visible against it]\n\n Card themes:\n --ssc-card-light-bg var(--color-slate-75) [#f6f7f8 — matches Figma card 1]\n --ssc-card-light-text var(--color-slate-1200)\n --ssc-card-coral-bg var(--color-coral-500) [#ff444f — matches Figma card 2]\n --ssc-card-coral-text var(--color-slate-50)\n --ssc-card-dark-bg var(--color-slate-1200) [#181c25 — matches Figma card 3]\n --ssc-card-dark-text var(--color-slate-50)\n\n Typography:\n --ssc-header-size var(--font-size-4xl) [mobile 2.5rem → desktop 3.5rem]\n --ssc-header-lh var(--line-height-4xl) [mobile 3rem → desktop 4rem]\n --ssc-title-size var(--font-size-3xl) [mobile 2rem → desktop 3rem]\n --ssc-title-lh var(--line-height-3xl) [mobile 2.5rem → desktop 3.5rem]\n --ssc-body-size var(--font-size-md) [1rem]\n --ssc-body-lh var(--line-height-md) [1.5rem]\n\n Layout:\n --ssc-card-radius var(--radius-2xl) [1.5rem = 24px]\n --ssc-content-gap var(--spacing-24) [24px]\n --ssc-sticky-top var(--spacing-80) [80px — clears a typical fixed nav]\n --ssc-peek-offset var(--spacing-16) [16px gap so previous cards peek out]\n --ssc-card-min-height 40rem [640px — matches Figma container ÷ 3]\n --ssc-img-height-mobile 21rem [~336px, matches Figma mobile]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────── */\n\n:root {\n /* Section background — white so card-1's gray is visible */\n --ssc-bg: var(--color-slate-50);\n\n /* Card theme — light (card 1) */\n --ssc-card-light-bg: var(--color-slate-75);\n --ssc-card-light-text: var(--color-slate-1200);\n\n /* Card theme — coral (card 2) */\n --ssc-card-coral-bg: var(--color-coral-500);\n --ssc-card-coral-text: var(--color-slate-50);\n\n /* Card theme — dark (card 3) */\n --ssc-card-dark-bg: var(--color-slate-1200);\n --ssc-card-dark-text: var(--color-slate-50);\n\n /* Typography — section header (H2) */\n --ssc-header-size: var(--font-size-4xl);\n --ssc-header-lh: var(--line-height-4xl);\n\n /* Typography — card title (H3) */\n --ssc-title-size: var(--font-size-3xl);\n --ssc-title-lh: var(--line-height-3xl);\n\n /* Typography — body copy */\n --ssc-body-size: var(--font-size-md);\n --ssc-body-lh: var(--line-height-md);\n\n /* Layout */\n --ssc-card-radius: var(--radius-2xl); /* 24px */\n --ssc-content-gap: var(--spacing-24);\n --ssc-sticky-top: var(--spacing-80); /* 80px */\n --ssc-peek-offset: var(--spacing-16); /* 16px per card peek */\n --ssc-card-min-height: 40rem; /* 640px desktop */\n --ssc-img-height-mobile: 21rem; /* ~336px mobile */\n}\n\n/* ── ROOT ─────────────────────────────────────────────────── */\n\n.ssc {\n width: 100%;\n background-color: var(--ssc-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n}\n\n/* ── INNER CONTAINER ──────────────────────────────────────── */\n\n.ssc__inner {\n max-width: 1280px;\n margin: 0 auto;\n padding: var(--spacing-64) var(--spacing-16);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-48);\n box-sizing: border-box;\n}\n\n/* ── SECTION HEADER ───────────────────────────────────────── */\n\n.ssc__header {\n font-size: var(--ssc-header-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--ssc-header-lh);\n color: var(--ssc-card-light-text);\n margin: 0;\n}\n\n/* ── CARD TRACK — all breakpoints ────────────────────────────\n *\n * display:block at every size so position:sticky on the cards\n * anchors to the page scroll container, not a flex/grid context.\n * NEVER add overflow:hidden/auto — it breaks sticky everywhere.\n *\n * padding-bottom — serves two purposes:\n * 1. Guarantees enough scroll distance for the full stacking\n * sequence to complete (all 3 cards reach their sticky tops).\n * 2. Once the user scrolls past the track's bottom edge, CSS\n * sticky mechanics release all cards simultaneously so they\n * exit the viewport together as a single block.\n */\n\n.ssc__track {\n display: block;\n padding-bottom: var(--ssc-img-height-mobile); /* 21rem ≈ 336px — mobile dwell + exit room */\n}\n\n/* ── CARD — sticky stacking active at all breakpoints ────────\n *\n * position:sticky + scale transform apply on mobile, tablet,\n * and desktop alike. The two-column grid layout is added only\n * at ≥992px (see desktop media query).\n *\n * top and z-index are set via inline style in the TSX so the\n * peek-offset maths scales with any number of cards.\n * --card-scale is updated by the passive scroll handler.\n */\n\n.ssc__card {\n border-radius: var(--ssc-card-radius);\n overflow: hidden;\n display: flex;\n flex-direction: column; /* mobile: text on top, image below */\n box-sizing: border-box;\n width: 100%;\n\n /* Sticky stacking — all sizes */\n position: sticky;\n transform: scale(var(--card-scale, 1));\n transform-origin: top center;\n will-change: transform;\n transition: transform 0.12s ease-out;\n}\n\n/* ── CARD THEMES ──────────────────────────────────────────── */\n\n.ssc__card--light {\n background-color: var(--ssc-card-light-bg);\n color: var(--ssc-card-light-text);\n}\n\n.ssc__card--coral {\n background-color: var(--ssc-card-coral-bg);\n color: var(--ssc-card-coral-text);\n}\n\n.ssc__card--dark {\n background-color: var(--ssc-card-dark-bg);\n color: var(--ssc-card-dark-text);\n}\n\n/* ── CARD CONTENT (text block) ────────────────────────────── */\n\n.ssc__card-content {\n display: flex;\n flex-direction: column;\n gap: var(--ssc-content-gap);\n padding: var(--spacing-32);\n}\n\n/* ── CARD TITLE ───────────────────────────────────────────── */\n\n.ssc__card-title {\n font-size: var(--ssc-title-size);\n font-weight: var(--font-weight-extra-bold);\n line-height: var(--ssc-title-lh);\n color: inherit;\n margin: 0;\n}\n\n/* ── CARD DESCRIPTION ─────────────────────────────────────── */\n\n.ssc__card-desc {\n font-size: var(--ssc-body-size);\n font-weight: var(--font-weight-regular);\n line-height: var(--ssc-body-lh);\n color: inherit;\n margin: 0;\n}\n\n/* ── CARD IMAGE (mobile) ──────────────────────────────────── */\n\n.ssc__card-image {\n position: relative;\n height: var(--ssc-img-height-mobile);\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.ssc__card-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ============================================================\n TABLET ≥768px\n ============================================================ */\n\n@media (min-width: 768px) {\n .ssc__inner {\n padding: var(--spacing-80) var(--spacing-24);\n gap: var(--spacing-64);\n }\n\n .ssc__header {\n text-align: center;\n }\n}\n\n/* ============================================================\n DESKTOP ≥992px — sticky stacking mechanic\n ============================================================ */\n\n@media (min-width: 992px) {\n .ssc__inner {\n padding: var(--spacing-112) var(--spacing-64);\n gap: var(--spacing-80);\n }\n\n /* Desktop needs more dwell room — one full card height */\n .ssc__track {\n padding-bottom: var(--ssc-card-min-height); /* 40rem = 640px */\n }\n\n /* ── Card: switch to 50/50 grid on desktop ─────────────────\n * Sticky positioning and scale transform are already set in\n * the base styles (all breakpoints). Here we only add the\n * two-column layout and the desktop minimum card height.\n */\n .ssc__card {\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-template-rows: 1fr;\n min-height: var(--ssc-card-min-height);\n }\n\n /* ── Content: left cell, text top-left ─────────────────── */\n .ssc__card-content {\n padding: var(--spacing-56);\n justify-content: flex-start;\n align-self: stretch;\n }\n\n /* ── Image: right cell, fills full cell height ──────────── */\n .ssc__card-image {\n height: auto;\n min-height: 100%;\n align-self: stretch;\n }\n}\n","/* ============================================================\n CTA BANNER COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--ctab-*) → Component styles\n\n Semantic tokens used:\n\n Section:\n --ctab-bg var(--color-coral-500) [#ff444f]\n\n Grid overlay:\n --ctab-grid-line var(--color-opacity-white-16)\n --ctab-grid-cell var(--spacing-96) [6rem = 96px]\n\n Typography — headline (H2):\n --ctab-headline-size var(--font-size-5xl)\n mobile 3rem (48px) → tablet 4rem → desktop 5rem (80px)\n --ctab-headline-lh var(--line-height-5xl)\n mobile 3.5rem (56px) → tablet 4rem → desktop 5.5rem (88px)\n --ctab-headline-color var(--color-slate-50) [white]\n --ctab-headline-weight var(--font-weight-extra-bold) [800]\n\n Button (dark pill on coral):\n --ctab-btn-bg var(--color-slate-1200) [#181c25]\n --ctab-btn-bg-hover var(--color-slate-1100) [#20242f]\n --ctab-btn-text var(--color-slate-50) [white]\n --ctab-btn-radius var(--radius-full) [9999px]\n --ctab-btn-px var(--spacing-24) [1.5rem]\n --ctab-btn-py var(--spacing-16) [1rem]\n --ctab-btn-size var(--font-size-md) [1rem]\n --ctab-btn-lh var(--line-height-xs) [1.25rem]\n --ctab-btn-weight var(--font-weight-extra-bold) [800]\n --ctab-btn-min-width var(--spacing-96) [6rem = 96px]\n\n Avatar:\n --ctab-avatar-size var(--spacing-96) [6rem = 96px desktop]\n --ctab-avatar-radius var(--radius-2xl) [1.5rem = 24px]\n --ctab-avatar-shadow var(--shadow-md)\n Desktop avatar size is overridden per breakpoint (see below).\n\n Layout:\n --ctab-max-width 80rem [1280px]\n --ctab-stage-height 42.5rem [680px desktop]\n --ctab-section-min-height 54rem [864px desktop]\n --ctab-hero-gap var(--spacing-16) [1rem]\n --ctab-hero-max-width 52.875rem [846px cap]\n\n Animation — scroll-driven parallax (mirrored in PARALLAX + SPRING\n constants in CTABanner.tsx):\n --ctab-parallax-near var(--spacing-64) [4rem = 64px] ← inner ring\n --ctab-parallax-mid var(--spacing-96) [6rem = 96px] ← mid ring\n --ctab-parallax-far var(--spacing-112) [7rem = 112px] ← outer ring\n --ctab-parallax-edge 10rem [160px] ← corners\n --ctab-spring-stiffness 80 ← smooth lag feel\n --ctab-spring-damping 30 ← no oscillation\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\n /* Section */\n --ctab-bg: var(--color-coral-500);\n\n /* Grid */\n --ctab-grid-line: var(--color-opacity-white-16);\n --ctab-grid-cell: var(--spacing-96); /* 6rem = 96px */\n\n /* Headline */\n --ctab-headline-size: var(--font-size-5xl);\n --ctab-headline-lh: var(--line-height-5xl);\n --ctab-headline-color: var(--color-slate-50);\n --ctab-headline-weight: var(--font-weight-extra-bold);\n\n /* Button */\n --ctab-btn-bg: var(--color-slate-1200);\n --ctab-btn-bg-hover: var(--color-slate-1100);\n --ctab-btn-text: var(--color-slate-50);\n --ctab-btn-radius: var(--radius-full);\n --ctab-btn-px: var(--spacing-24);\n --ctab-btn-py: var(--spacing-16);\n --ctab-btn-size: var(--font-size-md);\n --ctab-btn-lh: var(--line-height-xs);\n --ctab-btn-weight: var(--font-weight-extra-bold);\n --ctab-btn-min-width: var(--spacing-96);\n\n /* Avatar — mobile default */\n --ctab-avatar-size: var(--spacing-64); /* 4rem = 64px */\n --ctab-avatar-radius: var(--radius-xl); /* 1rem = 16px */\n --ctab-avatar-shadow: var(--shadow-md);\n\n /* Layout — mobile default */\n --ctab-max-width: 80rem; /* 1280px */\n --ctab-stage-height: 42.5rem; /* 680px (avatar coordinate space) */\n --ctab-section-min-height: 42.25rem; /* 676px mobile */\n --ctab-hero-gap: var(--spacing-16);\n --ctab-hero-max-width: 52.875rem; /* 846px from Figma */\n\n /* Animation — scroll-driven parallax depth tiers */\n --ctab-parallax-near: var(--spacing-64); /* 64px — inner avatars */\n --ctab-parallax-mid: var(--spacing-96); /* 96px — mid ring */\n --ctab-parallax-far: var(--spacing-112); /* 112px — outer ring */\n --ctab-parallax-edge: var(--spacing-112); /* 7rem = 112px — closest to 160px */\n --ctab-parallax-blur: var(--spacing-16); /* 1rem = 16px — blur at entry */\n --ctab-spring-stiffness: 80; /* useSpring stiffness */\n --ctab-spring-damping: 30; /* useSpring damping */\n}\n\n/* ── Tablet overrides (768px – 991px) ───────────────────────── */\n@media (min-width: 768px) and (max-width: 991px) {\n :root {\n --ctab-avatar-size: 5rem; /* 80px — between mobile 64px and desktop 96px */\n --ctab-avatar-radius: var(--radius-2xl); /* 1.5rem = 24px */\n --ctab-hero-max-width: 70%; /* 70% of section width on tablet */\n }\n}\n\n/* ── Desktop overrides (992px+) ─────────────────────────────── */\n@media (min-width: 992px) {\n :root {\n --ctab-avatar-size: var(--spacing-96); /* 6rem = 96px */\n --ctab-avatar-radius: var(--radius-2xl); /* 1.5rem = 24px */\n --ctab-section-min-height: 54rem; /* 864px */\n }\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.ctab {\n position: relative;\n width: 100%;\n min-height: var(--ctab-section-min-height);\n background-color: var(--ctab-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* ── BACKGROUND GRID ─────────────────────────────────────────── */\n\n.ctab__grid {\n position: absolute;\n inset: 0;\n pointer-events: none;\n background-image:\n repeating-linear-gradient(\n to right,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--ctab-grid-line) calc(var(--ctab-grid-cell) - 1px),\n var(--ctab-grid-line) var(--ctab-grid-cell)\n ),\n repeating-linear-gradient(\n to bottom,\n transparent 0,\n transparent calc(var(--ctab-grid-cell) - 1px),\n var(--ctab-grid-line) calc(var(--ctab-grid-cell) - 1px),\n var(--ctab-grid-line) var(--ctab-grid-cell)\n );\n}\n\n/* ── INNER WRAPPER ───────────────────────────────────────────── */\n\n.ctab__inner {\n position: relative;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--ctab-section-min-height);\n max-width: var(--ctab-max-width);\n margin: 0 auto;\n box-sizing: border-box;\n}\n\n/* ── STAGE — avatar coordinate space ─────────────────────────── */\n/*\n * The stage is a block that is EXACTLY the height used to define\n * avatar percentage positions from the Figma (680px desktop).\n * Avatars are position:absolute within this element.\n * The hero (headline + button) is centered via flexbox, so\n * Framer Motion can freely animate its y / opacity without any\n * transform-translate conflict.\n */\n\n.ctab__stage {\n position: relative;\n width: 100%;\n height: var(--ctab-stage-height);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* ── HERO — headline + CTA ───────────────────────────────────── */\n\n.ctab__hero {\n position: relative;\n z-index: 2;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--ctab-hero-gap);\n max-width: var(--ctab-hero-max-width);\n text-align: center;\n padding-top: var(--spacing-48); /* matches Figma pt-[48px] on content */\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.ctab__headline {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--ctab-headline-size);\n font-weight: var(--ctab-headline-weight);\n line-height: var(--ctab-headline-lh);\n color: var(--ctab-headline-color);\n}\n\n/* ── CTA BUTTON ──────────────────────────────────────────────── */\n\n.ctab__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: var(--ctab-btn-min-width);\n padding: var(--ctab-btn-py) var(--ctab-btn-px);\n background-color: var(--ctab-btn-bg);\n color: var(--ctab-btn-text);\n border-radius: var(--ctab-btn-radius);\n font-family: var(--font-family-base);\n font-size: var(--ctab-btn-size);\n font-weight: var(--ctab-btn-weight);\n line-height: var(--ctab-btn-lh);\n text-decoration: none;\n cursor: pointer;\n border: none;\n transition: background-color 0.3s ease;\n white-space: nowrap;\n box-sizing: border-box;\n}\n\n.ctab__btn:hover {\n background-color: var(--ctab-btn-bg-hover);\n}\n\n/* ── AVATAR ──────────────────────────────────────────────────── */\n/*\n * Positions are driven by CSS custom properties set as inline\n * styles in the TSX (--av-d-* for desktop, --av-m-* for mobile).\n * Framer Motion controls scale + opacity for the pop animation.\n */\n\n.ctab__avatar {\n position: absolute;\n width: var(--ctab-avatar-size);\n height: var(--ctab-avatar-size);\n border-radius: var(--ctab-avatar-radius);\n overflow: hidden;\n box-shadow: var(--ctab-avatar-shadow);\n flex-shrink: 0;\n /* Desktop coordinate vars */\n left: var(--av-d-left, auto);\n right: var(--av-d-right, auto);\n top: var(--av-d-top, auto);\n}\n\n.ctab__avatar img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n border-radius: var(--ctab-avatar-radius);\n}\n\n/* ── MOBILE — avatar overrides ───────────────────────────────── */\n\n@media (max-width: 767px) {\n .ctab__avatar {\n /* Switch to mobile coordinate vars */\n left: var(--av-m-left, auto);\n right: var(--av-m-right, auto);\n top: var(--av-m-top, auto);\n }\n\n .ctab__avatar--desktop-only {\n display: none;\n }\n}\n","/* ============================================================\n DAY/NIGHT TRANSITION COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--dnt-*) → Component styles\n\n Semantic tokens used:\n\n Typography — headline (H2):\n --dnt-headline-size var(--font-size-4xl)\n mobile 2.5rem (40px) → tablet 3rem → desktop 3.5rem (56px)\n --dnt-headline-lh var(--line-height-4xl)\n mobile 3rem (48px) → tablet 3.5rem → desktop 4rem (64px)\n --dnt-headline-weight var(--font-weight-extra-bold) [800]\n\n Text color (interpolated in JS, tokens for reference):\n --dnt-text-day var(--color-slate-1400) [#000000]\n --dnt-text-night var(--color-slate-50) [#ffffff]\n\n Button (coral pill):\n --dnt-btn-bg var(--color-coral-500) [#ff444f]\n --dnt-btn-bg-hover var(--color-coral-600) [#e73c36]\n --dnt-btn-text var(--color-slate-50) [white]\n --dnt-btn-radius var(--radius-full) [9999px]\n --dnt-btn-px var(--spacing-24) [1.5rem]\n --dnt-btn-py var(--spacing-16) [1rem]\n --dnt-btn-size var(--font-size-md) [1rem]\n --dnt-btn-lh var(--line-height-xs) [1.25rem]\n --dnt-btn-weight var(--font-weight-extra-bold) [800]\n\n Layout:\n --dnt-wrapper-height 250vh\n --dnt-content-max-width 37.5rem [600px]\n --dnt-content-py var(--spacing-80) [5rem = 80px mobile]\n --dnt-content-px var(--spacing-16) [1rem = 16px mobile]\n Desktop overrides at 992px:\n --dnt-content-py 6.5rem [104px]\n --dnt-content-px var(--spacing-48) [3rem = 48px]\n\n Gap:\n --dnt-gap var(--spacing-16) [1rem]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\n /* Headline */\n --dnt-headline-size: var(--font-size-4xl);\n --dnt-headline-lh: var(--line-height-4xl);\n --dnt-headline-weight: var(--font-weight-extra-bold);\n\n /* Text color reference (interpolated as rgb() in JS) */\n --dnt-text-day: var(--color-slate-1400);\n --dnt-text-night: var(--color-slate-50);\n\n /* Button */\n --dnt-btn-bg: var(--color-coral-500);\n --dnt-btn-bg-hover: var(--color-coral-600);\n --dnt-btn-text: var(--color-slate-50);\n --dnt-btn-radius: var(--radius-full);\n --dnt-btn-px: var(--spacing-24);\n --dnt-btn-py: var(--spacing-16);\n --dnt-btn-size: var(--font-size-md);\n --dnt-btn-lh: var(--line-height-xs);\n --dnt-btn-weight: var(--font-weight-extra-bold);\n\n /* Layout — mobile default */\n --dnt-wrapper-height: 250vh;\n --dnt-content-max-width: 37.5rem; /* 600px — left-column cap from Figma */\n --dnt-content-py: var(--spacing-80); /* 5rem = 80px */\n --dnt-content-px: var(--spacing-16); /* 1rem = 16px */\n\n /* Description */\n --dnt-desc-size: var(--font-size-md); /* 1rem = 16px (font-size/200) */\n --dnt-desc-lh: var(--line-height-md); /* 1.5rem = 24px (scale/1200) */\n --dnt-desc-weight: var(--font-weight-regular);\n\n /* Gap between headline and button */\n --dnt-gap: var(--spacing-16);\n}\n\n/* Desktop padding override */\n@media (min-width: 992px) {\n :root {\n --dnt-content-py: var(--spacing-96); /* 6rem = 96px — closest to Figma 104px */\n --dnt-content-px: var(--spacing-48); /* 3rem = 48px */\n }\n}\n\n/* ── WRAPPER — scroll track ───────────────────────────────────── */\n/*\n * The wrapper defines the total scrollable distance.\n * 250vh gives 150vh of scroll range while the sticky container\n * (100vh) remains locked — enough for a smooth day→night transition.\n */\n\n.dnt {\n position: relative;\n height: var(--dnt-wrapper-height);\n width: 100%;\n font-family: var(--font-family-base);\n}\n\n/* ── STICKY CONTAINER — viewport-locked canvas ────────────────── */\n\n.dnt__sticky {\n position: sticky;\n top: 0;\n height: 100vh;\n width: 100%;\n overflow: hidden;\n}\n\n/* ── BACKGROUND IMAGES ────────────────────────────────────────── */\n\n.dnt__bg {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n display: block;\n pointer-events: none;\n}\n\n.dnt__bg--day {\n z-index: 0;\n}\n\n.dnt__bg--night {\n z-index: 1;\n /* opacity animated by Framer Motion */\n}\n\n/* ── CONTENT ──────────────────────────────────────────────────── */\n\n.dnt__content {\n position: relative;\n z-index: 2;\n display: flex;\n align-items: flex-start; /* mobile + tablet: text anchored to top-left */\n height: 100%;\n padding: var(--dnt-content-py) var(--dnt-content-px);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .dnt__content {\n align-items: center; /* desktop: vertically centred in the sticky frame */\n }\n}\n\n/* ── TEXT WRAP ────────────────────────────────────────────────── */\n\n.dnt__text-wrap {\n display: flex;\n flex-direction: column;\n gap: var(--dnt-gap);\n max-width: var(--dnt-content-max-width);\n /* color is driven by Framer Motion as an inline rgb() MotionValue */\n}\n\n/* ── CROSSFADE WRAP ───────────────────────────────────────────── */\n/*\n * Stacks both children (day + night) in the same grid cell.\n * The taller child sets the container height; both crossfade\n * via Framer Motion opacity without causing layout shift.\n */\n\n.dnt__crossfade-wrap {\n display: grid;\n grid-template-areas: \"stack\";\n}\n\n.dnt__crossfade-wrap > * {\n grid-area: stack;\n}\n\n/* ── HEADLINE ─────────────────────────────────────────────────── */\n\n.dnt__headline {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--dnt-headline-size);\n font-weight: var(--dnt-headline-weight);\n line-height: var(--dnt-headline-lh);\n /* color inherited from .dnt__text-wrap (Framer Motion inline style) */\n}\n\n/* ── DESCRIPTION ──────────────────────────────────────────────── */\n\n.dnt__description {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--dnt-desc-size);\n font-weight: var(--dnt-desc-weight);\n line-height: var(--dnt-desc-lh);\n /* color inherited from .dnt__text-wrap (Framer Motion inline style) */\n}\n\n/* ── CTA BUTTON ───────────────────────────────────────────────── */\n\n.dnt__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n align-self: flex-start;\n padding: var(--dnt-btn-py) var(--dnt-btn-px);\n background-color: var(--dnt-btn-bg);\n color: var(--dnt-btn-text);\n border-radius: var(--dnt-btn-radius);\n font-family: var(--font-family-base);\n font-size: var(--dnt-btn-size);\n font-weight: var(--dnt-btn-weight);\n line-height: var(--dnt-btn-lh);\n text-decoration: none;\n cursor: pointer;\n border: none;\n transition: background-color 0.3s ease;\n white-space: nowrap;\n box-sizing: border-box;\n}\n\n.dnt__btn:hover {\n background-color: var(--dnt-btn-bg-hover);\n}\n","/* ============================================================\n PAYMENT METHODS COMPONENT\n Token inheritance:\n Primitive (core) → Semantic (--pm-*) → Component styles\n\n Semantic tokens used:\n\n Section:\n --pm-bg var(--color-slate-1200) [#181c25]\n --pm-section-py var(--spacing-96) [6rem = 96px]\n --pm-section-px var(--spacing-48) [3rem = 48px]\n --pm-section-height 50rem [800px desktop]\n --pm-max-width 80rem [1280px]\n\n Content gap (media ↔ text):\n --pm-layout-gap 8rem [128px — Figma exact]\n\n Card:\n --pm-card-bg var(--color-slate-1100) [#20242f]\n --pm-card-radius var(--radius-lg) [0.75rem ≈ 10px desktop]\n --pm-card-radius-mobile var(--radius-2xl) [1.5rem ≈ 24px mobile]\n --pm-card-px var(--spacing-16) [~15px desktop]\n --pm-card-py var(--spacing-24) [~20px desktop]\n --pm-card-px-mobile var(--spacing-12) [12px mobile]\n --pm-card-py-mobile var(--spacing-12) [12px mobile]\n --pm-card-img-h 8rem [128px — logo area]\n --pm-card-img-h-mobile 5.375rem [86px]\n\n Column gap (between cards vertically):\n --pm-card-gap var(--spacing-24) [1.5rem ≈ 25px]\n\n Columns gap (between col1 and col2 horizontally):\n --pm-col-gap var(--spacing-24) [1.5rem]\n\n Carousel:\n --pm-carousel-height 39.375rem [630px desktop]\n --pm-carousel-height-mob 20.5rem [328px mobile]\n --pm-fade-height var(--spacing-64) [4rem = 64px]\n\n Typography — headline:\n --pm-headline-size var(--font-size-4xl)\n mobile 2.5rem → tablet 3rem → desktop 3.5rem (56px)\n --pm-headline-lh var(--line-height-4xl)\n mobile 3rem → tablet 3.5rem → desktop 4rem (64px)\n --pm-headline-color var(--color-slate-50) [white]\n --pm-headline-weight var(--font-weight-extra-bold) [800]\n\n Typography — body:\n --pm-body-size var(--font-size-md) [1rem = 16px]\n --pm-body-lh var(--line-height-md) [1.5rem = 24px]\n --pm-body-color var(--color-slate-50)\n --pm-body-weight var(--font-weight-regular)\n\n Typography — disclaimer:\n --pm-disc-size var(--font-size-sm) [0.875rem = 14px]\n --pm-disc-lh var(--line-height-sm) [1.5rem]\n --pm-disc-color var(--color-slate-400) [#bfc6cc ≈ #b1b4bc]\n --pm-disc-weight var(--font-weight-regular)\n\n CTA link:\n --pm-link-color var(--color-coral-500) [#ff444f]\n --pm-link-size var(--font-size-md) [1rem]\n --pm-link-weight var(--font-weight-semi-bold) [600]\n\n Text-area width (desktop):\n --pm-text-width 32.625rem [522px]\n\n Animation — scroll-driven opposing columns:\n --pm-col-travel 7.5rem [120px up/down]\n ============================================================ */\n\n/* ── SEMANTIC TOKENS ──────────────────────────────────────────── */\n\n:root {\n /* Section */\n --pm-bg: var(--color-slate-1200);\n --pm-section-py: var(--spacing-96);\n --pm-section-px: var(--spacing-48);\n --pm-section-height: 50rem;\n --pm-max-width: 80rem;\n --pm-layout-gap: var(--spacing-112); /* 7rem = 112px — closest to Figma 128px */\n\n /* Card */\n --pm-card-bg: var(--color-slate-1100);\n --pm-card-radius: var(--radius-lg);\n --pm-card-radius-mobile: var(--radius-2xl);\n --pm-card-px: var(--spacing-16);\n --pm-card-py: var(--spacing-24);\n --pm-card-px-mobile: var(--spacing-12);\n --pm-card-py-mobile: var(--spacing-12);\n --pm-card-img-h: var(--spacing-112); /* 7rem = 112px — closest to 128px */\n --pm-card-img-h-mobile: 5.375rem;\n\n /* Column */\n --pm-card-gap: var(--spacing-24);\n --pm-col-gap: var(--spacing-24);\n\n /* Carousel */\n --pm-carousel-height: 39.375rem;\n --pm-carousel-height-mob: 20.5rem;\n --pm-fade-height: var(--spacing-64);\n\n /* Headline */\n --pm-headline-size: var(--font-size-4xl);\n --pm-headline-lh: var(--line-height-4xl);\n --pm-headline-color: var(--color-slate-50);\n --pm-headline-weight: var(--font-weight-extra-bold);\n\n /* Body */\n --pm-body-size: var(--font-size-md);\n --pm-body-lh: var(--line-height-md);\n --pm-body-color: var(--color-slate-50);\n --pm-body-weight: var(--font-weight-regular);\n\n /* Disclaimer */\n --pm-disc-size: var(--font-size-sm);\n --pm-disc-lh: var(--line-height-sm);\n --pm-disc-color: var(--color-slate-400);\n --pm-disc-weight: var(--font-weight-regular);\n\n /* CTA link */\n --pm-link-color: var(--color-coral-500);\n --pm-link-size: var(--font-size-md);\n --pm-link-weight: var(--font-weight-semi-bold);\n\n /* Text-area */\n --pm-text-width: 32.625rem;\n\n /* Mobile overrides */\n --pm-section-py-mobile: var(--spacing-48);\n --pm-section-px-mobile: var(--spacing-16);\n}\n\n/* ── SECTION ─────────────────────────────────────────────────── */\n\n.pm {\n position: relative;\n width: 100%;\n background-color: var(--pm-bg);\n font-family: var(--font-family-base);\n box-sizing: border-box;\n /* No overflow:hidden here — the carousel handles its own clipping.\n * overflow:hidden on the tracked element confuses Framer Motion's\n * useScroll into treating it as a scroll container instead of\n * listening to the window, making scrollYProgress always 0. */\n}\n\n/* ── INNER WRAPPER ───────────────────────────────────────────── */\n\n.pm__inner {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n max-width: var(--pm-max-width);\n margin: 0 auto;\n padding: var(--pm-section-py-mobile) var(--pm-section-px-mobile);\n box-sizing: border-box;\n}\n\n@media (min-width: 992px) {\n .pm__inner {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: var(--pm-layout-gap);\n padding: var(--pm-section-py) var(--pm-section-px);\n min-height: var(--pm-section-height);\n }\n}\n\n/* ── TEXT CONTENT ────────────────────────────────────────────── */\n\n.pm__content {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-24);\n align-items: flex-start;\n width: 100%;\n order: 1; /* text first on mobile */\n}\n\n@media (min-width: 992px) {\n .pm__content {\n flex-shrink: 0;\n width: var(--pm-text-width);\n order: 2; /* text second (right) on desktop */\n }\n}\n\n/* ── HEADLINE ────────────────────────────────────────────────── */\n\n.pm__headline {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--pm-headline-size);\n font-weight: var(--pm-headline-weight);\n line-height: var(--pm-headline-lh);\n color: var(--pm-headline-color);\n}\n\n/* ── BODY + DISCLAIMER wrapper ───────────────────────────────── */\n\n.pm__text-group {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-16);\n}\n\n/* ── BODY ────────────────────────────────────────────────────── */\n\n.pm__body {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--pm-body-size);\n font-weight: var(--pm-body-weight);\n line-height: var(--pm-body-lh);\n color: var(--pm-body-color);\n}\n\n/* ── DISCLAIMER ──────────────────────────────────────────────── */\n\n.pm__disclaimer {\n margin: 0;\n font-family: var(--font-family-base);\n font-size: var(--pm-disc-size);\n font-weight: var(--pm-disc-weight);\n line-height: var(--pm-disc-lh);\n color: var(--pm-disc-color);\n}\n\n/* ── CTA LINK ────────────────────────────────────────────────── */\n\n.pm__link {\n display: inline-flex;\n align-items: center;\n gap: var(--spacing-8);\n font-family: var(--font-family-base);\n font-size: var(--pm-link-size);\n font-weight: var(--pm-link-weight);\n line-height: var(--line-height-xs);\n color: var(--pm-link-color);\n text-decoration: none;\n cursor: pointer;\n white-space: nowrap;\n}\n\n.pm__link:hover {\n text-decoration: underline;\n}\n\n/* ── MEDIA ───────────────────────────────────────────────────── */\n/*\n * The media wrapper is flex-1 on desktop. overflow-hidden clips\n * the infinite column track. The fade divs produce top/bottom\n * gradient masks that blend cards into the dark background.\n */\n\n.pm__media {\n position: relative;\n width: 100%;\n order: 2; /* media second on mobile */\n flex-shrink: 0;\n}\n\n@media (min-width: 992px) {\n .pm__media {\n flex: 1 0 0;\n min-width: 0;\n order: 1; /* media first (left) on desktop */\n align-self: stretch;\n }\n}\n\n/* ── CAROUSEL — clipping container ───────────────────────────── */\n/*\n * align-items: flex-start is CRITICAL.\n * Default (stretch) would clamp column height to the carousel\n * height, leaving nothing to translate through. flex-start lets\n * each column grow to its natural content height (3× logo track),\n * which is far taller than the carousel. overflow: hidden then\n * clips that tall track, and Framer Motion slides it vertically\n * within the visible window.\n */\n\n.pm__carousel {\n position: relative;\n display: flex;\n align-items: flex-start;\n gap: var(--pm-col-gap);\n height: var(--pm-carousel-height-mob);\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .pm__carousel {\n height: var(--pm-carousel-height);\n }\n}\n\n/* ── TOP / BOTTOM GRADIENT FADES ─────────────────────────────── */\n/*\n * Absolutely positioned inside the overflow-hidden carousel so\n * they always sit flush at the top and bottom edges regardless of\n * how much the columns have translated.\n *\n * The gradient uses var(--pm-bg) = var(--color-slate-1200) as the\n * opaque end, fading to rgba(0,0,0,0) so cards dissolve cleanly\n * into the dark section background rather than hard-clipping.\n * rgba(0,0,0,0) is used as the transparent stop (not \"transparent\")\n * to prevent Safari's mid-gradient grey artifact.\n */\n\n.pm__fade {\n position: absolute;\n left: 0;\n right: 0;\n height: var(--pm-fade-height);\n pointer-events: none;\n z-index: 2;\n}\n\n.pm__fade--top {\n top: 0;\n background: linear-gradient(\n to bottom,\n var(--pm-bg) 0%,\n rgba(0, 0, 0, 0) 100%\n );\n}\n\n.pm__fade--bottom {\n bottom: 0;\n background: linear-gradient(\n to top,\n var(--pm-bg) 0%,\n rgba(0, 0, 0, 0) 100%\n );\n}\n\n/* ── COLUMNS ─────────────────────────────────────────────────── */\n/*\n * flex: 1 0 0 → equal width from carousel, NO height constraint.\n * align-self: flex-start ensures the column height is content-driven\n * (3× logo track >> carousel height), giving Framer Motion room to\n * translate up / down within the overflow-hidden parent.\n */\n\n.pm__col {\n flex: 1 0 0;\n align-self: flex-start; /* MUST stay flex-start — prevents stretching to carousel height */\n display: flex;\n flex-direction: column;\n gap: var(--pm-card-gap);\n min-width: 0;\n will-change: transform; /* promote to compositor layer for smooth GPU translation */\n}\n\n/* ── CARD ────────────────────────────────────────────────────── */\n\n.pm__card {\n flex-shrink: 0;\n background-color: var(--pm-card-bg);\n border-radius: var(--pm-card-radius-mobile);\n padding: var(--pm-card-py-mobile) var(--pm-card-px-mobile);\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n width: 100%;\n}\n\n@media (min-width: 992px) {\n .pm__card {\n border-radius: var(--pm-card-radius);\n padding: var(--pm-card-py) var(--pm-card-px);\n }\n}\n\n/* ── CARD IMAGE ──────────────────────────────────────────────── */\n\n.pm__card-img-wrap {\n width: 100%;\n height: var(--pm-card-img-h-mobile);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n@media (min-width: 992px) {\n .pm__card-img-wrap {\n height: var(--pm-card-img-h);\n }\n}\n\n.pm__card-img-wrap img {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n object-fit: contain;\n display: block;\n}\n"],"mappings":"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","names":[]}
|